OSDN Git Service

Update theme for filter widget.
authorFan Zhang <zhfan@google.com>
Fri, 3 Mar 2017 00:53:15 +0000 (16:53 -0800)
committerFan Zhang <zhfan@google.com>
Fri, 3 Mar 2017 22:53:13 +0000 (14:53 -0800)
Bug: 35933748
Test: visual

Change-Id: I0c09c90360c436e25ca4a40993dde31cb2b4287b

res/drawable/app_filter_spinner_background.xml [new file with mode: 0644]
res/drawable/ic_expand_more_inverse.xml [new file with mode: 0644]
res/drawable/ic_settings_24dp_inverse.xml [new file with mode: 0644]
res/layout/apps_filter_spinner.xml
res/layout/filter_spinner_item.xml
tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java

diff --git a/res/drawable/app_filter_spinner_background.xml b/res/drawable/app_filter_spinner_background.xml
new file mode 100644 (file)
index 0000000..70a56ff
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2017 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
+            android:paddingMode="stack"
+            android:paddingStart="0dp"
+            android:paddingEnd="48dp"
+            android:paddingLeft="0dp"
+            android:paddingRight="0dp">
+    <item
+        android:gravity="end|fill_vertical"
+        android:width="48dp"
+        android:drawable="@*android:drawable/control_background_40dp_material" />
+
+    <item
+        android:drawable="@drawable/ic_expand_more_inverse"
+        android:gravity="end|center_vertical"
+        android:width="24dp"
+        android:height="24dp"
+        android:end="12dp" />
+</layer-list>
\ No newline at end of file
diff --git a/res/drawable/ic_expand_more_inverse.xml b/res/drawable/ic_expand_more_inverse.xml
new file mode 100644 (file)
index 0000000..c39e3f9
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2017 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
+        android:tint="?android:attr/colorForegroundInverse">
+
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M16.59,8.59L12.0,13.17 7.41,8.59 6.0,10.0l6.0,6.0 6.0,-6.0z"/>
+
+</vector>
diff --git a/res/drawable/ic_settings_24dp_inverse.xml b/res/drawable/ic_settings_24dp_inverse.xml
new file mode 100644 (file)
index 0000000..6f70d21
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2017 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorForegroundInverse">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66
+            -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3
+            -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2
+            14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59
+            -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49
+            0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66
+            0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3
+            0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42
+            0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25
+            1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49
+            -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57
+            -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z"/>
+</vector>
\ No newline at end of file
index 3ba7404..3eebbb0 100644 (file)
      limitations under the License.
 -->
 
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="?android:attr/actionBarSize"
+    android:background="?android:attr/colorAccent"
     android:gravity="center_vertical"
     android:paddingEnd="@dimen/switchbar_subsettings_margin_end"
-    android:theme="?attr/switchBarTheme" >
+    android:orientation="horizontal">
 
     <Spinner
         android:id="@+id/filter_spinner"
         android:layout_height="wrap_content"
-        android:layout_width="wrap_content"
-        android:layout_alignParentStart="true"
-        android:layout_marginStart="64dp"
-        android:layout_marginEnd="70dp"
-        android:layout_alignWithParentIfMissing="true"
-        android:layout_centerVertical="true"
-        android:textAlignment="viewStart" />
+        android:layout_width="0dp"
+        android:layout_weight="1"
+        android:paddingStart="64dp"
+        android:background="@drawable/app_filter_spinner_background"/>
 
     <ImageView
         android:id="@+id/filter_settings"
+        style="?android:attr/borderlessButtonStyle"
         android:layout_width="56dp"
         android:layout_height="56dp"
-        android:layout_alignParentEnd="true"
-        android:layout_centerVertical="true"
-        android:minHeight="0dp"
-        android:minWidth="0dp"
         android:contentDescription="@string/configure"
         android:scaleType="center"
-        android:src="@drawable/ic_settings_24dp"
-        style="?android:attr/borderlessButtonStyle"
+        android:src="@drawable/ic_settings_24dp_inverse"
         android:visibility="gone" />
 
-
-</RelativeLayout>
+</LinearLayout>
 
index 68f6f91..ffdd623 100644 (file)
      limitations under the License.
 -->
 
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+<TextView
+    xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@android:id/text1"
     style="?android:attr/spinnerItemStyle"
-    android:singleLine="true"
+    android:maxLines="1"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:ellipsize="marquee"
+    android:textColor="?android:attr/colorForegroundInverse"
     android:textAppearance="@style/TextAppearance.Switch"
-    android:textAlignment="inherit"/>
+    android:textAlignment="inherit" />
index 181ae64..113c7aa 100644 (file)
@@ -10,6 +10,9 @@ import android.graphics.drawable.Drawable;
 import android.support.annotation.ArrayRes;
 import android.util.AttributeSet;
 import android.util.TypedValue;
+
+import com.android.settings.R;
+
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
@@ -36,7 +39,8 @@ import static org.robolectric.internal.Shadow.directlyOn;
 @Implements(Resources.class)
 public class SettingsShadowResources extends ShadowResources {
 
-    @RealObject public Resources realResources;
+    @RealObject
+    public Resources realResources;
 
     @Implementation
     public int getDimensionPixelSize(@DimenRes int id) throws NotFoundException {
@@ -54,12 +58,14 @@ public class SettingsShadowResources extends ShadowResources {
         // The drawable item in switchbar_background.xml refers to a very recent color attribute
         // that Robolectric isn't yet aware of.
         // TODO: Remove this once Robolectric is updated.
-        if (id == com.android.settings.R.drawable.switchbar_background) {
+        if (id == R.drawable.switchbar_background) {
             return new ColorDrawable();
-        } else if (id == com.android.settings.R.drawable.ic_launcher_settings) {
+        } else if (id == R.drawable.ic_launcher_settings) {
             // ic_launcher_settings uses adaptive-icon, which is not supported by robolectric,
             // change it to a normal drawable.
-            id = com.android.settings.R.drawable.ic_settings_wireless;
+            id = R.drawable.ic_settings_wireless;
+        } else if (id == R.drawable.app_filter_spinner_background) {
+            id = R.drawable.ic_expand_more_inverse;
         }
         return super.loadDrawable(value, id, theme);
     }