protected int getSmallIconId() {
        try {
            ServiceInfo info = getPackageManager().getServiceInfo(
                    new ComponentName(this, getClass()), PackageManager.GET_META_DATA);

            if (info.metaData == null) return NO_ID;

            return info.metaData.getInt(SMALL_ICON_META_DATA_NAME, NO_ID);
        } catch (PackageManager.NameNotFoundException e) {
            // Will only happen if the package provided (the one we are running in) is not
            // installed - so should never happen.
            return NO_ID;
        }
    }
Returns the Android resource id of a drawable to be used for the small icon of the
notification. This is called by the provider as it is constructing the notification, so a
complete notification can be passed to the client.

Default behaviour looks for meta-data with the name {@link #SMALL_ICON_META_DATA_NAME} in
service section of the manifest.
@return A resource id for the small icon, or {@link #NO_ID} if not found.
customtabs/src/android/support/customtabs/trusted/TrustedWebActivityService.java