diff options
author | Deepanshu Gupta <deepanshu@google.com> | 2015-11-17 11:34:32 -0800 |
---|---|---|
committer | Deepanshu Gupta <deepanshu@google.com> | 2015-11-17 11:34:32 -0800 |
commit | 99b54b364b6d4e0689933393a9b584e542fc2c54 (patch) | |
tree | 805e6afcf466ad34d82f0ab93e20e61a8c852ab3 | |
parent | 053f241cc7cc23f41fde42c6a0c9ecf2f8cd2830 (diff) | |
download | frameworks_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.java | 19 |
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(); |