package androidx.emoji2.text; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ProviderInfo; import android.content.pm.ResolveInfo; import android.content.pm.Signature; import android.os.Build; import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.annotation.RestrictTo; import androidx.annotation.VisibleForTesting; import androidx.core.provider.FontRequest; import androidx.core.util.Preconditions; import androidx.emoji2.text.EmojiCompat; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; /* loaded from: classes.dex */ public final class DefaultEmojiCompatConfig { private DefaultEmojiCompatConfig() { } @Nullable public static FontRequestEmojiCompatConfig create(@NonNull Context context) { return (FontRequestEmojiCompatConfig) new DefaultEmojiCompatConfigFactory(null).create(context); } @RestrictTo({RestrictTo.Scope.LIBRARY}) public static class DefaultEmojiCompatConfigFactory { @NonNull private static final String DEFAULT_EMOJI_QUERY = "emojicompat-emoji-font"; @NonNull private static final String INTENT_LOAD_EMOJI_FONT = "androidx.content.action.LOAD_EMOJI_FONT"; @NonNull private static final String TAG = "emoji2.text.DefaultEmojiConfig"; private final DefaultEmojiCompatConfigHelper mHelper; @RestrictTo({RestrictTo.Scope.LIBRARY}) public DefaultEmojiCompatConfigFactory(@Nullable DefaultEmojiCompatConfigHelper defaultEmojiCompatConfigHelper) { this.mHelper = defaultEmojiCompatConfigHelper == null ? getHelperForApi() : defaultEmojiCompatConfigHelper; } @Nullable @RestrictTo({RestrictTo.Scope.LIBRARY}) public EmojiCompat.Config create(@NonNull Context context) { return configOrNull(context, queryForDefaultFontRequest(context)); } @Nullable private EmojiCompat.Config configOrNull(@NonNull Context context, @Nullable FontRequest fontRequest) { if (fontRequest == null) { return null; } return new FontRequestEmojiCompatConfig(context, fontRequest); } @Nullable @RestrictTo({RestrictTo.Scope.LIBRARY}) @VisibleForTesting public FontRequest queryForDefaultFontRequest(@NonNull Context context) { PackageManager packageManager = context.getPackageManager(); Preconditions.checkNotNull(packageManager, "Package manager required to locate emoji font provider"); ProviderInfo queryDefaultInstalledContentProvider = queryDefaultInstalledContentProvider(packageManager); if (queryDefaultInstalledContentProvider == null) { return null; } try { return generateFontRequestFrom(queryDefaultInstalledContentProvider, packageManager); } catch (PackageManager.NameNotFoundException e) { Log.wtf(TAG, e); return null; } } @Nullable private ProviderInfo queryDefaultInstalledContentProvider(@NonNull PackageManager packageManager) { Iterator it = this.mHelper.queryIntentContentProviders(packageManager, new Intent(INTENT_LOAD_EMOJI_FONT), 0).iterator(); while (it.hasNext()) { ProviderInfo providerInfo = this.mHelper.getProviderInfo(it.next()); if (hasFlagSystem(providerInfo)) { return providerInfo; } } return null; } private boolean hasFlagSystem(@Nullable ProviderInfo providerInfo) { ApplicationInfo applicationInfo; return (providerInfo == null || (applicationInfo = providerInfo.applicationInfo) == null || (applicationInfo.flags & 1) != 1) ? false : true; } @NonNull private FontRequest generateFontRequestFrom(@NonNull ProviderInfo providerInfo, @NonNull PackageManager packageManager) throws PackageManager.NameNotFoundException { String str = providerInfo.authority; String str2 = providerInfo.packageName; return new FontRequest(str, str2, DEFAULT_EMOJI_QUERY, convertToByteArray(this.mHelper.getSigningSignatures(packageManager, str2))); } @NonNull private List> convertToByteArray(@NonNull Signature[] signatureArr) { ArrayList arrayList = new ArrayList(); for (Signature signature : signatureArr) { arrayList.add(signature.toByteArray()); } return Collections.singletonList(arrayList); } @NonNull private static DefaultEmojiCompatConfigHelper getHelperForApi() { if (Build.VERSION.SDK_INT >= 28) { return new DefaultEmojiCompatConfigHelper_API28(); } return new DefaultEmojiCompatConfigHelper_API19(); } } @RestrictTo({RestrictTo.Scope.LIBRARY}) public static class DefaultEmojiCompatConfigHelper { @NonNull public Signature[] getSigningSignatures(@NonNull PackageManager packageManager, @NonNull String str) throws PackageManager.NameNotFoundException { return packageManager.getPackageInfo(str, 64).signatures; } @NonNull public List queryIntentContentProviders(@NonNull PackageManager packageManager, @NonNull Intent intent, int i) { return Collections.emptyList(); } @Nullable public ProviderInfo getProviderInfo(@NonNull ResolveInfo resolveInfo) { throw new IllegalStateException("Unable to get provider info prior to API 19"); } } @RequiresApi(19) @RestrictTo({RestrictTo.Scope.LIBRARY}) public static class DefaultEmojiCompatConfigHelper_API19 extends DefaultEmojiCompatConfigHelper { @Override // androidx.emoji2.text.DefaultEmojiCompatConfig.DefaultEmojiCompatConfigHelper @NonNull public List queryIntentContentProviders(@NonNull PackageManager packageManager, @NonNull Intent intent, int i) { return packageManager.queryIntentContentProviders(intent, i); } @Override // androidx.emoji2.text.DefaultEmojiCompatConfig.DefaultEmojiCompatConfigHelper @Nullable public ProviderInfo getProviderInfo(@NonNull ResolveInfo resolveInfo) { return resolveInfo.providerInfo; } } @RequiresApi(28) @RestrictTo({RestrictTo.Scope.LIBRARY}) public static class DefaultEmojiCompatConfigHelper_API28 extends DefaultEmojiCompatConfigHelper_API19 { @Override // androidx.emoji2.text.DefaultEmojiCompatConfig.DefaultEmojiCompatConfigHelper @NonNull public Signature[] getSigningSignatures(@NonNull PackageManager packageManager, @NonNull String str) throws PackageManager.NameNotFoundException { return packageManager.getPackageInfo(str, 64).signatures; } } }