Merge tag 'android-15.0.0_r6' of https://android.googlesource.com/platform/packages/apps/Contacts into HEAD
Android 15.0.0 Release 6 (AP4A.241205.013)
Change-Id: Ie322e56339b2b9386cc8c0fe327469b4ecc4e51c
# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ1IssgAKCRDorT+BmrEO
# eGpNAJ9YzB31hY+Fkng6t2P18xhS+MxUpACeIr356Z5imgBxiriH0rXVZ6U+0o0=
# =80JQ
# -----END PGP SIGNATURE-----
# gpg: Signature faite le jeu 05 déc 2024 17:44:02 EST
# gpg: avec la clef DSA 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Impossible de vérifier la signature : Pas de clef publique
diff --git a/res/drawable/background_primary_background.xml b/res/drawable/background_primary_background.xml
new file mode 100644
index 0000000..4f86159
--- /dev/null
+++ b/res/drawable/background_primary_background.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <solid android:color="@color/background_primary" />
+ <corners
+ android:topLeftRadius="@dimen/quickcontact_edge_radius"
+ android:topRightRadius="@dimen/quickcontact_edge_radius" />
+</shape>
\ No newline at end of file
diff --git a/res/drawable/omni_fab.xml b/res/drawable/omni_fab.xml
new file mode 100644
index 0000000..120812b
--- /dev/null
+++ b/res/drawable/omni_fab.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="60dp"
+ android:height="60dp"
+ android:viewportWidth="60"
+ android:viewportHeight="60"
+ android:tint="@color/material_star_pink" >
+ <group
+ android:translateX="-73.176193"
+ android:translateY="-117.71072">
+ <path
+ android:fillColor="#000000"
+ android:strokeWidth="0.30393162"
+ android:pathData="M 132.80953,147.71072 a 29.633333,29.633333 0 0 1 -29.63334,29.63334 29.633333,29.633333 0 0 1 -29.63333,-29.63334 29.633333,29.633333 0 0 1 29.63333,-29.63333 29.633333,29.633333 0 0 1 29.63334,29.63333 z" />
+ </group>
+</vector>
diff --git a/res/drawable/quantum_ic_add_vd_white_24.xml b/res/drawable/quantum_ic_add_vd_white_24.xml
new file mode 100644
index 0000000..ae40abe
--- /dev/null
+++ b/res/drawable/quantum_ic_add_vd_white_24.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
+</vector>
diff --git a/res/drawable/quantum_launchscreen_contacts.xml b/res/drawable/quantum_launchscreen_contacts.xml
index 276b2da..ba5b5cc 100755
--- a/res/drawable/quantum_launchscreen_contacts.xml
+++ b/res/drawable/quantum_launchscreen_contacts.xml
@@ -16,7 +16,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque">
- <item android:drawable="@android:color/white" />
+ <item android:drawable="@color/background_primary" />
<item
android:id="@+id/launchscreens_product_logo"
android:bottom="@dimen/launchscreens_product_logo_bottom">
diff --git a/res/drawable/thumb.xml b/res/drawable/thumb.xml
new file mode 100644
index 0000000..f0962cd
--- /dev/null
+++ b/res/drawable/thumb.xml
@@ -0,0 +1,28 @@
+<?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.
+ -->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+
+ <corners
+ android:topLeftRadius="8dp"
+ android:topRightRadius="8dp"
+ android:bottomLeftRadius="8dp"
+ android:bottomRightRadius="8dp"/>
+ <size android:height="48dp" android:width="8dp"/>
+ <solid android:color="@color/primary_color" />
+
+</shape>
diff --git a/res/drawable/thumb_default.xml b/res/drawable/thumb_default.xml
new file mode 100644
index 0000000..4ab2445
--- /dev/null
+++ b/res/drawable/thumb_default.xml
@@ -0,0 +1,26 @@
+<?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.
+ -->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <corners
+ android:topLeftRadius="8dp"
+ android:topRightRadius="8dp"
+ android:bottomLeftRadius="8dp"
+ android:bottomRightRadius="8dp"/>
+ <size android:height="48dp" android:width="8dp"/>
+ <solid android:color="@color/secondary_text_color" />
+</shape>
diff --git a/res/drawable/thumb_drawable.xml b/res/drawable/thumb_drawable.xml
new file mode 100644
index 0000000..530dd4a
--- /dev/null
+++ b/res/drawable/thumb_drawable.xml
@@ -0,0 +1,24 @@
+<?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.
+ -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:state_pressed="true"
+ android:drawable="@drawable/thumb"/>
+
+ <item
+ android:drawable="@drawable/thumb_default"/>
+</selector>
diff --git a/res/layout/account_selector_list_item_condensed.xml b/res/layout/account_selector_list_item_condensed.xml
index ae91726..b0e8ceb 100644
--- a/res/layout/account_selector_list_item_condensed.xml
+++ b/res/layout/account_selector_list_item_condensed.xml
@@ -17,6 +17,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="72dp"
+ android:background="@color/navigation_drawer_background_color"
android:orientation="horizontal">
<ImageView android:id="@android:id/icon"
android:layout_width="@dimen/detail_network_icon_size"
diff --git a/res/layout/contact_editor_accounts_changed_activity_with_picker.xml b/res/layout/contact_editor_accounts_changed_activity_with_picker.xml
index 0faea20..794337f 100644
--- a/res/layout/contact_editor_accounts_changed_activity_with_picker.xml
+++ b/res/layout/contact_editor_accounts_changed_activity_with_picker.xml
@@ -47,6 +47,7 @@
<Button
android:id="@+id/add_account_button"
style="?android:attr/buttonBarButtonStyle"
+ android:textColor="@color/quantum_black_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="24dp"
diff --git a/res/layout/contact_list_content.xml b/res/layout/contact_list_content.xml
index 901e04c..416bba6 100644
--- a/res/layout/contact_list_content.xml
+++ b/res/layout/contact_list_content.xml
@@ -45,7 +45,7 @@
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:layout_weight="1"
- android:textColor="@android:color/black"
+ android:textColor="@color/quantum_black_text"
android:textSize="16sp"/>
<ImageView
diff --git a/res/layout/date_picker.xml b/res/layout/date_picker.xml
index c700f9e..32ff0d3 100644
--- a/res/layout/date_picker.xml
+++ b/res/layout/date_picker.xml
@@ -25,18 +25,9 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_gravity="center_horizontal"
- android:layout_width="270dip"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content">
- <CheckBox
- android:id="@+id/yearToggle"
- android:text="@string/date_year_toggle"
- android:paddingTop="5dip"
- android:paddingBottom="5dip"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:layout_gravity="center_horizontal"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
<!-- Warning: everything within the parent is removed and re-ordered depending
on the date format selected by the user. -->
<LinearLayout
@@ -85,4 +76,12 @@
android:focusableInTouchMode="true"
/>
</LinearLayout>
+
+ <CheckBox
+ android:id="@+id/yearToggle"
+ android:text="@string/date_year_toggle"
+ android:padding="10dip"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="?android:attr/textColorPrimary" />
</LinearLayout>
diff --git a/res/layout/dialog_title.xml b/res/layout/dialog_title.xml
index 45f5f73..f1b6854 100644
--- a/res/layout/dialog_title.xml
+++ b/res/layout/dialog_title.xml
@@ -18,7 +18,6 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:paddingTop="18dp"
android:paddingStart="24dp"
android:paddingEnd="24dp"
android:textSize="20sp"
@@ -26,4 +25,4 @@
android:textAlignment="viewStart"
android:fontFamily="sans-serif-medium"
android:ellipsize="end"
-/>
\ No newline at end of file
+/>
diff --git a/res/layout/drawer_fragment.xml b/res/layout/drawer_fragment.xml
index bd55d6a..5af2c95 100644
--- a/res/layout/drawer_fragment.xml
+++ b/res/layout/drawer_fragment.xml
@@ -23,12 +23,36 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
-
- <ListView
- android:id="@+id/list"
- android:background="@color/navigation_drawer_background_color"
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:clipToPadding="false"
- android:divider="@null" />
+ android:orientation="vertical" >
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="84dp"
+ android:orientation="vertical"
+ android:background="@color/actionbar_background_color" >
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:text="@string/applicationLabel"
+ android:textColor="@android:color/white"
+ android:paddingTop="40dp"
+ android:paddingStart="18dp"
+ style="@style/ContactsActionBarTitleText" />
+
+ </LinearLayout>
+
+ <ListView
+ android:id="@+id/list"
+ android:background="@color/navigation_drawer_background_color"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipToPadding="false"
+ android:divider="@null" />
+
+ </LinearLayout>
</FrameLayout>
diff --git a/res/layout/expanding_entry_card_item.xml b/res/layout/expanding_entry_card_item.xml
index dbbeee5..5f6a9ce 100644
--- a/res/layout/expanding_entry_card_item.xml
+++ b/res/layout/expanding_entry_card_item.xml
@@ -18,6 +18,7 @@
class="com.android.contacts.quickcontact.ExpandingEntryCardView$EntryView"
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/SelectableItem"
+ android:background="@color/expanding_entry_card_background_color"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/expanding_entry_card_item_padding_start"
diff --git a/res/layout/expanding_entry_card_view.xml b/res/layout/expanding_entry_card_view.xml
index 7eacd1f..f57a851 100644
--- a/res/layout/expanding_entry_card_view.xml
+++ b/res/layout/expanding_entry_card_view.xml
@@ -17,6 +17,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
+ android:background="@color/expanding_entry_card_background_color"
android:id="@+id/container">
<TextView
@@ -43,4 +44,4 @@
android:layout_height="wrap_content"
android:orientation="vertical" />
-</LinearLayout>
\ No newline at end of file
+</LinearLayout>
diff --git a/res/layout/floating_action_button.xml b/res/layout/floating_action_button.xml
index a31512f..e76962a 100644
--- a/res/layout/floating_action_button.xml
+++ b/res/layout/floating_action_button.xml
@@ -26,7 +26,7 @@
android:layout_gravity="bottom|end"
android:layout_marginBottom="@dimen/floating_action_button_margin_bottom"
android:layout_marginEnd="@dimen/floating_action_button_margin_right"
- android:background="@drawable/fab_pink"
+ android:background="@drawable/omni_fab"
android:elevation="@dimen/design_fab_elevation"
app:layout_dodgeInsetEdges="bottom" >
@@ -36,6 +36,6 @@
android:layout_height="match_parent"
android:background="@drawable/floating_action_button"
android:contentDescription="@string/action_menu_add_new_contact_button"
- android:src="@drawable/quantum_ic_add_vd_theme_24"
- android:tint="@color/floating_action_button_icon_color"/>
-</FrameLayout>
\ No newline at end of file
+ android:src="@drawable/quantum_ic_add_vd_white_24"
+ app:tint="@color/floating_action_button_icon_color"/>
+</FrameLayout>
diff --git a/res/layout/group_membership_list_item.xml b/res/layout/group_membership_list_item.xml
index 19e8d80..7382f27 100644
--- a/res/layout/group_membership_list_item.xml
+++ b/res/layout/group_membership_list_item.xml
@@ -25,4 +25,5 @@
android:paddingRight="6dip"
android:paddingStart="6dip"
android:paddingEnd="6dip"
+ android:background="@color/navigation_drawer_background_color"
/>
diff --git a/res/layout/quickcontact_activity.xml b/res/layout/quickcontact_activity.xml
index c3b035d..81d2243 100644
--- a/res/layout/quickcontact_activity.xml
+++ b/res/layout/quickcontact_activity.xml
@@ -51,4 +51,4 @@
this title can not be inside @style/quickcontact_header. -->
<include layout="@layout/quickcontact_title_and_phoneticname" />
-</com.android.contacts.widget.MultiShrinkScroller>
\ No newline at end of file
+</com.android.contacts.widget.MultiShrinkScroller>
diff --git a/res/layout/quickcontact_collapsed_suggestion_card.xml b/res/layout/quickcontact_collapsed_suggestion_card.xml
index ac2ec49..e68342e 100644
--- a/res/layout/quickcontact_collapsed_suggestion_card.xml
+++ b/res/layout/quickcontact_collapsed_suggestion_card.xml
@@ -30,7 +30,7 @@
<ImageView
android:src="@drawable/quantum_ic_assistant_vd_theme_24"
- android:tint="@color/editor_icon_color"
+ android:tint="@color/dialtacts_secondary_text_color"
android:layout_width="@dimen/quickcontact_collapse_icon_size"
android:layout_height="@dimen/quickcontact_collapse_icon_size"
android:layout_margin="@dimen/quickcontact_collapse_image_padding"
@@ -61,4 +61,4 @@
android:paddingBottom="@dimen/editor_round_button_padding_bottom"/>
</LinearLayout>>
-</androidx.cardview.widget.CardView>
\ No newline at end of file
+</androidx.cardview.widget.CardView>
diff --git a/res/layout/quickcontact_content.xml b/res/layout/quickcontact_content.xml
index b6cff4b..bbdfe01 100644
--- a/res/layout/quickcontact_content.xml
+++ b/res/layout/quickcontact_content.xml
@@ -20,7 +20,7 @@
android:layout_height="match_parent"
android:fillViewport="true"
android:id="@+id/content_scroller"
- android:background="@color/card_margin_color">
+ android:background="@drawable/background_primary_background">
<!-- All the cards should be inserted into this LinearLayout -->
<LinearLayout
@@ -28,6 +28,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="@dimen/first_card_marginTop"
+ android:background="@drawable/background_primary_background"
android:id="@+id/card_container" >
<com.android.contacts.quickcontact.ExpandingEntryCardView
@@ -65,4 +66,4 @@
</LinearLayout>
-</com.android.contacts.widget.TouchlessScrollView>
\ No newline at end of file
+</com.android.contacts.widget.TouchlessScrollView>
diff --git a/res/layout/select_dialog_item.xml b/res/layout/select_dialog_item.xml
index 05f2ae5..7d0cd81 100644
--- a/res/layout/select_dialog_item.xml
+++ b/res/layout/select_dialog_item.xml
@@ -39,6 +39,7 @@
android:gravity="start|center_vertical"
android:textAlignment="viewStart"
android:textAppearance="?android:textAppearanceListItem"
+ android:textColor="@color/quantum_black_text"
android:textSize="16sp"/>
<TextView
@@ -49,6 +50,6 @@
android:gravity="center_vertical|start"
android:textAlignment="viewStart"
android:textAppearance="?android:textAppearanceListItemSecondary"
- android:textColor="?android:textColorSecondary"
+ android:textColor="@color/quantum_black_secondary_text"
/>
-</LinearLayout>
\ No newline at end of file
+</LinearLayout>
diff --git a/res/layout/select_dialog_item_single.xml b/res/layout/select_dialog_item_single.xml
new file mode 100644
index 0000000..5ebd333
--- /dev/null
+++ b/res/layout/select_dialog_item_single.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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.
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/text1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="?android:attr/listPreferredItemHeightSmall"
+ android:textAppearance="?android:attr/textAppearanceListItemSmall"
+ android:textColor="@color/contacts_text_color"
+ android:gravity="center_vertical"
+ android:paddingStart="24dp"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:ellipsize="marquee" />
diff --git a/res/layout/selection_bar.xml b/res/layout/selection_bar.xml
index 272a2fc..76e2358 100644
--- a/res/layout/selection_bar.xml
+++ b/res/layout/selection_bar.xml
@@ -25,7 +25,7 @@
android:layout_width="@dimen/selection_bar_close_icon_size"
android:layout_height="@dimen/selection_bar_close_icon_size"
android:layout_gravity="center_vertical|start"
- android:tint="@color/quantum_black_secondary_text"
+ android:tint="@color/actionbar_text_color_black"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/action_menu_back_from_edit_select"
android:src="@drawable/quantum_ic_close_vd_theme_24"/>
diff --git a/res/mipmap-anydpi-v26/ic_contacts_launcher.xml b/res/mipmap-anydpi-v26/ic_contacts_launcher.xml
new file mode 100644
index 0000000..a36b29f
--- /dev/null
+++ b/res/mipmap-anydpi-v26/ic_contacts_launcher.xml
@@ -0,0 +1,19 @@
+<?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.
+-->
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+ <background android:drawable="@color/ic_contacts_launcher_background"/>
+ <foreground android:drawable="@mipmap/ic_contacts_launcher_foreground"/>
+</adaptive-icon>
diff --git a/res/mipmap-hdpi/ic_contacts_launcher_foreground.png b/res/mipmap-hdpi/ic_contacts_launcher_foreground.png
new file mode 100644
index 0000000..8088777
--- /dev/null
+++ b/res/mipmap-hdpi/ic_contacts_launcher_foreground.png
Binary files differ
diff --git a/res/mipmap-mdpi/ic_contacts_launcher_foreground.png b/res/mipmap-mdpi/ic_contacts_launcher_foreground.png
new file mode 100644
index 0000000..abea159
--- /dev/null
+++ b/res/mipmap-mdpi/ic_contacts_launcher_foreground.png
Binary files differ
diff --git a/res/mipmap-xhdpi/ic_contacts_launcher_foreground.png b/res/mipmap-xhdpi/ic_contacts_launcher_foreground.png
new file mode 100644
index 0000000..1fb6752
--- /dev/null
+++ b/res/mipmap-xhdpi/ic_contacts_launcher_foreground.png
Binary files differ
diff --git a/res/mipmap-xxhdpi/ic_contacts_launcher_foreground.png b/res/mipmap-xxhdpi/ic_contacts_launcher_foreground.png
new file mode 100644
index 0000000..f1be7b1
--- /dev/null
+++ b/res/mipmap-xxhdpi/ic_contacts_launcher_foreground.png
Binary files differ
diff --git a/res/mipmap-xxxhdpi/ic_contacts_launcher_foreground.png b/res/mipmap-xxxhdpi/ic_contacts_launcher_foreground.png
new file mode 100644
index 0000000..4b1a4b4
--- /dev/null
+++ b/res/mipmap-xxxhdpi/ic_contacts_launcher_foreground.png
Binary files differ
diff --git a/res/values-night-v31/colors.xml b/res/values-night-v31/colors.xml
new file mode 100644
index 0000000..45d6128
--- /dev/null
+++ b/res/values-night-v31/colors.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+<resources>
+ <color name="primary_color_dark">@android:color/system_accent1_600</color>
+ <color name="primary_color">@android:color/system_accent1_600</color>
+ <color name="group_primary_color_dark">@android:color/system_accent2_600</color>
+ <color name="group_primary_color">@android:color/system_accent2_600</color>
+ <color name="contacts_accent_color">@color/primary_color</color>
+ <color name="floating_action_button_icon_color">@android:color/white</color>
+ <color name="material_star_pink">@color/primary_color</color>
+ <color name="frequently_contacted_title_color">@color/primary_color</color>
+ <color name="people_app_theme_color">@color/primary_color</color>
+ <color name="dialtacts_theme_color">@color/primary_color</color>
+ <color name="action_bar_background">@color/primary_color</color>
+ <color name="actionbar_background_color">@color/primary_color</color>
+ <color name="contextual_selection_bar_color">@color/primary_color</color>
+ <color name="swipe_refresh_color1">@color/primary_color</color>
+ <color name="contextual_selection_bar_status_bar_color">@color/primary_color</color>
+ <color name="quickcontact_default_photo_tint_color">@color/primary_color</color>
+ <color name="ic_contacts_launcher_background">@android:color/system_accent1_600</color>
+ <color name="background_primary">@android:color/system_neutral1_900</color>
+ <color name="contact_all_list_background_color">@android:color/system_neutral1_900</color>
+ <color name="actionbar_text_color">@android:color/white</color>
+ <color name="actionbar_icon_color_grey">#8C000000</color>
+ <color name="actionbar_text_color_black">#DF000000</color>
+ <color name="actionbar_color_grey_solid">#777777</color>
+ <color name="searchbox_text_color">@color/omni_text1</color>
+ <color name="searchbox_background_color">@color/background_primary</color>
+ <color name="searchbox_hint_text_color">#66000000</color>
+ <color name="search_shortcut_icon_color">@color/dialtacts_theme_color</color>
+ <color name="expanding_entry_card_background_color">@android:color/system_neutral1_800</color>
+ <color name="divider_line_color_light">@android:color/system_neutral1_700</color>
+</resources>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
new file mode 100644
index 0000000..ca6cc82
--- /dev/null
+++ b/res/values-night/colors.xml
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The OmniROm 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.
+-->
+<resources>
+ <color name="omni_color5">@*android:color/accent_device_default_light</color>
+ <color name="omni_color4">@*android:color/accent_device_default_dark</color>
+ <color name="omni_color3">#80eeeeee</color>
+ <color name="omni_color1">@*android:color/primary_dark_device_default_settings</color>
+ <color name="omni_color2">@*android:color/primary_device_default_settings</color>
+ <color name="omni_color7">@*android:color/background_floating_device_default_dark</color>
+ <color name="omni_text1">#ffffffff</color>
+ <color name="omni_text2">#ffeeeeee</color>
+ <color name="omni_text3">#eeeeeeee</color>
+
+ <color name="ic_add_contact_shortcut_background">@color/omni_color2</color>
+
+ <!-- 87% black -->
+ <color name="quantum_black_text">@color/omni_text1</color>
+
+ <!-- 54% black -->
+ <color name="quantum_black_secondary_text">@color/omni_text2</color>
+
+ <!-- 38% black -->
+ <color name="quantum_black_hint_text">@color/omni_text3</color>
+
+ <color name="quickcontact_entry_sub_header_text_color">@color/omni_text2</color>
+ <color name="quickcontact_entry_header_text_color">@color/omni_text1</color>
+
+ <color name="action_bar_background">@color/omni_color5</color>
+
+ <color name="actionbar_background_color">@color/omni_color5</color>
+
+ <color name="contextual_selection_bar_color">@color/omni_color5</color>
+ <!-- Color of the status bar above the contextual selection bar. -->
+ <color name="contextual_selection_bar_status_bar_color">@color/omni_color4</color>
+
+ <color name="primary_color_dark">@color/omni_color5</color>
+ <color name="primary_color">@color/omni_color5</color>
+
+ <color name="group_primary_color_dark">@color/omni_color5</color>
+ <color name="group_primary_color">@color/omni_color5</color>
+
+ <!-- Color of the selected tab underline -->
+ <color name="contacts_accent_color">@color/omni_color2</color>
+
+ <color name="floating_action_button_icon_color">@color/omni_color2</color>
+
+ <!-- Horizontal separator line should be 12% dark in the light theme. -->
+ <color name="divider_line_color_light">#80808080</color>
+
+ <!-- Color of the text on an ExpandingEntryCard button -->
+ <color name="expanding_entry_card_button_text_color">@color/omni_text1</color>
+
+ <!-- Background color for an ExpandingEntryCard (LAST) -->
+ <color name="expanding_entry_card_background_color">@color/omni_color2</color>
+
+ <!-- Color of the margin for cards -->
+ <color name="card_margin_color">@color/omni_color1</color>
+
+ <!-- Background color of pinned header items. -->
+ <color name="list_item_pinned_header_color">@color/omni_color1</color>
+
+ <!-- Color of disabled text and unfocused hint text inside the contact editor. 25% black. -->
+ <color name="editor_disabled_text_color">@color/omni_text3</color>
+
+ <!-- Color of text of people names in contact list when item is disabled. 30% black -->
+ <color name="disabled_contact_list_name_text">@color/omni_text3</color>
+
+ <!-- Color of background of all empty states. -->
+ <color name="empty_state_background">@color/omni_color1</color>
+
+ <!-- Colors of swipeRefreshLayout's spinning circle. -->
+ <color name="swipe_refresh_color1">@color/omni_color5</color>
+ <color name="swipe_refresh_color2">@color/omni_color2</color>
+ <color name="swipe_refresh_color3">@color/omni_color3</color>
+ <color name="swipe_refresh_color4">#777777</color>
+
+ <!-- Divider color for header separator -->
+ <color name="primary_text_color">@color/omni_text1</color>
+
+ <color name="secondary_text_color">@color/omni_text2</color>
+
+ <!-- Color of the theme of the People app -->
+ <color name="people_app_theme_color">@color/omni_color5</color>
+
+ <!-- Color of the theme of the Dialer app -->
+ <color name="dialtacts_theme_color">@color/omni_color5</color>
+
+ <!-- Text color for section header. -->
+ <color name="section_header_text_color">@color/omni_text1</color>
+
+ <!-- Color of image view placeholder. -->
+ <color name="image_placeholder">#222222</color>
+
+ <!-- Primary text color in the Phone app -->
+ <color name="dialtacts_primary_text_color">@color/omni_text1</color>
+
+ <!-- Secondary text color in the Phone app -->
+ <color name="dialtacts_secondary_text_color">@color/omni_text2</color>
+
+ <color name="shortcut_overlay_text_background">#7f000000</color>
+
+ <color name="textColorIconOverlay">#fff</color>
+ <color name="textColorIconOverlayShadow">#000</color>
+
+ <!-- Background colors for LetterTileDrawables. This set of colors is a subset of
+ https://spec.googleplex.com/quantumpalette#extended which passes Google Accessibility
+ Requirements for the color in question on white with >= 3.0 contrast. We used
+ http://leaverou.github.io/contrast-ratio/#white-on-%23db4437 to double-check the contrast.
+ These colors are also used by MaterialColorMapUtils to generate primary activity colors.
+ -->
+ <array name="letter_tile_colors">
+ <item>#8c2b23</item>
+ <item>#af164a</item>
+ <item>#51d847</item>
+ <item>#4e2b8c</item>
+ <item>#2e3b84</item>
+ <item>#2d5dad</item>
+ <item>#0071a8</item>
+ <item>#0f5d66</item>
+ <item>#02665c</item>
+ <item>#0b7743</item>
+ <item>#507a2c</item>
+ <item>#af4f00</item>
+ <item>#cc451a</item>
+ <item>#595959</item>
+ </array>
+
+ <!-- Darker versions of letter_tile_colors, two shades darker. These colors are used
+ for settings secondary activity colors. -->
+ <array name="letter_tile_colors_dark">
+ <item>#8c2b23</item>
+ <item>#af164a</item>
+ <item>#51d847</item>
+ <item>#4e2b8c</item>
+ <item>#2e3b84</item>
+ <item>#2d5dad</item>
+ <item>#0071a8</item>
+ <item>#0f5d66</item>
+ <item>#02665c</item>
+ <item>#0b7743</item>
+ <item>#507a2c</item>
+ <item>#af4f00</item>
+ <item>#cc451a</item>
+ <item>#595959</item>
+ </array>
+
+ <!-- The default color used for tinting photos when no color can be extracted via Palette,
+ this is Blue Grey 500 -->
+ <color name="quickcontact_default_photo_tint_color">@color/omni_color4</color>
+ <!-- The default secondary color when no color can be extracted via Palette,
+ this is Blue Grey 700 -->
+ <color name="quickcontact_default_photo_tint_color_dark">@color/omni_color2</color>
+
+ <!-- Color of the title to the Frequently Contacted section -->
+ <color name="frequently_contacted_title_color">@color/omni_color5</color>
+
+ <!-- Text color of the search box text as entered by user -->
+ <color name="searchbox_text_color">@color/omni_text1</color>
+ <!-- Background color of the search box -->
+ <color name="searchbox_background_color">@color/omni_color2</color>
+
+ <color name="searchbox_hint_text_color">@color/omni_text2</color>
+
+ <color name="search_shortcut_icon_color">@color/omni_color7</color>
+
+ <!-- Color of the background of the contact detail and editor pages -->
+ <color name="background_primary">@color/omni_color1</color>
+ <color name="contact_all_list_background_color">@color/omni_color2</color>
+
+ <!-- Text color used for character counter when the max limit has been exceeded -->
+ <color name="call_subject_limit_exceeded">#d1041c</color>
+
+ <!-- Tint color for the call subject history icon. -->
+ <color name="call_subject_history_icon">#ffffff</color>
+
+ <!-- Text color for the SEND & CALL button on the call subject dialog. -->
+ <color name="call_subject_button">#00c853</color>
+
+ <!-- Background color for the call subject history view. -->
+ <color name="call_subject_history_background">@color/omni_color1</color>
+ <color name="search_video_call_icon_tint">@color/omni_text3</color>
+
+ <!-- Text color for an action in a snackbar. -->
+ <color name="snackbar_action_text">@color/omni_text1</color>
+ <!-- Background color for a snackbar. -->
+ <color name="snackbar_background">@color/omni_color1</color>
+
+ <!-- Color of account/custom filters -->
+ <color name="account_filter_text_color">@color/omni_text1</color>
+ <color name="custom_filter_divider">#0b0b0b</color>
+
+ <color name="material_star_pink">@color/omni_color5</color>
+
+ <!-- Primary text color in Contacts app -->
+ <color name="contacts_text_color">@color/omni_text1</color>
+
+ <!-- tint color for device account icons -->
+ <color name="device_account_tint_color">#7f7f7f</color>
+
+ <!-- Background color for sync-off alert. -->
+ <color name="alert_background">@color/omni_color7</color>
+
+ <!-- Divider color in navigation drawer -->
+ <color name="drawer_divider_color">@color/omni_color2</color>
+
+ <!-- Background color for the navigation drawer -->
+ <color name="navigation_drawer_background_color">@color/omni_color2</color>
+
+ <!-- Background color for the current selected item in the navigation drawer -->
+ <color name="drawer_selected_color">@color/omni_color1</color>
+
+ <!-- Highlight color used in places such as ripples -->
+ <color name="control_highlight_color">#1Affffff</color>
+
+ <color name="ic_contacts_launcher_background">#2458CA</color>
+
+ <!-- Color of ripples used for views with dark backgrounds -->
+ <color name="ripple_material_dark">@color/omni_color3</color>
+
+ <color name="actionbar_text_color_black">@android:color/white</color>
+
+ <color name="actionbar_color_grey_solid">@android:color/white</color>
+
+ <color name="actionbar_icon_color_grey">@android:color/white</color>
+
+ <color name="actionbar_icon_color">@android:color/white</color>
+
+ <color name="actionbar_text_color">@android:color/white</color>
+
+</resources>
diff --git a/res/values-night/styles.xml b/res/values-night/styles.xml
new file mode 100644
index 0000000..b4b967f
--- /dev/null
+++ b/res/values-night/styles.xml
@@ -0,0 +1,596 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools">
+
+ <style name="EditorActivityTheme" parent="@style/PeopleActivityTheme">
+ <item name="actionBarStyle">@style/EditorActionBarStyle</item>
+ <item name="colorButtonNormal">@color/background_primary</item>
+ <item name="windowActionModeOverlay">true</item>
+ </style>
+
+ <style name="Theme.QuickContact" parent="@style/PeopleTheme">
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:colorBackgroundCacheHint">@null</item>
+ <item name="android:windowFrame">@null</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:windowAnimationStyle">@null</item>
+ <item name="android:windowIsFloating">false</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowNoTitle">true</item>
+ <item name="android:listViewStyle">@style/ListViewStyle</item>
+ <!-- We need to use a light ripple behind ActionBar items in order for them to
+ be visible when using some of the darker ActionBar tints -->
+ <item name="android:actionBarItemBackground">
+ @drawable/item_background_material_borderless_dark
+ </item>
+ </style>
+
+ <style name="PeopleTheme" parent="@android:style/Theme.Material.Light.DarkActionBar">
+ <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
+ <!-- Style for the overflow button in the actionbar. -->
+ <item name="android:actionOverflowButtonStyle">@style/ContactsActionBarOverflowQP</item>
+ <item name="android:actionModeCloseDrawable">@drawable/quantum_ic_close_vd_theme_24</item>
+ <item name="android:textColorPrimary">@color/primary_text_color</item>
+ <item name="android:textColorSecondary">@color/secondary_text_color</item>
+ <item name="android:icon">@android:color/transparent</item>
+ <item name="android:listViewStyle">@style/ListViewStyle</item>
+ <item name="android:windowBackground">@color/background_primary</item>
+ <item name="android:colorPrimaryDark">@color/primary_color</item>
+ <item name="android:colorPrimary">@color/primary_color</item>
+ <item name="android:colorAccent">@color/primary_color</item>
+ <item name="android:alertDialogTheme">@style/ContactsAlertDialogTheme</item>
+ <item name="list_item_height">@dimen/contact_browser_list_item_height</item>
+ <item name="list_section_header_height">24dip</item>
+ <item name="list_item_padding_top">
+ @dimen/contact_browser_list_item_padding_top_or_bottom
+ </item>
+ <item name="list_item_padding_right">32dp</item>
+ <item name="list_item_padding_bottom">
+ @dimen/contact_browser_list_item_padding_top_or_bottom
+ </item>
+ <item name="list_item_padding_left">0dp</item>
+ <item name="list_item_gap_between_image_and_text">
+ @dimen/contact_browser_list_item_gap_between_image_and_text
+ </item>
+ <item name="list_item_gap_between_label_and_data">5dip</item>
+ <item name="list_item_presence_icon_margin">4dip</item>
+ <item name="list_item_presence_icon_size">16dip</item>
+ <item name="list_item_photo_size">@dimen/contact_browser_list_item_photo_size</item>
+ <item name="list_item_profile_photo_size">70dip</item>
+ <item name="list_item_prefix_highlight_color">@color/people_app_theme_color</item>
+ <item name="list_item_background_color">@color/list_item_pinned_header_color</item>
+ <item name="list_item_header_text_color">@color/people_app_theme_color</item>
+ <item name="list_item_header_text_size">14sp</item>
+ <item name="list_item_header_height">30dip</item>
+ <item name="list_item_header_text_indent">8dip</item>
+ <item name="contact_browser_list_padding_left">0dip</item>
+ <item name="contact_browser_list_padding_right">0dip</item>
+ <item name="contact_browser_background">@color/background_primary</item>
+ <item name="list_item_text_indent">@dimen/contact_browser_list_item_text_indent</item>
+ <item name="list_item_text_offset_top">-2dp</item>
+ <item name="list_item_avatar_offset_top">-1dp</item>
+ <!-- Favorites -->
+ <item name="favorites_padding_bottom">0dip</item>
+ <!-- Popup menu -->
+ <item name="android:popupMenuStyle">@style/PopupMenuStyle</item>
+ <item name="android:popupTheme">@style/PopupMenuStyle</item>
+ <item name="android:contextPopupMenuStyle">@style/ContextPopupMenuStyle</item>
+ </style>
+
+ <style name="LaunchScreenTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+ <item name="android:windowBackground">@drawable/quantum_launchscreen_contacts</item>
+ <item name="android:colorPrimary">@color/background_primary</item>
+ <item name="android:colorPrimaryDark">@color/primary_color</item>
+ </style>
+
+ <style name="PeopleActivityTheme" parent="@style/PeopleThemeAppCompat">
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
+ <item name="android:listSelector">?android:attr/listChoiceBackgroundIndicator</item>
+ </style>
+
+ <style name="PeopleThemeAppCompat" parent="Theme.AppCompat.Light.DarkActionBar">
+ <!-- Styles that require AppCompat compatibility, remember to update both sets -->
+ <item name="android:actionBarStyle">@style/ContactsActionBarStyleAppCompat</item>
+ <item name="actionBarStyle">@style/ContactsActionBarStyleAppCompat</item>
+ <item name="android:actionButtonStyle">@style/ContactsActionButtonStyle</item>
+ <item name="actionButtonStyle">@style/ContactsActionButtonStyle</item>
+ <!-- Style for the overflow button in the actionbar. -->
+ <item name="android:actionOverflowButtonStyle">@style/ContactsActionBarOverflowQP</item>
+ <item name="actionOverflowButtonStyle">@style/ContactsActionBarOverflowQP</item>
+ <item name="toolbarNavigationButtonStyle">@style/ContactToolbarNavigationButtonStyle</item>
+ <item name="android:actionModeCloseDrawable">@drawable/quantum_ic_close_vd_theme_24</item>
+ <item name="android:textColorPrimary">@color/primary_text_color</item>
+ <item name="android:textColorSecondary">@color/secondary_text_color</item>
+ <item name="android:icon">@android:color/transparent</item>
+ <item name="android:listViewStyle">@style/ListViewStyle</item>
+ <item name="android:windowBackground">@color/background_primary</item>
+ <item name="android:colorPrimaryDark">@color/primary_color</item>
+ <item name="colorPrimaryDark">@color/primary_color</item>
+ <item name="android:colorPrimary">@color/primary_color</item>
+ <item name="colorPrimary">@color/primary_color</item>
+ <item name="android:colorAccent">@color/primary_color</item>
+ <item name="colorAccent">@color/primary_color</item>
+ <item name="android:alertDialogTheme">@style/ContactsAlertDialogThemeAppCompat</item>
+ <item name="alertDialogTheme">@style/ContactsAlertDialogThemeAppCompat</item>
+ <item name="list_item_height">@dimen/contact_browser_list_item_height</item>
+ <item name="list_section_header_height">24dip</item>
+ <item name="list_item_padding_top">
+ @dimen/contact_browser_list_item_padding_top_or_bottom
+ </item>
+ <item name="list_item_padding_right">32dp</item>
+ <item name="list_item_padding_bottom">
+ @dimen/contact_browser_list_item_padding_top_or_bottom
+ </item>
+ <item name="list_item_padding_left">0dp</item>
+ <item name="list_item_gap_between_image_and_text">
+ @dimen/contact_browser_list_item_gap_between_image_and_text
+ </item>
+ <item name="list_item_gap_between_indexer_and_image">
+ @dimen/contact_browser_list_item_gap_between_indexer_and_image
+ </item>
+ <item name="list_item_gap_between_label_and_data">5dip</item>
+ <item name="list_item_presence_icon_margin">4dip</item>
+ <item name="list_item_presence_icon_size">16dip</item>
+ <item name="list_item_photo_size">@dimen/contact_browser_list_item_photo_size</item>
+ <item name="list_item_profile_photo_size">70dip</item>
+ <item name="list_item_prefix_highlight_color">@color/people_app_theme_color</item>
+ <item name="list_item_background_color">@color/list_item_pinned_header_color</item>
+ <item name="list_item_header_text_color">@color/people_app_theme_color</item>
+ <item name="list_item_header_text_size">14sp</item>
+ <item name="list_item_header_height">30dip</item>
+ <item name="list_item_header_text_indent">8dip</item>
+ <item name="contact_browser_list_padding_left">0dip</item>
+ <item name="contact_browser_list_padding_right">0dip</item>
+ <item name="contact_browser_background">@color/background_primary</item>
+ <item name="list_item_text_indent">@dimen/contact_browser_list_item_text_indent</item>
+ <item name="list_item_text_offset_top">-2dp</item>
+ <item name="list_item_avatar_offset_top">-1dp</item>
+ <!-- Favorites -->
+ <item name="favorites_padding_bottom">0dip</item>
+ <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
+ <!-- Popup menu -->
+ <item name="android:popupMenuStyle">@style/PopupMenuStyleAppCompat</item>
+ <item name="popupMenuStyle">@style/PopupMenuStyleAppCompat</item>
+ <item name="android:contextPopupMenuStyle">@style/PopupMenuStyleAppCompat</item>
+
+ <item name="android:fastScrollThumbDrawable">@drawable/thumb_drawable</item>
+ <item name="android:fastScrollTrackDrawable">@null</item>
+ <item name="android:fastScrollTextColor">@android:color/white</item>
+ </style>
+
+ <style name="PopupMenuStyle" parent="@android:style/Theme.DeviceDefault.Dialog">
+ </style>
+
+ <style name="PopupMenuStyleAppCompat" parent="@android:style/Theme.DeviceDefault.Dialog">
+ </style>
+
+ <style name="ContextPopupMenuStyle" parent="@android:style/Widget.PopupMenu">
+ <item name="android:popupBackground">@android:color/white</item>
+ </style>
+
+ <style name="ContactsActionButtonStyle" parent="Widget.AppCompat.ActionButton">
+ <item name="android:paddingStart">16dp</item>
+ <item name="android:paddingEnd">16dp</item>
+ </style>
+
+ <style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
+ <item name="spinBars">false</item>
+ <item name="color">@android:color/white</item>
+ <item name="android:color">@android:color/white</item>
+ </style>
+
+ <!-- Use the non-light style so that the up button & icons aren't black. If we use the
+ Light style, then it is impossible to tint the homeAsUp icon anything other than black -->
+ <style name="ContactsActionBarStyle" parent="@android:style/Widget.Material.ActionBar">
+ <item name="android:background">@color/actionbar_background_color</item>
+ <item name="android:titleTextStyle">@style/ContactsActionBarTitleText</item>
+ <item name="android:backgroundStacked">@color/actionbar_background_color</item>
+ <!-- Empty icon -->
+ <item name="android:icon">@android:color/transparent</item>
+ </style>
+
+ <style name="ContactsActionBarStyleAppCompat"
+ parent="@style/Widget.AppCompat.ActionBar.Solid">
+ <!-- Styles that require AppCompat compatibility, remember to update both sets -->
+ <item name="android:background">@color/actionbar_background_color</item>
+ <item name="background">@color/actionbar_background_color</item>
+ <item name="android:titleTextStyle">@style/ContactsActionBarTitleTextAppCompat</item>
+ <item name="titleTextStyle">@style/ContactsActionBarTitleTextAppCompat</item>
+ <item name="android:backgroundStacked">@color/actionbar_background_color</item>
+ <item name="backgroundStacked">@color/actionbar_background_color</item>
+ <!-- Empty icon -->
+ <item name="android:icon">@android:color/transparent</item>
+ <item name="icon">@android:color/transparent</item>
+ </style>
+
+ <style name="EditorActionBarStyle" parent="@style/ContactsToolbarStyle">
+ <item name="android:contentInsetStart">72dp</item>
+ <item name="android:contentInsetStartWithNavigation">72dp</item>
+ <item name="android:titleTextAppearance">@style/ContactsActionBarTitleText</item>
+ </style>
+
+ <!-- When this style was added, android:toolbarStyle was private. Therefore, this style
+ must be directly applied to every toolbar -->
+ <style name="ContactsToolbarStyle" parent="@style/Widget.AppCompat.Toolbar">
+ <!-- Styles that require AppCompat compatibility, remember to update both sets -->
+ <item name="android:titleTextAppearance">@style/ContactsActionBarTitleTextAppCompat</item>
+ <item name="titleTextAppearance">@style/ContactsActionBarTitleTextAppCompat</item>
+ <item name="popupTheme">@style/PopupMenuStyleAppCompat</item>
+ </style>
+
+ <style name="LightToolbarNavigationButtonStyle" parent="@style/Widget.AppCompat.Toolbar.Button.Navigation">
+ <item name="android:tint">?android:textColorSecondary</item>
+ </style>
+
+ <style name="LightToolbarThemeOverlay" parent="@style/ThemeOverlay.AppCompat.ActionBar">
+ <item name="toolbarNavigationButtonStyle">@style/LightToolbarNavigationButtonStyle</item>
+ </style>
+
+ <style name="LightToolbarStyle" parent="@style/Widget.AppCompat.Toolbar">
+ <item name="android:background">@color/contextual_selection_bar_color</item>
+ <item name="background">@color/contextual_selection_bar_color</item>
+ <item name="android:titleTextAppearance">@style/ContactsActionBarTitleTextBlack</item>
+ <item name="titleTextAppearance">@style/ContactsActionBarTitleTextBlack</item>
+ </style>
+
+ <!-- Text in the action bar at the top of the screen -->
+ <style name="ContactsActionBarTitleText"
+ parent="@android:style/TextAppearance.Material.Widget.ActionBar.Title">
+ <item name="android:textSize">20dp</item>
+ <item name="android:textColor">@color/actionbar_text_color</item>
+ </style>
+
+ <style name="ContactsActionBarTitleTextAppCompat" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
+ <item name="android:textSize">20dp</item>
+ <item name="android:textColor">@color/actionbar_text_color</item>
+ </style>
+
+ <style name="ContactsActionBarTitleTextBlack" parent="@style/ContactsActionBarTitleTextAppCompat">
+ <item name="android:textColor">@color/actionbar_text_color_black</item>
+ </style>
+
+ <!-- Action bar overflow menu icon. -->
+ <style name="ContactsActionBarOverflowQP"
+ parent="Widget.AppCompat.Light.ActionButton.Overflow">
+ <item name="android:src">@drawable/quantum_ic_more_vert_vd_theme_24</item>
+ <item name="android:tint">@color/action_bar_button_text_color</item>
+ </style>
+
+ <!-- Toolbar navigation button. -->
+ <style name="ContactToolbarNavigationButtonStyle" parent="@style/Widget.AppCompat.Toolbar.Button.Navigation">
+ <item name="android:tint">@color/action_bar_button_text_color</item>
+ </style>
+
+ <style name="ContactPickerTheme" parent="PeopleActivityTheme">
+ </style>
+
+ <style name="ContactsPreferencesTheme" parent="@style/PeopleThemeAppCompat">
+ <item name="android:listViewStyle">@style/ListViewStyle</item>
+ </style>
+
+ <style name="ContactListFilterTheme" parent="@style/PeopleTheme">
+ <item name="android:listViewStyle">@style/ListViewStyle</item>
+ <item name="android:actionButtonStyle">@style/FilterActionButtonStyle</item>
+ </style>
+
+ <style name="NonPhoneActivityTheme" parent="@android:Theme.Translucent.NoTitleBar">
+ </style>
+
+ <style name="NonPhoneDialogTheme" parent="@android:Theme.DeviceDefault.Dialog">
+ </style>
+
+ <style name="ConfirmAddDetailDialogTheme" parent="@android:style/Theme.DeviceDefault.Dialog.MinWidth">
+ <item name="android:windowCloseOnTouchOutside">true</item>
+ </style>
+
+ <style name="ContactEditorAccountsChangedActivityTheme" parent="@android:style/Theme.DeviceDefault.Dialog.NoActionBar.MinWidth">
+ <item name="android:windowCloseOnTouchOutside">true</item>
+ <item name="android:textColorPrimary">@color/primary_text_color</item>
+ <item name="android:textColorSecondary">@color/secondary_text_color</item>
+ <item name="android:listViewStyle">@style/ListViewStyle</item>
+ <item name="android:colorAccent">@color/primary_color</item>
+ </style>
+
+ <style name="SelectableItem" parent="@android:style/Theme.DeviceDefault">
+ <item name="android:background">@color/background_primary</item>
+ </style>
+
+ <style name="SpinnerButtonStyle" parent="@android:style/Widget.Material.Spinner.Underlined">
+ <!-- When applying the spinner style to a Button we need to disable the shadow animation
+ on the button since the spinner background is transparent. Otherwise the spinner-button
+ will look ridiculous. -->
+ <item name="android:stateListAnimator">@null</item>
+ <!-- We want our spinner's to use the same gravity as an EditText, so that they look
+ visually consistent with other controls in our forms -->
+ <item name="android:gravity">start|center_vertical</item>
+ </style>
+
+ <style name="EditKindSeparatorTextViewStyle" parent="ContactListSeparatorTextViewStyle">
+ <item name="android:textAppearance">@style/EditKindTextAppearanceStyle</item>
+ </style>
+
+ <style name="EditKindTextAppearanceStyle" parent="@android:style/TextAppearance.Small">
+ <item name="android:textSize">14sp</item>
+ <item name="android:textStyle">bold</item>
+ <item name="android:textAllCaps">true</item>
+ <item name="android:textColor">#363636</item>
+ <item name="android:fontFamily">sans-serif</item>
+ </style>
+
+ <!-- Inherit from Theme.Material.Light.Dialog instead of Theme.Material.Light.Dialog.Alert
+ since the Alert dialog is private. They are identical anyway. -->
+ <style name="ContactsAlertDialogTheme" parent="@android:style/Theme.DeviceDefault.Dialog">
+ <item name="android:colorAccent">@color/primary_color</item>
+ <item name="android:background">@color/background_primary</item>
+ </style>
+
+ <style name="ContactsAlertDialogThemeAppCompat" parent="Theme.AppCompat.Light.Dialog.MinWidth">
+ <item name="android:colorAccent">@color/primary_color</item>
+ <item name="colorAccent">@color/primary_color</item>
+ </style>
+
+ <style name="EditKindIconStyle">
+ <item name="android:layout_width">24dp</item>
+ <item name="android:layout_height">24dp</item>
+ <item name="android:tint">@color/dialtacts_secondary_text_color</item>
+ <item name="android:layout_marginStart">16dp</item>
+ <!-- We want 32dp of padding between these icon's and EditText's. Since EditText's have
+ 4dp of starting padding built in, we set this as 28dp. -->
+ <item name="android:layout_marginEnd">28dp</item>
+ <item name="android:layout_marginTop">@dimen/editor_kind_icon_top_margin</item>
+ </style>
+
+ <style name="EditSelectorIconStyle">
+ <item name="android:layout_width">24dp</item>
+ <item name="android:layout_height">24dp</item>
+ <item name="android:layout_marginStart">16dp</item>
+ <!-- We want 32dp of padding between these icon's and EditText's. Since EditText's have
+ 4dp of starting padding built in, we set this as 28dp. -->
+ <item name="android:layout_marginEnd">28dp</item>
+ <item name="android:layout_marginTop">@dimen/editor_kind_icon_top_margin</item>
+ </style>
+
+ <style name="AccountTypeIconStyle">
+ <item name="android:layout_width">12dp</item>
+ <item name="android:layout_height">12dp</item>
+ <item name="android:layout_marginStart">4dp</item>
+ <item name="android:layout_marginEnd">4dp</item>
+ </style>
+
+ <style name="AccountTypeNameStyle">
+ <item name="android:textSize">10sp</item>
+ <item name="android:textColor">#363636</item>
+ <item name="android:fontFamily">sans-serif</item>
+ </style>
+
+ <style name="NavigationDrawerMenuItemTextAppearance">
+ <item name="android:ellipsize">end</item>
+ </style>
+
+ <!-- Text style for empty states (no account view, empty label). -->
+ <style name="EmptyStateTextStyle">
+ <item name="android:textSize">18sp</item>
+ <item name="android:textColor">#000000</item>
+ <item name="android:alpha">0.54</item>
+ <item name="android:fontFamily">sans-serif</item>
+ </style>
+
+ <!-- Button style for main contacts no account empty view. -->
+ <style name="NoAccountViewButtonStyle" parent="@style/Widget.AppCompat.Button.Borderless">
+ <item name="android:textSize">14sp</item>
+ <item name="android:textColor">@color/primary_color</item>
+ <item name="android:fontFamily">sans-serif-medium</item>
+ <item name="android:textAllCaps">true</item>
+ </style>
+
+ <!-- Add contacts button style for empty states. -->
+ <style name="AddContactsButtonStyle" parent="@style/Widget.AppCompat.Button.Borderless">
+ <item name="android:textSize">16sp</item>
+ <item name="android:textColor">@color/primary_color</item>
+ <item name="android:fontFamily">sans-serif-medium</item>
+ <item name="android:textAllCaps">true</item>
+ </style>
+
+ <style name="SectionHeaderStyle" parent="@android:style/TextAppearance.Large">
+ <item name="android:textSize">16sp</item>
+ <item name="android:textAllCaps">true</item>
+ <item name="android:textColor">@color/section_header_text_color</item>
+ <item name="android:textStyle">bold</item>
+ </style>
+
+ <style name="DirectoryHeaderStyle" parent="@android:style/TextAppearance.Small">
+ <item name="android:textSize">14sp</item>
+ <item name="android:textColor">@color/dialtacts_secondary_text_color</item>
+ <item name="android:fontFamily">sans-serif-medium</item>
+ </style>
+
+ <!-- TextView style used for headers.
+
+This is similar to ?android:attr/listSeparatorTextView but uses different
+background and text color. See also android:style/Widget.Holo.TextView.ListSeparator
+(which is private, so we cannot specify it as a parent style). -->
+ <style name="ContactListSeparatorTextViewStyle">
+ <item name="android:layout_width">match_parent</item>
+ <item name="android:layout_height">wrap_content</item>
+ <!-- See comments for @dimen/list_section_divider_min_height -->
+ <item name="android:minHeight">@dimen/list_section_divider_min_height</item>
+ <item name="android:textAppearance">@style/DirectoryHeaderStyle</item>
+ <item name="android:gravity">center_vertical</item>
+ <item name="android:paddingLeft">8dip</item>
+ <item name="android:paddingStart">8dip</item>
+ <item name="android:paddingTop">4dip</item>
+ <item name="android:paddingBottom">4dip</item>
+ <item name="android:ellipsize">end</item>
+ <item name="android:singleLine">true</item>
+ <item name="android:textAllCaps">true</item>
+ </style>
+
+ <style name="TextAppearanceMedium" parent="@android:style/TextAppearance.Medium">
+ <item name="android:textSize">16sp</item>
+ <item name="android:textColor">#000000</item>
+ </style>
+
+ <style name="TextAppearanceSmall" parent="@android:style/TextAppearance.Small">
+ <item name="android:textSize">14sp</item>
+ <item name="android:textColor">#737373</item>
+ </style>
+
+ <style name="ListViewStyle" parent="@android:style/Widget.Material.ListView">
+ <item name="android:overScrollMode">always</item>
+ <item name="android:background">@color/background_primary</item>
+ </style>
+
+ <!-- Adding padding to action button doesn't move it to left, we increase the button width to
+ make margin between the button and screen edge 16dp -->
+ <style name="FilterActionButtonStyle" parent="@android:Widget.ActionButton">
+ <item name="android:minWidth">@dimen/contact_filter_action_button_width</item>
+ <item name="android:textColor">@color/actionbar_text_color</item>
+ </style>
+
+ <style name="CustomContactListFilterView" parent="ContactListFilterTheme">
+ <item name="android:layout_width">match_parent</item>
+ <item name="android:layout_height">match_parent</item>
+ </style>
+
+ <style name="BackgroundOnlyTheme" parent="@android:style/Theme.DeviceDefault">
+ <item name="android:windowBackground">@null</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:windowAnimationStyle">@null</item>
+ <item name="android:windowNoTitle">true</item>
+ <!-- Activities that use this theme are background activities without obvious displays.
+ However, some also have dialogs. Therefore, it doesn't make sense to set this true.-->
+ <item name="android:windowNoDisplay">false</item>
+ <item name="android:windowIsFloating">true</item>
+ </style>
+
+ <style name="Theme.CallSubjectDialogTheme" parent="@android:style/Theme.DeviceDefault.Dialog">
+ <item name="android:layout_width">match_parent</item>
+ <item name="android:layout_height">match_parent</item>
+
+ <!-- No backgrounds, titles or window float -->
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowNoTitle">true</item>
+ <item name="android:windowFullscreen">false</item>
+ <item name="android:windowIsFloating">true</item>
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowDrawsSystemBarBackgrounds">false</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:windowElevation">0dp</item>
+ </style>
+
+ <!-- Transparent/blank activity -->
+ <style name="TransparentThemeAppCompat" parent="@style/PeopleActivityTheme">
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:windowNoTitle">true</item>
+ <item name="android:windowIsFloating">true</item>
+ <item name="android:backgroundDimEnabled">false</item>
+ </style>
+
+ <style name="FullScreenDialogAnimationStyle">
+ <item name="android:windowEnterAnimation">@anim/slide_and_fade_in</item>
+ <item name="android:windowExitAnimation">@anim/slide_and_fade_out</item>
+ </style>
+
+ <style name="PeopleThemeAppCompat.FullScreenDialog">
+ <item name="android:windowNoTitle">true</item>
+ <item name="android:windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
+ <item name="windowActionBar">false</item>
+ <item name="android:listSelector">?android:attr/listChoiceBackgroundIndicator</item>
+ <item name="android:windowAnimationStyle">@style/FullScreenDialogAnimationStyle</item>
+ </style>
+
+ <style name="PeopleThemeAppCompat.FullScreenDialog.SimImportActivity">
+ <!-- This is necessary because the window is partially transparent during the enter
+ and exit animations -->
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:statusBarColor">@color/contextual_selection_bar_status_bar_color</item>
+ </style>
+
+ <!-- Style for item in navigation drawer -->
+ <style name="DrawerItemStyle">
+ <item name="android:layout_width">match_parent</item>
+ <item name="android:layout_height">@dimen/drawer_item_fixed_height</item>
+ <item name="android:layout_gravity">center_vertical</item>
+ <item name="android:background">@drawable/drawer_item_background</item>
+ <item name="android:orientation">horizontal</item>
+ <item name="android:paddingStart">@dimen/drawer_side_padding</item>
+ </style>
+
+ <style name="DrawerPrimaryItemStyle" parent="DrawerItemStyle">
+ <item name="android:paddingEnd">@dimen/drawer_item_text_margin</item>
+ </style>
+
+ <!-- Style for item icon in navigation drawer -->
+ <style name="DrawerItemIconStyle">
+ <item name="android:layout_width">@dimen/drawer_item_icon_size</item>
+ <item name="android:layout_height">@dimen/drawer_item_icon_size</item>
+ <item name="android:layout_gravity">center</item>
+ <item name="android:gravity">center</item>
+ <item name="android:scaleType">center</item>
+ </style>
+
+ <!-- Style for primary item text in navigation drawer -->
+ <style name="DrawerItemTextStyle" parent="DrawerTextStyle">
+ <item name="android:textColor">@color/primary_text_color</item>
+ <item name="android:layout_width">0dip</item>
+ <item name="android:layout_height">wrap_content</item>
+ <item name="android:layout_weight">1</item>
+ <item name="android:textAlignment">viewStart</item>
+ <item name="android:layout_marginStart">@dimen/drawer_item_text_margin</item>
+ <item name="android:layout_marginEnd">@dimen/drawer_item_text_margin</item>
+ </style>
+
+ <style name="DrawerTextStyle">
+ <item name="android:fontFamily" tools:ignore="NewApi">sans-serif-medium</item>
+ <item name="android:gravity">center_vertical</item>
+ <item name="android:layout_gravity">center_vertical</item>
+ <item name="android:textSize">14sp</item>
+ <item name="android:singleLine">true</item>
+ <item name="android:ellipsize">end</item>
+ </style>
+
+ <style name="DrawerItemTextActiveStyle">
+ <item name="android:textColor">@color/primary_color</item>
+ <item name="android:textStyle">bold</item>
+ </style>
+
+ <style name="DrawerItemTextInactiveStyle">
+ <item name="android:textColor">@color/quantum_black_text</item>
+ <item name="android:textStyle">bold</item>
+ </style>
+
+ <style name="DrawerHeaderTextStyle" parent="DrawerTextStyle">
+ <item name="android:layout_gravity">center_vertical|start</item>
+ <item name="android:paddingTop">12dp</item>
+ <item name="android:paddingBottom">12dp</item>
+ <item name="android:textColor">@color/quantum_black_secondary_text</item>
+ <item name="android:textSize">14sp</item>
+ </style>
+
+ <style name="DrawerBadgeStyle" parent="DrawerHeaderTextStyle">
+ <item name="android:layout_gravity">center_vertical|end</item>
+ </style>
+
+ <style name="DrawerHeaderItemStyle">
+ <item name="android:paddingStart">@dimen/drawer_side_padding</item>
+ <item name="android:paddingEnd">@dimen/drawer_label_header_end_padding</item>
+ </style>
+</resources>
diff --git a/res/values-v31/colors.xml b/res/values-v31/colors.xml
new file mode 100644
index 0000000..38b1708
--- /dev/null
+++ b/res/values-v31/colors.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+<resources>
+ <color name="primary_color_dark">@android:color/system_accent1_600</color>
+ <color name="primary_color">@android:color/system_accent1_600</color>
+ <color name="group_primary_color_dark">@android:color/system_accent2_600</color>
+ <color name="group_primary_color">@android:color/system_accent2_600</color>
+ <color name="contacts_accent_color">@color/primary_color</color>
+ <color name="floating_action_button_icon_color">@android:color/white</color>
+ <color name="material_star_pink">@color/primary_color</color>
+ <color name="frequently_contacted_title_color">@color/primary_color</color>
+ <color name="people_app_theme_color">@color/primary_color</color>
+ <color name="dialtacts_theme_color">@color/primary_color</color>
+ <color name="action_bar_background">@color/primary_color</color>
+ <color name="actionbar_background_color">@color/primary_color</color>
+ <color name="contextual_selection_bar_color">@color/primary_color</color>
+ <color name="swipe_refresh_color1">@color/primary_color</color>
+ <color name="contextual_selection_bar_status_bar_color">@color/primary_color</color>
+ <color name="quickcontact_default_photo_tint_color">@color/primary_color</color>
+ <color name="ic_contacts_launcher_background">@android:color/system_accent1_600</color>
+ <color name="background_primary">@android:color/system_neutral1_10</color>
+ <color name="contact_all_list_background_color">@android:color/system_neutral1_10</color>
+ <color name="actionbar_text_color">@android:color/white</color>
+ <color name="actionbar_icon_color_grey">#8C000000</color>
+ <color name="actionbar_text_color_black">#DF000000</color>
+ <color name="actionbar_color_grey_solid">#777777</color>
+ <color name="searchbox_text_color">@android:color/black</color>
+ <color name="searchbox_background_color">@color/background_primary</color>
+ <color name="searchbox_hint_text_color">#66000000</color>
+ <color name="search_shortcut_icon_color">@color/dialtacts_theme_color</color>
+ <color name="expanding_entry_card_background_color">@android:color/system_neutral1_50</color>
+ <color name="divider_line_color_light">@android:color/system_neutral1_200</color>
+</resources>
diff --git a/res/values-v31/dimens.xml b/res/values-v31/dimens.xml
new file mode 100644
index 0000000..07a2cdc
--- /dev/null
+++ b/res/values-v31/dimens.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+<resources>
+ <dimen name="expanding_entry_card_elevation">0dp</dimen>
+ <dimen name="quickcontact_edge_radius">12dp</dimen>
+ <dimen name="expanding_entry_card_card_corner_radius">8dp</dimen>
+ <dimen name="quick_contact_toolbar_elevation">0dp</dimen>
+</resources>
\ No newline at end of file
diff --git a/res/values/colors.xml b/res/values/colors.xml
index aeba877..15e0294 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -69,9 +69,6 @@
<!-- Background color of pinned header items. -->
<color name="list_item_pinned_header_color">@color/background_primary</color>
- <!-- Color of the mime-type icons inside the editor. 50% black. -->
- <color name="editor_icon_color">#7f7f7f</color>
-
<!-- Color of disabled text and unfocused hint text inside the contact editor. 25% black. -->
<color name="editor_disabled_text_color">#40000000</color>
@@ -102,7 +99,7 @@
<color name="secondary_text_color">@color/dialtacts_secondary_text_color</color>
<!-- Text color for section header. -->
- <color name="section_header_text_color">@color/dialtacts_theme_color</color>
+ <color name="section_header_text_color">@color/primary_text_color</color>
<!-- Color of the theme of the People app -->
<color name="people_app_theme_color">#363636</color>
@@ -151,20 +148,20 @@
<!-- Darker versions of letter_tile_colors, two shades darker. These colors are used
for settings secondary activity colors. -->
<array name="letter_tile_colors_dark">
- <item>#C53929</item>
- <item>#C2185B</item>
- <item>#7B1FA2</item>
- <item>#512DA8</item>
- <item>#303F9F</item>
- <item>#3367D6</item>
- <item>#0277BD</item>
- <item>#006064</item>
- <item>#00796B</item>
- <item>#0B8043</item>
- <item>#33691E</item>
- <item>#E65100</item>
- <item>#E64A19</item>
- <item>#424242</item>
+ <item>#DB4437</item>
+ <item>#E91E63</item>
+ <item>#9C27B0</item>
+ <item>#673AB7</item>
+ <item>#3F51B5</item>
+ <item>#4285F4</item>
+ <item>#039BE5</item>
+ <item>#0097A7</item>
+ <item>#009688</item>
+ <item>#0F9D58</item>
+ <item>#689F38</item>
+ <item>#EF6C00</item>
+ <item>#FF5722</item>
+ <item>#757575</item>
</array>
<!-- The default color used for tinting photos when no color can be extracted via Palette,
@@ -256,4 +253,5 @@
<!-- Highlight color used in places such as ripples -->
<color name="control_highlight_color">#1A000000</color>
+ <color name="ic_contacts_launcher_background">#2458CA</color>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 6d100ac..0be7772 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -122,7 +122,7 @@
<dimen name="expanding_entry_card_marginBottom">12dp</dimen>
<!-- Top margin for the communication card, used to add space from header. -->
- <dimen name="first_card_marginTop">12dp</dimen>
+ <dimen name="first_card_marginTop">@dimen/expanding_entry_card_marginStartEnd</dimen>
<!-- Elevation of an ExpandingEntryCard, for the sake of shadow casting -->
<dimen name="expanding_entry_card_elevation">2dp</dimen>
@@ -382,4 +382,5 @@
<!-- Side padding within the navigation drawer -->
<dimen name="drawer_label_header_end_padding">24dp</dimen>
+ <dimen name="quickcontact_edge_radius">0dp</dimen>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index ffd800f..d24a7b2 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -49,7 +49,7 @@
<item name="android:icon">@android:color/transparent</item>
<item name="android:listViewStyle">@style/ListViewStyle</item>
<item name="android:windowBackground">@color/background_primary</item>
- <item name="android:colorPrimaryDark">@color/primary_color_dark</item>
+ <item name="android:colorPrimaryDark">@color/primary_color</item>
<item name="android:colorPrimary">@color/primary_color</item>
<item name="android:colorAccent">@color/primary_color</item>
<item name="android:alertDialogTheme">@style/ContactsAlertDialogTheme</item>
@@ -87,13 +87,14 @@
<item name="favorites_padding_bottom">0dip</item>
<!-- Popup menu -->
<item name="android:popupMenuStyle">@style/PopupMenuStyle</item>
+ <item name="android:popupTheme">@style/PopupMenuStyle</item>
+ <item name="android:contextPopupMenuStyle">@style/ContextPopupMenuStyle</item>
</style>
<style name="LaunchScreenTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowBackground">@drawable/quantum_launchscreen_contacts</item>
- <!-- Ensure the status bar color matches the background (grey 500) -->
- <!-- TODO(yaolu): Switch to use quantum_grey if in Google3 -->
- <item name="android:colorPrimaryDark">#9e9e9e</item>
+ <item name="android:colorPrimary">@color/background_primary</item>
+ <item name="android:colorPrimaryDark">@color/primary_color</item>
</style>
<style name="PeopleActivityTheme" parent="@style/PeopleThemeAppCompat">
@@ -118,8 +119,8 @@
<item name="android:icon">@android:color/transparent</item>
<item name="android:listViewStyle">@style/ListViewStyle</item>
<item name="android:windowBackground">@color/background_primary</item>
- <item name="android:colorPrimaryDark">@color/primary_color_dark</item>
- <item name="colorPrimaryDark">@color/primary_color_dark</item>
+ <item name="android:colorPrimaryDark">@color/primary_color</item>
+ <item name="colorPrimaryDark">@color/primary_color</item>
<item name="android:colorPrimary">@color/primary_color</item>
<item name="colorPrimary">@color/primary_color</item>
<item name="android:colorAccent">@color/primary_color</item>
@@ -165,13 +166,20 @@
<!-- Popup menu -->
<item name="android:popupMenuStyle">@style/PopupMenuStyleAppCompat</item>
<item name="popupMenuStyle">@style/PopupMenuStyleAppCompat</item>
+ <item name="android:contextPopupMenuStyle">@style/PopupMenuStyleAppCompat</item>
+
+ <item name="android:fastScrollThumbDrawable">@drawable/thumb_drawable</item>
+ <item name="android:fastScrollTrackDrawable">@null</item>
+ <item name="android:fastScrollTextColor">@android:color/white</item>
</style>
- <style name="PopupMenuStyle" parent="@android:style/Widget.PopupMenu">
- <item name="android:popupBackground">@android:color/white</item>
+ <style name="PopupMenuStyle" parent="@android:style/Theme.DeviceDefault.Light.Dialog">
</style>
- <style name="PopupMenuStyleAppCompat" parent="Widget.AppCompat.PopupMenu">
+ <style name="PopupMenuStyleAppCompat" parent="@android:style/Theme.DeviceDefault.Light.Dialog">
+ </style>
+
+ <style name="ContextPopupMenuStyle" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@android:color/white</item>
</style>
@@ -222,6 +230,7 @@
<!-- Styles that require AppCompat compatibility, remember to update both sets -->
<item name="android:titleTextAppearance">@style/ContactsActionBarTitleTextAppCompat</item>
<item name="titleTextAppearance">@style/ContactsActionBarTitleTextAppCompat</item>
+ <item name="popupTheme">@style/PopupMenuStyleAppCompat</item>
</style>
<style name="LightToolbarNavigationButtonStyle" parent="@style/Widget.AppCompat.Toolbar.Button.Navigation">
@@ -282,14 +291,14 @@
<style name="NonPhoneActivityTheme" parent="@android:Theme.Translucent.NoTitleBar">
</style>
- <style name="NonPhoneDialogTheme" parent="@android:Theme.Material.Light.Dialog">
+ <style name="NonPhoneDialogTheme" parent="@android:Theme.DeviceDefault.Light.Dialog">
</style>
- <style name="ConfirmAddDetailDialogTheme" parent="@android:style/Theme.Material.Light.Dialog.MinWidth">
+ <style name="ConfirmAddDetailDialogTheme" parent="@android:style/Theme.DeviceDefault.Light.Dialog.MinWidth">
<item name="android:windowCloseOnTouchOutside">true</item>
</style>
- <style name="ContactEditorAccountsChangedActivityTheme" parent="@android:style/Theme.Material.Light.Dialog.NoActionBar.MinWidth">
+ <style name="ContactEditorAccountsChangedActivityTheme" parent="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar.MinWidth">
<item name="android:windowCloseOnTouchOutside">true</item>
<item name="android:textColorPrimary">@color/primary_text_color</item>
<item name="android:textColorSecondary">@color/secondary_text_color</item>
@@ -297,13 +306,14 @@
<item name="android:colorAccent">@color/primary_color</item>
</style>
- <style name="SelectableItem" parent="@android:style/Theme.Material.Light">
- <item name="android:background">?android:attr/selectableItemBackground</item>
+ <style name="SelectableItem" parent="@android:style/Theme.DeviceDefault.Light">
+ <item name="android:background">@color/background_primary</item>
</style>
<style name="ExpandingEntryCardStyle">
- <item name="android:elevation">@dimen/expanding_entry_card_elevation</item>
- <item name="android:background">@color/expanding_entry_card_background_color</item>
+ <item name="cardElevation">@dimen/expanding_entry_card_elevation</item>
+ <item name="cardBackgroundColor">@color/expanding_entry_card_background_color</item>
+ <item name="contentPadding">4dp</item>
<item name="android:layout_marginBottom">@dimen/expanding_entry_card_marginBottom</item>
<item name="android:layout_marginEnd">@dimen/expanding_entry_card_marginStartEnd</item>
<item name="android:layout_marginStart">@dimen/expanding_entry_card_marginStartEnd</item>
@@ -336,8 +346,9 @@
<!-- Inherit from Theme.Material.Light.Dialog instead of Theme.Material.Light.Dialog.Alert
since the Alert dialog is private. They are identical anyway. -->
- <style name="ContactsAlertDialogTheme" parent="@android:style/Theme.Material.Light.Dialog">
+ <style name="ContactsAlertDialogTheme" parent="@android:style/Theme.DeviceDefault.Light.Dialog">
<item name="android:colorAccent">@color/primary_color</item>
+ <item name="android:background">@color/background_primary</item>
</style>
<style name="ContactsAlertDialogThemeAppCompat" parent="Theme.AppCompat.Light.Dialog.MinWidth">
@@ -348,7 +359,7 @@
<style name="EditKindIconStyle">
<item name="android:layout_width">24dp</item>
<item name="android:layout_height">24dp</item>
- <item name="android:tint">@color/editor_icon_color</item>
+ <item name="android:tint">@color/dialtacts_secondary_text_color</item>
<item name="android:layout_marginStart">16dp</item>
<!-- We want 32dp of padding between these icon's and EditText's. Since EditText's have
4dp of starting padding built in, we set this as 28dp. -->
@@ -453,6 +464,7 @@
<style name="ListViewStyle" parent="@android:style/Widget.Material.Light.ListView">
<item name="android:overScrollMode">always</item>
+ <item name="android:background">@color/background_primary</item>
</style>
<!-- Adding padding to action button doesn't move it to left, we increase the button width to
@@ -467,7 +479,7 @@
<item name="android:layout_height">match_parent</item>
</style>
- <style name="BackgroundOnlyTheme" parent="@android:style/Theme.Material.Light">
+ <style name="BackgroundOnlyTheme" parent="@android:style/Theme.DeviceDefault.Light">
<item name="android:windowBackground">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@null</item>
@@ -478,7 +490,7 @@
<item name="android:windowIsFloating">true</item>
</style>
- <style name="Theme.CallSubjectDialogTheme" parent="@android:style/Theme.Material.Light.Dialog">
+ <style name="Theme.CallSubjectDialogTheme" parent="@android:style/Theme.DeviceDefault.Light.Dialog">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index ceb3d59..629f6cd 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -1042,7 +1042,7 @@
private void resetToolBarStatusBarColor() {
findViewById(R.id.toolbar_frame).setBackgroundColor(
ContextCompat.getColor(this, R.color.primary_color));
- updateStatusBarBackground(ContextCompat.getColor(this, R.color.primary_color_dark));
+ updateStatusBarBackground(ContextCompat.getColor(this, R.color.primary_color));
}
protected DefaultContactBrowseListFragment getListFragment() {
diff --git a/src/com/android/contacts/datepicker/DatePickerDialog.java b/src/com/android/contacts/datepicker/DatePickerDialog.java
index de04af9..163bd39 100644
--- a/src/com/android/contacts/datepicker/DatePickerDialog.java
+++ b/src/com/android/contacts/datepicker/DatePickerDialog.java
@@ -90,8 +90,7 @@
int monthOfYear,
int dayOfMonth,
boolean yearOptional) {
- // Don't pass a theme id. Instead use the default alert dialog theme.
- this(context, /* themeId = */ 0, callBack, year, monthOfYear, dayOfMonth,
+ this(context, /* themeId = */ R.style.ContactsAlertDialogTheme, callBack, year, monthOfYear, dayOfMonth,
yearOptional);
}
@@ -121,7 +120,7 @@
mTitleDateFormat = DateFormat.getDateInstance(DateFormat.FULL);
mTitleNoYearDateFormat = DateUtils.getLocalizedDateFormatWithoutYear(getContext());
- updateTitle(mInitialYear, mInitialMonth, mInitialDay);
+ //updateTitle(mInitialYear, mInitialMonth, mInitialDay);
setButton(BUTTON_POSITIVE, context.getText(R.string.date_time_set),
this);
@@ -147,7 +146,7 @@
@Override
public void onDateChanged(DatePicker view, int year, int month, int day) {
- updateTitle(year, month, day);
+ //updateTitle(year, month, day);
}
private void updateTitle(int year, int month, int day) {
diff --git a/src/com/android/contacts/dialog/IndeterminateProgressDialog.java b/src/com/android/contacts/dialog/IndeterminateProgressDialog.java
index f0b7eec..05a6d56 100644
--- a/src/com/android/contacts/dialog/IndeterminateProgressDialog.java
+++ b/src/com/android/contacts/dialog/IndeterminateProgressDialog.java
@@ -24,6 +24,9 @@
import android.os.Bundle;
import android.os.Handler;
+import com.android.contacts.R;
+
+
/**
* Indeterminate progress dialog wrapped up in a DialogFragment to work even when the device
* orientation is changed. Currently, only supports adding a title and/or message to the progress
@@ -87,7 +90,8 @@
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Create the progress dialog and set its properties
- final ProgressDialog dialog = new ProgressDialog(getActivity());
+ final ProgressDialog dialog = new ProgressDialog(getActivity()
+ , R.style.ContactsAlertDialogTheme);
dialog.setIndeterminate(true);
dialog.setIndeterminateDrawable(null);
dialog.setTitle(mTitle);
diff --git a/src/com/android/contacts/drawer/DrawerFragment.java b/src/com/android/contacts/drawer/DrawerFragment.java
index 485513a..c876d71 100644
--- a/src/com/android/contacts/drawer/DrawerFragment.java
+++ b/src/com/android/contacts/drawer/DrawerFragment.java
@@ -300,9 +300,9 @@
private void applyTopInset(int insetTop) {
// set height of the scrim
mScrimDrawable.setIntrinsicHeight(insetTop);
- mDrawerListView.setPadding(mDrawerListView.getPaddingLeft(),
+ /*mDrawerListView.setPadding(mDrawerListView.getPaddingLeft(),
insetTop, mDrawerListView.getPaddingRight(),
- mDrawerListView.getPaddingBottom());
+ mDrawerListView.getPaddingBottom());*/
}
public interface DrawerFragmentListener {
diff --git a/src/com/android/contacts/editor/LabeledEditorView.java b/src/com/android/contacts/editor/LabeledEditorView.java
index 3df3222..32a7581 100644
--- a/src/com/android/contacts/editor/LabeledEditorView.java
+++ b/src/com/android/contacts/editor/LabeledEditorView.java
@@ -634,7 +634,7 @@
public View getDropDownView(int position, View convertView, ViewGroup parent) {
final CheckedTextView dropDownView = (CheckedTextView) createViewFromResource(
position, convertView, parent, android.R.layout.simple_spinner_dropdown_item);
- dropDownView.setBackground(getContext().getDrawable(R.drawable.drawer_item_background));
+ dropDownView.setBackgroundColor(getResources().getColor(R.color.navigation_drawer_background_color));
dropDownView.setChecked(position == mSelectedIndex);
return dropDownView;
}
diff --git a/src/com/android/contacts/editor/PhotoSourceDialogFragment.java b/src/com/android/contacts/editor/PhotoSourceDialogFragment.java
index 4ca4d30..c1f365c 100644
--- a/src/com/android/contacts/editor/PhotoSourceDialogFragment.java
+++ b/src/com/android/contacts/editor/PhotoSourceDialogFragment.java
@@ -24,6 +24,8 @@
import android.os.Bundle;
import androidx.appcompat.app.AlertDialog;
import android.view.View;
+import android.widget.ArrayAdapter;
+import android.widget.ListAdapter;
import android.widget.TextView;
import com.android.contacts.R;
@@ -67,11 +69,6 @@
final ArrayList<ChoiceListItem> choices =
PhotoActionPopup.getChoices(getActivity(), photoMode);
- // Prepare the AlertDialog items and click listener
- final CharSequence[] items = new CharSequence[choices.size()];
- for (int i = 0; i < items.length; i++) {
- items[i] = choices.get(i).toString();
- }
final OnClickListener clickListener = new OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int which) {
@@ -95,9 +92,12 @@
// Build the AlertDialog
final TextView title = (TextView) View.inflate(getActivity(), R.layout.dialog_title, null);
title.setText(R.string.menu_change_photo);
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()
+ , R.style.ContactsAlertDialogTheme);
builder.setCustomTitle(title);
- builder.setItems(items, clickListener);
+ final ListAdapter adapter = new ArrayAdapter<ChoiceListItem>(getActivity(),
+ R.layout.select_dialog_item_single, choices);
+ builder.setAdapter(adapter, clickListener);
builder.setNegativeButton(android.R.string.cancel, /* listener =*/ null);
return builder.create();
}
diff --git a/src/com/android/contacts/editor/PickRawContactDialogFragment.java b/src/com/android/contacts/editor/PickRawContactDialogFragment.java
index 5a9c9fd..07ce912 100644
--- a/src/com/android/contacts/editor/PickRawContactDialogFragment.java
+++ b/src/com/android/contacts/editor/PickRawContactDialogFragment.java
@@ -176,7 +176,8 @@
throw new IllegalArgumentException("Dialog created with null RawContactsMetadata");
}
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()
+ , R.style.ContactsAlertDialogTheme);
mAdapter = new RawContactAccountListAdapter(getContext(), metadata);
if (metadata.showReadOnly) {
builder.setTitle(R.string.contact_editor_pick_linked_contact_dialog_title);
diff --git a/src/com/android/contacts/editor/SelectAccountDialogFragment.java b/src/com/android/contacts/editor/SelectAccountDialogFragment.java
index 3b41c86..6b45444 100644
--- a/src/com/android/contacts/editor/SelectAccountDialogFragment.java
+++ b/src/com/android/contacts/editor/SelectAccountDialogFragment.java
@@ -90,7 +90,8 @@
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()
+ , R.style.ContactsAlertDialogTheme);
final Bundle args = getArguments();
mAccountsAdapter = new AccountsListAdapter(builder.getContext());
diff --git a/src/com/android/contacts/group/GroupNameEditDialogFragment.java b/src/com/android/contacts/group/GroupNameEditDialogFragment.java
index b015b0d..4258eb5 100644
--- a/src/com/android/contacts/group/GroupNameEditDialogFragment.java
+++ b/src/com/android/contacts/group/GroupNameEditDialogFragment.java
@@ -124,7 +124,7 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setStyle(STYLE_NORMAL, R.style.ContactsAlertDialogThemeAppCompat);
+ setStyle(STYLE_NORMAL, R.style.ContactsAlertDialogTheme);
final Bundle args = getArguments();
if (savedInstanceState == null) {
mGroupName = args.getString(KEY_GROUP_NAME);
diff --git a/src/com/android/contacts/interactions/ExportDialogFragment.java b/src/com/android/contacts/interactions/ExportDialogFragment.java
index c7ce072..aeb426c 100644
--- a/src/com/android/contacts/interactions/ExportDialogFragment.java
+++ b/src/com/android/contacts/interactions/ExportDialogFragment.java
@@ -162,7 +162,7 @@
};
final TextView title = (TextView) View.inflate(getActivity(), R.layout.dialog_title, null);
title.setText(R.string.dialog_export);
- return new AlertDialog.Builder(getActivity())
+ return new AlertDialog.Builder(getActivity(), R.style.ContactsAlertDialogTheme)
.setCustomTitle(title)
.setSingleChoiceItems(adapter, -1, clickListener)
.create();
diff --git a/src/com/android/contacts/interactions/GroupDeletionDialogFragment.java b/src/com/android/contacts/interactions/GroupDeletionDialogFragment.java
index 01361b2..c686da5 100644
--- a/src/com/android/contacts/interactions/GroupDeletionDialogFragment.java
+++ b/src/com/android/contacts/interactions/GroupDeletionDialogFragment.java
@@ -48,7 +48,7 @@
String label = getArguments().getString(ARG_LABEL);
String message = getActivity().getString(R.string.delete_group_dialog_message, label);
- return new AlertDialog.Builder(getActivity())
+ return new AlertDialog.Builder(getActivity(), R.style.ContactsAlertDialogTheme)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setMessage(message)
.setPositiveButton(android.R.string.ok,
diff --git a/src/com/android/contacts/list/CustomContactListFilterActivity.java b/src/com/android/contacts/list/CustomContactListFilterActivity.java
index 5bc3c35..492478f 100644
--- a/src/com/android/contacts/list/CustomContactListFilterActivity.java
+++ b/src/com/android/contacts/list/CustomContactListFilterActivity.java
@@ -41,6 +41,7 @@
import android.provider.ContactsContract;
import android.provider.ContactsContract.Groups;
import android.provider.ContactsContract.Settings;
+import android.text.TextUtils;
import android.util.Log;
import android.view.ContextMenu;
import android.view.LayoutInflater;
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index 2aacabe..0b6c20f 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -77,6 +77,7 @@
import com.android.contacts.util.ImplicitIntentsUtil;
import com.android.contacts.util.SharedPreferenceUtil;
import com.android.contacts.util.SyncUtil;
+import com.android.contacts.util.ViewUtil;
import com.android.contactsbind.FeatureHighlightHelper;
import com.android.contactsbind.experiments.Flags;
import com.google.common.util.concurrent.Futures;
@@ -500,6 +501,7 @@
mSearchHeaderView = inflater.inflate(R.layout.search_header, null, false);
headerContainer.addView(mSearchHeaderView);
getListView().addHeaderView(headerContainer, null, false);
+ ViewUtil.addBottomPaddingToListViewForFab(getListView(), getResources());
checkHeaderViewVisibility();
mSearchProgress = getView().findViewById(R.id.search_progress);
@@ -1029,9 +1031,10 @@
// Light tint the icons for normal mode, dark tint for search or selection mode.
for (int i = 0; i < menu.size(); ++i) {
final Drawable icon = menu.getItem(i).getIcon();
- if (icon != null && !isSearchOrSelectionMode) {
+ if (icon != null) {
icon.mutate().setColorFilter(ContextCompat.getColor(getContext(),
- R.color.actionbar_icon_color), PorterDuff.Mode.SRC_ATOP);
+ !isSearchOrSelectionMode ? R.color.actionbar_icon_color :
+ R.color.actionbar_icon_color_grey), PorterDuff.Mode.SRC_ATOP);
}
}
}
diff --git a/src/com/android/contacts/preference/DisplayOrderPreference.java b/src/com/android/contacts/preference/DisplayOrderPreference.java
index 801bb24..cea81cd 100644
--- a/src/com/android/contacts/preference/DisplayOrderPreference.java
+++ b/src/com/android/contacts/preference/DisplayOrderPreference.java
@@ -85,6 +85,7 @@
// UX recommendation is not to show cancel button on such lists.
protected void onPrepareDialogBuilder(Builder builder) {
super.onPrepareDialogBuilder(builder);
+ builder.getContext().setTheme(R.style.ContactsAlertDialogTheme);
builder.setNegativeButton(null, null);
}
}
diff --git a/src/com/android/contacts/preference/PhoneticNameDisplayPreference.java b/src/com/android/contacts/preference/PhoneticNameDisplayPreference.java
index 42bbcc3..692d1c6 100644
--- a/src/com/android/contacts/preference/PhoneticNameDisplayPreference.java
+++ b/src/com/android/contacts/preference/PhoneticNameDisplayPreference.java
@@ -88,6 +88,7 @@
@Override
protected void onPrepareDialogBuilder(Builder builder) {
super.onPrepareDialogBuilder(builder);
+ builder.getContext().setTheme(R.style.ContactsAlertDialogTheme);
builder.setNegativeButton(null, null);
}
}
diff --git a/src/com/android/contacts/preference/SortOrderPreference.java b/src/com/android/contacts/preference/SortOrderPreference.java
index 3870231..08d779b 100644
--- a/src/com/android/contacts/preference/SortOrderPreference.java
+++ b/src/com/android/contacts/preference/SortOrderPreference.java
@@ -85,6 +85,7 @@
// UX recommendation is not to show cancel button on such lists.
protected void onPrepareDialogBuilder(Builder builder) {
super.onPrepareDialogBuilder(builder);
+ builder.getContext().setTheme(R.style.ContactsAlertDialogTheme);
builder.setNegativeButton(null, null);
}
}
diff --git a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
index d462a0e..6f5e52d 100644
--- a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
+++ b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
@@ -465,7 +465,7 @@
ViewGroup.LayoutParams.MATCH_PARENT, mDividerLineHeightPixels);
// The separator is aligned with the text in the entry. This is offset by a default
// margin. If there is an icon present, the icon's width and margin are added
- int marginStart = res.getDimensionPixelSize(
+ /*int marginStart = res.getDimensionPixelSize(
R.dimen.expanding_entry_card_item_padding_start);
ImageView entryIcon = (ImageView) entry.findViewById(R.id.icon);
if (entryIcon.getVisibility() == View.VISIBLE) {
@@ -474,7 +474,7 @@
res.getDimensionPixelSize(R.dimen.expanding_entry_card_item_image_spacing);
marginStart += imageWidthAndMargin;
}
- layoutParams.setMarginStart(marginStart);
+ layoutParams.setMarginStart(marginStart);*/
separator.setLayoutParams(layoutParams);
return separator;
}
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 35fc2cc..f6e806f 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -40,6 +40,7 @@
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
+import android.graphics.Outline;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.BitmapDrawable;
@@ -90,6 +91,7 @@
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnCreateContextMenuListener;
+import android.view.ViewOutlineProvider;
import android.view.WindowManager;
import android.widget.Toast;
import android.widget.Toolbar;
@@ -472,6 +474,26 @@
}
};
+ private static class QuickContactHeaderViewOutline extends ViewOutlineProvider {
+ public int mRadius;
+ public boolean mBottomOnly;
+
+ public QuickContactHeaderViewOutline(int radius, boolean bottomOnly) {
+ mRadius = radius;
+ mBottomOnly = bottomOnly;
+ }
+ @Override
+ public void getOutline(View view, Outline outline) {
+ if (mBottomOnly) {
+ outline.setRoundRect(0, 0 - mRadius, view.getWidth(), view.getHeight(), mRadius);
+ } else {
+ outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), mRadius);
+ }
+ }
+ }
+ private QuickContactHeaderViewOutline mOutlineProviderFull;
+ private QuickContactHeaderViewOutline mOutlineProviderBottom;
+
@Override
public boolean onContextItemSelected(MenuItem item) {
EntryContextMenuInfo menuInfo;
@@ -683,6 +705,11 @@
mAboutCard.setOnCreateContextMenuListener(mEntryContextMenuListener);
mPhotoView = (QuickContactImageView) findViewById(R.id.photo);
+ mOutlineProviderFull = new QuickContactHeaderViewOutline(getResources().getDimensionPixelSize(R.dimen.quickcontact_edge_radius), false);
+ mOutlineProviderBottom = new QuickContactHeaderViewOutline(getResources().getDimensionPixelSize(R.dimen.quickcontact_edge_radius), true);
+ mPhotoView.setClipToOutline(true);
+ mPhotoView.setOutlineProvider(mOutlineProviderFull);
+
final View transparentView = findViewById(R.id.transparent_view);
if (mScroller != null) {
transparentView.setOnClickListener(new OnClickListener() {
@@ -692,7 +719,7 @@
}
});
}
-
+
// Allow a shadow to be shown under the toolbar.
ViewUtil.addRectangularOutlineProvider(findViewById(R.id.toolbar_parent), getResources());
@@ -1547,7 +1574,7 @@
phoneContentDescription = com.android.contacts.util.ContactDisplayUtils
.getTelephoneTtsSpannable(primaryContentDescription.toString(), header);
iconResourceId = R.drawable.quantum_ic_phone_vd_theme_24;
- icon = res.getDrawable(iconResourceId);
+ icon = context.getDrawable(iconResourceId);
if (PhoneCapabilityTester.isPhone(context)) {
intent = CallUtil.getCallIntent(phone.getNumber());
intent.putExtra(EXTRA_ACTION_TYPE, ActionType.CALL);
@@ -1556,7 +1583,7 @@
Uri.fromParts(ContactsUtils.SCHEME_SMSTO, phone.getNumber(), null));
alternateIntent.putExtra(EXTRA_ACTION_TYPE, ActionType.SMS);
- alternateIcon = res.getDrawable(R.drawable.quantum_ic_message_vd_theme_24);
+ alternateIcon = context.getDrawable(R.drawable.quantum_ic_message_vd_theme_24);
alternateContentDescription.append(res.getString(R.string.sms_custom, header));
smsContentDescription = com.android.contacts.util.ContactDisplayUtils
.getTelephoneTtsSpannable(alternateContentDescription.toString(), header);
@@ -1570,7 +1597,7 @@
boolean isPresent = (carrierPresence & Phone.CARRIER_PRESENCE_VT_CAPABLE) != 0;
if (CallUtil.isCallWithSubjectSupported(context)) {
- thirdIcon = res.getDrawable(R.drawable.quantum_ic_perm_phone_msg_vd_theme_24);
+ thirdIcon = context.getDrawable(R.drawable.quantum_ic_perm_phone_msg_vd_theme_24);
thirdAction = Entry.ACTION_CALL_WITH_SUBJECT;
thirdContentDescription =
res.getString(R.string.call_with_a_note);
@@ -1592,7 +1619,7 @@
thirdExtras.putString(CallSubjectDialog.ARG_NUMBER_LABEL,
phoneLabel);
} else if (isVideoEnabled && (!isPresenceEnabled || isPresent)) {
- thirdIcon = res.getDrawable(R.drawable.quantum_ic_videocam_vd_theme_24);
+ thirdIcon = context.getDrawable(R.drawable.quantum_ic_videocam_vd_theme_24);
thirdAction = Entry.ACTION_INTENT;
thirdIntent = CallUtil.getVideoCallIntent(phone.getNumber(),
CALL_ORIGIN_QUICK_CONTACTS_ACTIVITY);
@@ -1601,7 +1628,7 @@
res.getString(R.string.description_video_call);
} else if (CallUtil.isTachyonEnabled(context)
&& ((PhoneDataItem) dataItem).isTachyonReachable()) {
- thirdIcon = res.getDrawable(R.drawable.quantum_ic_videocam_vd_theme_24);
+ thirdIcon = context.getDrawable(R.drawable.quantum_ic_videocam_vd_theme_24);
thirdAction = Entry.ACTION_INTENT;
thirdIntent = new Intent(TACHYON_CALL_ACTION);
thirdIntent.setData(
@@ -1629,7 +1656,7 @@
}
primaryContentDescription.append(header);
iconResourceId = R.drawable.quantum_ic_email_vd_theme_24;
- icon = res.getDrawable(iconResourceId);
+ icon = context.getDrawable(iconResourceId);
}
} else if (dataItem instanceof StructuredPostalDataItem) {
StructuredPostalDataItem postal = (StructuredPostalDataItem) dataItem;
@@ -1651,11 +1678,11 @@
alternateIntent =
StructuredPostalUtils.getViewPostalAddressDirectionsIntent(postalAddress);
alternateIntent.putExtra(EXTRA_ACTION_TYPE, ActionType.DIRECTIONS);
- alternateIcon = res.getDrawable(R.drawable.quantum_ic_directions_vd_theme_24);
+ alternateIcon = context.getDrawable(R.drawable.quantum_ic_directions_vd_theme_24);
alternateContentDescription.append(res.getString(
R.string.content_description_directions)).append(" ").append(header);
iconResourceId = R.drawable.quantum_ic_place_vd_theme_24;
- icon = res.getDrawable(iconResourceId);
+ icon = context.getDrawable(iconResourceId);
}
} else if (dataItem instanceof SipAddressDataItem) {
final SipAddressDataItem sip = (SipAddressDataItem) dataItem;
@@ -1679,7 +1706,7 @@
}
primaryContentDescription.append(header);
iconResourceId = R.drawable.quantum_ic_dialer_sip_vd_theme_24;
- icon = res.getDrawable(iconResourceId);
+ icon = context.getDrawable(iconResourceId);
}
} else if (dataItem instanceof StructuredNameDataItem) {
// If the name is already set and this is not the super primary value then leave the
@@ -1715,8 +1742,8 @@
// If a secondDataItem is available, use it to build an entry with
// alternate actions
if (secondDataItem != null) {
- icon = res.getDrawable(R.drawable.quantum_ic_hangout_vd_theme_24);
- alternateIcon = res.getDrawable(
+ icon = context.getDrawable(R.drawable.quantum_ic_hangout_vd_theme_24);
+ alternateIcon = context.getDrawable(
R.drawable.quantum_ic_hangout_video_vd_theme_24);
final HangoutsDataItemModel itemModel =
new HangoutsDataItemModel(intent, alternateIntent,
@@ -1731,9 +1758,9 @@
text = itemModel.text;
} else {
if (HANGOUTS_DATA_5_VIDEO.equals(intent.getDataString())) {
- icon = res.getDrawable(R.drawable.quantum_ic_hangout_video_vd_theme_24);
+ icon = context.getDrawable(R.drawable.quantum_ic_hangout_video_vd_theme_24);
} else {
- icon = res.getDrawable(R.drawable.quantum_ic_hangout_vd_theme_24);
+ icon = context.getDrawable(R.drawable.quantum_ic_hangout_vd_theme_24);
}
}
} else {
@@ -2044,9 +2071,12 @@
// Only use a custom status bar color if QuickContacts touches the top of the viewport.
if (mScroller.getScrollNeededToBeFullScreen() <= 0) {
desiredStatusBarColor = mStatusBarColor;
+ mPhotoView.setOutlineProvider(mOutlineProviderBottom);
} else {
desiredStatusBarColor = Color.TRANSPARENT;
+ mPhotoView.setOutlineProvider(mOutlineProviderFull);
}
+
// Animate to the new color.
final ObjectAnimator animation = ObjectAnimator.ofInt(getWindow(), "statusBarColor",
getWindow().getStatusBarColor(), desiredStatusBarColor);
diff --git a/src/com/android/contacts/util/AccountSelectionUtil.java b/src/com/android/contacts/util/AccountSelectionUtil.java
index bfe8a08..fe5e9e9 100644
--- a/src/com/android/contacts/util/AccountSelectionUtil.java
+++ b/src/com/android/contacts/util/AccountSelectionUtil.java
@@ -101,7 +101,7 @@
// Wrap our context to inflate list items using correct theme
final Context dialogContext = new ContextThemeWrapper(
- activity, android.R.style.Theme_Light);
+ activity, android.R.style.Theme_DeviceDefault);
final LayoutInflater dialogInflater = (LayoutInflater)dialogContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final ArrayAdapter<AccountWithDataSet> accountAdapter =
diff --git a/src/com/android/contacts/util/MaterialColorMapUtils.java b/src/com/android/contacts/util/MaterialColorMapUtils.java
index c1616ce..3fb7bbe 100644
--- a/src/com/android/contacts/util/MaterialColorMapUtils.java
+++ b/src/com/android/contacts/util/MaterialColorMapUtils.java
@@ -188,8 +188,8 @@
final boolean isGroupView = activity instanceof PeopleActivity
&& ((PeopleActivity) activity).isGroupView();
return isGroupView
- ? ContextCompat.getColor(activity, R.color.group_primary_color_dark)
- : ContextCompat.getColor(activity, R.color.primary_color_dark);
+ ? ContextCompat.getColor(activity, R.color.group_primary_color)
+ : ContextCompat.getColor(activity, R.color.primary_color);
}
/**
diff --git a/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java b/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java
index da2b468..bab2b25 100644
--- a/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java
+++ b/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java
@@ -185,7 +185,8 @@
}
};
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()
+ , R.style.ContactsAlertDialogTheme);
ListAdapter selectAccountListAdapter = new SelectAccountListAdapter(
builder.getContext(),
R.layout.select_account_list_item,