2895 lines
		
	
	
		
			125 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			2895 lines
		
	
	
		
			125 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package androidx.appcompat.app;
 | |
| 
 | |
| import android.R;
 | |
| import android.app.Activity;
 | |
| import android.app.Dialog;
 | |
| import android.app.UiModeManager;
 | |
| import android.content.BroadcastReceiver;
 | |
| import android.content.ComponentName;
 | |
| import android.content.Context;
 | |
| import android.content.ContextWrapper;
 | |
| import android.content.Intent;
 | |
| import android.content.IntentFilter;
 | |
| import android.content.pm.ActivityInfo;
 | |
| import android.content.pm.PackageManager;
 | |
| import android.content.res.Configuration;
 | |
| import android.content.res.Resources;
 | |
| import android.content.res.TypedArray;
 | |
| import android.graphics.Rect;
 | |
| import android.graphics.drawable.Drawable;
 | |
| import android.os.Build;
 | |
| import android.os.Bundle;
 | |
| import android.os.LocaleList;
 | |
| import android.os.Parcel;
 | |
| import android.os.Parcelable;
 | |
| import android.os.PowerManager;
 | |
| import android.text.TextUtils;
 | |
| import android.util.AndroidRuntimeException;
 | |
| import android.util.AttributeSet;
 | |
| import android.util.Log;
 | |
| import android.util.TypedValue;
 | |
| import android.view.ActionMode;
 | |
| import android.view.ContextThemeWrapper;
 | |
| import android.view.KeyCharacterMap;
 | |
| import android.view.KeyEvent;
 | |
| import android.view.KeyboardShortcutGroup;
 | |
| import android.view.LayoutInflater;
 | |
| import android.view.Menu;
 | |
| import android.view.MenuInflater;
 | |
| import android.view.MenuItem;
 | |
| import android.view.MotionEvent;
 | |
| import android.view.View;
 | |
| import android.view.ViewConfiguration;
 | |
| import android.view.ViewGroup;
 | |
| import android.view.ViewParent;
 | |
| import android.view.Window;
 | |
| import android.view.WindowManager;
 | |
| import android.widget.FrameLayout;
 | |
| import android.widget.PopupWindow;
 | |
| import android.widget.TextView;
 | |
| import android.window.OnBackInvokedCallback;
 | |
| import android.window.OnBackInvokedDispatcher;
 | |
| import androidx.activity.ComponentDialog$$ExternalSyntheticApiModelOutline0;
 | |
| import androidx.appcompat.app.ActionBarDrawerToggle;
 | |
| import androidx.appcompat.content.res.AppCompatResources;
 | |
| import androidx.appcompat.view.ActionMode;
 | |
| import androidx.appcompat.view.SupportActionModeWrapper;
 | |
| import androidx.appcompat.view.SupportMenuInflater;
 | |
| import androidx.appcompat.view.WindowCallbackWrapper;
 | |
| import androidx.appcompat.view.menu.ListMenuPresenter;
 | |
| import androidx.appcompat.view.menu.MenuBuilder;
 | |
| import androidx.appcompat.view.menu.MenuPresenter;
 | |
| import androidx.appcompat.view.menu.MenuView;
 | |
| import androidx.appcompat.widget.ActionBarContextView;
 | |
| import androidx.appcompat.widget.AppCompatDrawableManager;
 | |
| import androidx.appcompat.widget.ContentFrameLayout;
 | |
| import androidx.appcompat.widget.DecorContentParent;
 | |
| import androidx.appcompat.widget.FitWindowsViewGroup;
 | |
| import androidx.appcompat.widget.TintTypedArray;
 | |
| import androidx.appcompat.widget.Toolbar;
 | |
| import androidx.appcompat.widget.VectorEnabledTintResources;
 | |
| import androidx.appcompat.widget.ViewUtils;
 | |
| import androidx.collection.SimpleArrayMap;
 | |
| import androidx.core.app.NavUtils;
 | |
| import androidx.core.content.ContextCompat;
 | |
| import androidx.core.content.res.ResourcesCompat;
 | |
| import androidx.core.os.LocaleListCompat;
 | |
| import androidx.core.util.ObjectsCompat;
 | |
| import androidx.core.view.KeyEventDispatcher;
 | |
| import androidx.core.view.LayoutInflaterCompat;
 | |
| import androidx.core.view.OnApplyWindowInsetsListener;
 | |
| import androidx.core.view.ViewCompat;
 | |
| import androidx.core.view.ViewPropertyAnimatorCompat;
 | |
| import androidx.core.view.ViewPropertyAnimatorListenerAdapter;
 | |
| import androidx.core.view.WindowInsetsCompat;
 | |
| import androidx.lifecycle.Lifecycle;
 | |
| import androidx.lifecycle.LifecycleOwner;
 | |
| import java.lang.Thread;
 | |
| import java.util.List;
 | |
| import java.util.Locale;
 | |
| import java.util.Objects;
 | |
| import kotlin.time.DurationKt;
 | |
| import org.xmlpull.v1.XmlPullParser;
 | |
| 
 | |
| /* loaded from: classes.dex */
 | |
| class AppCompatDelegateImpl extends AppCompatDelegate implements MenuBuilder.Callback, LayoutInflater.Factory2 {
 | |
|     static final String EXCEPTION_HANDLER_MESSAGE_SUFFIX = ". If the resource you are trying to use is a vector resource, you may be referencing it in an unsupported way. See AppCompatDelegate.setCompatVectorFromResourcesEnabled() for more info.";
 | |
|     private static boolean sInstalledExceptionHandler;
 | |
|     ActionBar mActionBar;
 | |
|     private ActionMenuPresenterCallback mActionMenuPresenterCallback;
 | |
|     ActionMode mActionMode;
 | |
|     PopupWindow mActionModePopup;
 | |
|     ActionBarContextView mActionModeView;
 | |
|     private int mActivityHandlesConfigFlags;
 | |
|     private boolean mActivityHandlesConfigFlagsChecked;
 | |
|     final AppCompatCallback mAppCompatCallback;
 | |
|     private AppCompatViewInflater mAppCompatViewInflater;
 | |
|     private AppCompatWindowCallback mAppCompatWindowCallback;
 | |
|     private AutoNightModeManager mAutoBatteryNightModeManager;
 | |
|     private AutoNightModeManager mAutoTimeNightModeManager;
 | |
|     private OnBackInvokedCallback mBackCallback;
 | |
|     private boolean mBaseContextAttached;
 | |
|     private boolean mClosingActionMenu;
 | |
|     final Context mContext;
 | |
|     private boolean mCreated;
 | |
|     private DecorContentParent mDecorContentParent;
 | |
|     boolean mDestroyed;
 | |
|     private OnBackInvokedDispatcher mDispatcher;
 | |
|     private Configuration mEffectiveConfiguration;
 | |
|     private boolean mEnableDefaultActionBarUp;
 | |
|     ViewPropertyAnimatorCompat mFadeAnim;
 | |
|     private boolean mFeatureIndeterminateProgress;
 | |
|     private boolean mFeatureProgress;
 | |
|     private boolean mHandleNativeActionModes;
 | |
|     boolean mHasActionBar;
 | |
|     final Object mHost;
 | |
|     int mInvalidatePanelMenuFeatures;
 | |
|     boolean mInvalidatePanelMenuPosted;
 | |
|     private final Runnable mInvalidatePanelMenuRunnable;
 | |
|     boolean mIsFloating;
 | |
|     private LayoutIncludeDetector mLayoutIncludeDetector;
 | |
|     private int mLocalNightMode;
 | |
|     private boolean mLongPressBackDown;
 | |
|     MenuInflater mMenuInflater;
 | |
|     boolean mOverlayActionBar;
 | |
|     boolean mOverlayActionMode;
 | |
|     private PanelMenuPresenterCallback mPanelMenuPresenterCallback;
 | |
|     private PanelFeatureState[] mPanels;
 | |
|     private PanelFeatureState mPreparedPanel;
 | |
|     Runnable mShowActionModePopup;
 | |
|     private View mStatusGuard;
 | |
|     ViewGroup mSubDecor;
 | |
|     private boolean mSubDecorInstalled;
 | |
|     private Rect mTempRect1;
 | |
|     private Rect mTempRect2;
 | |
|     private int mThemeResId;
 | |
|     private CharSequence mTitle;
 | |
|     private TextView mTitleView;
 | |
|     Window mWindow;
 | |
|     boolean mWindowNoTitle;
 | |
|     private static final SimpleArrayMap<String, Integer> sLocalNightModes = new SimpleArrayMap<>();
 | |
|     private static final boolean IS_PRE_LOLLIPOP = false;
 | |
|     private static final int[] sWindowBackgroundStyleable = {R.attr.windowBackground};
 | |
|     private static final boolean sCanReturnDifferentContext = !"robolectric".equals(Build.FINGERPRINT);
 | |
|     private static final boolean sCanApplyOverrideConfiguration = true;
 | |
| 
 | |
|     interface ActionBarMenuCallback {
 | |
|         View onCreatePanelView(int i);
 | |
| 
 | |
|         boolean onPreparePanel(int i);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public Context getContextForDelegate() {
 | |
|         return this.mContext;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public int getLocalNightMode() {
 | |
|         return this.mLocalNightMode;
 | |
|     }
 | |
| 
 | |
|     ViewGroup getSubDecor() {
 | |
|         return this.mSubDecor;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public boolean isHandleNativeActionModesEnabled() {
 | |
|         return this.mHandleNativeActionModes;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void onSaveInstanceState(Bundle bundle) {
 | |
|     }
 | |
| 
 | |
|     void onSubDecorInstalled(ViewGroup viewGroup) {
 | |
|     }
 | |
| 
 | |
|     final ActionBar peekSupportActionBar() {
 | |
|         return this.mActionBar;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void setHandleNativeActionModesEnabled(boolean z) {
 | |
|         this.mHandleNativeActionModes = z;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void setTheme(int i) {
 | |
|         this.mThemeResId = i;
 | |
|     }
 | |
| 
 | |
|     /* renamed from: androidx.appcompat.app.AppCompatDelegateImpl$1, reason: invalid class name */
 | |
|     class AnonymousClass1 implements Thread.UncaughtExceptionHandler {
 | |
|         final /* synthetic */ Thread.UncaughtExceptionHandler val$defHandler;
 | |
| 
 | |
|         AnonymousClass1(Thread.UncaughtExceptionHandler uncaughtExceptionHandler) {
 | |
|             this.val$defHandler = uncaughtExceptionHandler;
 | |
|         }
 | |
| 
 | |
|         @Override // java.lang.Thread.UncaughtExceptionHandler
 | |
|         public void uncaughtException(Thread thread, Throwable th) {
 | |
|             if (shouldWrapException(th)) {
 | |
|                 Resources.NotFoundException notFoundException = new Resources.NotFoundException(th.getMessage() + AppCompatDelegateImpl.EXCEPTION_HANDLER_MESSAGE_SUFFIX);
 | |
|                 notFoundException.initCause(th.getCause());
 | |
|                 notFoundException.setStackTrace(th.getStackTrace());
 | |
|                 this.val$defHandler.uncaughtException(thread, notFoundException);
 | |
|                 return;
 | |
|             }
 | |
|             this.val$defHandler.uncaughtException(thread, th);
 | |
|         }
 | |
| 
 | |
|         private boolean shouldWrapException(Throwable th) {
 | |
|             String message;
 | |
|             if (!(th instanceof Resources.NotFoundException) || (message = th.getMessage()) == null) {
 | |
|                 return false;
 | |
|             }
 | |
|             return message.contains("drawable") || message.contains("Drawable");
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     AppCompatDelegateImpl(Activity activity, AppCompatCallback appCompatCallback) {
 | |
|         this(activity, null, appCompatCallback, activity);
 | |
|     }
 | |
| 
 | |
|     AppCompatDelegateImpl(Dialog dialog, AppCompatCallback appCompatCallback) {
 | |
|         this(dialog.getContext(), dialog.getWindow(), appCompatCallback, dialog);
 | |
|     }
 | |
| 
 | |
|     AppCompatDelegateImpl(Context context, Window window, AppCompatCallback appCompatCallback) {
 | |
|         this(context, window, appCompatCallback, context);
 | |
|     }
 | |
| 
 | |
|     AppCompatDelegateImpl(Context context, Activity activity, AppCompatCallback appCompatCallback) {
 | |
|         this(context, null, appCompatCallback, activity);
 | |
|     }
 | |
| 
 | |
|     private AppCompatDelegateImpl(Context context, Window window, AppCompatCallback appCompatCallback, Object obj) {
 | |
|         SimpleArrayMap<String, Integer> simpleArrayMap;
 | |
|         Integer num;
 | |
|         AppCompatActivity tryUnwrapContext;
 | |
|         this.mFadeAnim = null;
 | |
|         this.mHandleNativeActionModes = true;
 | |
|         this.mLocalNightMode = -100;
 | |
|         this.mInvalidatePanelMenuRunnable = new Runnable() { // from class: androidx.appcompat.app.AppCompatDelegateImpl.2
 | |
|             @Override // java.lang.Runnable
 | |
|             public void run() {
 | |
|                 if ((AppCompatDelegateImpl.this.mInvalidatePanelMenuFeatures & 1) != 0) {
 | |
|                     AppCompatDelegateImpl.this.doInvalidatePanelMenu(0);
 | |
|                 }
 | |
|                 if ((AppCompatDelegateImpl.this.mInvalidatePanelMenuFeatures & 4096) != 0) {
 | |
|                     AppCompatDelegateImpl.this.doInvalidatePanelMenu(108);
 | |
|                 }
 | |
|                 AppCompatDelegateImpl.this.mInvalidatePanelMenuPosted = false;
 | |
|                 AppCompatDelegateImpl.this.mInvalidatePanelMenuFeatures = 0;
 | |
|             }
 | |
|         };
 | |
|         this.mContext = context;
 | |
|         this.mAppCompatCallback = appCompatCallback;
 | |
|         this.mHost = obj;
 | |
|         if (this.mLocalNightMode == -100 && (obj instanceof Dialog) && (tryUnwrapContext = tryUnwrapContext()) != null) {
 | |
|             this.mLocalNightMode = tryUnwrapContext.getDelegate().getLocalNightMode();
 | |
|         }
 | |
|         if (this.mLocalNightMode == -100 && (num = (simpleArrayMap = sLocalNightModes).get(obj.getClass().getName())) != null) {
 | |
|             this.mLocalNightMode = num.intValue();
 | |
|             simpleArrayMap.remove(obj.getClass().getName());
 | |
|         }
 | |
|         if (window != null) {
 | |
|             attachToWindow(window);
 | |
|         }
 | |
|         AppCompatDrawableManager.preload();
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void setOnBackInvokedDispatcher(OnBackInvokedDispatcher onBackInvokedDispatcher) {
 | |
|         OnBackInvokedCallback onBackInvokedCallback;
 | |
|         super.setOnBackInvokedDispatcher(onBackInvokedDispatcher);
 | |
|         OnBackInvokedDispatcher onBackInvokedDispatcher2 = this.mDispatcher;
 | |
|         if (onBackInvokedDispatcher2 != null && (onBackInvokedCallback = this.mBackCallback) != null) {
 | |
|             Api33Impl.unregisterOnBackInvokedCallback(onBackInvokedDispatcher2, onBackInvokedCallback);
 | |
|             this.mBackCallback = null;
 | |
|         }
 | |
|         if (onBackInvokedDispatcher == null) {
 | |
|             Object obj = this.mHost;
 | |
|             if ((obj instanceof Activity) && ((Activity) obj).getWindow() != null) {
 | |
|                 this.mDispatcher = Api33Impl.getOnBackInvokedDispatcher((Activity) this.mHost);
 | |
|                 updateBackInvokedCallbackState();
 | |
|             }
 | |
|         }
 | |
|         this.mDispatcher = onBackInvokedDispatcher;
 | |
|         updateBackInvokedCallbackState();
 | |
|     }
 | |
| 
 | |
|     void updateBackInvokedCallbackState() {
 | |
|         OnBackInvokedCallback onBackInvokedCallback;
 | |
|         if (Build.VERSION.SDK_INT >= 33) {
 | |
|             boolean shouldRegisterBackInvokedCallback = shouldRegisterBackInvokedCallback();
 | |
|             if (shouldRegisterBackInvokedCallback && this.mBackCallback == null) {
 | |
|                 this.mBackCallback = Api33Impl.registerOnBackPressedCallback(this.mDispatcher, this);
 | |
|             } else {
 | |
|                 if (shouldRegisterBackInvokedCallback || (onBackInvokedCallback = this.mBackCallback) == null) {
 | |
|                     return;
 | |
|                 }
 | |
|                 Api33Impl.unregisterOnBackInvokedCallback(this.mDispatcher, onBackInvokedCallback);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public Context attachBaseContext2(Context context) {
 | |
|         this.mBaseContextAttached = true;
 | |
|         int mapNightMode = mapNightMode(context, calculateNightMode());
 | |
|         if (isAutoStorageOptedIn(context)) {
 | |
|             syncRequestedAndStoredLocales(context);
 | |
|         }
 | |
|         LocaleListCompat calculateApplicationLocales = calculateApplicationLocales(context);
 | |
|         if (sCanApplyOverrideConfiguration && (context instanceof ContextThemeWrapper)) {
 | |
|             try {
 | |
|                 ContextThemeWrapperCompatApi17Impl.applyOverrideConfiguration((ContextThemeWrapper) context, createOverrideAppConfiguration(context, mapNightMode, calculateApplicationLocales, null, false));
 | |
|                 return context;
 | |
|             } catch (IllegalStateException unused) {
 | |
|             }
 | |
|         }
 | |
|         if (context instanceof androidx.appcompat.view.ContextThemeWrapper) {
 | |
|             try {
 | |
|                 ((androidx.appcompat.view.ContextThemeWrapper) context).applyOverrideConfiguration(createOverrideAppConfiguration(context, mapNightMode, calculateApplicationLocales, null, false));
 | |
|                 return context;
 | |
|             } catch (IllegalStateException unused2) {
 | |
|             }
 | |
|         }
 | |
|         if (!sCanReturnDifferentContext) {
 | |
|             return super.attachBaseContext2(context);
 | |
|         }
 | |
|         Configuration configuration = new Configuration();
 | |
|         configuration.uiMode = -1;
 | |
|         configuration.fontScale = 0.0f;
 | |
|         Configuration configuration2 = Api17Impl.createConfigurationContext(context, configuration).getResources().getConfiguration();
 | |
|         Configuration configuration3 = context.getResources().getConfiguration();
 | |
|         configuration2.uiMode = configuration3.uiMode;
 | |
|         Configuration createOverrideAppConfiguration = createOverrideAppConfiguration(context, mapNightMode, calculateApplicationLocales, !configuration2.equals(configuration3) ? generateConfigDelta(configuration2, configuration3) : null, true);
 | |
|         androidx.appcompat.view.ContextThemeWrapper contextThemeWrapper = new androidx.appcompat.view.ContextThemeWrapper(context, androidx.appcompat.R.style.Theme_AppCompat_Empty);
 | |
|         contextThemeWrapper.applyOverrideConfiguration(createOverrideAppConfiguration);
 | |
|         try {
 | |
|             if (context.getTheme() != null) {
 | |
|                 ResourcesCompat.ThemeCompat.rebase(contextThemeWrapper.getTheme());
 | |
|             }
 | |
|         } catch (NullPointerException unused3) {
 | |
|         }
 | |
|         return super.attachBaseContext2(contextThemeWrapper);
 | |
|     }
 | |
| 
 | |
|     private static class ContextThemeWrapperCompatApi17Impl {
 | |
|         private ContextThemeWrapperCompatApi17Impl() {
 | |
|         }
 | |
| 
 | |
|         static void applyOverrideConfiguration(ContextThemeWrapper contextThemeWrapper, Configuration configuration) {
 | |
|             contextThemeWrapper.applyOverrideConfiguration(configuration);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void onCreate(Bundle bundle) {
 | |
|         String str;
 | |
|         this.mBaseContextAttached = true;
 | |
|         applyApplicationSpecificConfig(false);
 | |
|         ensureWindow();
 | |
|         Object obj = this.mHost;
 | |
|         if (obj instanceof Activity) {
 | |
|             try {
 | |
|                 str = NavUtils.getParentActivityName((Activity) obj);
 | |
|             } catch (IllegalArgumentException unused) {
 | |
|                 str = null;
 | |
|             }
 | |
|             if (str != null) {
 | |
|                 ActionBar peekSupportActionBar = peekSupportActionBar();
 | |
|                 if (peekSupportActionBar == null) {
 | |
|                     this.mEnableDefaultActionBarUp = true;
 | |
|                 } else {
 | |
|                     peekSupportActionBar.setDefaultDisplayHomeAsUpEnabled(true);
 | |
|                 }
 | |
|             }
 | |
|             addActiveDelegate(this);
 | |
|         }
 | |
|         this.mEffectiveConfiguration = new Configuration(this.mContext.getResources().getConfiguration());
 | |
|         this.mCreated = true;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void onPostCreate(Bundle bundle) {
 | |
|         ensureSubDecor();
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public ActionBar getSupportActionBar() {
 | |
|         initWindowDecorActionBar();
 | |
|         return this.mActionBar;
 | |
|     }
 | |
| 
 | |
|     final Window.Callback getWindowCallback() {
 | |
|         return this.mWindow.getCallback();
 | |
|     }
 | |
| 
 | |
|     private void initWindowDecorActionBar() {
 | |
|         ensureSubDecor();
 | |
|         if (this.mHasActionBar && this.mActionBar == null) {
 | |
|             Object obj = this.mHost;
 | |
|             if (obj instanceof Activity) {
 | |
|                 this.mActionBar = new WindowDecorActionBar((Activity) this.mHost, this.mOverlayActionBar);
 | |
|             } else if (obj instanceof Dialog) {
 | |
|                 this.mActionBar = new WindowDecorActionBar((Dialog) this.mHost);
 | |
|             }
 | |
|             ActionBar actionBar = this.mActionBar;
 | |
|             if (actionBar != null) {
 | |
|                 actionBar.setDefaultDisplayHomeAsUpEnabled(this.mEnableDefaultActionBarUp);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void setSupportActionBar(Toolbar toolbar) {
 | |
|         if (this.mHost instanceof Activity) {
 | |
|             ActionBar supportActionBar = getSupportActionBar();
 | |
|             if (supportActionBar instanceof WindowDecorActionBar) {
 | |
|                 throw new IllegalStateException("This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.");
 | |
|             }
 | |
|             this.mMenuInflater = null;
 | |
|             if (supportActionBar != null) {
 | |
|                 supportActionBar.onDestroy();
 | |
|             }
 | |
|             this.mActionBar = null;
 | |
|             if (toolbar != null) {
 | |
|                 ToolbarActionBar toolbarActionBar = new ToolbarActionBar(toolbar, getTitle(), this.mAppCompatWindowCallback);
 | |
|                 this.mActionBar = toolbarActionBar;
 | |
|                 this.mAppCompatWindowCallback.setActionBarCallback(toolbarActionBar.mMenuCallback);
 | |
|                 toolbar.setBackInvokedCallbackEnabled(true);
 | |
|             } else {
 | |
|                 this.mAppCompatWindowCallback.setActionBarCallback(null);
 | |
|             }
 | |
|             invalidateOptionsMenu();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     final Context getActionBarThemedContext() {
 | |
|         ActionBar supportActionBar = getSupportActionBar();
 | |
|         Context themedContext = supportActionBar != null ? supportActionBar.getThemedContext() : null;
 | |
|         return themedContext == null ? this.mContext : themedContext;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public MenuInflater getMenuInflater() {
 | |
|         if (this.mMenuInflater == null) {
 | |
|             initWindowDecorActionBar();
 | |
|             ActionBar actionBar = this.mActionBar;
 | |
|             this.mMenuInflater = new SupportMenuInflater(actionBar != null ? actionBar.getThemedContext() : this.mContext);
 | |
|         }
 | |
|         return this.mMenuInflater;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public <T extends View> T findViewById(int i) {
 | |
|         ensureSubDecor();
 | |
|         return (T) this.mWindow.findViewById(i);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void onConfigurationChanged(Configuration configuration) {
 | |
|         ActionBar supportActionBar;
 | |
|         if (this.mHasActionBar && this.mSubDecorInstalled && (supportActionBar = getSupportActionBar()) != null) {
 | |
|             supportActionBar.onConfigurationChanged(configuration);
 | |
|         }
 | |
|         AppCompatDrawableManager.get().onConfigurationChanged(this.mContext);
 | |
|         this.mEffectiveConfiguration = new Configuration(this.mContext.getResources().getConfiguration());
 | |
|         applyApplicationSpecificConfig(false, false);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void onStart() {
 | |
|         applyApplicationSpecificConfig(true, false);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void onStop() {
 | |
|         ActionBar supportActionBar = getSupportActionBar();
 | |
|         if (supportActionBar != null) {
 | |
|             supportActionBar.setShowHideAnimationEnabled(false);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void onPostResume() {
 | |
|         ActionBar supportActionBar = getSupportActionBar();
 | |
|         if (supportActionBar != null) {
 | |
|             supportActionBar.setShowHideAnimationEnabled(true);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void setContentView(View view) {
 | |
|         ensureSubDecor();
 | |
|         ViewGroup viewGroup = (ViewGroup) this.mSubDecor.findViewById(R.id.content);
 | |
|         viewGroup.removeAllViews();
 | |
|         viewGroup.addView(view);
 | |
|         this.mAppCompatWindowCallback.bypassOnContentChanged(this.mWindow.getCallback());
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void setContentView(int i) {
 | |
|         ensureSubDecor();
 | |
|         ViewGroup viewGroup = (ViewGroup) this.mSubDecor.findViewById(R.id.content);
 | |
|         viewGroup.removeAllViews();
 | |
|         LayoutInflater.from(this.mContext).inflate(i, viewGroup);
 | |
|         this.mAppCompatWindowCallback.bypassOnContentChanged(this.mWindow.getCallback());
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void setContentView(View view, ViewGroup.LayoutParams layoutParams) {
 | |
|         ensureSubDecor();
 | |
|         ViewGroup viewGroup = (ViewGroup) this.mSubDecor.findViewById(R.id.content);
 | |
|         viewGroup.removeAllViews();
 | |
|         viewGroup.addView(view, layoutParams);
 | |
|         this.mAppCompatWindowCallback.bypassOnContentChanged(this.mWindow.getCallback());
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void addContentView(View view, ViewGroup.LayoutParams layoutParams) {
 | |
|         ensureSubDecor();
 | |
|         ((ViewGroup) this.mSubDecor.findViewById(R.id.content)).addView(view, layoutParams);
 | |
|         this.mAppCompatWindowCallback.bypassOnContentChanged(this.mWindow.getCallback());
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Removed duplicated region for block: B:16:0x0058  */
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     /*
 | |
|         Code decompiled incorrectly, please refer to instructions dump.
 | |
|         To view partially-correct add '--show-bad-code' argument
 | |
|     */
 | |
|     public void onDestroy() {
 | |
|         /*
 | |
|             r3 = this;
 | |
|             java.lang.Object r0 = r3.mHost
 | |
|             boolean r0 = r0 instanceof android.app.Activity
 | |
|             if (r0 == 0) goto L9
 | |
|             removeActivityDelegate(r3)
 | |
|         L9:
 | |
|             boolean r0 = r3.mInvalidatePanelMenuPosted
 | |
|             if (r0 == 0) goto L18
 | |
|             android.view.Window r0 = r3.mWindow
 | |
|             android.view.View r0 = r0.getDecorView()
 | |
|             java.lang.Runnable r1 = r3.mInvalidatePanelMenuRunnable
 | |
|             r0.removeCallbacks(r1)
 | |
|         L18:
 | |
|             r0 = 1
 | |
|             r3.mDestroyed = r0
 | |
|             int r0 = r3.mLocalNightMode
 | |
|             r1 = -100
 | |
|             if (r0 == r1) goto L45
 | |
|             java.lang.Object r0 = r3.mHost
 | |
|             boolean r1 = r0 instanceof android.app.Activity
 | |
|             if (r1 == 0) goto L45
 | |
|             android.app.Activity r0 = (android.app.Activity) r0
 | |
|             boolean r0 = r0.isChangingConfigurations()
 | |
|             if (r0 == 0) goto L45
 | |
|             androidx.collection.SimpleArrayMap<java.lang.String, java.lang.Integer> r0 = androidx.appcompat.app.AppCompatDelegateImpl.sLocalNightModes
 | |
|             java.lang.Object r1 = r3.mHost
 | |
|             java.lang.Class r1 = r1.getClass()
 | |
|             java.lang.String r1 = r1.getName()
 | |
|             int r2 = r3.mLocalNightMode
 | |
|             java.lang.Integer r2 = java.lang.Integer.valueOf(r2)
 | |
|             r0.put(r1, r2)
 | |
|             goto L54
 | |
|         L45:
 | |
|             androidx.collection.SimpleArrayMap<java.lang.String, java.lang.Integer> r0 = androidx.appcompat.app.AppCompatDelegateImpl.sLocalNightModes
 | |
|             java.lang.Object r1 = r3.mHost
 | |
|             java.lang.Class r1 = r1.getClass()
 | |
|             java.lang.String r1 = r1.getName()
 | |
|             r0.remove(r1)
 | |
|         L54:
 | |
|             androidx.appcompat.app.ActionBar r0 = r3.mActionBar
 | |
|             if (r0 == 0) goto L5b
 | |
|             r0.onDestroy()
 | |
|         L5b:
 | |
|             r3.cleanupAutoManagers()
 | |
|             return
 | |
|         */
 | |
|         throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.app.AppCompatDelegateImpl.onDestroy():void");
 | |
|     }
 | |
| 
 | |
|     private void cleanupAutoManagers() {
 | |
|         AutoNightModeManager autoNightModeManager = this.mAutoTimeNightModeManager;
 | |
|         if (autoNightModeManager != null) {
 | |
|             autoNightModeManager.cleanup();
 | |
|         }
 | |
|         AutoNightModeManager autoNightModeManager2 = this.mAutoBatteryNightModeManager;
 | |
|         if (autoNightModeManager2 != null) {
 | |
|             autoNightModeManager2.cleanup();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private void ensureWindow() {
 | |
|         if (this.mWindow == null) {
 | |
|             Object obj = this.mHost;
 | |
|             if (obj instanceof Activity) {
 | |
|                 attachToWindow(((Activity) obj).getWindow());
 | |
|             }
 | |
|         }
 | |
|         if (this.mWindow == null) {
 | |
|             throw new IllegalStateException("We have not been given a Window");
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private void attachToWindow(Window window) {
 | |
|         if (this.mWindow != null) {
 | |
|             throw new IllegalStateException("AppCompat has already installed itself into the Window");
 | |
|         }
 | |
|         Window.Callback callback = window.getCallback();
 | |
|         if (callback instanceof AppCompatWindowCallback) {
 | |
|             throw new IllegalStateException("AppCompat has already installed itself into the Window");
 | |
|         }
 | |
|         AppCompatWindowCallback appCompatWindowCallback = new AppCompatWindowCallback(callback);
 | |
|         this.mAppCompatWindowCallback = appCompatWindowCallback;
 | |
|         window.setCallback(appCompatWindowCallback);
 | |
|         TintTypedArray obtainStyledAttributes = TintTypedArray.obtainStyledAttributes(this.mContext, (AttributeSet) null, sWindowBackgroundStyleable);
 | |
|         Drawable drawableIfKnown = obtainStyledAttributes.getDrawableIfKnown(0);
 | |
|         if (drawableIfKnown != null) {
 | |
|             window.setBackgroundDrawable(drawableIfKnown);
 | |
|         }
 | |
|         obtainStyledAttributes.recycle();
 | |
|         this.mWindow = window;
 | |
|         if (Build.VERSION.SDK_INT < 33 || this.mDispatcher != null) {
 | |
|             return;
 | |
|         }
 | |
|         setOnBackInvokedDispatcher(null);
 | |
|     }
 | |
| 
 | |
|     private void ensureSubDecor() {
 | |
|         if (this.mSubDecorInstalled) {
 | |
|             return;
 | |
|         }
 | |
|         this.mSubDecor = createSubDecor();
 | |
|         CharSequence title = getTitle();
 | |
|         if (!TextUtils.isEmpty(title)) {
 | |
|             DecorContentParent decorContentParent = this.mDecorContentParent;
 | |
|             if (decorContentParent != null) {
 | |
|                 decorContentParent.setWindowTitle(title);
 | |
|             } else if (peekSupportActionBar() != null) {
 | |
|                 peekSupportActionBar().setWindowTitle(title);
 | |
|             } else {
 | |
|                 TextView textView = this.mTitleView;
 | |
|                 if (textView != null) {
 | |
|                     textView.setText(title);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         applyFixedSizeWindow();
 | |
|         onSubDecorInstalled(this.mSubDecor);
 | |
|         this.mSubDecorInstalled = true;
 | |
|         PanelFeatureState panelState = getPanelState(0, false);
 | |
|         if (this.mDestroyed) {
 | |
|             return;
 | |
|         }
 | |
|         if (panelState == null || panelState.menu == null) {
 | |
|             invalidatePanelMenu(108);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private ViewGroup createSubDecor() {
 | |
|         ViewGroup viewGroup;
 | |
|         TypedArray obtainStyledAttributes = this.mContext.obtainStyledAttributes(androidx.appcompat.R.styleable.AppCompatTheme);
 | |
|         if (!obtainStyledAttributes.hasValue(androidx.appcompat.R.styleable.AppCompatTheme_windowActionBar)) {
 | |
|             obtainStyledAttributes.recycle();
 | |
|             throw new IllegalStateException("You need to use a Theme.AppCompat theme (or descendant) with this activity.");
 | |
|         }
 | |
|         if (obtainStyledAttributes.getBoolean(androidx.appcompat.R.styleable.AppCompatTheme_windowNoTitle, false)) {
 | |
|             requestWindowFeature(1);
 | |
|         } else if (obtainStyledAttributes.getBoolean(androidx.appcompat.R.styleable.AppCompatTheme_windowActionBar, false)) {
 | |
|             requestWindowFeature(108);
 | |
|         }
 | |
|         if (obtainStyledAttributes.getBoolean(androidx.appcompat.R.styleable.AppCompatTheme_windowActionBarOverlay, false)) {
 | |
|             requestWindowFeature(109);
 | |
|         }
 | |
|         if (obtainStyledAttributes.getBoolean(androidx.appcompat.R.styleable.AppCompatTheme_windowActionModeOverlay, false)) {
 | |
|             requestWindowFeature(10);
 | |
|         }
 | |
|         this.mIsFloating = obtainStyledAttributes.getBoolean(androidx.appcompat.R.styleable.AppCompatTheme_android_windowIsFloating, false);
 | |
|         obtainStyledAttributes.recycle();
 | |
|         ensureWindow();
 | |
|         this.mWindow.getDecorView();
 | |
|         LayoutInflater from = LayoutInflater.from(this.mContext);
 | |
|         if (this.mWindowNoTitle) {
 | |
|             viewGroup = this.mOverlayActionMode ? (ViewGroup) from.inflate(androidx.appcompat.R.layout.abc_screen_simple_overlay_action_mode, (ViewGroup) null) : (ViewGroup) from.inflate(androidx.appcompat.R.layout.abc_screen_simple, (ViewGroup) null);
 | |
|         } else if (this.mIsFloating) {
 | |
|             viewGroup = (ViewGroup) from.inflate(androidx.appcompat.R.layout.abc_dialog_title_material, (ViewGroup) null);
 | |
|             this.mOverlayActionBar = false;
 | |
|             this.mHasActionBar = false;
 | |
|         } else if (this.mHasActionBar) {
 | |
|             TypedValue typedValue = new TypedValue();
 | |
|             this.mContext.getTheme().resolveAttribute(androidx.appcompat.R.attr.actionBarTheme, typedValue, true);
 | |
|             viewGroup = (ViewGroup) LayoutInflater.from(typedValue.resourceId != 0 ? new androidx.appcompat.view.ContextThemeWrapper(this.mContext, typedValue.resourceId) : this.mContext).inflate(androidx.appcompat.R.layout.abc_screen_toolbar, (ViewGroup) null);
 | |
|             DecorContentParent decorContentParent = (DecorContentParent) viewGroup.findViewById(androidx.appcompat.R.id.decor_content_parent);
 | |
|             this.mDecorContentParent = decorContentParent;
 | |
|             decorContentParent.setWindowCallback(getWindowCallback());
 | |
|             if (this.mOverlayActionBar) {
 | |
|                 this.mDecorContentParent.initFeature(109);
 | |
|             }
 | |
|             if (this.mFeatureProgress) {
 | |
|                 this.mDecorContentParent.initFeature(2);
 | |
|             }
 | |
|             if (this.mFeatureIndeterminateProgress) {
 | |
|                 this.mDecorContentParent.initFeature(5);
 | |
|             }
 | |
|         } else {
 | |
|             viewGroup = null;
 | |
|         }
 | |
|         if (viewGroup == null) {
 | |
|             throw new IllegalArgumentException("AppCompat does not support the current theme features: { windowActionBar: " + this.mHasActionBar + ", windowActionBarOverlay: " + this.mOverlayActionBar + ", android:windowIsFloating: " + this.mIsFloating + ", windowActionModeOverlay: " + this.mOverlayActionMode + ", windowNoTitle: " + this.mWindowNoTitle + " }");
 | |
|         }
 | |
|         ViewCompat.setOnApplyWindowInsetsListener(viewGroup, new OnApplyWindowInsetsListener() { // from class: androidx.appcompat.app.AppCompatDelegateImpl.3
 | |
|             @Override // androidx.core.view.OnApplyWindowInsetsListener
 | |
|             public WindowInsetsCompat onApplyWindowInsets(View view, WindowInsetsCompat windowInsetsCompat) {
 | |
|                 int systemWindowInsetTop = windowInsetsCompat.getSystemWindowInsetTop();
 | |
|                 int updateStatusGuard = AppCompatDelegateImpl.this.updateStatusGuard(windowInsetsCompat, null);
 | |
|                 if (systemWindowInsetTop != updateStatusGuard) {
 | |
|                     windowInsetsCompat = windowInsetsCompat.replaceSystemWindowInsets(windowInsetsCompat.getSystemWindowInsetLeft(), updateStatusGuard, windowInsetsCompat.getSystemWindowInsetRight(), windowInsetsCompat.getSystemWindowInsetBottom());
 | |
|                 }
 | |
|                 return ViewCompat.onApplyWindowInsets(view, windowInsetsCompat);
 | |
|             }
 | |
|         });
 | |
|         if (this.mDecorContentParent == null) {
 | |
|             this.mTitleView = (TextView) viewGroup.findViewById(androidx.appcompat.R.id.title);
 | |
|         }
 | |
|         ViewUtils.makeOptionalFitsSystemWindows(viewGroup);
 | |
|         ContentFrameLayout contentFrameLayout = (ContentFrameLayout) viewGroup.findViewById(androidx.appcompat.R.id.action_bar_activity_content);
 | |
|         ViewGroup viewGroup2 = (ViewGroup) this.mWindow.findViewById(R.id.content);
 | |
|         if (viewGroup2 != null) {
 | |
|             while (viewGroup2.getChildCount() > 0) {
 | |
|                 View childAt = viewGroup2.getChildAt(0);
 | |
|                 viewGroup2.removeViewAt(0);
 | |
|                 contentFrameLayout.addView(childAt);
 | |
|             }
 | |
|             viewGroup2.setId(-1);
 | |
|             contentFrameLayout.setId(R.id.content);
 | |
|             if (viewGroup2 instanceof FrameLayout) {
 | |
|                 ((FrameLayout) viewGroup2).setForeground(null);
 | |
|             }
 | |
|         }
 | |
|         this.mWindow.setContentView(viewGroup);
 | |
|         contentFrameLayout.setAttachListener(new ContentFrameLayout.OnAttachListener() { // from class: androidx.appcompat.app.AppCompatDelegateImpl.5
 | |
|             @Override // androidx.appcompat.widget.ContentFrameLayout.OnAttachListener
 | |
|             public void onAttachedFromWindow() {
 | |
|             }
 | |
| 
 | |
|             @Override // androidx.appcompat.widget.ContentFrameLayout.OnAttachListener
 | |
|             public void onDetachedFromWindow() {
 | |
|                 AppCompatDelegateImpl.this.dismissPopups();
 | |
|             }
 | |
|         });
 | |
|         return viewGroup;
 | |
|     }
 | |
| 
 | |
|     /* renamed from: androidx.appcompat.app.AppCompatDelegateImpl$4, reason: invalid class name */
 | |
|     class AnonymousClass4 implements FitWindowsViewGroup.OnFitSystemWindowsListener {
 | |
|         AnonymousClass4() {
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.widget.FitWindowsViewGroup.OnFitSystemWindowsListener
 | |
|         public void onFitSystemWindows(Rect rect) {
 | |
|             rect.top = AppCompatDelegateImpl.this.updateStatusGuard(null, rect);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private void applyFixedSizeWindow() {
 | |
|         ContentFrameLayout contentFrameLayout = (ContentFrameLayout) this.mSubDecor.findViewById(R.id.content);
 | |
|         View decorView = this.mWindow.getDecorView();
 | |
|         contentFrameLayout.setDecorPadding(decorView.getPaddingLeft(), decorView.getPaddingTop(), decorView.getPaddingRight(), decorView.getPaddingBottom());
 | |
|         TypedArray obtainStyledAttributes = this.mContext.obtainStyledAttributes(androidx.appcompat.R.styleable.AppCompatTheme);
 | |
|         obtainStyledAttributes.getValue(androidx.appcompat.R.styleable.AppCompatTheme_windowMinWidthMajor, contentFrameLayout.getMinWidthMajor());
 | |
|         obtainStyledAttributes.getValue(androidx.appcompat.R.styleable.AppCompatTheme_windowMinWidthMinor, contentFrameLayout.getMinWidthMinor());
 | |
|         if (obtainStyledAttributes.hasValue(androidx.appcompat.R.styleable.AppCompatTheme_windowFixedWidthMajor)) {
 | |
|             obtainStyledAttributes.getValue(androidx.appcompat.R.styleable.AppCompatTheme_windowFixedWidthMajor, contentFrameLayout.getFixedWidthMajor());
 | |
|         }
 | |
|         if (obtainStyledAttributes.hasValue(androidx.appcompat.R.styleable.AppCompatTheme_windowFixedWidthMinor)) {
 | |
|             obtainStyledAttributes.getValue(androidx.appcompat.R.styleable.AppCompatTheme_windowFixedWidthMinor, contentFrameLayout.getFixedWidthMinor());
 | |
|         }
 | |
|         if (obtainStyledAttributes.hasValue(androidx.appcompat.R.styleable.AppCompatTheme_windowFixedHeightMajor)) {
 | |
|             obtainStyledAttributes.getValue(androidx.appcompat.R.styleable.AppCompatTheme_windowFixedHeightMajor, contentFrameLayout.getFixedHeightMajor());
 | |
|         }
 | |
|         if (obtainStyledAttributes.hasValue(androidx.appcompat.R.styleable.AppCompatTheme_windowFixedHeightMinor)) {
 | |
|             obtainStyledAttributes.getValue(androidx.appcompat.R.styleable.AppCompatTheme_windowFixedHeightMinor, contentFrameLayout.getFixedHeightMinor());
 | |
|         }
 | |
|         obtainStyledAttributes.recycle();
 | |
|         contentFrameLayout.requestLayout();
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public boolean requestWindowFeature(int i) {
 | |
|         int sanitizeWindowFeatureId = sanitizeWindowFeatureId(i);
 | |
|         if (this.mWindowNoTitle && sanitizeWindowFeatureId == 108) {
 | |
|             return false;
 | |
|         }
 | |
|         if (this.mHasActionBar && sanitizeWindowFeatureId == 1) {
 | |
|             this.mHasActionBar = false;
 | |
|         }
 | |
|         if (sanitizeWindowFeatureId == 1) {
 | |
|             throwFeatureRequestIfSubDecorInstalled();
 | |
|             this.mWindowNoTitle = true;
 | |
|             return true;
 | |
|         }
 | |
|         if (sanitizeWindowFeatureId == 2) {
 | |
|             throwFeatureRequestIfSubDecorInstalled();
 | |
|             this.mFeatureProgress = true;
 | |
|             return true;
 | |
|         }
 | |
|         if (sanitizeWindowFeatureId == 5) {
 | |
|             throwFeatureRequestIfSubDecorInstalled();
 | |
|             this.mFeatureIndeterminateProgress = true;
 | |
|             return true;
 | |
|         }
 | |
|         if (sanitizeWindowFeatureId == 10) {
 | |
|             throwFeatureRequestIfSubDecorInstalled();
 | |
|             this.mOverlayActionMode = true;
 | |
|             return true;
 | |
|         }
 | |
|         if (sanitizeWindowFeatureId == 108) {
 | |
|             throwFeatureRequestIfSubDecorInstalled();
 | |
|             this.mHasActionBar = true;
 | |
|             return true;
 | |
|         }
 | |
|         if (sanitizeWindowFeatureId == 109) {
 | |
|             throwFeatureRequestIfSubDecorInstalled();
 | |
|             this.mOverlayActionBar = true;
 | |
|             return true;
 | |
|         }
 | |
|         return this.mWindow.requestFeature(sanitizeWindowFeatureId);
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Removed duplicated region for block: B:19:0x0036 A[ORIG_RETURN, RETURN] */
 | |
|     /* JADX WARN: Removed duplicated region for block: B:20:? A[RETURN, SYNTHETIC] */
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     /*
 | |
|         Code decompiled incorrectly, please refer to instructions dump.
 | |
|         To view partially-correct add '--show-bad-code' argument
 | |
|     */
 | |
|     public boolean hasWindowFeature(int r4) {
 | |
|         /*
 | |
|             r3 = this;
 | |
|             int r0 = r3.sanitizeWindowFeatureId(r4)
 | |
|             r1 = 1
 | |
|             if (r0 == r1) goto L29
 | |
|             r2 = 2
 | |
|             if (r0 == r2) goto L26
 | |
|             r2 = 5
 | |
|             if (r0 == r2) goto L23
 | |
|             r2 = 10
 | |
|             if (r0 == r2) goto L20
 | |
|             r2 = 108(0x6c, float:1.51E-43)
 | |
|             if (r0 == r2) goto L1d
 | |
|             r2 = 109(0x6d, float:1.53E-43)
 | |
|             if (r0 == r2) goto L1a
 | |
|             goto L2d
 | |
|         L1a:
 | |
|             boolean r0 = r3.mOverlayActionBar
 | |
|             goto L2b
 | |
|         L1d:
 | |
|             boolean r0 = r3.mHasActionBar
 | |
|             goto L2b
 | |
|         L20:
 | |
|             boolean r0 = r3.mOverlayActionMode
 | |
|             goto L2b
 | |
|         L23:
 | |
|             boolean r0 = r3.mFeatureIndeterminateProgress
 | |
|             goto L2b
 | |
|         L26:
 | |
|             boolean r0 = r3.mFeatureProgress
 | |
|             goto L2b
 | |
|         L29:
 | |
|             boolean r0 = r3.mWindowNoTitle
 | |
|         L2b:
 | |
|             if (r0 != 0) goto L37
 | |
|         L2d:
 | |
|             android.view.Window r0 = r3.mWindow
 | |
|             boolean r4 = r0.hasFeature(r4)
 | |
|             if (r4 == 0) goto L36
 | |
|             goto L37
 | |
|         L36:
 | |
|             r1 = 0
 | |
|         L37:
 | |
|             return r1
 | |
|         */
 | |
|         throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.app.AppCompatDelegateImpl.hasWindowFeature(int):boolean");
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public final void setTitle(CharSequence charSequence) {
 | |
|         this.mTitle = charSequence;
 | |
|         DecorContentParent decorContentParent = this.mDecorContentParent;
 | |
|         if (decorContentParent != null) {
 | |
|             decorContentParent.setWindowTitle(charSequence);
 | |
|             return;
 | |
|         }
 | |
|         if (peekSupportActionBar() != null) {
 | |
|             peekSupportActionBar().setWindowTitle(charSequence);
 | |
|             return;
 | |
|         }
 | |
|         TextView textView = this.mTitleView;
 | |
|         if (textView != null) {
 | |
|             textView.setText(charSequence);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     final CharSequence getTitle() {
 | |
|         Object obj = this.mHost;
 | |
|         return obj instanceof Activity ? ((Activity) obj).getTitle() : this.mTitle;
 | |
|     }
 | |
| 
 | |
|     void onPanelClosed(int i) {
 | |
|         if (i == 108) {
 | |
|             ActionBar supportActionBar = getSupportActionBar();
 | |
|             if (supportActionBar != null) {
 | |
|                 supportActionBar.dispatchMenuVisibilityChanged(false);
 | |
|                 return;
 | |
|             }
 | |
|             return;
 | |
|         }
 | |
|         if (i == 0) {
 | |
|             PanelFeatureState panelState = getPanelState(i, true);
 | |
|             if (panelState.isOpen) {
 | |
|                 closePanel(panelState, false);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     void onMenuOpened(int i) {
 | |
|         ActionBar supportActionBar;
 | |
|         if (i != 108 || (supportActionBar = getSupportActionBar()) == null) {
 | |
|             return;
 | |
|         }
 | |
|         supportActionBar.dispatchMenuVisibilityChanged(true);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuBuilder.Callback
 | |
|     public boolean onMenuItemSelected(MenuBuilder menuBuilder, MenuItem menuItem) {
 | |
|         PanelFeatureState findMenuPanel;
 | |
|         Window.Callback windowCallback = getWindowCallback();
 | |
|         if (windowCallback == null || this.mDestroyed || (findMenuPanel = findMenuPanel(menuBuilder.getRootMenu())) == null) {
 | |
|             return false;
 | |
|         }
 | |
|         return windowCallback.onMenuItemSelected(findMenuPanel.featureId, menuItem);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.view.menu.MenuBuilder.Callback
 | |
|     public void onMenuModeChange(MenuBuilder menuBuilder) {
 | |
|         reopenMenu(true);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public ActionMode startSupportActionMode(ActionMode.Callback callback) {
 | |
|         AppCompatCallback appCompatCallback;
 | |
|         if (callback == null) {
 | |
|             throw new IllegalArgumentException("ActionMode callback can not be null.");
 | |
|         }
 | |
|         ActionMode actionMode = this.mActionMode;
 | |
|         if (actionMode != null) {
 | |
|             actionMode.finish();
 | |
|         }
 | |
|         ActionModeCallbackWrapperV9 actionModeCallbackWrapperV9 = new ActionModeCallbackWrapperV9(callback);
 | |
|         ActionBar supportActionBar = getSupportActionBar();
 | |
|         if (supportActionBar != null) {
 | |
|             ActionMode startActionMode = supportActionBar.startActionMode(actionModeCallbackWrapperV9);
 | |
|             this.mActionMode = startActionMode;
 | |
|             if (startActionMode != null && (appCompatCallback = this.mAppCompatCallback) != null) {
 | |
|                 appCompatCallback.onSupportActionModeStarted(startActionMode);
 | |
|             }
 | |
|         }
 | |
|         if (this.mActionMode == null) {
 | |
|             this.mActionMode = startSupportActionModeFromWindow(actionModeCallbackWrapperV9);
 | |
|         }
 | |
|         updateBackInvokedCallbackState();
 | |
|         return this.mActionMode;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void invalidateOptionsMenu() {
 | |
|         if (peekSupportActionBar() == null || getSupportActionBar().invalidateOptionsMenu()) {
 | |
|             return;
 | |
|         }
 | |
|         invalidatePanelMenu(0);
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Removed duplicated region for block: B:14:0x0026  */
 | |
|     /* JADX WARN: Removed duplicated region for block: B:23:0x002a  */
 | |
|     /*
 | |
|         Code decompiled incorrectly, please refer to instructions dump.
 | |
|         To view partially-correct add '--show-bad-code' argument
 | |
|     */
 | |
|     androidx.appcompat.view.ActionMode startSupportActionModeFromWindow(androidx.appcompat.view.ActionMode.Callback r8) {
 | |
|         /*
 | |
|             Method dump skipped, instructions count: 365
 | |
|             To view this dump add '--comments-level debug' option
 | |
|         */
 | |
|         throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.app.AppCompatDelegateImpl.startSupportActionModeFromWindow(androidx.appcompat.view.ActionMode$Callback):androidx.appcompat.view.ActionMode");
 | |
|     }
 | |
| 
 | |
|     final boolean shouldAnimateActionModeView() {
 | |
|         ViewGroup viewGroup;
 | |
|         return this.mSubDecorInstalled && (viewGroup = this.mSubDecor) != null && ViewCompat.isLaidOut(viewGroup);
 | |
|     }
 | |
| 
 | |
|     void endOnGoingFadeAnimation() {
 | |
|         ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = this.mFadeAnim;
 | |
|         if (viewPropertyAnimatorCompat != null) {
 | |
|             viewPropertyAnimatorCompat.cancel();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     boolean shouldRegisterBackInvokedCallback() {
 | |
|         if (this.mDispatcher == null) {
 | |
|             return false;
 | |
|         }
 | |
|         PanelFeatureState panelState = getPanelState(0, false);
 | |
|         return (panelState != null && panelState.isOpen) || this.mActionMode != null;
 | |
|     }
 | |
| 
 | |
|     boolean onBackPressed() {
 | |
|         boolean z = this.mLongPressBackDown;
 | |
|         this.mLongPressBackDown = false;
 | |
|         PanelFeatureState panelState = getPanelState(0, false);
 | |
|         if (panelState != null && panelState.isOpen) {
 | |
|             if (!z) {
 | |
|                 closePanel(panelState, true);
 | |
|             }
 | |
|             return true;
 | |
|         }
 | |
|         ActionMode actionMode = this.mActionMode;
 | |
|         if (actionMode != null) {
 | |
|             actionMode.finish();
 | |
|             return true;
 | |
|         }
 | |
|         ActionBar supportActionBar = getSupportActionBar();
 | |
|         return supportActionBar != null && supportActionBar.collapseActionView();
 | |
|     }
 | |
| 
 | |
|     boolean onKeyShortcut(int i, KeyEvent keyEvent) {
 | |
|         ActionBar supportActionBar = getSupportActionBar();
 | |
|         if (supportActionBar != null && supportActionBar.onKeyShortcut(i, keyEvent)) {
 | |
|             return true;
 | |
|         }
 | |
|         PanelFeatureState panelFeatureState = this.mPreparedPanel;
 | |
|         if (panelFeatureState != null && performPanelShortcut(panelFeatureState, keyEvent.getKeyCode(), keyEvent, 1)) {
 | |
|             PanelFeatureState panelFeatureState2 = this.mPreparedPanel;
 | |
|             if (panelFeatureState2 != null) {
 | |
|                 panelFeatureState2.isHandled = true;
 | |
|             }
 | |
|             return true;
 | |
|         }
 | |
|         if (this.mPreparedPanel == null) {
 | |
|             PanelFeatureState panelState = getPanelState(0, true);
 | |
|             preparePanel(panelState, keyEvent);
 | |
|             boolean performPanelShortcut = performPanelShortcut(panelState, keyEvent.getKeyCode(), keyEvent, 1);
 | |
|             panelState.isPrepared = false;
 | |
|             if (performPanelShortcut) {
 | |
|                 return true;
 | |
|             }
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     boolean dispatchKeyEvent(KeyEvent keyEvent) {
 | |
|         View decorView;
 | |
|         Object obj = this.mHost;
 | |
|         if (((obj instanceof KeyEventDispatcher.Component) || (obj instanceof AppCompatDialog)) && (decorView = this.mWindow.getDecorView()) != null && KeyEventDispatcher.dispatchBeforeHierarchy(decorView, keyEvent)) {
 | |
|             return true;
 | |
|         }
 | |
|         if (keyEvent.getKeyCode() == 82 && this.mAppCompatWindowCallback.bypassDispatchKeyEvent(this.mWindow.getCallback(), keyEvent)) {
 | |
|             return true;
 | |
|         }
 | |
|         int keyCode = keyEvent.getKeyCode();
 | |
|         return keyEvent.getAction() == 0 ? onKeyDown(keyCode, keyEvent) : onKeyUp(keyCode, keyEvent);
 | |
|     }
 | |
| 
 | |
|     boolean onKeyUp(int i, KeyEvent keyEvent) {
 | |
|         if (i != 4) {
 | |
|             if (i == 82) {
 | |
|                 onKeyUpPanel(0, keyEvent);
 | |
|                 return true;
 | |
|             }
 | |
|         } else if (onBackPressed()) {
 | |
|             return true;
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     boolean onKeyDown(int i, KeyEvent keyEvent) {
 | |
|         if (i == 4) {
 | |
|             this.mLongPressBackDown = (keyEvent.getFlags() & 128) != 0;
 | |
|         } else if (i == 82) {
 | |
|             onKeyDownPanel(0, keyEvent);
 | |
|             return true;
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Multi-variable type inference failed */
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public View createView(View view, String str, Context context, AttributeSet attributeSet) {
 | |
|         boolean z;
 | |
|         boolean z2 = false;
 | |
|         if (this.mAppCompatViewInflater == null) {
 | |
|             String string = this.mContext.obtainStyledAttributes(androidx.appcompat.R.styleable.AppCompatTheme).getString(androidx.appcompat.R.styleable.AppCompatTheme_viewInflaterClass);
 | |
|             if (string == null) {
 | |
|                 this.mAppCompatViewInflater = new AppCompatViewInflater();
 | |
|             } else {
 | |
|                 try {
 | |
|                     this.mAppCompatViewInflater = (AppCompatViewInflater) this.mContext.getClassLoader().loadClass(string).getDeclaredConstructor(new Class[0]).newInstance(new Object[0]);
 | |
|                 } catch (Throwable th) {
 | |
|                     Log.i("AppCompatDelegate", "Failed to instantiate custom view inflater " + string + ". Falling back to default.", th);
 | |
|                     this.mAppCompatViewInflater = new AppCompatViewInflater();
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         boolean z3 = IS_PRE_LOLLIPOP;
 | |
|         if (z3) {
 | |
|             if (this.mLayoutIncludeDetector == null) {
 | |
|                 this.mLayoutIncludeDetector = new LayoutIncludeDetector();
 | |
|             }
 | |
|             if (this.mLayoutIncludeDetector.detect(attributeSet)) {
 | |
|                 z = true;
 | |
|             } else {
 | |
|                 if (attributeSet instanceof XmlPullParser) {
 | |
|                     if (((XmlPullParser) attributeSet).getDepth() > 1) {
 | |
|                         z2 = true;
 | |
|                     }
 | |
|                 } else {
 | |
|                     z2 = shouldInheritContext((ViewParent) view);
 | |
|                 }
 | |
|                 z = z2;
 | |
|             }
 | |
|         } else {
 | |
|             z = false;
 | |
|         }
 | |
|         return this.mAppCompatViewInflater.createView(view, str, context, attributeSet, z, z3, true, VectorEnabledTintResources.shouldBeUsed());
 | |
|     }
 | |
| 
 | |
|     private boolean shouldInheritContext(ViewParent viewParent) {
 | |
|         if (viewParent == null) {
 | |
|             return false;
 | |
|         }
 | |
|         View decorView = this.mWindow.getDecorView();
 | |
|         while (viewParent != null) {
 | |
|             if (viewParent == decorView || !(viewParent instanceof View) || ViewCompat.isAttachedToWindow((View) viewParent)) {
 | |
|                 return false;
 | |
|             }
 | |
|             viewParent = viewParent.getParent();
 | |
|         }
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void installViewFactory() {
 | |
|         LayoutInflater from = LayoutInflater.from(this.mContext);
 | |
|         if (from.getFactory() == null) {
 | |
|             LayoutInflaterCompat.setFactory2(from, this);
 | |
|         } else {
 | |
|             if (from.getFactory2() instanceof AppCompatDelegateImpl) {
 | |
|                 return;
 | |
|             }
 | |
|             Log.i("AppCompatDelegate", "The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's");
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // android.view.LayoutInflater.Factory2
 | |
|     public final View onCreateView(View view, String str, Context context, AttributeSet attributeSet) {
 | |
|         return createView(view, str, context, attributeSet);
 | |
|     }
 | |
| 
 | |
|     @Override // android.view.LayoutInflater.Factory
 | |
|     public View onCreateView(String str, Context context, AttributeSet attributeSet) {
 | |
|         return onCreateView(null, str, context, attributeSet);
 | |
|     }
 | |
| 
 | |
|     private AppCompatActivity tryUnwrapContext() {
 | |
|         for (Context context = this.mContext; context != null; context = ((ContextWrapper) context).getBaseContext()) {
 | |
|             if (context instanceof AppCompatActivity) {
 | |
|                 return (AppCompatActivity) context;
 | |
|             }
 | |
|             if (!(context instanceof ContextWrapper)) {
 | |
|                 break;
 | |
|             }
 | |
|         }
 | |
|         return null;
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Removed duplicated region for block: B:36:0x00f3  */
 | |
|     /* JADX WARN: Removed duplicated region for block: B:38:? A[RETURN, SYNTHETIC] */
 | |
|     /*
 | |
|         Code decompiled incorrectly, please refer to instructions dump.
 | |
|         To view partially-correct add '--show-bad-code' argument
 | |
|     */
 | |
|     private void openPanel(androidx.appcompat.app.AppCompatDelegateImpl.PanelFeatureState r12, android.view.KeyEvent r13) {
 | |
|         /*
 | |
|             Method dump skipped, instructions count: 250
 | |
|             To view this dump add '--comments-level debug' option
 | |
|         */
 | |
|         throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.app.AppCompatDelegateImpl.openPanel(androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState, android.view.KeyEvent):void");
 | |
|     }
 | |
| 
 | |
|     private boolean initializePanelDecor(PanelFeatureState panelFeatureState) {
 | |
|         panelFeatureState.setStyle(getActionBarThemedContext());
 | |
|         panelFeatureState.decorView = new ListMenuDecorView(panelFeatureState.listPresenterContext);
 | |
|         panelFeatureState.gravity = 81;
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     private void reopenMenu(boolean z) {
 | |
|         DecorContentParent decorContentParent = this.mDecorContentParent;
 | |
|         if (decorContentParent != null && decorContentParent.canShowOverflowMenu() && (!ViewConfiguration.get(this.mContext).hasPermanentMenuKey() || this.mDecorContentParent.isOverflowMenuShowPending())) {
 | |
|             Window.Callback windowCallback = getWindowCallback();
 | |
|             if (this.mDecorContentParent.isOverflowMenuShowing() && z) {
 | |
|                 this.mDecorContentParent.hideOverflowMenu();
 | |
|                 if (this.mDestroyed) {
 | |
|                     return;
 | |
|                 }
 | |
|                 windowCallback.onPanelClosed(108, getPanelState(0, true).menu);
 | |
|                 return;
 | |
|             }
 | |
|             if (windowCallback == null || this.mDestroyed) {
 | |
|                 return;
 | |
|             }
 | |
|             if (this.mInvalidatePanelMenuPosted && (this.mInvalidatePanelMenuFeatures & 1) != 0) {
 | |
|                 this.mWindow.getDecorView().removeCallbacks(this.mInvalidatePanelMenuRunnable);
 | |
|                 this.mInvalidatePanelMenuRunnable.run();
 | |
|             }
 | |
|             PanelFeatureState panelState = getPanelState(0, true);
 | |
|             if (panelState.menu == null || panelState.refreshMenuContent || !windowCallback.onPreparePanel(0, panelState.createdPanelView, panelState.menu)) {
 | |
|                 return;
 | |
|             }
 | |
|             windowCallback.onMenuOpened(108, panelState.menu);
 | |
|             this.mDecorContentParent.showOverflowMenu();
 | |
|             return;
 | |
|         }
 | |
|         PanelFeatureState panelState2 = getPanelState(0, true);
 | |
|         panelState2.refreshDecorView = true;
 | |
|         closePanel(panelState2, false);
 | |
|         openPanel(panelState2, null);
 | |
|     }
 | |
| 
 | |
|     private boolean initializePanelMenu(PanelFeatureState panelFeatureState) {
 | |
|         Resources.Theme theme;
 | |
|         Context context = this.mContext;
 | |
|         if ((panelFeatureState.featureId == 0 || panelFeatureState.featureId == 108) && this.mDecorContentParent != null) {
 | |
|             TypedValue typedValue = new TypedValue();
 | |
|             Resources.Theme theme2 = context.getTheme();
 | |
|             theme2.resolveAttribute(androidx.appcompat.R.attr.actionBarTheme, typedValue, true);
 | |
|             if (typedValue.resourceId != 0) {
 | |
|                 theme = context.getResources().newTheme();
 | |
|                 theme.setTo(theme2);
 | |
|                 theme.applyStyle(typedValue.resourceId, true);
 | |
|                 theme.resolveAttribute(androidx.appcompat.R.attr.actionBarWidgetTheme, typedValue, true);
 | |
|             } else {
 | |
|                 theme2.resolveAttribute(androidx.appcompat.R.attr.actionBarWidgetTheme, typedValue, true);
 | |
|                 theme = null;
 | |
|             }
 | |
|             if (typedValue.resourceId != 0) {
 | |
|                 if (theme == null) {
 | |
|                     theme = context.getResources().newTheme();
 | |
|                     theme.setTo(theme2);
 | |
|                 }
 | |
|                 theme.applyStyle(typedValue.resourceId, true);
 | |
|             }
 | |
|             if (theme != null) {
 | |
|                 androidx.appcompat.view.ContextThemeWrapper contextThemeWrapper = new androidx.appcompat.view.ContextThemeWrapper(context, 0);
 | |
|                 contextThemeWrapper.getTheme().setTo(theme);
 | |
|                 context = contextThemeWrapper;
 | |
|             }
 | |
|         }
 | |
|         MenuBuilder menuBuilder = new MenuBuilder(context);
 | |
|         menuBuilder.setCallback(this);
 | |
|         panelFeatureState.setMenu(menuBuilder);
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     private boolean initializePanelContent(PanelFeatureState panelFeatureState) {
 | |
|         if (panelFeatureState.createdPanelView != null) {
 | |
|             panelFeatureState.shownPanelView = panelFeatureState.createdPanelView;
 | |
|             return true;
 | |
|         }
 | |
|         if (panelFeatureState.menu == null) {
 | |
|             return false;
 | |
|         }
 | |
|         if (this.mPanelMenuPresenterCallback == null) {
 | |
|             this.mPanelMenuPresenterCallback = new PanelMenuPresenterCallback();
 | |
|         }
 | |
|         panelFeatureState.shownPanelView = (View) panelFeatureState.getListMenuView(this.mPanelMenuPresenterCallback);
 | |
|         return panelFeatureState.shownPanelView != null;
 | |
|     }
 | |
| 
 | |
|     private boolean preparePanel(PanelFeatureState panelFeatureState, KeyEvent keyEvent) {
 | |
|         DecorContentParent decorContentParent;
 | |
|         DecorContentParent decorContentParent2;
 | |
|         DecorContentParent decorContentParent3;
 | |
|         if (this.mDestroyed) {
 | |
|             return false;
 | |
|         }
 | |
|         if (panelFeatureState.isPrepared) {
 | |
|             return true;
 | |
|         }
 | |
|         PanelFeatureState panelFeatureState2 = this.mPreparedPanel;
 | |
|         if (panelFeatureState2 != null && panelFeatureState2 != panelFeatureState) {
 | |
|             closePanel(panelFeatureState2, false);
 | |
|         }
 | |
|         Window.Callback windowCallback = getWindowCallback();
 | |
|         if (windowCallback != null) {
 | |
|             panelFeatureState.createdPanelView = windowCallback.onCreatePanelView(panelFeatureState.featureId);
 | |
|         }
 | |
|         boolean z = panelFeatureState.featureId == 0 || panelFeatureState.featureId == 108;
 | |
|         if (z && (decorContentParent3 = this.mDecorContentParent) != null) {
 | |
|             decorContentParent3.setMenuPrepared();
 | |
|         }
 | |
|         if (panelFeatureState.createdPanelView == null && (!z || !(peekSupportActionBar() instanceof ToolbarActionBar))) {
 | |
|             if (panelFeatureState.menu == null || panelFeatureState.refreshMenuContent) {
 | |
|                 if (panelFeatureState.menu == null && (!initializePanelMenu(panelFeatureState) || panelFeatureState.menu == null)) {
 | |
|                     return false;
 | |
|                 }
 | |
|                 if (z && this.mDecorContentParent != null) {
 | |
|                     if (this.mActionMenuPresenterCallback == null) {
 | |
|                         this.mActionMenuPresenterCallback = new ActionMenuPresenterCallback();
 | |
|                     }
 | |
|                     this.mDecorContentParent.setMenu(panelFeatureState.menu, this.mActionMenuPresenterCallback);
 | |
|                 }
 | |
|                 panelFeatureState.menu.stopDispatchingItemsChanged();
 | |
|                 if (!windowCallback.onCreatePanelMenu(panelFeatureState.featureId, panelFeatureState.menu)) {
 | |
|                     panelFeatureState.setMenu(null);
 | |
|                     if (z && (decorContentParent = this.mDecorContentParent) != null) {
 | |
|                         decorContentParent.setMenu(null, this.mActionMenuPresenterCallback);
 | |
|                     }
 | |
|                     return false;
 | |
|                 }
 | |
|                 panelFeatureState.refreshMenuContent = false;
 | |
|             }
 | |
|             panelFeatureState.menu.stopDispatchingItemsChanged();
 | |
|             if (panelFeatureState.frozenActionViewState != null) {
 | |
|                 panelFeatureState.menu.restoreActionViewStates(panelFeatureState.frozenActionViewState);
 | |
|                 panelFeatureState.frozenActionViewState = null;
 | |
|             }
 | |
|             if (!windowCallback.onPreparePanel(0, panelFeatureState.createdPanelView, panelFeatureState.menu)) {
 | |
|                 if (z && (decorContentParent2 = this.mDecorContentParent) != null) {
 | |
|                     decorContentParent2.setMenu(null, this.mActionMenuPresenterCallback);
 | |
|                 }
 | |
|                 panelFeatureState.menu.startDispatchingItemsChanged();
 | |
|                 return false;
 | |
|             }
 | |
|             panelFeatureState.qwertyMode = KeyCharacterMap.load(keyEvent != null ? keyEvent.getDeviceId() : -1).getKeyboardType() != 1;
 | |
|             panelFeatureState.menu.setQwertyMode(panelFeatureState.qwertyMode);
 | |
|             panelFeatureState.menu.startDispatchingItemsChanged();
 | |
|         }
 | |
|         panelFeatureState.isPrepared = true;
 | |
|         panelFeatureState.isHandled = false;
 | |
|         this.mPreparedPanel = panelFeatureState;
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     void checkCloseActionMenu(MenuBuilder menuBuilder) {
 | |
|         if (this.mClosingActionMenu) {
 | |
|             return;
 | |
|         }
 | |
|         this.mClosingActionMenu = true;
 | |
|         this.mDecorContentParent.dismissPopups();
 | |
|         Window.Callback windowCallback = getWindowCallback();
 | |
|         if (windowCallback != null && !this.mDestroyed) {
 | |
|             windowCallback.onPanelClosed(108, menuBuilder);
 | |
|         }
 | |
|         this.mClosingActionMenu = false;
 | |
|     }
 | |
| 
 | |
|     void closePanel(int i) {
 | |
|         closePanel(getPanelState(i, true), true);
 | |
|     }
 | |
| 
 | |
|     void closePanel(PanelFeatureState panelFeatureState, boolean z) {
 | |
|         DecorContentParent decorContentParent;
 | |
|         if (z && panelFeatureState.featureId == 0 && (decorContentParent = this.mDecorContentParent) != null && decorContentParent.isOverflowMenuShowing()) {
 | |
|             checkCloseActionMenu(panelFeatureState.menu);
 | |
|             return;
 | |
|         }
 | |
|         WindowManager windowManager = (WindowManager) this.mContext.getSystemService("window");
 | |
|         if (windowManager != null && panelFeatureState.isOpen && panelFeatureState.decorView != null) {
 | |
|             windowManager.removeView(panelFeatureState.decorView);
 | |
|             if (z) {
 | |
|                 callOnPanelClosed(panelFeatureState.featureId, panelFeatureState, null);
 | |
|             }
 | |
|         }
 | |
|         panelFeatureState.isPrepared = false;
 | |
|         panelFeatureState.isHandled = false;
 | |
|         panelFeatureState.isOpen = false;
 | |
|         panelFeatureState.shownPanelView = null;
 | |
|         panelFeatureState.refreshDecorView = true;
 | |
|         if (this.mPreparedPanel == panelFeatureState) {
 | |
|             this.mPreparedPanel = null;
 | |
|         }
 | |
|         if (panelFeatureState.featureId == 0) {
 | |
|             updateBackInvokedCallbackState();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private boolean onKeyDownPanel(int i, KeyEvent keyEvent) {
 | |
|         if (keyEvent.getRepeatCount() != 0) {
 | |
|             return false;
 | |
|         }
 | |
|         PanelFeatureState panelState = getPanelState(i, true);
 | |
|         if (panelState.isOpen) {
 | |
|             return false;
 | |
|         }
 | |
|         return preparePanel(panelState, keyEvent);
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Code restructure failed: missing block: B:37:0x005a, code lost:
 | |
|     
 | |
|         if (preparePanel(r2, r5) != false) goto L32;
 | |
|      */
 | |
|     /*
 | |
|         Code decompiled incorrectly, please refer to instructions dump.
 | |
|         To view partially-correct add '--show-bad-code' argument
 | |
|     */
 | |
|     private boolean onKeyUpPanel(int r4, android.view.KeyEvent r5) {
 | |
|         /*
 | |
|             r3 = this;
 | |
|             androidx.appcompat.view.ActionMode r0 = r3.mActionMode
 | |
|             r1 = 0
 | |
|             if (r0 == 0) goto L6
 | |
|             return r1
 | |
|         L6:
 | |
|             r0 = 1
 | |
|             androidx.appcompat.app.AppCompatDelegateImpl$PanelFeatureState r2 = r3.getPanelState(r4, r0)
 | |
|             if (r4 != 0) goto L43
 | |
|             androidx.appcompat.widget.DecorContentParent r4 = r3.mDecorContentParent
 | |
|             if (r4 == 0) goto L43
 | |
|             boolean r4 = r4.canShowOverflowMenu()
 | |
|             if (r4 == 0) goto L43
 | |
|             android.content.Context r4 = r3.mContext
 | |
|             android.view.ViewConfiguration r4 = android.view.ViewConfiguration.get(r4)
 | |
|             boolean r4 = r4.hasPermanentMenuKey()
 | |
|             if (r4 != 0) goto L43
 | |
|             androidx.appcompat.widget.DecorContentParent r4 = r3.mDecorContentParent
 | |
|             boolean r4 = r4.isOverflowMenuShowing()
 | |
|             if (r4 != 0) goto L3c
 | |
|             boolean r4 = r3.mDestroyed
 | |
|             if (r4 != 0) goto L60
 | |
|             boolean r4 = r3.preparePanel(r2, r5)
 | |
|             if (r4 == 0) goto L60
 | |
|             androidx.appcompat.widget.DecorContentParent r4 = r3.mDecorContentParent
 | |
|             boolean r0 = r4.showOverflowMenu()
 | |
|             goto L68
 | |
|         L3c:
 | |
|             androidx.appcompat.widget.DecorContentParent r4 = r3.mDecorContentParent
 | |
|             boolean r0 = r4.hideOverflowMenu()
 | |
|             goto L68
 | |
|         L43:
 | |
|             boolean r4 = r2.isOpen
 | |
|             if (r4 != 0) goto L62
 | |
|             boolean r4 = r2.isHandled
 | |
|             if (r4 == 0) goto L4c
 | |
|             goto L62
 | |
|         L4c:
 | |
|             boolean r4 = r2.isPrepared
 | |
|             if (r4 == 0) goto L60
 | |
|             boolean r4 = r2.refreshMenuContent
 | |
|             if (r4 == 0) goto L5c
 | |
|             r2.isPrepared = r1
 | |
|             boolean r4 = r3.preparePanel(r2, r5)
 | |
|             if (r4 == 0) goto L60
 | |
|         L5c:
 | |
|             r3.openPanel(r2, r5)
 | |
|             goto L68
 | |
|         L60:
 | |
|             r0 = 0
 | |
|             goto L68
 | |
|         L62:
 | |
|             boolean r4 = r2.isOpen
 | |
|             r3.closePanel(r2, r0)
 | |
|             r0 = r4
 | |
|         L68:
 | |
|             if (r0 == 0) goto L85
 | |
|             android.content.Context r4 = r3.mContext
 | |
|             android.content.Context r4 = r4.getApplicationContext()
 | |
|             java.lang.String r5 = "audio"
 | |
|             java.lang.Object r4 = r4.getSystemService(r5)
 | |
|             android.media.AudioManager r4 = (android.media.AudioManager) r4
 | |
|             if (r4 == 0) goto L7e
 | |
|             r4.playSoundEffect(r1)
 | |
|             goto L85
 | |
|         L7e:
 | |
|             java.lang.String r4 = "AppCompatDelegate"
 | |
|             java.lang.String r5 = "Couldn't get audio manager"
 | |
|             android.util.Log.w(r4, r5)
 | |
|         L85:
 | |
|             return r0
 | |
|         */
 | |
|         throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.app.AppCompatDelegateImpl.onKeyUpPanel(int, android.view.KeyEvent):boolean");
 | |
|     }
 | |
| 
 | |
|     void callOnPanelClosed(int i, PanelFeatureState panelFeatureState, Menu menu) {
 | |
|         if (menu == null) {
 | |
|             if (panelFeatureState == null && i >= 0) {
 | |
|                 PanelFeatureState[] panelFeatureStateArr = this.mPanels;
 | |
|                 if (i < panelFeatureStateArr.length) {
 | |
|                     panelFeatureState = panelFeatureStateArr[i];
 | |
|                 }
 | |
|             }
 | |
|             if (panelFeatureState != null) {
 | |
|                 menu = panelFeatureState.menu;
 | |
|             }
 | |
|         }
 | |
|         if ((panelFeatureState == null || panelFeatureState.isOpen) && !this.mDestroyed) {
 | |
|             this.mAppCompatWindowCallback.bypassOnPanelClosed(this.mWindow.getCallback(), i, menu);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     PanelFeatureState findMenuPanel(Menu menu) {
 | |
|         PanelFeatureState[] panelFeatureStateArr = this.mPanels;
 | |
|         int length = panelFeatureStateArr != null ? panelFeatureStateArr.length : 0;
 | |
|         for (int i = 0; i < length; i++) {
 | |
|             PanelFeatureState panelFeatureState = panelFeatureStateArr[i];
 | |
|             if (panelFeatureState != null && panelFeatureState.menu == menu) {
 | |
|                 return panelFeatureState;
 | |
|             }
 | |
|         }
 | |
|         return null;
 | |
|     }
 | |
| 
 | |
|     protected PanelFeatureState getPanelState(int i, boolean z) {
 | |
|         PanelFeatureState[] panelFeatureStateArr = this.mPanels;
 | |
|         if (panelFeatureStateArr == null || panelFeatureStateArr.length <= i) {
 | |
|             PanelFeatureState[] panelFeatureStateArr2 = new PanelFeatureState[i + 1];
 | |
|             if (panelFeatureStateArr != null) {
 | |
|                 System.arraycopy(panelFeatureStateArr, 0, panelFeatureStateArr2, 0, panelFeatureStateArr.length);
 | |
|             }
 | |
|             this.mPanels = panelFeatureStateArr2;
 | |
|             panelFeatureStateArr = panelFeatureStateArr2;
 | |
|         }
 | |
|         PanelFeatureState panelFeatureState = panelFeatureStateArr[i];
 | |
|         if (panelFeatureState != null) {
 | |
|             return panelFeatureState;
 | |
|         }
 | |
|         PanelFeatureState panelFeatureState2 = new PanelFeatureState(i);
 | |
|         panelFeatureStateArr[i] = panelFeatureState2;
 | |
|         return panelFeatureState2;
 | |
|     }
 | |
| 
 | |
|     private boolean performPanelShortcut(PanelFeatureState panelFeatureState, int i, KeyEvent keyEvent, int i2) {
 | |
|         boolean z = false;
 | |
|         if (keyEvent.isSystem()) {
 | |
|             return false;
 | |
|         }
 | |
|         if ((panelFeatureState.isPrepared || preparePanel(panelFeatureState, keyEvent)) && panelFeatureState.menu != null) {
 | |
|             z = panelFeatureState.menu.performShortcut(i, keyEvent, i2);
 | |
|         }
 | |
|         if (z && (i2 & 1) == 0 && this.mDecorContentParent == null) {
 | |
|             closePanel(panelFeatureState, true);
 | |
|         }
 | |
|         return z;
 | |
|     }
 | |
| 
 | |
|     private void invalidatePanelMenu(int i) {
 | |
|         this.mInvalidatePanelMenuFeatures = (1 << i) | this.mInvalidatePanelMenuFeatures;
 | |
|         if (this.mInvalidatePanelMenuPosted) {
 | |
|             return;
 | |
|         }
 | |
|         ViewCompat.postOnAnimation(this.mWindow.getDecorView(), this.mInvalidatePanelMenuRunnable);
 | |
|         this.mInvalidatePanelMenuPosted = true;
 | |
|     }
 | |
| 
 | |
|     void doInvalidatePanelMenu(int i) {
 | |
|         PanelFeatureState panelState;
 | |
|         PanelFeatureState panelState2 = getPanelState(i, true);
 | |
|         if (panelState2.menu != null) {
 | |
|             Bundle bundle = new Bundle();
 | |
|             panelState2.menu.saveActionViewStates(bundle);
 | |
|             if (bundle.size() > 0) {
 | |
|                 panelState2.frozenActionViewState = bundle;
 | |
|             }
 | |
|             panelState2.menu.stopDispatchingItemsChanged();
 | |
|             panelState2.menu.clear();
 | |
|         }
 | |
|         panelState2.refreshMenuContent = true;
 | |
|         panelState2.refreshDecorView = true;
 | |
|         if ((i != 108 && i != 0) || this.mDecorContentParent == null || (panelState = getPanelState(0, false)) == null) {
 | |
|             return;
 | |
|         }
 | |
|         panelState.isPrepared = false;
 | |
|         preparePanel(panelState, null);
 | |
|     }
 | |
| 
 | |
|     final int updateStatusGuard(WindowInsetsCompat windowInsetsCompat, Rect rect) {
 | |
|         int i;
 | |
|         boolean z;
 | |
|         boolean z2;
 | |
|         if (windowInsetsCompat != null) {
 | |
|             i = windowInsetsCompat.getSystemWindowInsetTop();
 | |
|         } else {
 | |
|             i = rect != null ? rect.top : 0;
 | |
|         }
 | |
|         ActionBarContextView actionBarContextView = this.mActionModeView;
 | |
|         if (actionBarContextView == null || !(actionBarContextView.getLayoutParams() instanceof ViewGroup.MarginLayoutParams)) {
 | |
|             z = false;
 | |
|         } else {
 | |
|             ViewGroup.MarginLayoutParams marginLayoutParams = (ViewGroup.MarginLayoutParams) this.mActionModeView.getLayoutParams();
 | |
|             if (this.mActionModeView.isShown()) {
 | |
|                 if (this.mTempRect1 == null) {
 | |
|                     this.mTempRect1 = new Rect();
 | |
|                     this.mTempRect2 = new Rect();
 | |
|                 }
 | |
|                 Rect rect2 = this.mTempRect1;
 | |
|                 Rect rect3 = this.mTempRect2;
 | |
|                 if (windowInsetsCompat == null) {
 | |
|                     rect2.set(rect);
 | |
|                 } else {
 | |
|                     rect2.set(windowInsetsCompat.getSystemWindowInsetLeft(), windowInsetsCompat.getSystemWindowInsetTop(), windowInsetsCompat.getSystemWindowInsetRight(), windowInsetsCompat.getSystemWindowInsetBottom());
 | |
|                 }
 | |
|                 ViewUtils.computeFitSystemWindows(this.mSubDecor, rect2, rect3);
 | |
|                 int i2 = rect2.top;
 | |
|                 int i3 = rect2.left;
 | |
|                 int i4 = rect2.right;
 | |
|                 WindowInsetsCompat rootWindowInsets = ViewCompat.getRootWindowInsets(this.mSubDecor);
 | |
|                 int systemWindowInsetLeft = rootWindowInsets == null ? 0 : rootWindowInsets.getSystemWindowInsetLeft();
 | |
|                 int systemWindowInsetRight = rootWindowInsets == null ? 0 : rootWindowInsets.getSystemWindowInsetRight();
 | |
|                 if (marginLayoutParams.topMargin == i2 && marginLayoutParams.leftMargin == i3 && marginLayoutParams.rightMargin == i4) {
 | |
|                     z2 = false;
 | |
|                 } else {
 | |
|                     marginLayoutParams.topMargin = i2;
 | |
|                     marginLayoutParams.leftMargin = i3;
 | |
|                     marginLayoutParams.rightMargin = i4;
 | |
|                     z2 = true;
 | |
|                 }
 | |
|                 if (i2 <= 0 || this.mStatusGuard != null) {
 | |
|                     View view = this.mStatusGuard;
 | |
|                     if (view != null) {
 | |
|                         ViewGroup.MarginLayoutParams marginLayoutParams2 = (ViewGroup.MarginLayoutParams) view.getLayoutParams();
 | |
|                         if (marginLayoutParams2.height != marginLayoutParams.topMargin || marginLayoutParams2.leftMargin != systemWindowInsetLeft || marginLayoutParams2.rightMargin != systemWindowInsetRight) {
 | |
|                             marginLayoutParams2.height = marginLayoutParams.topMargin;
 | |
|                             marginLayoutParams2.leftMargin = systemWindowInsetLeft;
 | |
|                             marginLayoutParams2.rightMargin = systemWindowInsetRight;
 | |
|                             this.mStatusGuard.setLayoutParams(marginLayoutParams2);
 | |
|                         }
 | |
|                     }
 | |
|                 } else {
 | |
|                     View view2 = new View(this.mContext);
 | |
|                     this.mStatusGuard = view2;
 | |
|                     view2.setVisibility(8);
 | |
|                     FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(-1, marginLayoutParams.topMargin, 51);
 | |
|                     layoutParams.leftMargin = systemWindowInsetLeft;
 | |
|                     layoutParams.rightMargin = systemWindowInsetRight;
 | |
|                     this.mSubDecor.addView(this.mStatusGuard, -1, layoutParams);
 | |
|                 }
 | |
|                 View view3 = this.mStatusGuard;
 | |
|                 r5 = view3 != null;
 | |
|                 if (r5 && view3.getVisibility() != 0) {
 | |
|                     updateStatusGuardColor(this.mStatusGuard);
 | |
|                 }
 | |
|                 if (!this.mOverlayActionMode && r5) {
 | |
|                     i = 0;
 | |
|                 }
 | |
|                 z = r5;
 | |
|                 r5 = z2;
 | |
|             } else if (marginLayoutParams.topMargin != 0) {
 | |
|                 marginLayoutParams.topMargin = 0;
 | |
|                 z = false;
 | |
|             } else {
 | |
|                 z = false;
 | |
|                 r5 = false;
 | |
|             }
 | |
|             if (r5) {
 | |
|                 this.mActionModeView.setLayoutParams(marginLayoutParams);
 | |
|             }
 | |
|         }
 | |
|         View view4 = this.mStatusGuard;
 | |
|         if (view4 != null) {
 | |
|             view4.setVisibility(z ? 0 : 8);
 | |
|         }
 | |
|         return i;
 | |
|     }
 | |
| 
 | |
|     private void updateStatusGuardColor(View view) {
 | |
|         int color;
 | |
|         if ((ViewCompat.getWindowSystemUiVisibility(view) & 8192) != 0) {
 | |
|             color = ContextCompat.getColor(this.mContext, androidx.appcompat.R.color.abc_decor_view_status_guard_light);
 | |
|         } else {
 | |
|             color = ContextCompat.getColor(this.mContext, androidx.appcompat.R.color.abc_decor_view_status_guard);
 | |
|         }
 | |
|         view.setBackgroundColor(color);
 | |
|     }
 | |
| 
 | |
|     private void throwFeatureRequestIfSubDecorInstalled() {
 | |
|         if (this.mSubDecorInstalled) {
 | |
|             throw new AndroidRuntimeException("Window feature must be requested before adding content");
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private int sanitizeWindowFeatureId(int i) {
 | |
|         if (i == 8) {
 | |
|             Log.i("AppCompatDelegate", "You should now use the AppCompatDelegate.FEATURE_SUPPORT_ACTION_BAR id when requesting this feature.");
 | |
|             return 108;
 | |
|         }
 | |
|         if (i != 9) {
 | |
|             return i;
 | |
|         }
 | |
|         Log.i("AppCompatDelegate", "You should now use the AppCompatDelegate.FEATURE_SUPPORT_ACTION_BAR_OVERLAY id when requesting this feature.");
 | |
|         return 109;
 | |
|     }
 | |
| 
 | |
|     void dismissPopups() {
 | |
|         DecorContentParent decorContentParent = this.mDecorContentParent;
 | |
|         if (decorContentParent != null) {
 | |
|             decorContentParent.dismissPopups();
 | |
|         }
 | |
|         if (this.mActionModePopup != null) {
 | |
|             this.mWindow.getDecorView().removeCallbacks(this.mShowActionModePopup);
 | |
|             if (this.mActionModePopup.isShowing()) {
 | |
|                 try {
 | |
|                     this.mActionModePopup.dismiss();
 | |
|                 } catch (IllegalArgumentException unused) {
 | |
|                 }
 | |
|             }
 | |
|             this.mActionModePopup = null;
 | |
|         }
 | |
|         endOnGoingFadeAnimation();
 | |
|         PanelFeatureState panelState = getPanelState(0, false);
 | |
|         if (panelState == null || panelState.menu == null) {
 | |
|             return;
 | |
|         }
 | |
|         panelState.menu.close();
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public boolean applyDayNight() {
 | |
|         return applyApplicationSpecificConfig(true);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     boolean applyAppLocales() {
 | |
|         if (isAutoStorageOptedIn(this.mContext) && getRequestedAppLocales() != null && !getRequestedAppLocales().equals(getStoredAppLocales())) {
 | |
|             asyncExecuteSyncRequestedAndStoredLocales(this.mContext);
 | |
|         }
 | |
|         return applyApplicationSpecificConfig(true);
 | |
|     }
 | |
| 
 | |
|     private boolean applyApplicationSpecificConfig(boolean z) {
 | |
|         return applyApplicationSpecificConfig(z, true);
 | |
|     }
 | |
| 
 | |
|     private boolean applyApplicationSpecificConfig(boolean z, boolean z2) {
 | |
|         if (this.mDestroyed) {
 | |
|             return false;
 | |
|         }
 | |
|         int calculateNightMode = calculateNightMode();
 | |
|         int mapNightMode = mapNightMode(this.mContext, calculateNightMode);
 | |
|         LocaleListCompat calculateApplicationLocales = Build.VERSION.SDK_INT < 33 ? calculateApplicationLocales(this.mContext) : null;
 | |
|         if (!z2 && calculateApplicationLocales != null) {
 | |
|             calculateApplicationLocales = getConfigurationLocales(this.mContext.getResources().getConfiguration());
 | |
|         }
 | |
|         boolean updateAppConfiguration = updateAppConfiguration(mapNightMode, calculateApplicationLocales, z);
 | |
|         if (calculateNightMode == 0) {
 | |
|             getAutoTimeNightModeManager(this.mContext).setup();
 | |
|         } else {
 | |
|             AutoNightModeManager autoNightModeManager = this.mAutoTimeNightModeManager;
 | |
|             if (autoNightModeManager != null) {
 | |
|                 autoNightModeManager.cleanup();
 | |
|             }
 | |
|         }
 | |
|         if (calculateNightMode == 3) {
 | |
|             getAutoBatteryNightModeManager(this.mContext).setup();
 | |
|         } else {
 | |
|             AutoNightModeManager autoNightModeManager2 = this.mAutoBatteryNightModeManager;
 | |
|             if (autoNightModeManager2 != null) {
 | |
|                 autoNightModeManager2.cleanup();
 | |
|             }
 | |
|         }
 | |
|         return updateAppConfiguration;
 | |
|     }
 | |
| 
 | |
|     LocaleListCompat calculateApplicationLocales(Context context) {
 | |
|         LocaleListCompat requestedAppLocales;
 | |
|         LocaleListCompat forLanguageTags;
 | |
|         if (Build.VERSION.SDK_INT >= 33 || (requestedAppLocales = getRequestedAppLocales()) == null) {
 | |
|             return null;
 | |
|         }
 | |
|         LocaleListCompat configurationLocales = getConfigurationLocales(context.getApplicationContext().getResources().getConfiguration());
 | |
|         if (Build.VERSION.SDK_INT >= 24) {
 | |
|             forLanguageTags = LocaleOverlayHelper.combineLocalesIfOverlayExists(requestedAppLocales, configurationLocales);
 | |
|         } else if (requestedAppLocales.isEmpty()) {
 | |
|             forLanguageTags = LocaleListCompat.getEmptyLocaleList();
 | |
|         } else {
 | |
|             forLanguageTags = LocaleListCompat.forLanguageTags(requestedAppLocales.get(0).toString());
 | |
|         }
 | |
|         return forLanguageTags.isEmpty() ? configurationLocales : forLanguageTags;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public void setLocalNightMode(int i) {
 | |
|         if (this.mLocalNightMode != i) {
 | |
|             this.mLocalNightMode = i;
 | |
|             if (this.mBaseContextAttached) {
 | |
|                 applyDayNight();
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     int mapNightMode(Context context, int i) {
 | |
|         if (i == -100) {
 | |
|             return -1;
 | |
|         }
 | |
|         if (i != -1) {
 | |
|             if (i == 0) {
 | |
|                 if (Build.VERSION.SDK_INT < 23 || ((UiModeManager) context.getApplicationContext().getSystemService("uimode")).getNightMode() != 0) {
 | |
|                     return getAutoTimeNightModeManager(context).getApplyableNightMode();
 | |
|                 }
 | |
|                 return -1;
 | |
|             }
 | |
|             if (i != 1 && i != 2) {
 | |
|                 if (i == 3) {
 | |
|                     return getAutoBatteryNightModeManager(context).getApplyableNightMode();
 | |
|                 }
 | |
|                 throw new IllegalStateException("Unknown value set for night mode. Please use one of the MODE_NIGHT values from AppCompatDelegate.");
 | |
|             }
 | |
|         }
 | |
|         return i;
 | |
|     }
 | |
| 
 | |
|     private int calculateNightMode() {
 | |
|         int i = this.mLocalNightMode;
 | |
|         return i != -100 ? i : getDefaultNightMode();
 | |
|     }
 | |
| 
 | |
|     void setConfigurationLocales(Configuration configuration, LocaleListCompat localeListCompat) {
 | |
|         if (Build.VERSION.SDK_INT >= 24) {
 | |
|             Api24Impl.setLocales(configuration, localeListCompat);
 | |
|         } else {
 | |
|             Api17Impl.setLocale(configuration, localeListCompat.get(0));
 | |
|             Api17Impl.setLayoutDirection(configuration, localeListCompat.get(0));
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     LocaleListCompat getConfigurationLocales(Configuration configuration) {
 | |
|         if (Build.VERSION.SDK_INT >= 24) {
 | |
|             return Api24Impl.getLocales(configuration);
 | |
|         }
 | |
|         return LocaleListCompat.forLanguageTags(Api21Impl.toLanguageTag(configuration.locale));
 | |
|     }
 | |
| 
 | |
|     void setDefaultLocalesForLocaleList(LocaleListCompat localeListCompat) {
 | |
|         if (Build.VERSION.SDK_INT >= 24) {
 | |
|             Api24Impl.setDefaultLocales(localeListCompat);
 | |
|         } else {
 | |
|             Locale.setDefault(localeListCompat.get(0));
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private Configuration createOverrideAppConfiguration(Context context, int i, LocaleListCompat localeListCompat, Configuration configuration, boolean z) {
 | |
|         int i2;
 | |
|         if (i == 1) {
 | |
|             i2 = 16;
 | |
|         } else if (i != 2) {
 | |
|             i2 = z ? 0 : context.getApplicationContext().getResources().getConfiguration().uiMode & 48;
 | |
|         } else {
 | |
|             i2 = 32;
 | |
|         }
 | |
|         Configuration configuration2 = new Configuration();
 | |
|         configuration2.fontScale = 0.0f;
 | |
|         if (configuration != null) {
 | |
|             configuration2.setTo(configuration);
 | |
|         }
 | |
|         configuration2.uiMode = i2 | (configuration2.uiMode & (-49));
 | |
|         if (localeListCompat != null) {
 | |
|             setConfigurationLocales(configuration2, localeListCompat);
 | |
|         }
 | |
|         return configuration2;
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Removed duplicated region for block: B:35:0x0080  */
 | |
|     /*
 | |
|         Code decompiled incorrectly, please refer to instructions dump.
 | |
|         To view partially-correct add '--show-bad-code' argument
 | |
|     */
 | |
|     private boolean updateAppConfiguration(int r9, androidx.core.os.LocaleListCompat r10, boolean r11) {
 | |
|         /*
 | |
|             r8 = this;
 | |
|             android.content.Context r1 = r8.mContext
 | |
|             r4 = 0
 | |
|             r5 = 0
 | |
|             r0 = r8
 | |
|             r2 = r9
 | |
|             r3 = r10
 | |
|             android.content.res.Configuration r0 = r0.createOverrideAppConfiguration(r1, r2, r3, r4, r5)
 | |
|             android.content.Context r1 = r8.mContext
 | |
|             int r1 = r8.getActivityHandlesConfigChangesFlags(r1)
 | |
|             android.content.res.Configuration r2 = r8.mEffectiveConfiguration
 | |
|             if (r2 != 0) goto L1f
 | |
|             android.content.Context r2 = r8.mContext
 | |
|             android.content.res.Resources r2 = r2.getResources()
 | |
|             android.content.res.Configuration r2 = r2.getConfiguration()
 | |
|         L1f:
 | |
|             int r3 = r2.uiMode
 | |
|             r3 = r3 & 48
 | |
|             int r4 = r0.uiMode
 | |
|             r4 = r4 & 48
 | |
|             androidx.core.os.LocaleListCompat r2 = r8.getConfigurationLocales(r2)
 | |
|             r5 = 0
 | |
|             if (r10 != 0) goto L30
 | |
|             r0 = r5
 | |
|             goto L34
 | |
|         L30:
 | |
|             androidx.core.os.LocaleListCompat r0 = r8.getConfigurationLocales(r0)
 | |
|         L34:
 | |
|             r6 = 0
 | |
|             if (r3 == r4) goto L3a
 | |
|             r3 = 512(0x200, float:7.17E-43)
 | |
|             goto L3b
 | |
|         L3a:
 | |
|             r3 = 0
 | |
|         L3b:
 | |
|             if (r0 == 0) goto L45
 | |
|             boolean r2 = r2.equals(r0)
 | |
|             if (r2 != 0) goto L45
 | |
|             r3 = r3 | 8196(0x2004, float:1.1485E-41)
 | |
|         L45:
 | |
|             int r2 = ~r1
 | |
|             r2 = r2 & r3
 | |
|             r7 = 1
 | |
|             if (r2 == 0) goto L6f
 | |
|             if (r11 == 0) goto L6f
 | |
|             boolean r11 = r8.mBaseContextAttached
 | |
|             if (r11 == 0) goto L6f
 | |
|             boolean r11 = androidx.appcompat.app.AppCompatDelegateImpl.sCanReturnDifferentContext
 | |
|             if (r11 != 0) goto L58
 | |
|             boolean r11 = r8.mCreated
 | |
|             if (r11 == 0) goto L6f
 | |
|         L58:
 | |
|             java.lang.Object r11 = r8.mHost
 | |
|             boolean r2 = r11 instanceof android.app.Activity
 | |
|             if (r2 == 0) goto L6f
 | |
|             android.app.Activity r11 = (android.app.Activity) r11
 | |
|             boolean r11 = r11.isChild()
 | |
|             if (r11 != 0) goto L6f
 | |
|             java.lang.Object r11 = r8.mHost
 | |
|             android.app.Activity r11 = (android.app.Activity) r11
 | |
|             androidx.core.app.ActivityCompat.recreate(r11)
 | |
|             r11 = 1
 | |
|             goto L70
 | |
|         L6f:
 | |
|             r11 = 0
 | |
|         L70:
 | |
|             if (r11 != 0) goto L7d
 | |
|             if (r3 == 0) goto L7d
 | |
|             r11 = r3 & r1
 | |
|             if (r11 != r3) goto L79
 | |
|             r6 = 1
 | |
|         L79:
 | |
|             r8.updateResourcesConfiguration(r4, r0, r6, r5)
 | |
|             goto L7e
 | |
|         L7d:
 | |
|             r7 = r11
 | |
|         L7e:
 | |
|             if (r7 == 0) goto L9a
 | |
|             java.lang.Object r11 = r8.mHost
 | |
|             boolean r1 = r11 instanceof androidx.appcompat.app.AppCompatActivity
 | |
|             if (r1 == 0) goto L9a
 | |
|             r1 = r3 & 512(0x200, float:7.17E-43)
 | |
|             if (r1 == 0) goto L8f
 | |
|             androidx.appcompat.app.AppCompatActivity r11 = (androidx.appcompat.app.AppCompatActivity) r11
 | |
|             r11.onNightModeChanged(r9)
 | |
|         L8f:
 | |
|             r9 = r3 & 4
 | |
|             if (r9 == 0) goto L9a
 | |
|             java.lang.Object r9 = r8.mHost
 | |
|             androidx.appcompat.app.AppCompatActivity r9 = (androidx.appcompat.app.AppCompatActivity) r9
 | |
|             r9.onLocalesChanged(r10)
 | |
|         L9a:
 | |
|             if (r7 == 0) goto Laf
 | |
|             if (r0 == 0) goto Laf
 | |
|             android.content.Context r9 = r8.mContext
 | |
|             android.content.res.Resources r9 = r9.getResources()
 | |
|             android.content.res.Configuration r9 = r9.getConfiguration()
 | |
|             androidx.core.os.LocaleListCompat r9 = r8.getConfigurationLocales(r9)
 | |
|             r8.setDefaultLocalesForLocaleList(r9)
 | |
|         Laf:
 | |
|             return r7
 | |
|         */
 | |
|         throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.app.AppCompatDelegateImpl.updateAppConfiguration(int, androidx.core.os.LocaleListCompat, boolean):boolean");
 | |
|     }
 | |
| 
 | |
|     private void updateResourcesConfiguration(int i, LocaleListCompat localeListCompat, boolean z, Configuration configuration) {
 | |
|         Resources resources = this.mContext.getResources();
 | |
|         Configuration configuration2 = new Configuration(resources.getConfiguration());
 | |
|         if (configuration != null) {
 | |
|             configuration2.updateFrom(configuration);
 | |
|         }
 | |
|         configuration2.uiMode = i | (resources.getConfiguration().uiMode & (-49));
 | |
|         if (localeListCompat != null) {
 | |
|             setConfigurationLocales(configuration2, localeListCompat);
 | |
|         }
 | |
|         resources.updateConfiguration(configuration2, null);
 | |
|         if (Build.VERSION.SDK_INT < 26) {
 | |
|             ResourcesFlusher.flush(resources);
 | |
|         }
 | |
|         int i2 = this.mThemeResId;
 | |
|         if (i2 != 0) {
 | |
|             this.mContext.setTheme(i2);
 | |
|             if (Build.VERSION.SDK_INT >= 23) {
 | |
|                 this.mContext.getTheme().applyStyle(this.mThemeResId, true);
 | |
|             }
 | |
|         }
 | |
|         if (z && (this.mHost instanceof Activity)) {
 | |
|             updateActivityConfiguration(configuration2);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Multi-variable type inference failed */
 | |
|     private void updateActivityConfiguration(Configuration configuration) {
 | |
|         Activity activity = (Activity) this.mHost;
 | |
|         if (activity instanceof LifecycleOwner) {
 | |
|             if (((LifecycleOwner) activity).getLifecycle().getState().isAtLeast(Lifecycle.State.CREATED)) {
 | |
|                 activity.onConfigurationChanged(configuration);
 | |
|             }
 | |
|         } else {
 | |
|             if (!this.mCreated || this.mDestroyed) {
 | |
|                 return;
 | |
|             }
 | |
|             activity.onConfigurationChanged(configuration);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     final AutoNightModeManager getAutoTimeNightModeManager() {
 | |
|         return getAutoTimeNightModeManager(this.mContext);
 | |
|     }
 | |
| 
 | |
|     private AutoNightModeManager getAutoTimeNightModeManager(Context context) {
 | |
|         if (this.mAutoTimeNightModeManager == null) {
 | |
|             this.mAutoTimeNightModeManager = new AutoTimeNightModeManager(TwilightManager.getInstance(context));
 | |
|         }
 | |
|         return this.mAutoTimeNightModeManager;
 | |
|     }
 | |
| 
 | |
|     private AutoNightModeManager getAutoBatteryNightModeManager(Context context) {
 | |
|         if (this.mAutoBatteryNightModeManager == null) {
 | |
|             this.mAutoBatteryNightModeManager = new AutoBatteryNightModeManager(context);
 | |
|         }
 | |
|         return this.mAutoBatteryNightModeManager;
 | |
|     }
 | |
| 
 | |
|     private int getActivityHandlesConfigChangesFlags(Context context) {
 | |
|         if (!this.mActivityHandlesConfigFlagsChecked && (this.mHost instanceof Activity)) {
 | |
|             PackageManager packageManager = context.getPackageManager();
 | |
|             if (packageManager == null) {
 | |
|                 return 0;
 | |
|             }
 | |
|             try {
 | |
|                 ActivityInfo activityInfo = packageManager.getActivityInfo(new ComponentName(context, this.mHost.getClass()), Build.VERSION.SDK_INT >= 29 ? 269221888 : Build.VERSION.SDK_INT >= 24 ? 786432 : 0);
 | |
|                 if (activityInfo != null) {
 | |
|                     this.mActivityHandlesConfigFlags = activityInfo.configChanges;
 | |
|                 }
 | |
|             } catch (PackageManager.NameNotFoundException e) {
 | |
|                 Log.d("AppCompatDelegate", "Exception while getting ActivityInfo", e);
 | |
|                 this.mActivityHandlesConfigFlags = 0;
 | |
|             }
 | |
|         }
 | |
|         this.mActivityHandlesConfigFlagsChecked = true;
 | |
|         return this.mActivityHandlesConfigFlags;
 | |
|     }
 | |
| 
 | |
|     class ActionModeCallbackWrapperV9 implements ActionMode.Callback {
 | |
|         private ActionMode.Callback mWrapped;
 | |
| 
 | |
|         public ActionModeCallbackWrapperV9(ActionMode.Callback callback) {
 | |
|             this.mWrapped = callback;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.ActionMode.Callback
 | |
|         public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
 | |
|             return this.mWrapped.onCreateActionMode(actionMode, menu);
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.ActionMode.Callback
 | |
|         public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
 | |
|             ViewCompat.requestApplyInsets(AppCompatDelegateImpl.this.mSubDecor);
 | |
|             return this.mWrapped.onPrepareActionMode(actionMode, menu);
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.ActionMode.Callback
 | |
|         public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
 | |
|             return this.mWrapped.onActionItemClicked(actionMode, menuItem);
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.ActionMode.Callback
 | |
|         public void onDestroyActionMode(ActionMode actionMode) {
 | |
|             this.mWrapped.onDestroyActionMode(actionMode);
 | |
|             if (AppCompatDelegateImpl.this.mActionModePopup != null) {
 | |
|                 AppCompatDelegateImpl.this.mWindow.getDecorView().removeCallbacks(AppCompatDelegateImpl.this.mShowActionModePopup);
 | |
|             }
 | |
|             if (AppCompatDelegateImpl.this.mActionModeView != null) {
 | |
|                 AppCompatDelegateImpl.this.endOnGoingFadeAnimation();
 | |
|                 AppCompatDelegateImpl appCompatDelegateImpl = AppCompatDelegateImpl.this;
 | |
|                 appCompatDelegateImpl.mFadeAnim = ViewCompat.animate(appCompatDelegateImpl.mActionModeView).alpha(0.0f);
 | |
|                 AppCompatDelegateImpl.this.mFadeAnim.setListener(new ViewPropertyAnimatorListenerAdapter() { // from class: androidx.appcompat.app.AppCompatDelegateImpl.ActionModeCallbackWrapperV9.1
 | |
|                     @Override // androidx.core.view.ViewPropertyAnimatorListenerAdapter, androidx.core.view.ViewPropertyAnimatorListener
 | |
|                     public void onAnimationEnd(View view) {
 | |
|                         AppCompatDelegateImpl.this.mActionModeView.setVisibility(8);
 | |
|                         if (AppCompatDelegateImpl.this.mActionModePopup != null) {
 | |
|                             AppCompatDelegateImpl.this.mActionModePopup.dismiss();
 | |
|                         } else if (AppCompatDelegateImpl.this.mActionModeView.getParent() instanceof View) {
 | |
|                             ViewCompat.requestApplyInsets((View) AppCompatDelegateImpl.this.mActionModeView.getParent());
 | |
|                         }
 | |
|                         AppCompatDelegateImpl.this.mActionModeView.killMode();
 | |
|                         AppCompatDelegateImpl.this.mFadeAnim.setListener(null);
 | |
|                         AppCompatDelegateImpl.this.mFadeAnim = null;
 | |
|                         ViewCompat.requestApplyInsets(AppCompatDelegateImpl.this.mSubDecor);
 | |
|                     }
 | |
|                 });
 | |
|             }
 | |
|             if (AppCompatDelegateImpl.this.mAppCompatCallback != null) {
 | |
|                 AppCompatDelegateImpl.this.mAppCompatCallback.onSupportActionModeFinished(AppCompatDelegateImpl.this.mActionMode);
 | |
|             }
 | |
|             AppCompatDelegateImpl.this.mActionMode = null;
 | |
|             ViewCompat.requestApplyInsets(AppCompatDelegateImpl.this.mSubDecor);
 | |
|             AppCompatDelegateImpl.this.updateBackInvokedCallbackState();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private final class PanelMenuPresenterCallback implements MenuPresenter.Callback {
 | |
|         PanelMenuPresenterCallback() {
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.menu.MenuPresenter.Callback
 | |
|         public void onCloseMenu(MenuBuilder menuBuilder, boolean z) {
 | |
|             MenuBuilder rootMenu = menuBuilder.getRootMenu();
 | |
|             boolean z2 = rootMenu != menuBuilder;
 | |
|             AppCompatDelegateImpl appCompatDelegateImpl = AppCompatDelegateImpl.this;
 | |
|             if (z2) {
 | |
|                 menuBuilder = rootMenu;
 | |
|             }
 | |
|             PanelFeatureState findMenuPanel = appCompatDelegateImpl.findMenuPanel(menuBuilder);
 | |
|             if (findMenuPanel != null) {
 | |
|                 if (z2) {
 | |
|                     AppCompatDelegateImpl.this.callOnPanelClosed(findMenuPanel.featureId, findMenuPanel, rootMenu);
 | |
|                     AppCompatDelegateImpl.this.closePanel(findMenuPanel, true);
 | |
|                 } else {
 | |
|                     AppCompatDelegateImpl.this.closePanel(findMenuPanel, z);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.menu.MenuPresenter.Callback
 | |
|         public boolean onOpenSubMenu(MenuBuilder menuBuilder) {
 | |
|             Window.Callback windowCallback;
 | |
|             if (menuBuilder != menuBuilder.getRootMenu() || !AppCompatDelegateImpl.this.mHasActionBar || (windowCallback = AppCompatDelegateImpl.this.getWindowCallback()) == null || AppCompatDelegateImpl.this.mDestroyed) {
 | |
|                 return true;
 | |
|             }
 | |
|             windowCallback.onMenuOpened(108, menuBuilder);
 | |
|             return true;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private final class ActionMenuPresenterCallback implements MenuPresenter.Callback {
 | |
|         ActionMenuPresenterCallback() {
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.menu.MenuPresenter.Callback
 | |
|         public boolean onOpenSubMenu(MenuBuilder menuBuilder) {
 | |
|             Window.Callback windowCallback = AppCompatDelegateImpl.this.getWindowCallback();
 | |
|             if (windowCallback == null) {
 | |
|                 return true;
 | |
|             }
 | |
|             windowCallback.onMenuOpened(108, menuBuilder);
 | |
|             return true;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.menu.MenuPresenter.Callback
 | |
|         public void onCloseMenu(MenuBuilder menuBuilder, boolean z) {
 | |
|             AppCompatDelegateImpl.this.checkCloseActionMenu(menuBuilder);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     protected static final class PanelFeatureState {
 | |
|         int background;
 | |
|         View createdPanelView;
 | |
|         ViewGroup decorView;
 | |
|         int featureId;
 | |
|         Bundle frozenActionViewState;
 | |
|         Bundle frozenMenuState;
 | |
|         int gravity;
 | |
|         boolean isHandled;
 | |
|         boolean isOpen;
 | |
|         boolean isPrepared;
 | |
|         ListMenuPresenter listMenuPresenter;
 | |
|         Context listPresenterContext;
 | |
|         MenuBuilder menu;
 | |
|         public boolean qwertyMode;
 | |
|         boolean refreshDecorView = false;
 | |
|         boolean refreshMenuContent;
 | |
|         View shownPanelView;
 | |
|         boolean wasLastOpen;
 | |
|         int windowAnimations;
 | |
|         int x;
 | |
|         int y;
 | |
| 
 | |
|         PanelFeatureState(int i) {
 | |
|             this.featureId = i;
 | |
|         }
 | |
| 
 | |
|         public boolean hasPanelItems() {
 | |
|             if (this.shownPanelView == null) {
 | |
|                 return false;
 | |
|             }
 | |
|             return this.createdPanelView != null || this.listMenuPresenter.getAdapter().getCount() > 0;
 | |
|         }
 | |
| 
 | |
|         public void clearMenuPresenters() {
 | |
|             MenuBuilder menuBuilder = this.menu;
 | |
|             if (menuBuilder != null) {
 | |
|                 menuBuilder.removeMenuPresenter(this.listMenuPresenter);
 | |
|             }
 | |
|             this.listMenuPresenter = null;
 | |
|         }
 | |
| 
 | |
|         void setStyle(Context context) {
 | |
|             TypedValue typedValue = new TypedValue();
 | |
|             Resources.Theme newTheme = context.getResources().newTheme();
 | |
|             newTheme.setTo(context.getTheme());
 | |
|             newTheme.resolveAttribute(androidx.appcompat.R.attr.actionBarPopupTheme, typedValue, true);
 | |
|             if (typedValue.resourceId != 0) {
 | |
|                 newTheme.applyStyle(typedValue.resourceId, true);
 | |
|             }
 | |
|             newTheme.resolveAttribute(androidx.appcompat.R.attr.panelMenuListTheme, typedValue, true);
 | |
|             if (typedValue.resourceId != 0) {
 | |
|                 newTheme.applyStyle(typedValue.resourceId, true);
 | |
|             } else {
 | |
|                 newTheme.applyStyle(androidx.appcompat.R.style.Theme_AppCompat_CompactMenu, true);
 | |
|             }
 | |
|             androidx.appcompat.view.ContextThemeWrapper contextThemeWrapper = new androidx.appcompat.view.ContextThemeWrapper(context, 0);
 | |
|             contextThemeWrapper.getTheme().setTo(newTheme);
 | |
|             this.listPresenterContext = contextThemeWrapper;
 | |
|             TypedArray obtainStyledAttributes = contextThemeWrapper.obtainStyledAttributes(androidx.appcompat.R.styleable.AppCompatTheme);
 | |
|             this.background = obtainStyledAttributes.getResourceId(androidx.appcompat.R.styleable.AppCompatTheme_panelBackground, 0);
 | |
|             this.windowAnimations = obtainStyledAttributes.getResourceId(androidx.appcompat.R.styleable.AppCompatTheme_android_windowAnimationStyle, 0);
 | |
|             obtainStyledAttributes.recycle();
 | |
|         }
 | |
| 
 | |
|         void setMenu(MenuBuilder menuBuilder) {
 | |
|             ListMenuPresenter listMenuPresenter;
 | |
|             MenuBuilder menuBuilder2 = this.menu;
 | |
|             if (menuBuilder == menuBuilder2) {
 | |
|                 return;
 | |
|             }
 | |
|             if (menuBuilder2 != null) {
 | |
|                 menuBuilder2.removeMenuPresenter(this.listMenuPresenter);
 | |
|             }
 | |
|             this.menu = menuBuilder;
 | |
|             if (menuBuilder == null || (listMenuPresenter = this.listMenuPresenter) == null) {
 | |
|                 return;
 | |
|             }
 | |
|             menuBuilder.addMenuPresenter(listMenuPresenter);
 | |
|         }
 | |
| 
 | |
|         MenuView getListMenuView(MenuPresenter.Callback callback) {
 | |
|             if (this.menu == null) {
 | |
|                 return null;
 | |
|             }
 | |
|             if (this.listMenuPresenter == null) {
 | |
|                 ListMenuPresenter listMenuPresenter = new ListMenuPresenter(this.listPresenterContext, androidx.appcompat.R.layout.abc_list_menu_item_layout);
 | |
|                 this.listMenuPresenter = listMenuPresenter;
 | |
|                 listMenuPresenter.setCallback(callback);
 | |
|                 this.menu.addMenuPresenter(this.listMenuPresenter);
 | |
|             }
 | |
|             return this.listMenuPresenter.getMenuView(this.decorView);
 | |
|         }
 | |
| 
 | |
|         Parcelable onSaveInstanceState() {
 | |
|             SavedState savedState = new SavedState();
 | |
|             savedState.featureId = this.featureId;
 | |
|             savedState.isOpen = this.isOpen;
 | |
|             if (this.menu != null) {
 | |
|                 savedState.menuState = new Bundle();
 | |
|                 this.menu.savePresenterStates(savedState.menuState);
 | |
|             }
 | |
|             return savedState;
 | |
|         }
 | |
| 
 | |
|         void onRestoreInstanceState(Parcelable parcelable) {
 | |
|             SavedState savedState = (SavedState) parcelable;
 | |
|             this.featureId = savedState.featureId;
 | |
|             this.wasLastOpen = savedState.isOpen;
 | |
|             this.frozenMenuState = savedState.menuState;
 | |
|             this.shownPanelView = null;
 | |
|             this.decorView = null;
 | |
|         }
 | |
| 
 | |
|         void applyFrozenState() {
 | |
|             Bundle bundle;
 | |
|             MenuBuilder menuBuilder = this.menu;
 | |
|             if (menuBuilder == null || (bundle = this.frozenMenuState) == null) {
 | |
|                 return;
 | |
|             }
 | |
|             menuBuilder.restorePresenterStates(bundle);
 | |
|             this.frozenMenuState = null;
 | |
|         }
 | |
| 
 | |
|         private static class SavedState implements Parcelable {
 | |
|             public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.ClassLoaderCreator<SavedState>() { // from class: androidx.appcompat.app.AppCompatDelegateImpl.PanelFeatureState.SavedState.1
 | |
|                 /* JADX WARN: Can't rename method to resolve collision */
 | |
|                 @Override // android.os.Parcelable.ClassLoaderCreator
 | |
|                 public SavedState createFromParcel(Parcel parcel, ClassLoader classLoader) {
 | |
|                     return SavedState.readFromParcel(parcel, classLoader);
 | |
|                 }
 | |
| 
 | |
|                 @Override // android.os.Parcelable.Creator
 | |
|                 public SavedState createFromParcel(Parcel parcel) {
 | |
|                     return SavedState.readFromParcel(parcel, null);
 | |
|                 }
 | |
| 
 | |
|                 @Override // android.os.Parcelable.Creator
 | |
|                 public SavedState[] newArray(int i) {
 | |
|                     return new SavedState[i];
 | |
|                 }
 | |
|             };
 | |
|             int featureId;
 | |
|             boolean isOpen;
 | |
|             Bundle menuState;
 | |
| 
 | |
|             @Override // android.os.Parcelable
 | |
|             public int describeContents() {
 | |
|                 return 0;
 | |
|             }
 | |
| 
 | |
|             SavedState() {
 | |
|             }
 | |
| 
 | |
|             @Override // android.os.Parcelable
 | |
|             public void writeToParcel(Parcel parcel, int i) {
 | |
|                 parcel.writeInt(this.featureId);
 | |
|                 parcel.writeInt(this.isOpen ? 1 : 0);
 | |
|                 if (this.isOpen) {
 | |
|                     parcel.writeBundle(this.menuState);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             static SavedState readFromParcel(Parcel parcel, ClassLoader classLoader) {
 | |
|                 SavedState savedState = new SavedState();
 | |
|                 savedState.featureId = parcel.readInt();
 | |
|                 boolean z = parcel.readInt() == 1;
 | |
|                 savedState.isOpen = z;
 | |
|                 if (z) {
 | |
|                     savedState.menuState = parcel.readBundle(classLoader);
 | |
|                 }
 | |
|                 return savedState;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private class ListMenuDecorView extends ContentFrameLayout {
 | |
|         public ListMenuDecorView(Context context) {
 | |
|             super(context);
 | |
|         }
 | |
| 
 | |
|         @Override // android.view.ViewGroup, android.view.View
 | |
|         public boolean dispatchKeyEvent(KeyEvent keyEvent) {
 | |
|             return AppCompatDelegateImpl.this.dispatchKeyEvent(keyEvent) || super.dispatchKeyEvent(keyEvent);
 | |
|         }
 | |
| 
 | |
|         @Override // android.view.ViewGroup
 | |
|         public boolean onInterceptTouchEvent(MotionEvent motionEvent) {
 | |
|             if (motionEvent.getAction() == 0 && isOutOfBounds((int) motionEvent.getX(), (int) motionEvent.getY())) {
 | |
|                 AppCompatDelegateImpl.this.closePanel(0);
 | |
|                 return true;
 | |
|             }
 | |
|             return super.onInterceptTouchEvent(motionEvent);
 | |
|         }
 | |
| 
 | |
|         @Override // android.view.View
 | |
|         public void setBackgroundResource(int i) {
 | |
|             setBackgroundDrawable(AppCompatResources.getDrawable(getContext(), i));
 | |
|         }
 | |
| 
 | |
|         private boolean isOutOfBounds(int i, int i2) {
 | |
|             return i < -5 || i2 < -5 || i > getWidth() + 5 || i2 > getHeight() + 5;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     class AppCompatWindowCallback extends WindowCallbackWrapper {
 | |
|         private ActionBarMenuCallback mActionBarCallback;
 | |
|         private boolean mDispatchKeyEventBypassEnabled;
 | |
|         private boolean mOnContentChangedBypassEnabled;
 | |
|         private boolean mOnPanelClosedBypassEnabled;
 | |
| 
 | |
|         void setActionBarCallback(ActionBarMenuCallback actionBarMenuCallback) {
 | |
|             this.mActionBarCallback = actionBarMenuCallback;
 | |
|         }
 | |
| 
 | |
|         AppCompatWindowCallback(Window.Callback callback) {
 | |
|             super(callback);
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public boolean dispatchKeyEvent(KeyEvent keyEvent) {
 | |
|             if (this.mDispatchKeyEventBypassEnabled) {
 | |
|                 return getWrapped().dispatchKeyEvent(keyEvent);
 | |
|             }
 | |
|             return AppCompatDelegateImpl.this.dispatchKeyEvent(keyEvent) || super.dispatchKeyEvent(keyEvent);
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public boolean dispatchKeyShortcutEvent(KeyEvent keyEvent) {
 | |
|             return super.dispatchKeyShortcutEvent(keyEvent) || AppCompatDelegateImpl.this.onKeyShortcut(keyEvent.getKeyCode(), keyEvent);
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public boolean onCreatePanelMenu(int i, Menu menu) {
 | |
|             if (i != 0 || (menu instanceof MenuBuilder)) {
 | |
|                 return super.onCreatePanelMenu(i, menu);
 | |
|             }
 | |
|             return false;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public View onCreatePanelView(int i) {
 | |
|             View onCreatePanelView;
 | |
|             ActionBarMenuCallback actionBarMenuCallback = this.mActionBarCallback;
 | |
|             return (actionBarMenuCallback == null || (onCreatePanelView = actionBarMenuCallback.onCreatePanelView(i)) == null) ? super.onCreatePanelView(i) : onCreatePanelView;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public void onContentChanged() {
 | |
|             if (this.mOnContentChangedBypassEnabled) {
 | |
|                 getWrapped().onContentChanged();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public boolean onPreparePanel(int i, View view, Menu menu) {
 | |
|             MenuBuilder menuBuilder = menu instanceof MenuBuilder ? (MenuBuilder) menu : null;
 | |
|             if (i == 0 && menuBuilder == null) {
 | |
|                 return false;
 | |
|             }
 | |
|             if (menuBuilder != null) {
 | |
|                 menuBuilder.setOverrideVisibleItems(true);
 | |
|             }
 | |
|             ActionBarMenuCallback actionBarMenuCallback = this.mActionBarCallback;
 | |
|             boolean z = actionBarMenuCallback != null && actionBarMenuCallback.onPreparePanel(i);
 | |
|             if (!z) {
 | |
|                 z = super.onPreparePanel(i, view, menu);
 | |
|             }
 | |
|             if (menuBuilder != null) {
 | |
|                 menuBuilder.setOverrideVisibleItems(false);
 | |
|             }
 | |
|             return z;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public boolean onMenuOpened(int i, Menu menu) {
 | |
|             super.onMenuOpened(i, menu);
 | |
|             AppCompatDelegateImpl.this.onMenuOpened(i);
 | |
|             return true;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public void onPanelClosed(int i, Menu menu) {
 | |
|             if (this.mOnPanelClosedBypassEnabled) {
 | |
|                 getWrapped().onPanelClosed(i, menu);
 | |
|             } else {
 | |
|                 super.onPanelClosed(i, menu);
 | |
|                 AppCompatDelegateImpl.this.onPanelClosed(i);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public android.view.ActionMode onWindowStartingActionMode(ActionMode.Callback callback) {
 | |
|             if (Build.VERSION.SDK_INT >= 23) {
 | |
|                 return null;
 | |
|             }
 | |
|             if (AppCompatDelegateImpl.this.isHandleNativeActionModesEnabled()) {
 | |
|                 return startAsSupportActionMode(callback);
 | |
|             }
 | |
|             return super.onWindowStartingActionMode(callback);
 | |
|         }
 | |
| 
 | |
|         final android.view.ActionMode startAsSupportActionMode(ActionMode.Callback callback) {
 | |
|             SupportActionModeWrapper.CallbackWrapper callbackWrapper = new SupportActionModeWrapper.CallbackWrapper(AppCompatDelegateImpl.this.mContext, callback);
 | |
|             androidx.appcompat.view.ActionMode startSupportActionMode = AppCompatDelegateImpl.this.startSupportActionMode(callbackWrapper);
 | |
|             if (startSupportActionMode != null) {
 | |
|                 return callbackWrapper.getActionModeWrapper(startSupportActionMode);
 | |
|             }
 | |
|             return null;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public android.view.ActionMode onWindowStartingActionMode(ActionMode.Callback callback, int i) {
 | |
|             if (AppCompatDelegateImpl.this.isHandleNativeActionModesEnabled() && i == 0) {
 | |
|                 return startAsSupportActionMode(callback);
 | |
|             }
 | |
|             return super.onWindowStartingActionMode(callback, i);
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.view.WindowCallbackWrapper, android.view.Window.Callback
 | |
|         public void onProvideKeyboardShortcuts(List<KeyboardShortcutGroup> list, Menu menu, int i) {
 | |
|             PanelFeatureState panelState = AppCompatDelegateImpl.this.getPanelState(0, true);
 | |
|             if (panelState != null && panelState.menu != null) {
 | |
|                 super.onProvideKeyboardShortcuts(list, panelState.menu, i);
 | |
|             } else {
 | |
|                 super.onProvideKeyboardShortcuts(list, menu, i);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public void bypassOnContentChanged(Window.Callback callback) {
 | |
|             try {
 | |
|                 this.mOnContentChangedBypassEnabled = true;
 | |
|                 callback.onContentChanged();
 | |
|             } finally {
 | |
|                 this.mOnContentChangedBypassEnabled = false;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public boolean bypassDispatchKeyEvent(Window.Callback callback, KeyEvent keyEvent) {
 | |
|             try {
 | |
|                 this.mDispatchKeyEventBypassEnabled = true;
 | |
|                 return callback.dispatchKeyEvent(keyEvent);
 | |
|             } finally {
 | |
|                 this.mDispatchKeyEventBypassEnabled = false;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public void bypassOnPanelClosed(Window.Callback callback, int i, Menu menu) {
 | |
|             try {
 | |
|                 this.mOnPanelClosedBypassEnabled = true;
 | |
|                 callback.onPanelClosed(i, menu);
 | |
|             } finally {
 | |
|                 this.mOnPanelClosedBypassEnabled = false;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     abstract class AutoNightModeManager {
 | |
|         private BroadcastReceiver mReceiver;
 | |
| 
 | |
|         abstract IntentFilter createIntentFilterForBroadcastReceiver();
 | |
| 
 | |
|         abstract int getApplyableNightMode();
 | |
| 
 | |
|         boolean isListening() {
 | |
|             return this.mReceiver != null;
 | |
|         }
 | |
| 
 | |
|         abstract void onChange();
 | |
| 
 | |
|         AutoNightModeManager() {
 | |
|         }
 | |
| 
 | |
|         void setup() {
 | |
|             cleanup();
 | |
|             IntentFilter createIntentFilterForBroadcastReceiver = createIntentFilterForBroadcastReceiver();
 | |
|             if (createIntentFilterForBroadcastReceiver == null || createIntentFilterForBroadcastReceiver.countActions() == 0) {
 | |
|                 return;
 | |
|             }
 | |
|             if (this.mReceiver == null) {
 | |
|                 this.mReceiver = new BroadcastReceiver() { // from class: androidx.appcompat.app.AppCompatDelegateImpl.AutoNightModeManager.1
 | |
|                     @Override // android.content.BroadcastReceiver
 | |
|                     public void onReceive(Context context, Intent intent) {
 | |
|                         AutoNightModeManager.this.onChange();
 | |
|                     }
 | |
|                 };
 | |
|             }
 | |
|             AppCompatDelegateImpl.this.mContext.registerReceiver(this.mReceiver, createIntentFilterForBroadcastReceiver);
 | |
|         }
 | |
| 
 | |
|         void cleanup() {
 | |
|             if (this.mReceiver != null) {
 | |
|                 try {
 | |
|                     AppCompatDelegateImpl.this.mContext.unregisterReceiver(this.mReceiver);
 | |
|                 } catch (IllegalArgumentException unused) {
 | |
|                 }
 | |
|                 this.mReceiver = null;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private class AutoTimeNightModeManager extends AutoNightModeManager {
 | |
|         private final TwilightManager mTwilightManager;
 | |
| 
 | |
|         AutoTimeNightModeManager(TwilightManager twilightManager) {
 | |
|             super();
 | |
|             this.mTwilightManager = twilightManager;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.AppCompatDelegateImpl.AutoNightModeManager
 | |
|         public int getApplyableNightMode() {
 | |
|             return this.mTwilightManager.isNight() ? 2 : 1;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.AppCompatDelegateImpl.AutoNightModeManager
 | |
|         public void onChange() {
 | |
|             AppCompatDelegateImpl.this.applyDayNight();
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.AppCompatDelegateImpl.AutoNightModeManager
 | |
|         IntentFilter createIntentFilterForBroadcastReceiver() {
 | |
|             IntentFilter intentFilter = new IntentFilter();
 | |
|             intentFilter.addAction("android.intent.action.TIME_SET");
 | |
|             intentFilter.addAction("android.intent.action.TIMEZONE_CHANGED");
 | |
|             intentFilter.addAction("android.intent.action.TIME_TICK");
 | |
|             return intentFilter;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private class AutoBatteryNightModeManager extends AutoNightModeManager {
 | |
|         private final PowerManager mPowerManager;
 | |
| 
 | |
|         AutoBatteryNightModeManager(Context context) {
 | |
|             super();
 | |
|             this.mPowerManager = (PowerManager) context.getApplicationContext().getSystemService("power");
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.AppCompatDelegateImpl.AutoNightModeManager
 | |
|         public int getApplyableNightMode() {
 | |
|             return Api21Impl.isPowerSaveMode(this.mPowerManager) ? 2 : 1;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.AppCompatDelegateImpl.AutoNightModeManager
 | |
|         public void onChange() {
 | |
|             AppCompatDelegateImpl.this.applyDayNight();
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.AppCompatDelegateImpl.AutoNightModeManager
 | |
|         IntentFilter createIntentFilterForBroadcastReceiver() {
 | |
|             IntentFilter intentFilter = new IntentFilter();
 | |
|             intentFilter.addAction("android.os.action.POWER_SAVE_MODE_CHANGED");
 | |
|             return intentFilter;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.appcompat.app.AppCompatDelegate
 | |
|     public final ActionBarDrawerToggle.Delegate getDrawerToggleDelegate() {
 | |
|         return new ActionBarDrawableToggleImpl();
 | |
|     }
 | |
| 
 | |
|     private class ActionBarDrawableToggleImpl implements ActionBarDrawerToggle.Delegate {
 | |
|         ActionBarDrawableToggleImpl() {
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.ActionBarDrawerToggle.Delegate
 | |
|         public Drawable getThemeUpIndicator() {
 | |
|             TintTypedArray obtainStyledAttributes = TintTypedArray.obtainStyledAttributes(getActionBarThemedContext(), (AttributeSet) null, new int[]{androidx.appcompat.R.attr.homeAsUpIndicator});
 | |
|             Drawable drawable = obtainStyledAttributes.getDrawable(0);
 | |
|             obtainStyledAttributes.recycle();
 | |
|             return drawable;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.ActionBarDrawerToggle.Delegate
 | |
|         public Context getActionBarThemedContext() {
 | |
|             return AppCompatDelegateImpl.this.getActionBarThemedContext();
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.ActionBarDrawerToggle.Delegate
 | |
|         public boolean isNavigationVisible() {
 | |
|             ActionBar supportActionBar = AppCompatDelegateImpl.this.getSupportActionBar();
 | |
|             return (supportActionBar == null || (supportActionBar.getDisplayOptions() & 4) == 0) ? false : true;
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.ActionBarDrawerToggle.Delegate
 | |
|         public void setActionBarUpIndicator(Drawable drawable, int i) {
 | |
|             ActionBar supportActionBar = AppCompatDelegateImpl.this.getSupportActionBar();
 | |
|             if (supportActionBar != null) {
 | |
|                 supportActionBar.setHomeAsUpIndicator(drawable);
 | |
|                 supportActionBar.setHomeActionContentDescription(i);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         @Override // androidx.appcompat.app.ActionBarDrawerToggle.Delegate
 | |
|         public void setActionBarDescription(int i) {
 | |
|             ActionBar supportActionBar = AppCompatDelegateImpl.this.getSupportActionBar();
 | |
|             if (supportActionBar != null) {
 | |
|                 supportActionBar.setHomeActionContentDescription(i);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private static Configuration generateConfigDelta(Configuration configuration, Configuration configuration2) {
 | |
|         Configuration configuration3 = new Configuration();
 | |
|         configuration3.fontScale = 0.0f;
 | |
|         if (configuration2 != null && configuration.diff(configuration2) != 0) {
 | |
|             if (configuration.fontScale != configuration2.fontScale) {
 | |
|                 configuration3.fontScale = configuration2.fontScale;
 | |
|             }
 | |
|             if (configuration.mcc != configuration2.mcc) {
 | |
|                 configuration3.mcc = configuration2.mcc;
 | |
|             }
 | |
|             if (configuration.mnc != configuration2.mnc) {
 | |
|                 configuration3.mnc = configuration2.mnc;
 | |
|             }
 | |
|             if (Build.VERSION.SDK_INT >= 24) {
 | |
|                 Api24Impl.generateConfigDelta_locale(configuration, configuration2, configuration3);
 | |
|             } else if (!ObjectsCompat.equals(configuration.locale, configuration2.locale)) {
 | |
|                 configuration3.locale = configuration2.locale;
 | |
|             }
 | |
|             if (configuration.touchscreen != configuration2.touchscreen) {
 | |
|                 configuration3.touchscreen = configuration2.touchscreen;
 | |
|             }
 | |
|             if (configuration.keyboard != configuration2.keyboard) {
 | |
|                 configuration3.keyboard = configuration2.keyboard;
 | |
|             }
 | |
|             if (configuration.keyboardHidden != configuration2.keyboardHidden) {
 | |
|                 configuration3.keyboardHidden = configuration2.keyboardHidden;
 | |
|             }
 | |
|             if (configuration.navigation != configuration2.navigation) {
 | |
|                 configuration3.navigation = configuration2.navigation;
 | |
|             }
 | |
|             if (configuration.navigationHidden != configuration2.navigationHidden) {
 | |
|                 configuration3.navigationHidden = configuration2.navigationHidden;
 | |
|             }
 | |
|             if (configuration.orientation != configuration2.orientation) {
 | |
|                 configuration3.orientation = configuration2.orientation;
 | |
|             }
 | |
|             if ((configuration.screenLayout & 15) != (configuration2.screenLayout & 15)) {
 | |
|                 configuration3.screenLayout |= configuration2.screenLayout & 15;
 | |
|             }
 | |
|             if ((configuration.screenLayout & 192) != (configuration2.screenLayout & 192)) {
 | |
|                 configuration3.screenLayout |= configuration2.screenLayout & 192;
 | |
|             }
 | |
|             if ((configuration.screenLayout & 48) != (configuration2.screenLayout & 48)) {
 | |
|                 configuration3.screenLayout |= configuration2.screenLayout & 48;
 | |
|             }
 | |
|             if ((configuration.screenLayout & com.google.android.material.internal.ViewUtils.EDGE_TO_EDGE_FLAGS) != (configuration2.screenLayout & com.google.android.material.internal.ViewUtils.EDGE_TO_EDGE_FLAGS)) {
 | |
|                 configuration3.screenLayout |= configuration2.screenLayout & com.google.android.material.internal.ViewUtils.EDGE_TO_EDGE_FLAGS;
 | |
|             }
 | |
|             if (Build.VERSION.SDK_INT >= 26) {
 | |
|                 Api26Impl.generateConfigDelta_colorMode(configuration, configuration2, configuration3);
 | |
|             }
 | |
|             if ((configuration.uiMode & 15) != (configuration2.uiMode & 15)) {
 | |
|                 configuration3.uiMode |= configuration2.uiMode & 15;
 | |
|             }
 | |
|             if ((configuration.uiMode & 48) != (configuration2.uiMode & 48)) {
 | |
|                 configuration3.uiMode |= configuration2.uiMode & 48;
 | |
|             }
 | |
|             if (configuration.screenWidthDp != configuration2.screenWidthDp) {
 | |
|                 configuration3.screenWidthDp = configuration2.screenWidthDp;
 | |
|             }
 | |
|             if (configuration.screenHeightDp != configuration2.screenHeightDp) {
 | |
|                 configuration3.screenHeightDp = configuration2.screenHeightDp;
 | |
|             }
 | |
|             if (configuration.smallestScreenWidthDp != configuration2.smallestScreenWidthDp) {
 | |
|                 configuration3.smallestScreenWidthDp = configuration2.smallestScreenWidthDp;
 | |
|             }
 | |
|             Api17Impl.generateConfigDelta_densityDpi(configuration, configuration2, configuration3);
 | |
|         }
 | |
|         return configuration3;
 | |
|     }
 | |
| 
 | |
|     static class Api17Impl {
 | |
|         private Api17Impl() {
 | |
|         }
 | |
| 
 | |
|         static void generateConfigDelta_densityDpi(Configuration configuration, Configuration configuration2, Configuration configuration3) {
 | |
|             if (configuration.densityDpi != configuration2.densityDpi) {
 | |
|                 configuration3.densityDpi = configuration2.densityDpi;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         static Context createConfigurationContext(Context context, Configuration configuration) {
 | |
|             return context.createConfigurationContext(configuration);
 | |
|         }
 | |
| 
 | |
|         static void setLayoutDirection(Configuration configuration, Locale locale) {
 | |
|             configuration.setLayoutDirection(locale);
 | |
|         }
 | |
| 
 | |
|         static void setLocale(Configuration configuration, Locale locale) {
 | |
|             configuration.setLocale(locale);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     static class Api21Impl {
 | |
|         private Api21Impl() {
 | |
|         }
 | |
| 
 | |
|         static boolean isPowerSaveMode(PowerManager powerManager) {
 | |
|             return powerManager.isPowerSaveMode();
 | |
|         }
 | |
| 
 | |
|         static String toLanguageTag(Locale locale) {
 | |
|             return locale.toLanguageTag();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     static class Api24Impl {
 | |
|         private Api24Impl() {
 | |
|         }
 | |
| 
 | |
|         static void generateConfigDelta_locale(Configuration configuration, Configuration configuration2, Configuration configuration3) {
 | |
|             LocaleList locales;
 | |
|             LocaleList locales2;
 | |
|             boolean equals;
 | |
|             locales = configuration.getLocales();
 | |
|             locales2 = configuration2.getLocales();
 | |
|             equals = locales.equals(locales2);
 | |
|             if (equals) {
 | |
|                 return;
 | |
|             }
 | |
|             configuration3.setLocales(locales2);
 | |
|             configuration3.locale = configuration2.locale;
 | |
|         }
 | |
| 
 | |
|         static LocaleListCompat getLocales(Configuration configuration) {
 | |
|             LocaleList locales;
 | |
|             String languageTags;
 | |
|             locales = configuration.getLocales();
 | |
|             languageTags = locales.toLanguageTags();
 | |
|             return LocaleListCompat.forLanguageTags(languageTags);
 | |
|         }
 | |
| 
 | |
|         static void setLocales(Configuration configuration, LocaleListCompat localeListCompat) {
 | |
|             LocaleList forLanguageTags;
 | |
|             forLanguageTags = LocaleList.forLanguageTags(localeListCompat.toLanguageTags());
 | |
|             configuration.setLocales(forLanguageTags);
 | |
|         }
 | |
| 
 | |
|         public static void setDefaultLocales(LocaleListCompat localeListCompat) {
 | |
|             LocaleList forLanguageTags;
 | |
|             forLanguageTags = LocaleList.forLanguageTags(localeListCompat.toLanguageTags());
 | |
|             LocaleList.setDefault(forLanguageTags);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     static class Api26Impl {
 | |
|         private Api26Impl() {
 | |
|         }
 | |
| 
 | |
|         static void generateConfigDelta_colorMode(Configuration configuration, Configuration configuration2, Configuration configuration3) {
 | |
|             int i;
 | |
|             int i2;
 | |
|             int i3;
 | |
|             int i4;
 | |
|             int i5;
 | |
|             int i6;
 | |
|             int i7;
 | |
|             int i8;
 | |
|             i = configuration.colorMode;
 | |
|             int i9 = i & 3;
 | |
|             i2 = configuration2.colorMode;
 | |
|             if (i9 != (i2 & 3)) {
 | |
|                 i7 = configuration3.colorMode;
 | |
|                 i8 = configuration2.colorMode;
 | |
|                 configuration3.colorMode = i7 | (i8 & 3);
 | |
|             }
 | |
|             i3 = configuration.colorMode;
 | |
|             int i10 = i3 & 12;
 | |
|             i4 = configuration2.colorMode;
 | |
|             if (i10 != (i4 & 12)) {
 | |
|                 i5 = configuration3.colorMode;
 | |
|                 i6 = configuration2.colorMode;
 | |
|                 configuration3.colorMode = i5 | (i6 & 12);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     static class Api33Impl {
 | |
|         private Api33Impl() {
 | |
|         }
 | |
| 
 | |
|         static OnBackInvokedCallback registerOnBackPressedCallback(Object obj, final AppCompatDelegateImpl appCompatDelegateImpl) {
 | |
|             Objects.requireNonNull(appCompatDelegateImpl);
 | |
|             OnBackInvokedCallback onBackInvokedCallback = new OnBackInvokedCallback() { // from class: androidx.appcompat.app.AppCompatDelegateImpl$Api33Impl$$ExternalSyntheticLambda5
 | |
|                 @Override // android.window.OnBackInvokedCallback
 | |
|                 public final void onBackInvoked() {
 | |
|                     AppCompatDelegateImpl.this.onBackPressed();
 | |
|                 }
 | |
|             };
 | |
|             ComponentDialog$$ExternalSyntheticApiModelOutline0.m18m(obj).registerOnBackInvokedCallback(DurationKt.NANOS_IN_MILLIS, onBackInvokedCallback);
 | |
|             return onBackInvokedCallback;
 | |
|         }
 | |
| 
 | |
|         static void unregisterOnBackInvokedCallback(Object obj, Object obj2) {
 | |
|             ComponentDialog$$ExternalSyntheticApiModelOutline0.m18m(obj).unregisterOnBackInvokedCallback(ComponentDialog$$ExternalSyntheticApiModelOutline0.m17m(obj2));
 | |
|         }
 | |
| 
 | |
|         static OnBackInvokedDispatcher getOnBackInvokedDispatcher(Activity activity) {
 | |
|             OnBackInvokedDispatcher onBackInvokedDispatcher;
 | |
|             onBackInvokedDispatcher = activity.getOnBackInvokedDispatcher();
 | |
|             return onBackInvokedDispatcher;
 | |
|         }
 | |
|     }
 | |
| }
 |