package androidx.appcompat.app; import android.app.Activity; import android.app.Dialog; import android.app.LocaleManager; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.Configuration; import android.os.Build; import android.os.Bundle; import android.os.LocaleList; import android.util.AttributeSet; import android.view.MenuInflater; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.window.OnBackInvokedDispatcher; import androidx.annotation.AnyThread; import androidx.annotation.CallSuper; import androidx.annotation.DoNotInline; import androidx.annotation.IdRes; import androidx.annotation.LayoutRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.annotation.RestrictTo; import androidx.annotation.StyleRes; import androidx.annotation.VisibleForTesting; import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.view.ActionMode; import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.VectorEnabledTintResources; import androidx.collection.ArraySet; import androidx.core.app.AppLocalesStorageHelper; import androidx.core.os.LocaleListCompat; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.ref.WeakReference; import java.util.ArrayDeque; import java.util.Iterator; import java.util.Objects; import java.util.Queue; import java.util.concurrent.Executor; /* loaded from: classes.dex */ public abstract class AppCompatDelegate { static final String APP_LOCALES_META_DATA_HOLDER_SERVICE_NAME = "androidx.appcompat.app.AppLocalesMetadataHolderService"; static final boolean DEBUG = false; public static final int FEATURE_ACTION_MODE_OVERLAY = 10; public static final int FEATURE_SUPPORT_ACTION_BAR = 108; public static final int FEATURE_SUPPORT_ACTION_BAR_OVERLAY = 109; @Deprecated public static final int MODE_NIGHT_AUTO = 0; public static final int MODE_NIGHT_AUTO_BATTERY = 3; @Deprecated public static final int MODE_NIGHT_AUTO_TIME = 0; public static final int MODE_NIGHT_FOLLOW_SYSTEM = -1; public static final int MODE_NIGHT_NO = 1; public static final int MODE_NIGHT_UNSPECIFIED = -100; public static final int MODE_NIGHT_YES = 2; static final String TAG = "AppCompatDelegate"; static SerialExecutor sSerialExecutorForLocalesStorage = new SerialExecutor(new ThreadPerTaskExecutor()); private static int sDefaultNightMode = -100; private static LocaleListCompat sRequestedAppLocales = null; private static LocaleListCompat sStoredAppLocales = null; private static Boolean sIsAutoStoreLocalesOptedIn = null; private static boolean sIsFrameworkSyncChecked = false; private static final ArraySet> sActivityDelegates = new ArraySet<>(); private static final Object sActivityDelegatesLock = new Object(); private static final Object sAppLocalesStorageSyncLock = new Object(); @Retention(RetentionPolicy.SOURCE) @RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX}) public @interface NightMode { } public static int getDefaultNightMode() { return sDefaultNightMode; } @Nullable public static LocaleListCompat getRequestedAppLocales() { return sRequestedAppLocales; } @Nullable public static LocaleListCompat getStoredAppLocales() { return sStoredAppLocales; } @VisibleForTesting public static void resetStaticRequestedAndStoredLocales() { sRequestedAppLocales = null; sStoredAppLocales = null; } public abstract void addContentView(View view, ViewGroup.LayoutParams layoutParams); public boolean applyAppLocales() { return false; } public abstract boolean applyDayNight(); @Deprecated public void attachBaseContext(Context context) { } public abstract View createView(@Nullable View view, String str, @NonNull Context context, @NonNull AttributeSet attributeSet); @Nullable public abstract T findViewById(@IdRes int i); @Nullable public Context getContextForDelegate() { return null; } @Nullable public abstract ActionBarDrawerToggle.Delegate getDrawerToggleDelegate(); public int getLocalNightMode() { return -100; } public abstract MenuInflater getMenuInflater(); @Nullable public abstract ActionBar getSupportActionBar(); public abstract boolean hasWindowFeature(int i); public abstract void installViewFactory(); public abstract void invalidateOptionsMenu(); public abstract boolean isHandleNativeActionModesEnabled(); public abstract void onConfigurationChanged(Configuration configuration); public abstract void onCreate(Bundle bundle); public abstract void onDestroy(); public abstract void onPostCreate(Bundle bundle); public abstract void onPostResume(); public abstract void onSaveInstanceState(Bundle bundle); public abstract void onStart(); public abstract void onStop(); public abstract boolean requestWindowFeature(int i); public abstract void setContentView(@LayoutRes int i); public abstract void setContentView(View view); public abstract void setContentView(View view, ViewGroup.LayoutParams layoutParams); public abstract void setHandleNativeActionModesEnabled(boolean z); public abstract void setLocalNightMode(int i); @RequiresApi(33) @CallSuper public void setOnBackInvokedDispatcher(@Nullable OnBackInvokedDispatcher onBackInvokedDispatcher) { } public abstract void setSupportActionBar(@Nullable Toolbar toolbar); public void setTheme(@StyleRes int i) { } public abstract void setTitle(@Nullable CharSequence charSequence); @Nullable public abstract ActionMode startSupportActionMode(@NonNull ActionMode.Callback callback); public static class SerialExecutor implements Executor { Runnable mActive; final Executor mExecutor; private final Object mLock = new Object(); final Queue mTasks = new ArrayDeque(); public SerialExecutor(Executor executor) { this.mExecutor = executor; } @Override // java.util.concurrent.Executor public void execute(final Runnable runnable) { synchronized (this.mLock) { try { this.mTasks.add(new Runnable() { // from class: androidx.appcompat.app.AppCompatDelegate$SerialExecutor$$ExternalSyntheticLambda0 @Override // java.lang.Runnable public final void run() { AppCompatDelegate.SerialExecutor.this.lambda$execute$0(runnable); } }); if (this.mActive == null) { scheduleNext(); } } catch (Throwable th) { throw th; } } } /* JADX INFO: Access modifiers changed from: private */ public /* synthetic */ void lambda$execute$0(Runnable runnable) { try { runnable.run(); } finally { scheduleNext(); } } public void scheduleNext() { synchronized (this.mLock) { try { Runnable poll = this.mTasks.poll(); this.mActive = poll; if (poll != null) { this.mExecutor.execute(poll); } } catch (Throwable th) { throw th; } } } } public static class ThreadPerTaskExecutor implements Executor { @Override // java.util.concurrent.Executor public void execute(Runnable runnable) { new Thread(runnable).start(); } } @NonNull public static AppCompatDelegate create(@NonNull Activity activity, @Nullable AppCompatCallback appCompatCallback) { return new AppCompatDelegateImpl(activity, appCompatCallback); } @NonNull public static AppCompatDelegate create(@NonNull Dialog dialog, @Nullable AppCompatCallback appCompatCallback) { return new AppCompatDelegateImpl(dialog, appCompatCallback); } @NonNull public static AppCompatDelegate create(@NonNull Context context, @NonNull Window window, @Nullable AppCompatCallback appCompatCallback) { return new AppCompatDelegateImpl(context, window, appCompatCallback); } @NonNull public static AppCompatDelegate create(@NonNull Context context, @NonNull Activity activity, @Nullable AppCompatCallback appCompatCallback) { return new AppCompatDelegateImpl(context, activity, appCompatCallback); } @NonNull @CallSuper public Context attachBaseContext2(@NonNull Context context) { attachBaseContext(context); return context; } public static void setDefaultNightMode(int i) { if ((i == -1 || i == 0 || i == 1 || i == 2 || i == 3) && sDefaultNightMode != i) { sDefaultNightMode = i; applyDayNightToActiveDelegates(); } } public static void setApplicationLocales(@NonNull LocaleListCompat localeListCompat) { Objects.requireNonNull(localeListCompat); if (Build.VERSION.SDK_INT >= 33) { Object localeManagerForApplication = getLocaleManagerForApplication(); if (localeManagerForApplication != null) { Api33Impl.localeManagerSetApplicationLocales(localeManagerForApplication, Api24Impl.localeListForLanguageTags(localeListCompat.toLanguageTags())); return; } return; } if (localeListCompat.equals(sRequestedAppLocales)) { return; } synchronized (sActivityDelegatesLock) { sRequestedAppLocales = localeListCompat; applyLocalesToActiveDelegates(); } } @NonNull @AnyThread public static LocaleListCompat getApplicationLocales() { if (Build.VERSION.SDK_INT >= 33) { Object localeManagerForApplication = getLocaleManagerForApplication(); if (localeManagerForApplication != null) { return LocaleListCompat.wrap(Api33Impl.localeManagerGetApplicationLocales(localeManagerForApplication)); } } else { LocaleListCompat localeListCompat = sRequestedAppLocales; if (localeListCompat != null) { return localeListCompat; } } return LocaleListCompat.getEmptyLocaleList(); } @VisibleForTesting public static void setIsAutoStoreLocalesOptedIn(boolean z) { sIsAutoStoreLocalesOptedIn = Boolean.valueOf(z); } @RequiresApi(33) public static Object getLocaleManagerForApplication() { Context contextForDelegate; Iterator> it = sActivityDelegates.iterator(); while (it.hasNext()) { AppCompatDelegate appCompatDelegate = it.next().get(); if (appCompatDelegate != null && (contextForDelegate = appCompatDelegate.getContextForDelegate()) != null) { return contextForDelegate.getSystemService("locale"); } } return null; } public static boolean isAutoStorageOptedIn(Context context) { if (sIsAutoStoreLocalesOptedIn == null) { try { Bundle bundle = AppLocalesMetadataHolderService.getServiceInfo(context).metaData; if (bundle != null) { sIsAutoStoreLocalesOptedIn = Boolean.valueOf(bundle.getBoolean("autoStoreLocales")); } } catch (PackageManager.NameNotFoundException unused) { sIsAutoStoreLocalesOptedIn = Boolean.FALSE; } } return sIsAutoStoreLocalesOptedIn.booleanValue(); } public void asyncExecuteSyncRequestedAndStoredLocales(final Context context) { sSerialExecutorForLocalesStorage.execute(new Runnable() { // from class: androidx.appcompat.app.AppCompatDelegate$$ExternalSyntheticLambda0 @Override // java.lang.Runnable public final void run() { AppCompatDelegate.syncRequestedAndStoredLocales(context); } }); } public static void syncRequestedAndStoredLocales(final Context context) { if (isAutoStorageOptedIn(context)) { if (Build.VERSION.SDK_INT >= 33) { if (sIsFrameworkSyncChecked) { return; } sSerialExecutorForLocalesStorage.execute(new Runnable() { // from class: androidx.appcompat.app.AppCompatDelegate$$ExternalSyntheticLambda1 @Override // java.lang.Runnable public final void run() { AppCompatDelegate.lambda$syncRequestedAndStoredLocales$1(context); } }); return; } synchronized (sAppLocalesStorageSyncLock) { try { LocaleListCompat localeListCompat = sRequestedAppLocales; if (localeListCompat == null) { if (sStoredAppLocales == null) { sStoredAppLocales = LocaleListCompat.forLanguageTags(AppLocalesStorageHelper.readLocales(context)); } if (sStoredAppLocales.isEmpty()) { } else { sRequestedAppLocales = sStoredAppLocales; } } else if (!localeListCompat.equals(sStoredAppLocales)) { LocaleListCompat localeListCompat2 = sRequestedAppLocales; sStoredAppLocales = localeListCompat2; AppLocalesStorageHelper.persistLocales(context, localeListCompat2.toLanguageTags()); } } catch (Throwable th) { throw th; } } } } /* JADX INFO: Access modifiers changed from: private */ public static /* synthetic */ void lambda$syncRequestedAndStoredLocales$1(Context context) { syncLocalesToFramework(context); sIsFrameworkSyncChecked = true; } public static void setCompatVectorFromResourcesEnabled(boolean z) { VectorEnabledTintResources.setCompatVectorFromResourcesEnabled(z); } public static boolean isCompatVectorFromResourcesEnabled() { return VectorEnabledTintResources.isCompatVectorFromResourcesEnabled(); } public static void addActiveDelegate(@NonNull AppCompatDelegate appCompatDelegate) { synchronized (sActivityDelegatesLock) { removeDelegateFromActives(appCompatDelegate); sActivityDelegates.add(new WeakReference<>(appCompatDelegate)); } } public static void removeActivityDelegate(@NonNull AppCompatDelegate appCompatDelegate) { synchronized (sActivityDelegatesLock) { removeDelegateFromActives(appCompatDelegate); } } public static void syncLocalesToFramework(Context context) { if (Build.VERSION.SDK_INT >= 33) { ComponentName componentName = new ComponentName(context, APP_LOCALES_META_DATA_HOLDER_SERVICE_NAME); if (context.getPackageManager().getComponentEnabledSetting(componentName) != 1) { if (getApplicationLocales().isEmpty()) { String readLocales = AppLocalesStorageHelper.readLocales(context); Object systemService = context.getSystemService("locale"); if (systemService != null) { Api33Impl.localeManagerSetApplicationLocales(systemService, Api24Impl.localeListForLanguageTags(readLocales)); } } context.getPackageManager().setComponentEnabledSetting(componentName, 1, 1); } } } private static void removeDelegateFromActives(@NonNull AppCompatDelegate appCompatDelegate) { synchronized (sActivityDelegatesLock) { try { Iterator> it = sActivityDelegates.iterator(); while (it.hasNext()) { AppCompatDelegate appCompatDelegate2 = it.next().get(); if (appCompatDelegate2 == appCompatDelegate || appCompatDelegate2 == null) { it.remove(); } } } catch (Throwable th) { throw th; } } } private static void applyDayNightToActiveDelegates() { synchronized (sActivityDelegatesLock) { try { Iterator> it = sActivityDelegates.iterator(); while (it.hasNext()) { AppCompatDelegate appCompatDelegate = it.next().get(); if (appCompatDelegate != null) { appCompatDelegate.applyDayNight(); } } } catch (Throwable th) { throw th; } } } private static void applyLocalesToActiveDelegates() { Iterator> it = sActivityDelegates.iterator(); while (it.hasNext()) { AppCompatDelegate appCompatDelegate = it.next().get(); if (appCompatDelegate != null) { appCompatDelegate.applyAppLocales(); } } } @RequiresApi(24) public static class Api24Impl { private Api24Impl() { } @DoNotInline public static LocaleList localeListForLanguageTags(String str) { return LocaleList.forLanguageTags(str); } } @RequiresApi(33) public static class Api33Impl { private Api33Impl() { } @DoNotInline public static void localeManagerSetApplicationLocales(Object obj, LocaleList localeList) { ((LocaleManager) obj).setApplicationLocales(localeList); } @DoNotInline public static LocaleList localeManagerGetApplicationLocales(Object obj) { return ((LocaleManager) obj).getApplicationLocales(); } } }