summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorTheresa Wellington <twellington@google.com>2016-02-09 13:52:06 -0800
committerTheresa Wellington <twellington@google.com>2016-02-09 21:54:53 +0000
commite2b6b45019c0bfc680a797f29913aaf8ca037c4b (patch)
tree7517018da326c62cb0d86b7d34d80f48fde9af1c /base
parent3d40035c85583ee38860377c5984be9dd26cd8d3 (diff)
downloadchromium_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.java30
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));
}
});
}