OSDN Git Service

Fix null drawable for Mobile signal data edit QS tile
authorEvan Laird <evanlaird@google.com>
Wed, 14 Jun 2017 19:40:02 +0000 (15:40 -0400)
committerEvan Laird <evanlaird@google.com>
Wed, 14 Jun 2017 19:46:48 +0000 (15:46 -0400)
Currently it's a funky situation with CellTileView. There should
ultimate be a better way to handle displaying the SignalDrawable (per
the TODO comments), but this is a sensible fix to show the mobile data
icon in the edit QS screen for now.

Test: visual
Bug: 62525439
Change-Id: I95f0fb86862aa6a7b60f304053a73127907943ee

packages/SystemUI/src/com/android/systemui/qs/CellTileView.java

index eaf715f..5b3ec08 100644 (file)
@@ -35,9 +35,7 @@ public class CellTileView extends SignalTileView {
     public CellTileView(Context context) {
         super(context);
         mSignalDrawable = new SignalDrawable(mContext);
-        float dark = Utils.getColorAttr(context, android.R.attr.colorForeground) == 0xff000000
-                ? 1 : 0;
-        mSignalDrawable.setDarkIntensity(dark);
+        mSignalDrawable.setDarkIntensity(isDark(mContext));
         mSignalDrawable.setIntrinsicSize(context.getResources().getDimensionPixelSize(
                 R.dimen.qs_tile_icon_size));
     }
@@ -50,6 +48,10 @@ public class CellTileView extends SignalTileView {
         }
     }
 
+    private static int isDark(Context context) {
+        return Utils.getColorAttr(context, android.R.attr.colorForeground) == 0xff000000 ? 1 : 0;
+    }
+
     public static class SignalIcon extends Icon {
 
         private final int mState;
@@ -64,7 +66,11 @@ public class CellTileView extends SignalTileView {
 
         @Override
         public Drawable getDrawable(Context context) {
-            return null;
+            //TODO: Not the optimal solution to create this drawable
+            SignalDrawable d = new SignalDrawable(context);
+            d.setDarkIntensity(isDark(context));
+            d.setLevel(getState());
+            return d;
         }
     }
 }