OSDN Git Service

Adding assets for dock button.
authorWinson <winsonc@google.com>
Tue, 22 Mar 2016 23:03:10 +0000 (16:03 -0700)
committerWinson <winsonc@google.com>
Tue, 22 Mar 2016 23:31:19 +0000 (16:31 -0700)
- Allow nav bar icons to update depending on specific configuration
  changes

Bug: 26954184
Change-Id: I1e089c751d2a5785457491b2a204c936d7472145

packages/SystemUI/res/drawable-hdpi/ic_sysbar_docked.png [new file with mode: 0755]
packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_docked.png [new file with mode: 0755]
packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_docked.png [new file with mode: 0755]
packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_docked.png [new file with mode: 0755]
packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_docked.png [new file with mode: 0755]
packages/SystemUI/res/drawable-land/ic_sysbar_docked.png [new file with mode: 0755]
packages/SystemUI/res/drawable-mdpi/ic_sysbar_docked.png [new file with mode: 0755]
packages/SystemUI/res/drawable-xhdpi/ic_sysbar_docked.png [new file with mode: 0755]
packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_docked.png [new file with mode: 0755]
packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_docked.png [changed mode: 0644->0755]
packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java

diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_docked.png
new file mode 100755 (executable)
index 0000000..0622ddc
Binary files /dev/null and b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_docked.png differ
diff --git a/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_docked.png
new file mode 100755 (executable)
index 0000000..c03ad20
Binary files /dev/null and b/packages/SystemUI/res/drawable-land-hdpi/ic_sysbar_docked.png differ
diff --git a/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_docked.png
new file mode 100755 (executable)
index 0000000..bfe2b4a
Binary files /dev/null and b/packages/SystemUI/res/drawable-land-xhdpi/ic_sysbar_docked.png differ
diff --git a/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_docked.png
new file mode 100755 (executable)
index 0000000..5ed0ee8
Binary files /dev/null and b/packages/SystemUI/res/drawable-land-xxhdpi/ic_sysbar_docked.png differ
diff --git a/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_docked.png
new file mode 100755 (executable)
index 0000000..d181162
Binary files /dev/null and b/packages/SystemUI/res/drawable-land-xxxhdpi/ic_sysbar_docked.png differ
diff --git a/packages/SystemUI/res/drawable-land/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-land/ic_sysbar_docked.png
new file mode 100755 (executable)
index 0000000..236b70a
Binary files /dev/null and b/packages/SystemUI/res/drawable-land/ic_sysbar_docked.png differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_docked.png
new file mode 100755 (executable)
index 0000000..93d1905
Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_docked.png differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_docked.png
new file mode 100755 (executable)
index 0000000..73ddde8
Binary files /dev/null and b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_docked.png differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_docked.png b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_docked.png
new file mode 100755 (executable)
index 0000000..1e84732
Binary files /dev/null and b/packages/SystemUI/res/drawable-xxhdpi/ic_sysbar_docked.png differ
old mode 100644 (file)
new mode 100755 (executable)
index f3be2ee..ee3ffde
Binary files a/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_docked.png and b/packages/SystemUI/res/drawable-xxxhdpi/ic_sysbar_docked.png differ
index 99896f8..56a7dbe 100644 (file)
@@ -25,7 +25,6 @@ import android.app.ActivityManagerNative;
 import android.app.StatusBarManager;
 import android.content.Context;
 import android.content.res.Configuration;
-import android.content.res.Resources;
 import android.graphics.Point;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
@@ -90,14 +89,13 @@ public class NavigationBarView extends LinearLayout {
     private final NavTransitionListener mTransitionListener = new NavTransitionListener();
 
     private OnVerticalChangedListener mOnVerticalChangedListener;
-    private boolean mIsLayoutRtl;
     private boolean mLayoutTransitionsEnabled = true;
     private boolean mWakeAndUnlocking;
     private boolean mCarMode = false;
     private boolean mDockedStackExists;
 
     private final SparseArray<ButtonDispatcher> mButtonDisatchers = new SparseArray<>();
-    private int mDensity;
+    private Configuration mConfiguration;
 
     private class NavTransitionListener implements TransitionListener {
         private boolean mBackTransitioning;
@@ -183,13 +181,13 @@ public class NavigationBarView extends LinearLayout {
         mDisplay = ((WindowManager) context.getSystemService(
                 Context.WINDOW_SERVICE)).getDefaultDisplay();
 
-        final Resources res = getContext().getResources();
         mVertical = false;
         mShowMenu = false;
         mGestureHelper = new NavigationBarGestureHelper(context);
 
-        mDensity = context.getResources().getConfiguration().densityDpi;
-        getIcons(context);
+        mConfiguration = new Configuration();
+        mConfiguration.updateFrom(context.getResources().getConfiguration());
+        updateIcons(context, Configuration.EMPTY, mConfiguration);
 
         mBarTransitions = new NavigationBarTransitions(this);
 
@@ -263,7 +261,7 @@ public class NavigationBarView extends LinearLayout {
         return mButtonDisatchers.get(R.id.ime_switcher);
     }
 
-    private void getCarModeIcons(Context ctx) {
+    private void updateCarModeIcons(Context ctx) {
         mBackCarModeIcon = ctx.getDrawable(R.drawable.ic_sysbar_back_carmode);
         mBackLandCarModeIcon = mBackCarModeIcon;
         mBackAltCarModeIcon = ctx.getDrawable(R.drawable.ic_sysbar_back_ime_carmode);
@@ -271,22 +269,27 @@ public class NavigationBarView extends LinearLayout {
         mHomeCarModeIcon = ctx.getDrawable(R.drawable.ic_sysbar_home_carmode);
     }
 
-    private void getIcons(Context ctx) {
-        mBackIcon = ctx.getDrawable(R.drawable.ic_sysbar_back);
-        mBackLandIcon = mBackIcon;
-        mBackAltIcon = ctx.getDrawable(R.drawable.ic_sysbar_back_ime);
-        mBackAltLandIcon = mBackAltIcon;
+    private void updateIcons(Context ctx, Configuration oldConfig, Configuration newConfig) {
+        if (oldConfig.orientation != newConfig.orientation) {
+            mDockedIcon = ctx.getDrawable(R.drawable.ic_sysbar_docked);
+        }
+        if (oldConfig.densityDpi != newConfig.densityDpi) {
+            mBackIcon = ctx.getDrawable(R.drawable.ic_sysbar_back);
+            mBackLandIcon = mBackIcon;
+            mBackAltIcon = ctx.getDrawable(R.drawable.ic_sysbar_back_ime);
+            mBackAltLandIcon = mBackAltIcon;
 
-        mHomeDefaultIcon = ctx.getDrawable(R.drawable.ic_sysbar_home);
+            mHomeDefaultIcon = ctx.getDrawable(R.drawable.ic_sysbar_home);
 
-        mRecentIcon = ctx.getDrawable(R.drawable.ic_sysbar_recent);
-        mDockedIcon = ctx.getDrawable(R.drawable.ic_sysbar_docked);
-        getCarModeIcons(ctx);
+            mRecentIcon = ctx.getDrawable(R.drawable.ic_sysbar_recent);
+            updateCarModeIcons(ctx);
+        }
     }
 
     @Override
     public void setLayoutDirection(int layoutDirection) {
-        getIcons(getContext());
+        // Reload all the icons
+        updateIcons(getContext(), Configuration.EMPTY, mConfiguration);
 
         super.setLayoutDirection(layoutDirection);
     }
@@ -598,10 +601,9 @@ public class NavigationBarView extends LinearLayout {
             // we are switching to.
             setNavigationIconHints(mNavigationIconHints, true);
         }
-        if (mDensity != newConfig.densityDpi) {
-            mDensity = newConfig.densityDpi;
-            getIcons(getContext());
-        }
+        updateIcons(getContext(), mConfiguration, newConfig);
+        updateRecentsIcon();
+        mConfiguration.updateFrom(newConfig);
     }
 
     /**