diff options
author | Theresa Wellington <twellington@google.com> | 2016-02-09 13:52:06 -0800 |
---|---|---|
committer | Theresa Wellington <twellington@google.com> | 2016-02-09 21:54:53 +0000 |
commit | e2b6b45019c0bfc680a797f29913aaf8ca037c4b (patch) | |
tree | 7517018da326c62cb0d86b7d34d80f48fde9af1c /base | |
parent | 3d40035c85583ee38860377c5984be9dd26cd8d3 (diff) | |
download | chromium_src-e2b6b45019c0bfc680a797f29913aaf8ca037c4b.zip chromium_src-e2b6b45019c0bfc680a797f29913aaf8ca037c4b.tar.gz chromium_src-e2b6b45019c0bfc680a797f29913aaf8ca037c4b.tar.bz2 |
Fix Window callback asserts in BaseChromiumApplication
Add a ProGuard config rule to prevent obfuscation of Android's ToolbarActionBar
class, which is needed for the asserts in BaseChromiumApplication. Also expand
the assert to include the non-internal version of the class, which is needed
for builds that use the --use_unpublished_apis flag.
BUG=581927
TBR=yfriedman@chromium.org
Review URL: https://codereview.chromium.org/1679153002
Cr-Commit-Position: refs/heads/master@{#374412}
Review URL: https://codereview.chromium.org/1678103006 .
Cr-Commit-Position: refs/branch-heads/2623@{#340}
Cr-Branched-From: 92d77538a86529ca35f9220bd3cd512cbea1f086-refs/heads/master@{#369907}
Diffstat (limited to 'base')
-rw-r--r-- | base/android/java/src/org/chromium/base/BaseChromiumApplication.java | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/base/android/java/src/org/chromium/base/BaseChromiumApplication.java b/base/android/java/src/org/chromium/base/BaseChromiumApplication.java index ea957ef..87651c5 100644 --- a/base/android/java/src/org/chromium/base/BaseChromiumApplication.java +++ b/base/android/java/src/org/chromium/base/BaseChromiumApplication.java @@ -18,8 +18,12 @@ import org.chromium.base.multidex.ChromiumMultiDexInstaller; public class BaseChromiumApplication extends Application { private static final String TAG = "cr.base"; - private static final String TOOLBAR_CALLBACK_WRAPPER_CLASS = + private static final String TOOLBAR_CALLBACK_INTERNAL_WRAPPER_CLASS = "android.support.v7.internal.app.ToolbarActionBar$ToolbarCallbackWrapper"; + // In builds using the --use_unpublished_apis flag, the ToolbarActionBar class name does not + // include the "internal" package. + private static final String TOOLBAR_CALLBACK_WRAPPER_CLASS = + "android.support.v7.app.ToolbarActionBar$ToolbarCallbackWrapper"; private final boolean mShouldInitializeApplicationStatusTracking; public BaseChromiumApplication() { @@ -108,42 +112,54 @@ public class BaseChromiumApplication extends Application { public void onActivityDestroyed(Activity activity) { assert (activity.getWindow().getCallback() instanceof WindowCallbackWrapper || activity.getWindow().getCallback().getClass().getName().equals( - TOOLBAR_CALLBACK_WRAPPER_CLASS)); + TOOLBAR_CALLBACK_WRAPPER_CLASS) + || activity.getWindow().getCallback().getClass().getName().equals( + TOOLBAR_CALLBACK_INTERNAL_WRAPPER_CLASS)); } @Override public void onActivityPaused(Activity activity) { assert (activity.getWindow().getCallback() instanceof WindowCallbackWrapper || activity.getWindow().getCallback().getClass().getName().equals( - TOOLBAR_CALLBACK_WRAPPER_CLASS)); + TOOLBAR_CALLBACK_WRAPPER_CLASS) + || activity.getWindow().getCallback().getClass().getName().equals( + TOOLBAR_CALLBACK_INTERNAL_WRAPPER_CLASS)); } @Override public void onActivityResumed(Activity activity) { assert (activity.getWindow().getCallback() instanceof WindowCallbackWrapper || activity.getWindow().getCallback().getClass().getName().equals( - TOOLBAR_CALLBACK_WRAPPER_CLASS)); + TOOLBAR_CALLBACK_WRAPPER_CLASS) + || activity.getWindow().getCallback().getClass().getName().equals( + TOOLBAR_CALLBACK_INTERNAL_WRAPPER_CLASS)); } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { assert (activity.getWindow().getCallback() instanceof WindowCallbackWrapper || activity.getWindow().getCallback().getClass().getName().equals( - TOOLBAR_CALLBACK_WRAPPER_CLASS)); + TOOLBAR_CALLBACK_WRAPPER_CLASS) + || activity.getWindow().getCallback().getClass().getName().equals( + TOOLBAR_CALLBACK_INTERNAL_WRAPPER_CLASS)); } @Override public void onActivityStarted(Activity activity) { assert (activity.getWindow().getCallback() instanceof WindowCallbackWrapper || activity.getWindow().getCallback().getClass().getName().equals( - TOOLBAR_CALLBACK_WRAPPER_CLASS)); + TOOLBAR_CALLBACK_WRAPPER_CLASS) + || activity.getWindow().getCallback().getClass().getName().equals( + TOOLBAR_CALLBACK_INTERNAL_WRAPPER_CLASS)); } @Override public void onActivityStopped(Activity activity) { assert (activity.getWindow().getCallback() instanceof WindowCallbackWrapper || activity.getWindow().getCallback().getClass().getName().equals( - TOOLBAR_CALLBACK_WRAPPER_CLASS)); + TOOLBAR_CALLBACK_WRAPPER_CLASS) + || activity.getWindow().getCallback().getClass().getName().equals( + TOOLBAR_CALLBACK_INTERNAL_WRAPPER_CLASS)); } }); } |