Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19dd44c2 authored by Adam Powell's avatar Adam Powell Committed by Android Git Automerger
Browse files

am 5e078458: am 18709f9a: Merge "Relax strict ActionMode instance checking...

am 5e078458: am 18709f9a: Merge "Relax strict ActionMode instance checking when finishing action modes" into mnc-dev

* commit '5e078458':
  Relax strict ActionMode instance checking when finishing action modes
parents 90f13b19 5e078458
Loading
Loading
Loading
Loading
+24 −2
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.animation.Animator;
import android.animation.ObjectAnimator;
import android.app.ActivityManagerNative;
import android.app.SearchManager;
import android.os.Build;
import android.os.UserHandle;

import android.view.ActionMode;
@@ -3531,7 +3532,28 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {

            public void onDestroyActionMode(ActionMode mode) {
                mWrapped.onDestroyActionMode(mode);
                if (mode == mPrimaryActionMode) {
                final boolean isMncApp = mContext.getApplicationInfo().targetSdkVersion
                        >= Build.VERSION_CODES.MNC;
                final boolean isPrimary;
                final boolean isFloating;
                if (isMncApp) {
                    isPrimary = mode == mPrimaryActionMode;
                    isFloating = mode == mFloatingActionMode;
                    if (!isPrimary && mode.getType() == ActionMode.TYPE_PRIMARY) {
                        Log.e(TAG, "Destroying unexpected ActionMode instance of TYPE_PRIMARY; "
                                + mode + " was not the current primary action mode! Expected "
                                + mPrimaryActionMode);
                    }
                    if (!isFloating && mode.getType() == ActionMode.TYPE_FLOATING) {
                        Log.e(TAG, "Destroying unexpected ActionMode instance of TYPE_FLOATING; "
                                + mode + " was not the current floating action mode! Expected "
                                + mFloatingActionMode);
                    }
                } else {
                    isPrimary = mode.getType() == ActionMode.TYPE_PRIMARY;
                    isFloating = mode.getType() == ActionMode.TYPE_FLOATING;
                }
                if (isPrimary) {
                    if (mPrimaryActionModePopup != null) {
                        removeCallbacks(mShowPrimaryActionModePopup);
                    }
@@ -3569,7 +3591,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
                    }

                    mPrimaryActionMode = null;
                } else if (mode == mFloatingActionMode) {
                } else if (isFloating) {
                    cleanupFloatingActionModeViews();
                    mFloatingActionMode = null;
                }