Simplifying some launcher themes
> Replacing some colors with theme attributes > Simplifying styles definition by removing unnecessary inheritance and inlining some definitions Change-Id: Ifa167515cae6a7fd3720f1a52ff9ce11abb4495f
This commit is contained in:
parent
9e76f682f3
commit
1f3f07d47c
|
@ -56,6 +56,7 @@
|
||||||
android:hardwareAccelerated="true"
|
android:hardwareAccelerated="true"
|
||||||
android:icon="@mipmap/ic_launcher_home"
|
android:icon="@mipmap/ic_launcher_home"
|
||||||
android:label="@string/derived_app_name"
|
android:label="@string/derived_app_name"
|
||||||
|
android:theme="@style/LauncherTheme"
|
||||||
android:largeHeap="@bool/config_largeHeap"
|
android:largeHeap="@bool/config_largeHeap"
|
||||||
android:restoreAnyVersion="true"
|
android:restoreAnyVersion="true"
|
||||||
android:supportsRtl="true" >
|
android:supportsRtl="true" >
|
||||||
|
@ -69,7 +70,6 @@
|
||||||
android:launchMode="singleTask"
|
android:launchMode="singleTask"
|
||||||
android:clearTaskOnLaunch="true"
|
android:clearTaskOnLaunch="true"
|
||||||
android:stateNotNeeded="true"
|
android:stateNotNeeded="true"
|
||||||
android:theme="@style/LauncherTheme"
|
|
||||||
android:windowSoftInputMode="adjustPan"
|
android:windowSoftInputMode="adjustPan"
|
||||||
android:screenOrientation="nosensor"
|
android:screenOrientation="nosensor"
|
||||||
android:configChanges="keyboard|keyboardHidden|navigation"
|
android:configChanges="keyboard|keyboardHidden|navigation"
|
||||||
|
@ -90,6 +90,7 @@
|
||||||
<activity
|
<activity
|
||||||
android:name="com.android.launcher3.SettingsActivity"
|
android:name="com.android.launcher3.SettingsActivity"
|
||||||
android:label="@string/settings_button_text"
|
android:label="@string/settings_button_text"
|
||||||
|
android:theme="@android:style/Theme.DeviceDefault.Settings"
|
||||||
android:autoRemoveFromRecents="true">
|
android:autoRemoveFromRecents="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.APPLICATION_PREFERENCES" />
|
<action android:name="android.intent.action.APPLICATION_PREFERENCES" />
|
||||||
|
|
|
@ -15,6 +15,6 @@
|
||||||
-->
|
-->
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:shape="rectangle">
|
android:shape="rectangle">
|
||||||
<solid android:color="@color/all_apps_divider_color" />
|
<solid android:color="?android:attr/colorControlHighlight" />
|
||||||
<size android:height="1dp" />
|
<size android:height="1dp" />
|
||||||
</shape>
|
</shape>
|
|
@ -15,6 +15,6 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:color="#00FFFFFF" android:state_focused="true" />
|
<item android:color="@android:color/transparent" android:state_focused="true" />
|
||||||
<item android:color="?android:attr/colorAccent"/>
|
<item android:color="?android:attr/colorAccent"/>
|
||||||
</selector>
|
</selector>
|
|
@ -16,9 +16,8 @@
|
||||||
|
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:state_focused="true">
|
<item android:state_focused="true">
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
<shape android:shape="rectangle">
|
||||||
android:shape="rectangle">
|
<stroke android:color="?android:attr/colorControlActivated" android:width="2dp" />
|
||||||
<stroke android:color="#616161" android:width="2dp"/>
|
|
||||||
<corners android:radius="@dimen/bg_pill_radius" />
|
<corners android:radius="@dimen/bg_pill_radius" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
@ -18,9 +18,10 @@
|
||||||
android:width="@dimen/deep_shortcut_drag_handle_size"
|
android:width="@dimen/deep_shortcut_drag_handle_size"
|
||||||
android:height="@dimen/deep_shortcut_drag_handle_size"
|
android:height="@dimen/deep_shortcut_drag_handle_size"
|
||||||
android:viewportWidth="24.0"
|
android:viewportWidth="24.0"
|
||||||
android:viewportHeight="24.0">
|
android:viewportHeight="24.0"
|
||||||
|
android:tint="?android:attr/textColorHint" >
|
||||||
|
|
||||||
<path
|
<path
|
||||||
android:pathData="M20 9H4v2h16V9zM4 15h16v-2H4v2z"
|
android:pathData="M20 9H4v2h16V9zM4 15h16v-2H4v2z"
|
||||||
android:fillColor="#4D000000"/>
|
android:fillColor="@android:color/white" />
|
||||||
</vector>
|
</vector>
|
|
@ -19,6 +19,6 @@ Copyright (C) 2016 The Android Open Source Project
|
||||||
android:viewportWidth="48.0"
|
android:viewportWidth="48.0"
|
||||||
android:viewportHeight="48.0">
|
android:viewportHeight="48.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FFFFFFFF"
|
android:fillColor="@color/workspace_icon_text_color"
|
||||||
android:pathData="M38.86 25.95c.08-.64 .14-1.29 .14-1.95s-.06-1.31-.14-1.95l4.23-3.31c.38-.3 .49-.84 .24-1.28l-4-6.93c-.25-.43-.77-.61-1.22-.43l-4.98 2.01c-1.03-.79-2.16-1.46-3.38-1.97L29 4.84c-.09-.47-.5-.84-1-.84h-8c-.5 0-.91 .37-.99 .84l-.75 5.3c-1.22 .51-2.35 1.17-3.38 1.97L9.9 10.1c-.45-.17-.97 0-1.22 .43l-4 6.93c-.25 .43-.14 .97 .24 1.28l4.22 3.31C9.06 22.69 9 23.34 9 24s.06 1.31 .14 1.95l-4.22 3.31c-.38 .3-.49 .84-.24 1.28l4 6.93c.25 .43 .77 .61 1.22 .43l4.98-2.01c1.03 .79 2.16 1.46 3.38 1.97l.75 5.3c.08 .47 .49 .84 .99 .84h8c.5 0 .91-.37 .99-.84l.75-5.3c1.22-.51 2.35-1.17 3.38-1.97l4.98 2.01c.45 .17 .97 0 1.22-.43l4-6.93c.25-.43 .14-.97-.24-1.28l-4.22-3.31zM24 31c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"/>
|
android:pathData="M38.86 25.95c.08-.64 .14-1.29 .14-1.95s-.06-1.31-.14-1.95l4.23-3.31c.38-.3 .49-.84 .24-1.28l-4-6.93c-.25-.43-.77-.61-1.22-.43l-4.98 2.01c-1.03-.79-2.16-1.46-3.38-1.97L29 4.84c-.09-.47-.5-.84-1-.84h-8c-.5 0-.91 .37-.99 .84l-.75 5.3c-1.22 .51-2.35 1.17-3.38 1.97L9.9 10.1c-.45-.17-.97 0-1.22 .43l-4 6.93c-.25 .43-.14 .97 .24 1.28l4.22 3.31C9.06 22.69 9 23.34 9 24s.06 1.31 .14 1.95l-4.22 3.31c-.38 .3-.49 .84-.24 1.28l4 6.93c.25 .43 .77 .61 1.22 .43l4.98-2.01c1.03 .79 2.16 1.46 3.38 1.97l.75 5.3c.08 .47 .49 .84 .99 .84h8c.5 0 .91-.37 .99-.84l.75-5.3c1.22-.51 2.35-1.17 3.38-1.97l4.98 2.01c.45 .17 .97 0 1.22-.43l4-6.93c.25-.43 .14-.97-.24-1.28l-4.22-3.31zM24 31c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -19,6 +19,6 @@ Copyright (C) 2016 The Android Open Source Project
|
||||||
android:viewportWidth="48.0"
|
android:viewportWidth="48.0"
|
||||||
android:viewportHeight="48.0">
|
android:viewportHeight="48.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FFFFFFFF"
|
android:fillColor="@color/workspace_icon_text_color"
|
||||||
android:pathData="M8 8h14V4H8C5.79 4 4 5.79 4 8v14h4V8zm12 18l-8 10h24l-6-8-4.06 5.42L20 26zm14-9c0-1.66-1.34-3-3-3s-3 1.34-3 3 1.34 3 3 3 3-1.34 3-3zm6-13H26v4h14v14h4V8c0-2.21-1.79-4-4-4zm0 36H26v4h14c2.21 0 4-1.79 4-4V26h-4v14zM8 26H4v14c0 2.21 1.79 4 4 4h14v-4H8V26z"/>
|
android:pathData="M8 8h14V4H8C5.79 4 4 5.79 4 8v14h4V8zm12 18l-8 10h24l-6-8-4.06 5.42L20 26zm14-9c0-1.66-1.34-3-3-3s-3 1.34-3 3 1.34 3 3 3 3-1.34 3-3zm6-13H26v4h14v14h4V8c0-2.21-1.79-4-4-4zm0 36H26v4h14c2.21 0 4-1.79 4-4V26h-4v14zM8 26H4v14c0 2.21 1.79 4 4 4h14v-4H8V26z"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -19,6 +19,6 @@ Copyright (C) 2016 The Android Open Source Project
|
||||||
android:viewportWidth="48.0"
|
android:viewportWidth="48.0"
|
||||||
android:viewportHeight="48.0">
|
android:viewportHeight="48.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FFFFFFFF"
|
android:fillColor="@color/workspace_icon_text_color"
|
||||||
android:pathData="M26 26v16h16V26H26zM6 42h16V26H6v16zM6 6v16h16V6H6zm27.31-2.63L22 14.69 33.31 26l11.31-11.31L33.31 3.37z"/>
|
android:pathData="M26 26v16h16V26H26zM6 42h16V26H6v16zM6 6v16h16V6H6zm27.31-2.63L22 14.69 33.31 26l11.31-11.31L33.31 3.37z"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
Copyright (C) 2015 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.
|
|
||||||
-->
|
|
||||||
<inset xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:drawable="@drawable/quantum_panel_shape"
|
|
||||||
android:insetBottom="@dimen/quantum_panel_outer_padding"
|
|
||||||
android:insetLeft="@dimen/quantum_panel_outer_padding"
|
|
||||||
android:insetRight="@dimen/quantum_panel_outer_padding"
|
|
||||||
android:insetTop="@dimen/quantum_panel_outer_padding" />
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
Copyright (C) 2015 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.
|
|
||||||
-->
|
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:shape="rectangle">
|
|
||||||
<solid android:color="@color/quantum_panel_bg_color" />
|
|
||||||
<corners
|
|
||||||
android:radius="2dp" />
|
|
||||||
</shape>
|
|
|
@ -22,7 +22,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
launcher:revealBackground="@drawable/quantum_panel_shape">
|
launcher:revealBackground="@drawable/round_rect_primary">
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/reveal_view"
|
android:id="@+id/reveal_view"
|
||||||
|
@ -54,8 +54,7 @@
|
||||||
android:descendantFocusability="afterDescendants"
|
android:descendantFocusability="afterDescendants"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:paddingStart="@dimen/container_fastscroll_thumb_max_width"
|
android:paddingStart="@dimen/container_fastscroll_thumb_max_width"
|
||||||
android:paddingEnd="@dimen/container_fastscroll_thumb_max_width"
|
android:paddingEnd="@dimen/container_fastscroll_thumb_max_width" />
|
||||||
android:theme="@style/AllAppsOverscroll" />
|
|
||||||
|
|
||||||
<!-- Fast scroller popup -->
|
<!-- Fast scroller popup -->
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -87,7 +86,7 @@
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:scrollHorizontally="true"
|
android:scrollHorizontally="true"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="#4c4c4c"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:hint="@string/all_apps_search_bar_hint"
|
android:hint="@string/all_apps_search_bar_hint"
|
||||||
android:textColorHint="@drawable/all_apps_search_hint"
|
android:textColorHint="@drawable/all_apps_search_hint"
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
@ -95,11 +94,11 @@
|
||||||
|
|
||||||
</com.android.launcher3.allapps.AllAppsRecyclerViewContainerView>
|
</com.android.launcher3.allapps.AllAppsRecyclerViewContainerView>
|
||||||
<View
|
<View
|
||||||
|
style="@style/AllAppsNavBarProtection"
|
||||||
android:id="@+id/nav_bar_bg"
|
android:id="@+id/nav_bar_bg"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_gravity="bottom"
|
android:layout_gravity="bottom"
|
||||||
android:background="@color/all_apps_navbar_color"
|
|
||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:visibility="invisible" />
|
android:visibility="invisible" />
|
||||||
</com.android.launcher3.allapps.AllAppsContainerView>
|
</com.android.launcher3.allapps.AllAppsContainerView>
|
|
@ -14,6 +14,4 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
<TextView style="@style/BaseIcon" />
|
||||||
style="@style/Icon"
|
|
||||||
android:focusable="true" />
|
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
android:paddingRight="16dp"
|
android:paddingRight="16dp"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textColor="#212121"
|
android:textColor="?android:attr/textColorTertiary"
|
||||||
android:alpha="0.56"
|
|
||||||
android:focusable="false" />
|
android:focusable="false" />
|
||||||
|
|
||||||
|
|
|
@ -16,12 +16,13 @@
|
||||||
<com.android.launcher3.BubbleTextView
|
<com.android.launcher3.BubbleTextView
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:launcher="http://schemas.android.com/apk/res-auto"
|
xmlns:launcher="http://schemas.android.com/apk/res-auto"
|
||||||
style="@style/Icon.AllApps"
|
style="@style/BaseIcon"
|
||||||
android:id="@+id/icon"
|
android:id="@+id/icon"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
|
||||||
android:focusable="true"
|
|
||||||
launcher:iconDisplay="all_apps"
|
launcher:iconDisplay="all_apps"
|
||||||
launcher:centerVertically="true" />
|
launcher:centerVertically="true"
|
||||||
|
android:paddingLeft="4dp"
|
||||||
|
android:paddingRight="4dp"
|
||||||
|
android:drawablePadding="@dimen/dynamic_grid_icon_drawable_padding" />
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,4 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<com.android.launcher3.BubbleTextView xmlns:android="http://schemas.android.com/apk/res/android"
|
<com.android.launcher3.BubbleTextView style="@style/BaseIcon.Workspace" />
|
||||||
style="@style/Icon"
|
|
||||||
android:focusable="true" />
|
|
||||||
|
|
|
@ -16,18 +16,28 @@
|
||||||
|
|
||||||
<com.android.launcher3.shortcuts.DeepShortcutView
|
<com.android.launcher3.shortcuts.DeepShortcutView
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:launcher="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="@dimen/bg_pill_width"
|
android:layout_width="@dimen/bg_pill_width"
|
||||||
android:layout_height="@dimen/bg_pill_height"
|
android:layout_height="@dimen/bg_pill_height"
|
||||||
android:elevation="@dimen/deep_shortcuts_elevation"
|
android:elevation="@dimen/deep_shortcuts_elevation"
|
||||||
android:background="@drawable/bg_white_pill">
|
android:background="@drawable/bg_white_pill" >
|
||||||
|
|
||||||
<com.android.launcher3.shortcuts.DeepShortcutTextView
|
<com.android.launcher3.shortcuts.DeepShortcutTextView
|
||||||
|
style="@style/BaseIcon"
|
||||||
android:id="@+id/deep_shortcut"
|
android:id="@+id/deep_shortcut"
|
||||||
style="@style/Icon.DeepShortcut"
|
android:background="@drawable/bg_pill_focused"
|
||||||
android:layout_width="match_parent"
|
android:gravity="start|center_vertical"
|
||||||
android:layout_height="match_parent"
|
android:textAlignment="viewStart"
|
||||||
android:focusable="true"
|
android:paddingStart="@dimen/bg_pill_height"
|
||||||
android:background="@drawable/bg_pill_focused" />
|
android:paddingEnd="@dimen/deep_shortcut_padding_end"
|
||||||
|
android:drawableEnd="@drawable/deep_shortcuts_drag_handle"
|
||||||
|
android:drawablePadding="@dimen/deep_shortcut_drawable_padding"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:fontFamily="sans-serif"
|
||||||
|
launcher:layoutHorizontal="true"
|
||||||
|
launcher:iconDisplay="shortcut_popup"
|
||||||
|
launcher:iconSizeOverride="@dimen/deep_shortcut_icon_size"
|
||||||
|
android:elevation="@dimen/deep_shortcuts_elevation" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/popup_item_icon"
|
android:id="@+id/popup_item_icon"
|
||||||
|
|
|
@ -14,6 +14,9 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<com.android.launcher3.BubbleTextView xmlns:android="http://schemas.android.com/apk/res/android"
|
<com.android.launcher3.BubbleTextView
|
||||||
style="@style/Icon.Folder"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:focusable="true" />
|
xmlns:launcher="http://schemas.android.com/apk/res-auto"
|
||||||
|
style="@style/BaseIcon"
|
||||||
|
android:includeFontPadding="false"
|
||||||
|
launcher:iconDisplay="folder" />
|
||||||
|
|
|
@ -21,8 +21,9 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:focusable="true" >
|
android:focusable="true" >
|
||||||
<com.android.launcher3.BubbleTextView
|
<com.android.launcher3.BubbleTextView
|
||||||
style="@style/Icon"
|
style="@style/BaseIcon.Workspace"
|
||||||
android:id="@+id/folder_icon_name"
|
android:id="@+id/folder_icon_name"
|
||||||
|
android:focusable="false"
|
||||||
android:layout_gravity="top"
|
android:layout_gravity="top"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent" />
|
android:layout_height="match_parent" />
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:background="@drawable/bg_pill_focused"
|
|
||||||
android:elevation="@dimen/notification_elevation" >
|
android:elevation="@dimen/notification_elevation" >
|
||||||
|
|
||||||
<View
|
<View
|
||||||
|
@ -39,13 +38,20 @@
|
||||||
android:gravity="center_vertical">
|
android:gravity="center_vertical">
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/title"
|
android:id="@+id/title"
|
||||||
style="@style/Icon.DeepNotification"
|
android:textAlignment="viewStart"
|
||||||
|
android:fontFamily="sans-serif"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content" />
|
android:layout_height="wrap_content" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/text"
|
android:id="@+id/text"
|
||||||
style="@style/Icon.DeepNotification.SubText"
|
android:paddingEnd="4dp"
|
||||||
|
android:textSize="12sp"
|
||||||
|
android:textAlignment="viewStart"
|
||||||
|
android:fontFamily="sans-serif"
|
||||||
|
android:textColor="?android:attr/textColorTertiary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content" />
|
android:layout_height="wrap_content" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
android:layout_margin="16dp"
|
android:layout_margin="16dp"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:background="@drawable/quantum_panel_shape"
|
android:background="@drawable/round_rect_primary"
|
||||||
android:elevation="2dp"
|
android:elevation="2dp"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:text="@string/abandoned_search"
|
android:text="@string/abandoned_search"
|
||||||
android:textColor="@color/quantum_panel_text_color"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textAppearance="?android:textAppearanceMedium"
|
android:textAppearance="?android:textAppearanceMedium"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:background="?android:attr/selectableItemBackground" />
|
android:background="?android:attr/selectableItemBackground" />
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:src="@drawable/ic_setting"
|
android:src="@drawable/ic_setting"
|
||||||
android:tint="@color/quantum_panel_text_color"
|
android:tint="?android:attr/textColorSecondary"
|
||||||
android:contentDescription="@string/gadget_setup_text"
|
android:contentDescription="@string/gadget_setup_text"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
android:background="?android:attr/selectableItemBackground" />
|
android:background="?android:attr/selectableItemBackground" />
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
xmlns:launcher="http://schemas.android.com/apk/res-auto"
|
xmlns:launcher="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/quantum_panel"
|
android:background="@drawable/round_rect_primary"
|
||||||
android:elevation="5dp"
|
android:elevation="5dp"
|
||||||
android:orientation="vertical" >
|
android:orientation="vertical" >
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:background="#00000000"
|
android:background="@android:color/transparent"
|
||||||
android:fontFamily="sans-serif-condensed"
|
android:fontFamily="sans-serif-condensed"
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
android:hint="@string/folder_hint_text"
|
android:hint="@string/folder_hint_text"
|
||||||
|
@ -54,10 +54,10 @@
|
||||||
android:paddingBottom="@dimen/folder_label_padding_bottom"
|
android:paddingBottom="@dimen/folder_label_padding_bottom"
|
||||||
android:paddingTop="@dimen/folder_label_padding_top"
|
android:paddingTop="@dimen/folder_label_padding_top"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="#ff777777"
|
android:textColor="?android:attr/textColorTertiary"
|
||||||
android:includeFontPadding="false"
|
android:includeFontPadding="false"
|
||||||
android:textColorHighlight="#ffCCCCCC"
|
android:textColorHighlight="?android:attr/colorControlHighlight"
|
||||||
android:textColorHint="#ff808080"
|
android:textColorHint="?android:attr/textColorHint"
|
||||||
android:textSize="@dimen/folder_label_text_size" />
|
android:textSize="@dimen/folder_label_text_size" />
|
||||||
|
|
||||||
<com.android.launcher3.pageindicators.PageIndicatorDots
|
<com.android.launcher3.pageindicators.PageIndicatorDots
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
xmlns:launcher="http://schemas.android.com/apk/res-auto"
|
xmlns:launcher="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/quantum_panel"
|
android:background="@drawable/round_rect_primary"
|
||||||
android:elevation="5dp"
|
android:elevation="5dp"
|
||||||
android:orientation="vertical" >
|
android:orientation="vertical" >
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:background="#00000000"
|
android:background="@android:color/transparent"
|
||||||
android:fontFamily="sans-serif-condensed"
|
android:fontFamily="sans-serif-condensed"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
|
@ -55,9 +55,9 @@
|
||||||
android:paddingBottom="@dimen/folder_label_padding_bottom"
|
android:paddingBottom="@dimen/folder_label_padding_bottom"
|
||||||
android:paddingTop="@dimen/folder_label_padding_top"
|
android:paddingTop="@dimen/folder_label_padding_top"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="#EE777777"
|
android:textColor="?android:attr/textColorTertiary"
|
||||||
android:textColorHighlight="#ffCCCCCC"
|
android:textColorHighlight="?android:attr/colorControlHighlight"
|
||||||
android:textColorHint="#ff808080"
|
android:textColorHint="?android:attr/textColorHint"
|
||||||
android:textSize="@dimen/folder_label_text_size" />
|
android:textSize="@dimen/folder_label_text_size" />
|
||||||
|
|
||||||
<com.android.launcher3.pageindicators.PageIndicatorDots
|
<com.android.launcher3.pageindicators.PageIndicatorDots
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
<item name="android:windowShowWallpaper">true</item>
|
<item name="android:windowShowWallpaper">true</item>
|
||||||
<item name="android:windowNoTitle">true</item>
|
<item name="android:windowNoTitle">true</item>
|
||||||
<item name="android:windowActionModeOverlay">true</item>
|
<item name="android:windowActionModeOverlay">true</item>
|
||||||
|
<item name="android:colorEdgeEffect">?android:attr/textColorSecondary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Workspace -->
|
<!-- Workspace -->
|
||||||
|
|
|
@ -21,4 +21,11 @@
|
||||||
<style name="WidgetContainerTheme" parent="@android:style/Theme.DeviceDefault.Settings">
|
<style name="WidgetContainerTheme" parent="@android:style/Theme.DeviceDefault.Settings">
|
||||||
<item name="android:colorEdgeEffect">?android:attr/textColorSecondary</item>
|
<item name="android:colorEdgeEffect">?android:attr/textColorSecondary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<!-- From O and above, we show a dark nav bar in all-apps -->
|
||||||
|
<style name="AllAppsNavBarProtection">
|
||||||
|
<item name="android:alpha">0.6</item>
|
||||||
|
<item name="android:background">?android:attr/colorPrimary</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -26,21 +26,11 @@
|
||||||
<color name="focused_background">#80c6c5c5</color>
|
<color name="focused_background">#80c6c5c5</color>
|
||||||
|
|
||||||
<color name="workspace_icon_text_color">#FFF</color>
|
<color name="workspace_icon_text_color">#FFF</color>
|
||||||
|
|
||||||
<color name="workspace_edge_effect_color">#FFFFFFFF</color>
|
<color name="workspace_edge_effect_color">#FFFFFFFF</color>
|
||||||
<color name="folder_edge_effect_color">#FF757575</color>
|
|
||||||
<color name="page_indicator_dot_color">#FFDDDDDD</color>
|
|
||||||
|
|
||||||
<color name="quantum_panel_text_color">#FF666666</color>
|
<color name="default_shadow_color_no_alpha">#FF000000</color>
|
||||||
<color name="quantum_panel_bg_color">#FFF5F5F5</color>
|
|
||||||
|
|
||||||
<color name="outline_color">#FFFFFFFF</color>
|
<color name="outline_color">#FFFFFFFF</color>
|
||||||
<color name="all_apps_divider_color">#1E000000</color>
|
|
||||||
<color name="all_apps_caret_color">#FFFFFFFF</color>
|
|
||||||
<color name="all_apps_caret_shadow_color">#22000000</color>
|
|
||||||
<color name="all_apps_container_color">#FFF2F2F2</color>
|
|
||||||
<color name="all_apps_navbar_color">#28000000</color>
|
|
||||||
<color name="all_apps_light_navbar_color">#AAF2F2F2</color>
|
|
||||||
|
|
||||||
<color name="spring_loaded_panel_color">#40FFFFFF</color>
|
<color name="spring_loaded_panel_color">#40FFFFFF</color>
|
||||||
<color name="spring_loaded_highlighted_panel_border_color">#FFF</color>
|
<color name="spring_loaded_highlighted_panel_border_color">#FFF</color>
|
||||||
|
|
|
@ -120,9 +120,6 @@
|
||||||
|
|
||||||
<dimen name="spring_loaded_panel_border">1dp</dimen>
|
<dimen name="spring_loaded_panel_border">1dp</dimen>
|
||||||
|
|
||||||
<!-- Theme -->
|
|
||||||
<dimen name="quantum_panel_outer_padding">4dp</dimen>
|
|
||||||
|
|
||||||
<!-- Folders -->
|
<!-- Folders -->
|
||||||
<!-- The size of the padding on the preview background drawable -->
|
<!-- The size of the padding on the preview background drawable -->
|
||||||
<dimen name="folder_preview_padding">6dp</dimen>
|
<dimen name="folder_preview_padding">6dp</dimen>
|
||||||
|
|
|
@ -24,11 +24,17 @@
|
||||||
<item name="android:colorBackgroundCacheHint">@null</item>
|
<item name="android:colorBackgroundCacheHint">@null</item>
|
||||||
<item name="android:windowShowWallpaper">true</item>
|
<item name="android:windowShowWallpaper">true</item>
|
||||||
<item name="android:windowNoTitle">true</item>
|
<item name="android:windowNoTitle">true</item>
|
||||||
|
<item name="android:colorEdgeEffect">#FF757575</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="LauncherTheme" parent="@style/BaseLauncherTheme"></style>
|
<style name="LauncherTheme" parent="@style/BaseLauncherTheme"></style>
|
||||||
|
|
||||||
<style name="Theme" parent="@style/LauncherTheme"></style>
|
<!-- Theme for the widget container. Overridden on API 26. -->
|
||||||
|
<style name="WidgetContainerTheme" parent="@android:style/Theme.DeviceDefault.Settings">
|
||||||
|
<item name="android:colorEdgeEffect">?android:attr/textColorSecondaryInverse</item>
|
||||||
|
<item name="android:textColorPrimary">?android:attr/textColorPrimaryInverse</item>
|
||||||
|
<item name="android:textColorSecondary">?android:attr/textColorSecondaryInverse</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="FastScrollerPopup" >
|
<style name="FastScrollerPopup" >
|
||||||
<item name="android:background">@drawable/container_fastscroll_popup_bg</item>
|
<item name="android:background">@drawable/container_fastscroll_popup_bg</item>
|
||||||
|
@ -44,88 +50,35 @@
|
||||||
<item name="android:includeFontPadding">false</item>
|
<item name="android:includeFontPadding">false</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Theme for the widget container. Overridden on API 25. -->
|
<!-- Style for nav bar background in all-apps screen -->
|
||||||
<style name="WidgetContainerTheme" parent="@android:style/Theme.DeviceDefault.Settings">
|
<style name="AllAppsNavBarProtection">
|
||||||
<item name="android:colorEdgeEffect">@color/workspace_edge_effect_color</item>
|
<item name="android:alpha">?android:attr/spotShadowAlpha</item>
|
||||||
<item name="android:textColorPrimary">?android:attr/textColorPrimaryInverse</item>
|
<item name="android:background">@color/default_shadow_color_no_alpha</item>
|
||||||
<item name="android:textColorSecondary">?android:attr/textColorSecondaryInverse</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Overscroll effect -->
|
<!-- Base theme for BubbleTextView and sub classes -->
|
||||||
<style name="AllAppsOverscroll" parent="@android:style/Theme.DeviceDefault.Light">
|
<style name="BaseIcon">
|
||||||
<item name="android:colorEdgeEffect">@color/folder_edge_effect_color</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<!-- Different icons -->
|
|
||||||
<style name="Icon">
|
|
||||||
<item name="android:layout_width">match_parent</item>
|
<item name="android:layout_width">match_parent</item>
|
||||||
<item name="android:layout_height">match_parent</item>
|
<item name="android:layout_height">match_parent</item>
|
||||||
<item name="android:layout_gravity">center</item>
|
<item name="android:layout_gravity">center</item>
|
||||||
|
<item name="android:focusable">true</item>
|
||||||
<item name="android:gravity">center_horizontal</item>
|
<item name="android:gravity">center_horizontal</item>
|
||||||
<item name="android:singleLine">true</item>
|
<item name="android:singleLine">true</item>
|
||||||
<item name="android:ellipsize">marquee</item>
|
<item name="android:ellipsize">marquee</item>
|
||||||
|
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
||||||
|
<item name="android:fontFamily">sans-serif-condensed</item>
|
||||||
|
|
||||||
|
<!-- No shadows in the base theme -->
|
||||||
|
<item name="android:shadowRadius">0</item>
|
||||||
|
<item name="customShadows">false</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Icon displayed on the worksapce -->
|
||||||
|
<style name="BaseIcon.Workspace">
|
||||||
|
<item name="customShadows">true</item>
|
||||||
<item name="android:textColor">@color/workspace_icon_text_color</item>
|
<item name="android:textColor">@color/workspace_icon_text_color</item>
|
||||||
<item name="android:shadowRadius">2.0</item>
|
<item name="android:shadowRadius">2.0</item>
|
||||||
<item name="android:shadowColor">#B0000000</item>
|
<item name="android:shadowColor">#B0000000</item>
|
||||||
<item name="android:fontFamily">sans-serif-condensed</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="Icon.AllApps">
|
|
||||||
<item name="android:background">@null</item>
|
|
||||||
<item name="android:textColor">@color/quantum_panel_text_color</item>
|
|
||||||
<item name="android:drawablePadding">@dimen/dynamic_grid_icon_drawable_padding</item>
|
|
||||||
<item name="android:shadowRadius">0</item>
|
|
||||||
<item name="android:paddingLeft">4dp</item>
|
|
||||||
<item name="android:paddingRight">4dp</item>
|
|
||||||
<item name="customShadows">false</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="Icon.Folder">
|
|
||||||
<item name="android:background">@null</item>
|
|
||||||
<item name="android:textColor">@color/quantum_panel_text_color</item>
|
|
||||||
<item name="android:shadowRadius">0</item>
|
|
||||||
<item name="android:gravity">center_horizontal</item>
|
|
||||||
<item name="android:includeFontPadding">false</item>
|
|
||||||
<item name="customShadows">false</item>
|
|
||||||
<item name="iconDisplay">folder</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="Icon.DeepShortcut">
|
|
||||||
<item name="android:gravity">start|center_vertical</item>
|
|
||||||
<item name="android:textAlignment">viewStart</item>
|
|
||||||
<item name="android:elevation">@dimen/deep_shortcuts_elevation</item>
|
|
||||||
<item name="android:paddingStart">@dimen/bg_pill_height</item>
|
|
||||||
<item name="android:paddingEnd">@dimen/deep_shortcut_padding_end</item>
|
|
||||||
<item name="android:drawableEnd">@drawable/deep_shortcuts_drag_handle</item>
|
|
||||||
<item name="android:drawablePadding">@dimen/deep_shortcut_drawable_padding</item>
|
|
||||||
<item name="android:textColor">#FF212121</item>
|
|
||||||
<item name="android:textSize">14sp</item>
|
|
||||||
<item name="android:fontFamily">sans-serif</item>
|
|
||||||
<item name="android:shadowRadius">0</item>
|
|
||||||
<item name="customShadows">false</item>
|
|
||||||
<item name="layoutHorizontal">true</item>
|
|
||||||
<item name="iconDisplay">shortcut_popup</item>
|
|
||||||
<item name="iconSizeOverride">@dimen/deep_shortcut_icon_size</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="Icon.DeepNotification">
|
|
||||||
<item name="android:gravity">start</item>
|
|
||||||
<item name="android:textAlignment">viewStart</item>
|
|
||||||
<item name="android:elevation">@dimen/deep_shortcuts_elevation</item>
|
|
||||||
<item name="android:textColor">#FF212121</item>
|
|
||||||
<item name="android:textSize">14sp</item>
|
|
||||||
<item name="android:fontFamily">sans-serif</item>
|
|
||||||
<item name="android:shadowRadius">0</item>
|
|
||||||
<item name="customShadows">false</item>
|
|
||||||
<item name="layoutHorizontal">true</item>
|
|
||||||
<item name="iconDisplay">shortcut_popup</item>
|
|
||||||
<item name="iconSizeOverride">@dimen/deep_shortcut_icon_size</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="Icon.DeepNotification.SubText">
|
|
||||||
<item name="android:textColor">#FF757575</item>
|
|
||||||
<item name="android:textSize">12sp</item>
|
|
||||||
<item name="android:paddingEnd">4dp</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Drop targets -->
|
<!-- Drop targets -->
|
||||||
|
@ -133,11 +86,11 @@
|
||||||
<item name="android:drawablePadding">7.5dp</item>
|
<item name="android:drawablePadding">7.5dp</item>
|
||||||
<item name="android:paddingLeft">16dp</item>
|
<item name="android:paddingLeft">16dp</item>
|
||||||
<item name="android:paddingRight">16dp</item>
|
<item name="android:paddingRight">16dp</item>
|
||||||
<item name="android:textColor">#FFFFFFFF</item>
|
<item name="android:textColor">@color/workspace_icon_text_color</item>
|
||||||
<item name="android:textSize">@dimen/drop_target_text_size</item>
|
<item name="android:textSize">@dimen/drop_target_text_size</item>
|
||||||
<item name="android:singleLine">true</item>
|
<item name="android:singleLine">true</item>
|
||||||
<item name="android:ellipsize">end</item>
|
<item name="android:ellipsize">end</item>
|
||||||
<item name="android:shadowColor">#FF000000</item>
|
<item name="android:shadowColor">@color/default_shadow_color_no_alpha</item>
|
||||||
<item name="android:shadowDx">0.0</item>
|
<item name="android:shadowDx">0.0</item>
|
||||||
<item name="android:shadowDy">1.0</item>
|
<item name="android:shadowDy">1.0</item>
|
||||||
<item name="android:shadowRadius">4.0</item>
|
<item name="android:shadowRadius">4.0</item>
|
||||||
|
|
|
@ -29,6 +29,7 @@ import android.view.ViewConfiguration;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.launcher3.config.FeatureFlags;
|
import com.android.launcher3.config.FeatureFlags;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The track and scrollbar that shows when you scroll the list.
|
* The track and scrollbar that shows when you scroll the list.
|
||||||
|
@ -102,7 +103,7 @@ public class BaseRecyclerViewFastScrollBar {
|
||||||
|
|
||||||
mThumbPaint = new Paint();
|
mThumbPaint = new Paint();
|
||||||
mThumbPaint.setAntiAlias(true);
|
mThumbPaint.setAntiAlias(true);
|
||||||
mThumbPaint.setColor(Utilities.getColorAccent(rv.getContext()));
|
mThumbPaint.setColor(Themes.getColorAccent(rv.getContext()));
|
||||||
mThumbPaint.setStyle(Paint.Style.FILL);
|
mThumbPaint.setStyle(Paint.Style.FILL);
|
||||||
|
|
||||||
mWidth = mMinWidth = res.getDimensionPixelSize(R.dimen.container_fastscroll_thumb_min_width);
|
mWidth = mMinWidth = res.getDimensionPixelSize(R.dimen.container_fastscroll_thumb_min_width);
|
||||||
|
|
|
@ -113,7 +113,7 @@ public class BubbleTextView extends TextView
|
||||||
|
|
||||||
TypedArray a = context.obtainStyledAttributes(attrs,
|
TypedArray a = context.obtainStyledAttributes(attrs,
|
||||||
R.styleable.BubbleTextView, defStyle, 0);
|
R.styleable.BubbleTextView, defStyle, 0);
|
||||||
mCustomShadowsEnabled = a.getBoolean(R.styleable.BubbleTextView_customShadows, true);
|
mCustomShadowsEnabled = a.getBoolean(R.styleable.BubbleTextView_customShadows, false);
|
||||||
mLayoutHorizontal = a.getBoolean(R.styleable.BubbleTextView_layoutHorizontal, false);
|
mLayoutHorizontal = a.getBoolean(R.styleable.BubbleTextView_layoutHorizontal, false);
|
||||||
mDeferShadowGenerationOnTouch =
|
mDeferShadowGenerationOnTouch =
|
||||||
a.getBoolean(R.styleable.BubbleTextView_deferShadowGeneration, false);
|
a.getBoolean(R.styleable.BubbleTextView_deferShadowGeneration, false);
|
||||||
|
@ -395,7 +395,7 @@ public class BubbleTextView extends TextView
|
||||||
}
|
}
|
||||||
|
|
||||||
// If text is transparent, don't draw any shadow
|
// If text is transparent, don't draw any shadow
|
||||||
if (getCurrentTextColor() == getResources().getColor(android.R.color.transparent)) {
|
if ((getCurrentTextColor() >> 24) == 0) {
|
||||||
getPaint().clearShadowLayer();
|
getPaint().clearShadowLayer();
|
||||||
super.draw(canvas);
|
super.draw(canvas);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -25,7 +25,6 @@ import android.graphics.Color;
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.support.v4.content.ContextCompat;
|
|
||||||
import android.support.v4.graphics.ColorUtils;
|
import android.support.v4.graphics.ColorUtils;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
@ -40,6 +39,7 @@ import com.android.launcher3.dynamicui.ExtractedColors;
|
||||||
import com.android.launcher3.logging.UserEventDispatcher;
|
import com.android.launcher3.logging.UserEventDispatcher;
|
||||||
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
|
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
|
||||||
import com.android.launcher3.userevent.nano.LauncherLogProto.Target;
|
import com.android.launcher3.userevent.nano.LauncherLogProto.Target;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
|
|
||||||
public class Hotseat extends FrameLayout
|
public class Hotseat extends FrameLayout
|
||||||
implements UserEventDispatcher.LogContainerProvider {
|
implements UserEventDispatcher.LogContainerProvider {
|
||||||
|
@ -70,7 +70,7 @@ public class Hotseat extends FrameLayout
|
||||||
mLauncher = Launcher.getLauncher(context);
|
mLauncher = Launcher.getLauncher(context);
|
||||||
mHasVerticalHotseat = mLauncher.getDeviceProfile().isVerticalBarLayout();
|
mHasVerticalHotseat = mLauncher.getDeviceProfile().isVerticalBarLayout();
|
||||||
mBackgroundColor = ColorUtils.setAlphaComponent(
|
mBackgroundColor = ColorUtils.setAlphaComponent(
|
||||||
ContextCompat.getColor(context, R.color.all_apps_container_color), 0);
|
Themes.getAttrColor(context, android.R.attr.colorPrimary), 0);
|
||||||
mBackground = new ColorDrawable(mBackgroundColor);
|
mBackground = new ColorDrawable(mBackgroundColor);
|
||||||
setBackground(mBackground);
|
setBackground(mBackground);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,6 @@ import android.content.pm.PackageInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.content.res.TypedArray;
|
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
import android.database.sqlite.SQLiteException;
|
import android.database.sqlite.SQLiteException;
|
||||||
|
@ -45,7 +44,6 @@ import android.os.UserHandle;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.ContextThemeWrapper;
|
|
||||||
|
|
||||||
import com.android.launcher3.compat.LauncherAppsCompat;
|
import com.android.launcher3.compat.LauncherAppsCompat;
|
||||||
import com.android.launcher3.compat.UserManagerCompat;
|
import com.android.launcher3.compat.UserManagerCompat;
|
||||||
|
@ -56,6 +54,7 @@ import com.android.launcher3.util.ComponentKey;
|
||||||
import com.android.launcher3.util.Preconditions;
|
import com.android.launcher3.util.Preconditions;
|
||||||
import com.android.launcher3.util.Provider;
|
import com.android.launcher3.util.Provider;
|
||||||
import com.android.launcher3.util.SQLiteCacheHelper;
|
import com.android.launcher3.util.SQLiteCacheHelper;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
import com.android.launcher3.util.Thunk;
|
import com.android.launcher3.util.Thunk;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -132,10 +131,9 @@ public class IconCache {
|
||||||
IconProvider.class, context, R.string.icon_provider_class);
|
IconProvider.class, context, R.string.icon_provider_class);
|
||||||
mWorkerHandler = new Handler(LauncherModel.getWorkerLooper());
|
mWorkerHandler = new Handler(LauncherModel.getWorkerLooper());
|
||||||
|
|
||||||
mActivityBgColor = context.getResources().getColor(R.color.quantum_panel_bg_color);
|
mActivityBgColor = Themes.getColorPrimary(context, R.style.LauncherTheme);
|
||||||
mPackageBgColor = Utilities.getAttrColor(
|
mPackageBgColor = Themes.getColorPrimary(context, R.style.WidgetContainerTheme);
|
||||||
new ContextThemeWrapper(context, R.style.WidgetContainerTheme),
|
|
||||||
android.R.attr.colorPrimary);
|
|
||||||
mLowResOptions = new BitmapFactory.Options();
|
mLowResOptions = new BitmapFactory.Options();
|
||||||
// Always prefer RGB_565 config for low res. If the bitmap has transparency, it will
|
// Always prefer RGB_565 config for low res. If the bitmap has transparency, it will
|
||||||
// automatically be loaded as ALPHA_8888.
|
// automatically be loaded as ALPHA_8888.
|
||||||
|
|
|
@ -25,6 +25,7 @@ import android.util.Log;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.android.launcher3.compat.LauncherAppsCompat;
|
import com.android.launcher3.compat.LauncherAppsCompat;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
|
|
||||||
public class InfoDropTarget extends UninstallDropTarget {
|
public class InfoDropTarget extends UninstallDropTarget {
|
||||||
|
|
||||||
|
@ -42,7 +43,7 @@ public class InfoDropTarget extends UninstallDropTarget {
|
||||||
protected void onFinishInflate() {
|
protected void onFinishInflate() {
|
||||||
super.onFinishInflate();
|
super.onFinishInflate();
|
||||||
// Get the hover color
|
// Get the hover color
|
||||||
mHoverColor = Utilities.getColorAccent(getContext());
|
mHoverColor = Themes.getColorAccent(getContext());
|
||||||
|
|
||||||
setDrawable(R.drawable.ic_info_launcher);
|
setDrawable(R.drawable.ic_info_launcher);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ import android.view.View.OnClickListener;
|
||||||
import com.android.launcher3.IconCache.ItemInfoUpdateReceiver;
|
import com.android.launcher3.IconCache.ItemInfoUpdateReceiver;
|
||||||
import com.android.launcher3.graphics.DrawableFactory;
|
import com.android.launcher3.graphics.DrawableFactory;
|
||||||
import com.android.launcher3.model.PackageItemInfo;
|
import com.android.launcher3.model.PackageItemInfo;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
|
|
||||||
public class PendingAppWidgetHostView extends LauncherAppWidgetHostView
|
public class PendingAppWidgetHostView extends LauncherAppWidgetHostView
|
||||||
implements OnClickListener, ItemInfoUpdateReceiver {
|
implements OnClickListener, ItemInfoUpdateReceiver {
|
||||||
|
@ -69,7 +70,7 @@ public class PendingAppWidgetHostView extends LauncherAppWidgetHostView
|
||||||
mDisabledForSafeMode = disabledForSafeMode;
|
mDisabledForSafeMode = disabledForSafeMode;
|
||||||
|
|
||||||
mPaint = new TextPaint();
|
mPaint = new TextPaint();
|
||||||
mPaint.setColor(Utilities.getAttrColor(getContext(), android.R.attr.textColorPrimary));
|
mPaint.setColor(Themes.getAttrColor(getContext(), android.R.attr.textColorPrimary));
|
||||||
mPaint.setTextSize(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX,
|
mPaint.setTextSize(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX,
|
||||||
mLauncher.getDeviceProfile().iconTextSizePx, getResources().getDisplayMetrics()));
|
mLauncher.getDeviceProfile().iconTextSizePx, getResources().getDisplayMetrics()));
|
||||||
setBackgroundResource(R.drawable.round_rect_primary);
|
setBackgroundResource(R.drawable.round_rect_primary);
|
||||||
|
|
|
@ -27,7 +27,6 @@ import android.content.pm.PackageManager;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.content.res.TypedArray;
|
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.Matrix;
|
import android.graphics.Matrix;
|
||||||
|
@ -608,17 +607,6 @@ public final class Utilities {
|
||||||
return c == null || c.isEmpty();
|
return c == null || c.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getColorAccent(Context context) {
|
|
||||||
return getAttrColor(context, android.R.attr.colorAccent);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getAttrColor(Context context, int attr) {
|
|
||||||
TypedArray ta = context.obtainStyledAttributes(new int[]{attr});
|
|
||||||
int colorAccent = ta.getColor(0, 0);
|
|
||||||
ta.recycle();
|
|
||||||
return colorAccent;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void sendCustomAccessibilityEvent(View target, int type, String text) {
|
public static void sendCustomAccessibilityEvent(View target, int type, String text) {
|
||||||
AccessibilityManager accessibilityManager = (AccessibilityManager)
|
AccessibilityManager accessibilityManager = (AccessibilityManager)
|
||||||
target.getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
|
target.getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
|
||||||
|
|
|
@ -464,10 +464,6 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
|
||||||
setLayoutParams(mlp);
|
setLayoutParams(mlp);
|
||||||
} else {
|
} else {
|
||||||
View navBarBg = findViewById(R.id.nav_bar_bg);
|
View navBarBg = findViewById(R.id.nav_bar_bg);
|
||||||
if (Utilities.isAtLeastO()) {
|
|
||||||
navBarBg.setBackgroundColor(getResources().getColor(
|
|
||||||
R.color.all_apps_light_navbar_color));
|
|
||||||
}
|
|
||||||
ViewGroup.LayoutParams navBarBgLp = navBarBg.getLayoutParams();
|
ViewGroup.LayoutParams navBarBgLp = navBarBg.getLayoutParams();
|
||||||
navBarBgLp.height = insets.bottom;
|
navBarBgLp.height = insets.bottom;
|
||||||
navBarBg.setLayoutParams(navBarBgLp);
|
navBarBg.setLayoutParams(navBarBgLp);
|
||||||
|
|
|
@ -7,7 +7,6 @@ import android.animation.AnimatorSet;
|
||||||
import android.animation.ArgbEvaluator;
|
import android.animation.ArgbEvaluator;
|
||||||
import android.animation.ObjectAnimator;
|
import android.animation.ObjectAnimator;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.support.v4.content.ContextCompat;
|
|
||||||
import android.support.v4.graphics.ColorUtils;
|
import android.support.v4.graphics.ColorUtils;
|
||||||
import android.support.v4.view.animation.FastOutSlowInInterpolator;
|
import android.support.v4.view.animation.FastOutSlowInInterpolator;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
@ -26,6 +25,7 @@ import com.android.launcher3.Utilities;
|
||||||
import com.android.launcher3.Workspace;
|
import com.android.launcher3.Workspace;
|
||||||
import com.android.launcher3.userevent.nano.LauncherLogProto.Action;
|
import com.android.launcher3.userevent.nano.LauncherLogProto.Action;
|
||||||
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
|
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
import com.android.launcher3.util.TouchController;
|
import com.android.launcher3.util.TouchController;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -102,7 +102,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
|
||||||
mProgress = 1f;
|
mProgress = 1f;
|
||||||
|
|
||||||
mEvaluator = new ArgbEvaluator();
|
mEvaluator = new ArgbEvaluator();
|
||||||
mAllAppsBackgroundColor = ContextCompat.getColor(l, R.color.all_apps_container_color);
|
mAllAppsBackgroundColor = Themes.getAttrColor(l, android.R.attr.colorPrimary);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -45,6 +45,7 @@ import com.android.launcher3.Workspace.ItemOperator;
|
||||||
import com.android.launcher3.dragndrop.DragController;
|
import com.android.launcher3.dragndrop.DragController;
|
||||||
import com.android.launcher3.keyboard.ViewGroupFocusHelper;
|
import com.android.launcher3.keyboard.ViewGroupFocusHelper;
|
||||||
import com.android.launcher3.pageindicators.PageIndicator;
|
import com.android.launcher3.pageindicators.PageIndicator;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
import com.android.launcher3.util.Thunk;
|
import com.android.launcher3.util.Thunk;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -107,7 +108,7 @@ public class FolderPagedView extends PagedView {
|
||||||
mIsRtl = Utilities.isRtl(getResources());
|
mIsRtl = Utilities.isRtl(getResources());
|
||||||
setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
|
setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
|
||||||
|
|
||||||
setEdgeGlowColor(getResources().getColor(R.color.folder_edge_effect_color));
|
setEdgeGlowColor(Themes.getAttrColor(context, android.R.attr.colorEdgeEffect));
|
||||||
mFocusIndicatorHelper = new ViewGroupFocusHelper(this);
|
mFocusIndicatorHelper = new ViewGroupFocusHelper(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ public class DrawableFactory {
|
||||||
if (mPreloadProgressPath == null) {
|
if (mPreloadProgressPath == null) {
|
||||||
mPreloadProgressPath = getPreloadProgressPath(context);
|
mPreloadProgressPath = getPreloadProgressPath(context);
|
||||||
}
|
}
|
||||||
return new PreloadIconDrawable(icon, mPreloadProgressPath);
|
return new PreloadIconDrawable(icon, mPreloadProgressPath, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,8 @@ import android.support.v4.graphics.ColorUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.launcher3.R;
|
import com.android.launcher3.R;
|
||||||
|
import com.android.launcher3.Utilities;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains colors based on the dominant color of an icon.
|
* Contains colors based on the dominant color of an icon.
|
||||||
|
@ -36,7 +38,6 @@ public class IconPalette {
|
||||||
|
|
||||||
private static final float MIN_PRELOAD_COLOR_SATURATION = 0.2f;
|
private static final float MIN_PRELOAD_COLOR_SATURATION = 0.2f;
|
||||||
private static final float MIN_PRELOAD_COLOR_LIGHTNESS = 0.6f;
|
private static final float MIN_PRELOAD_COLOR_LIGHTNESS = 0.6f;
|
||||||
private static final int DEFAULT_PRELOAD_COLOR = 0xFF009688;
|
|
||||||
|
|
||||||
public final int dominantColor;
|
public final int dominantColor;
|
||||||
public final int backgroundColor;
|
public final int backgroundColor;
|
||||||
|
@ -53,14 +54,14 @@ public class IconPalette {
|
||||||
/**
|
/**
|
||||||
* Returns a color suitable for the progress bar color of preload icon.
|
* Returns a color suitable for the progress bar color of preload icon.
|
||||||
*/
|
*/
|
||||||
public int getPreloadProgressColor() {
|
public int getPreloadProgressColor(Context context) {
|
||||||
int result = dominantColor;
|
int result = dominantColor;
|
||||||
|
|
||||||
// Make sure that the dominant color has enough saturation to be visible properly.
|
// Make sure that the dominant color has enough saturation to be visible properly.
|
||||||
float[] hsv = new float[3];
|
float[] hsv = new float[3];
|
||||||
Color.colorToHSV(result, hsv);
|
Color.colorToHSV(result, hsv);
|
||||||
if (hsv[1] < MIN_PRELOAD_COLOR_SATURATION) {
|
if (hsv[1] < MIN_PRELOAD_COLOR_SATURATION) {
|
||||||
result = DEFAULT_PRELOAD_COLOR;
|
result = Themes.getColorAccent(context);
|
||||||
} else {
|
} else {
|
||||||
hsv[2] = Math.max(MIN_PRELOAD_COLOR_LIGHTNESS, hsv[2]);
|
hsv[2] = Math.max(MIN_PRELOAD_COLOR_LIGHTNESS, hsv[2]);
|
||||||
result = Color.HSVToColor(hsv);
|
result = Color.HSVToColor(hsv);
|
||||||
|
|
|
@ -20,6 +20,7 @@ package com.android.launcher3.graphics;
|
||||||
import android.animation.Animator;
|
import android.animation.Animator;
|
||||||
import android.animation.AnimatorListenerAdapter;
|
import android.animation.AnimatorListenerAdapter;
|
||||||
import android.animation.ObjectAnimator;
|
import android.animation.ObjectAnimator;
|
||||||
|
import android.content.Context;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.graphics.Matrix;
|
import android.graphics.Matrix;
|
||||||
|
@ -75,6 +76,8 @@ public class PreloadIconDrawable extends FastBitmapDrawable {
|
||||||
private final Matrix mTmpMatrix = new Matrix();
|
private final Matrix mTmpMatrix = new Matrix();
|
||||||
private final PathMeasure mPathMeasure = new PathMeasure();
|
private final PathMeasure mPathMeasure = new PathMeasure();
|
||||||
|
|
||||||
|
private final Context mContext;
|
||||||
|
|
||||||
// Path in [0, 100] bounds.
|
// Path in [0, 100] bounds.
|
||||||
private final Path mProgressPath;
|
private final Path mProgressPath;
|
||||||
|
|
||||||
|
@ -100,8 +103,9 @@ public class PreloadIconDrawable extends FastBitmapDrawable {
|
||||||
/**
|
/**
|
||||||
* @param progressPath fixed path in the bounds [0, 0, 100, 100] representing a progress bar.
|
* @param progressPath fixed path in the bounds [0, 0, 100, 100] representing a progress bar.
|
||||||
*/
|
*/
|
||||||
public PreloadIconDrawable(Bitmap b, Path progressPath) {
|
public PreloadIconDrawable(Bitmap b, Path progressPath, Context context) {
|
||||||
super(b);
|
super(b);
|
||||||
|
mContext = context;
|
||||||
mProgressPath = progressPath;
|
mProgressPath = progressPath;
|
||||||
mScaledTrackPath = new Path();
|
mScaledTrackPath = new Path();
|
||||||
mScaledProgressPath = new Path();
|
mScaledProgressPath = new Path();
|
||||||
|
@ -262,7 +266,7 @@ public class PreloadIconDrawable extends FastBitmapDrawable {
|
||||||
setIsDisabled(true);
|
setIsDisabled(true);
|
||||||
} else if (mIndicatorColor == 0) {
|
} else if (mIndicatorColor == 0) {
|
||||||
// Update the indicator color
|
// Update the indicator color
|
||||||
mIndicatorColor = getIconPalette().getPreloadProgressColor();
|
mIndicatorColor = getIconPalette().getPreloadProgressColor(mContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (progress < 1 && progress > 0) {
|
if (progress < 1 && progress > 0) {
|
||||||
|
|
|
@ -24,6 +24,7 @@ import android.graphics.Path;
|
||||||
import android.graphics.PixelFormat;
|
import android.graphics.PixelFormat;
|
||||||
|
|
||||||
import com.android.launcher3.R;
|
import com.android.launcher3.R;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
|
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
|
|
||||||
|
@ -45,14 +46,15 @@ public class CaretDrawable extends Drawable {
|
||||||
final int strokeWidth = res.getDimensionPixelSize(R.dimen.all_apps_caret_stroke_width);
|
final int strokeWidth = res.getDimensionPixelSize(R.dimen.all_apps_caret_stroke_width);
|
||||||
final int shadowSpread = res.getDimensionPixelSize(R.dimen.all_apps_caret_shadow_spread);
|
final int shadowSpread = res.getDimensionPixelSize(R.dimen.all_apps_caret_shadow_spread);
|
||||||
|
|
||||||
mCaretPaint.setColor(res.getColor(R.color.all_apps_caret_color));
|
mCaretPaint.setColor(res.getColor(R.color.workspace_icon_text_color));
|
||||||
mCaretPaint.setAntiAlias(true);
|
mCaretPaint.setAntiAlias(true);
|
||||||
mCaretPaint.setStrokeWidth(strokeWidth);
|
mCaretPaint.setStrokeWidth(strokeWidth);
|
||||||
mCaretPaint.setStyle(Paint.Style.STROKE);
|
mCaretPaint.setStyle(Paint.Style.STROKE);
|
||||||
mCaretPaint.setStrokeCap(Paint.Cap.SQUARE);
|
mCaretPaint.setStrokeCap(Paint.Cap.SQUARE);
|
||||||
mCaretPaint.setStrokeJoin(Paint.Join.MITER);
|
mCaretPaint.setStrokeJoin(Paint.Join.MITER);
|
||||||
|
|
||||||
mShadowPaint.setColor(res.getColor(R.color.all_apps_caret_shadow_color));
|
mShadowPaint.setColor(res.getColor(R.color.default_shadow_color_no_alpha));
|
||||||
|
mShadowPaint.setAlpha(Themes.getAlpha(context, android.R.attr.spotShadowAlpha));
|
||||||
mShadowPaint.setAntiAlias(true);
|
mShadowPaint.setAntiAlias(true);
|
||||||
mShadowPaint.setStrokeWidth(strokeWidth + (shadowSpread * 2));
|
mShadowPaint.setStrokeWidth(strokeWidth + (shadowSpread * 2));
|
||||||
mShadowPaint.setStyle(Paint.Style.STROKE);
|
mShadowPaint.setStyle(Paint.Style.STROKE);
|
||||||
|
|
|
@ -37,6 +37,7 @@ import android.view.animation.OvershootInterpolator;
|
||||||
|
|
||||||
import com.android.launcher3.R;
|
import com.android.launcher3.R;
|
||||||
import com.android.launcher3.Utilities;
|
import com.android.launcher3.Utilities;
|
||||||
|
import com.android.launcher3.util.Themes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link PageIndicator} which shows dots per page. The active page is shown with the current
|
* {@link PageIndicator} which shows dots per page. The active page is shown with the current
|
||||||
|
@ -111,8 +112,8 @@ public class PageIndicatorDots extends PageIndicator {
|
||||||
mDotRadius = getResources().getDimension(R.dimen.page_indicator_dot_size) / 2;
|
mDotRadius = getResources().getDimension(R.dimen.page_indicator_dot_size) / 2;
|
||||||
setOutlineProvider(new MyOutlineProver());
|
setOutlineProvider(new MyOutlineProver());
|
||||||
|
|
||||||
mActiveColor = Utilities.getColorAccent(context);
|
mActiveColor = Themes.getColorAccent(context);
|
||||||
mInActiveColor = getResources().getColor(R.color.page_indicator_dot_color);
|
mInActiveColor = Themes.getAttrColor(context, android.R.attr.colorControlHighlight);
|
||||||
|
|
||||||
mIsRtl = Utilities.isRtl(getResources());
|
mIsRtl = Utilities.isRtl(getResources());
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.launcher3.util;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.res.TypedArray;
|
||||||
|
import android.view.ContextThemeWrapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Various utility methods associated with theming.
|
||||||
|
*/
|
||||||
|
public class Themes {
|
||||||
|
|
||||||
|
public static int getColorAccent(Context context) {
|
||||||
|
return getAttrColor(context, android.R.attr.colorAccent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getColorPrimary(Context context, int theme) {
|
||||||
|
return getAttrColor(new ContextThemeWrapper(context, theme), android.R.attr.colorPrimary);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getAttrColor(Context context, int attr) {
|
||||||
|
TypedArray ta = context.obtainStyledAttributes(new int[]{attr});
|
||||||
|
int colorAccent = ta.getColor(0, 0);
|
||||||
|
ta.recycle();
|
||||||
|
return colorAccent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the alpha corresponding to the theme attribute {@param attr}, in the range [0, 255].
|
||||||
|
*/
|
||||||
|
public static int getAlpha(Context context, int attr) {
|
||||||
|
TypedArray ta = context.obtainStyledAttributes(new int[]{attr});
|
||||||
|
float alpha = ta.getFloat(0, 0);
|
||||||
|
ta.recycle();
|
||||||
|
return (int) (255 * alpha + 0.5f);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue