summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDeepanshu Gupta <deepanshu@google.com>2015-11-17 11:34:32 -0800
committerDeepanshu Gupta <deepanshu@google.com>2015-11-17 11:34:32 -0800
commit99b54b364b6d4e0689933393a9b584e542fc2c54 (patch)
tree805e6afcf466ad34d82f0ab93e20e61a8c852ab3
parent053f241cc7cc23f41fde42c6a0c9ecf2f8cd2830 (diff)
downloadframeworks_base-99b54b364b6d4e0689933393a9b584e542fc2c54.zip
frameworks_base-99b54b364b6d4e0689933393a9b584e542fc2c54.tar.gz
frameworks_base-99b54b364b6d4e0689933393a9b584e542fc2c54.tar.bz2
AppCompatActionBar: use findClass to test presence
To test the presence of WindowDecorActionBar class, use findClass() instead of loadClass() which logs warnings. Change-Id: Ice8a5a6badd764c7f75b5a64a07c48f0a7cfef98
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/AppCompatActionBar.java19
1 files changed, 9 insertions, 10 deletions
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/AppCompatActionBar.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/AppCompatActionBar.java
index b67afeb..cdcf0ea 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/AppCompatActionBar.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/AppCompatActionBar.java
@@ -76,19 +76,18 @@ public class AppCompatActionBar extends BridgeActionBar {
Class[] constructorParams = {View.class};
Object[] constructorArgs = {getDecorContent()};
LayoutlibCallback callback = params.getLayoutlibCallback();
- // First try to load the class as was available before appcompat v23.1.1, without
- // logging warnings.
+
+ // Check if the old action bar class is present.
+ String actionBarClass = WINDOW_ACTION_BAR_CLASS;
try {
- mWindowDecorActionBar = callback.loadClass(WINDOW_ACTION_BAR_CLASS,
- constructorParams, constructorArgs);
- } catch (ClassNotFoundException ignore) {
- }
- if (mWindowDecorActionBar == null) {
- // If failed, load the new class, while logging warnings.
- mWindowDecorActionBar = callback.loadView(WINDOW_ACTION_BAR_CLASS_NEW,
- constructorParams, constructorArgs);
+ callback.findClass(actionBarClass);
+ } catch (ClassNotFoundException expected) {
+ // Failed to find the old class, use the newer one.
+ actionBarClass = WINDOW_ACTION_BAR_CLASS_NEW;
}
+ mWindowDecorActionBar = callback.loadView(actionBarClass,
+ constructorParams, constructorArgs);
mWindowActionBarClass = mWindowDecorActionBar == null ? null :
mWindowDecorActionBar.getClass();
setupActionBar();