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

* commit '19dd44c2227c754906bfb257fc510ce155edef2a':
  Relax strict ActionMode instance checking when finishing action modes
This commit is contained in:
Adam Powell
2015-07-15 03:10:14 +00:00
committed by Android Git Automerger

View File

@@ -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;
}