OSDN Git Service

Reload cached icons on density change.
authorJason Monk <jmonk@google.com>
Thu, 17 Mar 2016 17:10:57 +0000 (13:10 -0400)
committerJason Monk <jmonk@google.com>
Thu, 17 Mar 2016 17:10:57 +0000 (13:10 -0400)
Bug: 26038240
Change-Id: I3688996aa544a6bc7a464d7b95348acf68d640fa

packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java

index e53f044..99896f8 100644 (file)
@@ -36,7 +36,6 @@ import android.util.AttributeSet;
 import android.util.Log;
 import android.util.SparseArray;
 import android.view.Display;
-import android.view.Gravity;
 import android.view.IDockedStackListener.Stub;
 import android.view.MotionEvent;
 import android.view.Surface;
@@ -46,7 +45,6 @@ import android.view.WindowManager;
 import android.view.WindowManagerGlobal;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.LinearLayout;
-
 import com.android.systemui.R;
 import com.android.systemui.RecentsComponent;
 import com.android.systemui.stackdivider.Divider;
@@ -54,7 +52,6 @@ import com.android.systemui.statusbar.policy.DeadZone;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
-import java.util.ArrayList;
 
 public class NavigationBarView extends LinearLayout {
     final static boolean DEBUG = false;
@@ -100,6 +97,7 @@ public class NavigationBarView extends LinearLayout {
     private boolean mDockedStackExists;
 
     private final SparseArray<ButtonDispatcher> mButtonDisatchers = new SparseArray<>();
+    private int mDensity;
 
     private class NavTransitionListener implements TransitionListener {
         private boolean mBackTransitioning;
@@ -190,6 +188,7 @@ public class NavigationBarView extends LinearLayout {
         mShowMenu = false;
         mGestureHelper = new NavigationBarGestureHelper(context);
 
+        mDensity = context.getResources().getConfiguration().densityDpi;
         getIcons(context);
 
         mBarTransitions = new NavigationBarTransitions(this);
@@ -599,6 +598,10 @@ public class NavigationBarView extends LinearLayout {
             // we are switching to.
             setNavigationIconHints(mNavigationIconHints, true);
         }
+        if (mDensity != newConfig.densityDpi) {
+            mDensity = newConfig.densityDpi;
+            getIcons(getContext());
+        }
     }
 
     /**