diff options
author | Yorke Lee <yorkelee@google.com> | 2014-04-02 16:49:38 -0700 |
---|---|---|
committer | Yorke Lee <yorkelee@google.com> | 2014-04-14 17:57:27 -0700 |
commit | 86e21f733049560e77b92f17a58474312d72ec3e (patch) | |
tree | ca0923ca401f1b73f19c7e3ff30ae3478fb97886 /res | |
parent | fb8080e7627b91f25e4c13a270d2a7de8e5c609b (diff) |
Add actionbar to Dialer
Initial changes to replace the fake actionbar affordances in Dialer
with an actual actionBar. This puts the dialer in an intermediate
hybrid state where we are now using the system actionbar for search,
but the searchview is not yet themed to look like our old search
bar, so this is definitely still WIP UI.
This CL retains the fake action bar at the bottom of the screen to
continue allowing quick access to call history while other changes
are underway, but replaces the searchview and the overflow menu
with framework provided actionbar functionality.
Other related changes:
* The searchview (in the top actionbar) is hidden when scrolling to
devote the entire screen area to the speeddial list
https://folio.googleplex.com/phone/L/0407/#/03.png
* Functionality provided by the fake overflow menu has been moved to
the real actionbar overflow menu
* Various modifications to child fragments/listviews to take into
account the existence of an actionbar
* Cleaned up unneeded styles and related-dead code
Bug: 13933082
Change-Id: Ifd855bd67af7bf2d2a403ef9556ade54e8d57ee6
Diffstat (limited to 'res')
-rw-r--r-- | res/layout/all_contacts_activity.xml | 1 | ||||
-rw-r--r-- | res/layout/call_log_activity.xml | 4 | ||||
-rw-r--r-- | res/layout/dialpad_fragment.xml | 6 | ||||
-rw-r--r-- | res/layout/dialtacts_activity.xml | 215 | ||||
-rw-r--r-- | res/layout/phone_favorites_fragment.xml | 2 | ||||
-rw-r--r-- | res/menu/dialtacts_options.xml | 10 | ||||
-rw-r--r-- | res/values/styles.xml | 27 | ||||
-rw-r--r-- | res/xml/searchable.xml | 22 |
8 files changed, 130 insertions, 157 deletions
diff --git a/res/layout/all_contacts_activity.xml b/res/layout/all_contacts_activity.xml index a91302711..50cba1eca 100644 --- a/res/layout/all_contacts_activity.xml +++ b/res/layout/all_contacts_activity.xml @@ -17,7 +17,6 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_marginTop="?android:attr/actionBarSize" android:id="@+id/all_contacts_frame"> <fragment android:name="com.android.dialer.list.AllContactsFragment" android:id="@+id/all_contacts_fragment" diff --git a/res/layout/call_log_activity.xml b/res/layout/call_log_activity.xml index f9806e802..5a50823e4 100644 --- a/res/layout/call_log_activity.xml +++ b/res/layout/call_log_activity.xml @@ -17,11 +17,9 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_marginTop="?android:attr/actionBarSize" android:id="@+id/calllog_frame"> <android.support.v4.view.ViewPager android:id="@+id/call_log_pager" android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_marginTop="?android:attr/actionBarSize" /> + android:layout_height="match_parent"/> </FrameLayout> diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml index dfe5c7c84..d285cc313 100644 --- a/res/layout/dialpad_fragment.xml +++ b/res/layout/dialpad_fragment.xml @@ -49,7 +49,7 @@ android:layout_width="match_parent" android:layout_height="10dp" /> - <include layout="@layout/dialpad_digits"/> + <include layout="@layout/dialpad_digits" /> <Space android:layout_width="match_parent" @@ -59,10 +59,6 @@ <Space android:layout_width="match_parent" - android:layout_height="8dp" /> - - <Space - android:layout_width="match_parent" android:layout_height="2dp" android:background="@color/dialpad_separator_line_color" /> diff --git a/res/layout/dialtacts_activity.xml b/res/layout/dialtacts_activity.xml index 2860886aa..2513216fc 100644 --- a/res/layout/dialtacts_activity.xml +++ b/res/layout/dialtacts_activity.xml @@ -15,143 +15,109 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/dialtacts_mainlayout" android:layout_width="match_parent" android:layout_height="match_parent" - android:focusable="true" android:orientation="vertical" + android:focusable="true" android:focusableInTouchMode="true" android:clipChildren="false" android:background="@color/background_dialer_light" > - - <FrameLayout + <RelativeLayout android:id="@+id/dialtacts_container" android:layout_width="match_parent" android:layout_height="0dp" - android:layout_weight="1"> - - <LinearLayout - android:layout_width="match_parent" + android:layout_weight="1" + android:clipChildren="false"> + <!-- The main contacts grid --> + <FrameLayout android:layout_height="match_parent" + android:layout_width="match_parent" + android:id="@+id/dialtacts_frame" android:clipChildren="false" - android:orientation="vertical" > - - <!-- Search entry box and remove view --> - <FrameLayout + > + </FrameLayout> + <!-- Search entry box and remove view --> + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_alignParentTop="true" + android:id="@+id/search_and_remove_view_container" + android:visibility="gone" + > + <!-- TODO: This is set to visibility:gone for now, should be removed entirely --> + <LinearLayout android:layout_width="match_parent" - android:layout_height="wrap_content" - android:id="@+id/search_and_remove_view_container" + android:layout_height="@dimen/search_box_height" + android:id="@+id/search_view_container" + android:orientation="horizontal" + android:layout_marginTop="@dimen/search_top_margin" + android:layout_marginBottom="@dimen/search_bottom_margin" + android:layout_marginLeft="@dimen/search_margin_horizontal" + android:layout_marginRight="@dimen/search_margin_horizontal" + android:paddingLeft="@dimen/search_box_left_padding" + android:paddingRight="@dimen/search_box_right_padding" + android:background="@drawable/search_bg" + android:gravity="center_vertical" + android:visibility="gone" > - <LinearLayout + <EditText + android:id="@+id/search_view" android:layout_width="match_parent" - android:layout_height="@dimen/search_box_height" - android:id="@+id/search_view_container" - android:orientation="horizontal" - android:layout_marginTop="@dimen/search_top_margin" - android:layout_marginBottom="@dimen/search_bottom_margin" - android:layout_marginLeft="@dimen/search_margin_horizontal" - android:layout_marginRight="@dimen/search_margin_horizontal" - android:paddingLeft="@dimen/search_box_left_padding" - android:paddingRight="@dimen/search_box_right_padding" - android:background="@drawable/search_bg" - android:gravity="center_vertical" - > - <EditText - android:id="@+id/search_view" - android:layout_width="match_parent" - android:layout_height="@dimen/search_box_icon_size" - android:layout_weight="1" - android:layout_marginLeft="@dimen/search_box_text_left_margin" - android:textSize="@dimen/search_text_size" - android:fontFamily="@string/search_font_family" - android:textColor="@color/searchbox_text_color" - android:textColorHint="@color/searchbox_hint_text_color" - android:inputType="textFilter"/> - <ImageView - android:id="@+id/search_close_button" - android:layout_height="@dimen/search_box_icon_size" - android:layout_width="@dimen/search_box_icon_size" - android:padding="6dp" - android:src="@drawable/ic_close_dk" - android:clickable="true" - android:background="?android:attr/selectableItemBackground" - android:contentDescription="@string/description_clear_search" - android:visibility="gone" /> - <ImageView - android:id="@+id/voice_search_button" - android:layout_height="@dimen/search_box_icon_size" - android:layout_width="@dimen/search_box_icon_size" - android:padding="@dimen/search_box_icon_padding" - android:src="@drawable/ic_voice_search" - android:clickable="true" - android:contentDescription="@string/description_start_voice_search" - android:background="?android:attr/selectableItemBackground" /> - </LinearLayout> - <com.android.dialer.list.RemoveView - android:layout_width="match_parent" - android:layout_height="56dp" - android:id="@+id/remove_view_container" - android:orientation="horizontal" - android:gravity="center" - android:visibility="gone"> - <ImageView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/remove_view_icon" - android:src="@drawable/ic_remove" - android:contentDescription="@string/remove_contact" - /> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/remove_view_text" - android:textSize="@dimen/remove_text_size" - android:textColor="@color/remove_text_color" - android:text="@string/remove_contact" - /> - </com.android.dialer.list.RemoveView> - </FrameLayout> - - <!-- Relative Layout is used to contain the main contacts grid and the thin translucent - horizontal divider line at the bottom of the contacts grid above the menu bar. --> - <RelativeLayout android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1" - android:clipChildren="false" - > - <!-- The main contacts grid --> - <FrameLayout - android:layout_height="match_parent" - android:layout_width="match_parent" - android:id="@+id/dialtacts_frame" - android:clipChildren="false" - android:layout_alignParentBottom="true" - android:layout_alignParentTop="true" - android:layout_alignParentLeft="true" - android:layout_alignParentRight="true" - > - </FrameLayout> - <!-- Thin translucent horizontal line at the bottom of the contacts grid. Floats - above the contacts grid and has a translucent color. --> - <View - android:layout_height="2dp" - android:layout_width="match_parent" - android:background="@color/contacts_grid_bottom_border_color" - android:layout_alignParentBottom="true" - android:layout_alignParentLeft="true" - android:layout_alignParentRight="true" - /> - </RelativeLayout> - <Space - android:id="@+id/contact_tile_frame_spacer" - android:layout_height="wrap_content" + android:layout_height="@dimen/search_box_icon_size" + android:layout_weight="1" + android:layout_marginLeft="@dimen/search_box_text_left_margin" + android:textSize="@dimen/search_text_size" + android:fontFamily="@string/search_font_family" + android:textColor="@color/searchbox_text_color" + android:textColorHint="@color/searchbox_hint_text_color" + android:inputType="textFilter"/> + <ImageView + android:id="@+id/search_close_button" + android:layout_height="@dimen/search_box_icon_size" + android:layout_width="@dimen/search_box_icon_size" + android:padding="6dp" + android:src="@drawable/ic_close_dk" + android:clickable="true" + android:background="?android:attr/selectableItemBackground" + android:contentDescription="@string/description_clear_search" + android:visibility="gone" /> + <ImageView + android:id="@+id/voice_search_button" + android:layout_height="@dimen/search_box_icon_size" + android:layout_width="@dimen/search_box_icon_size" + android:padding="@dimen/search_box_icon_padding" + android:src="@drawable/ic_voice_search" + android:clickable="true" + android:contentDescription="@string/description_start_voice_search" + android:background="?android:attr/selectableItemBackground" /> + </LinearLayout> + <com.android.dialer.list.RemoveView android:layout_width="match_parent" - android:layout_alignParentBottom="true" - android:visibility="gone"/> - </LinearLayout> - </FrameLayout> - - <!-- Fake action bar --> + android:layout_height="56dp" + android:id="@+id/remove_view_container" + android:orientation="horizontal" + android:gravity="center"> + <ImageView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/remove_view_icon" + android:src="@drawable/ic_remove" + android:contentDescription="@string/remove_contact" + /> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/remove_view_text" + android:textSize="@dimen/remove_text_size" + android:textColor="@color/remove_text_color" + android:text="@string/remove_contact" + /> + </com.android.dialer.list.RemoveView> + </FrameLayout> + </RelativeLayout> + <!-- TODO: To be removed entirely and replaced with a floating action button --> <FrameLayout android:layout_height="@dimen/fake_action_bar_height" android:layout_width="match_parent" @@ -175,18 +141,19 @@ android:src="@drawable/ic_menu_dialpad_lt"/> <ImageButton android:id="@+id/dial_button" - android:layout_width="@dimen/fake_menu_button_min_width" - android:layout_height="match_parent" + android:layout_width="@dimen/fake_action_bar_height" + android:layout_height="@dimen/fake_action_bar_height" android:layout_gravity="bottom|center" android:background="@drawable/btn_call" android:contentDescription="@string/description_dial_button" android:src="@drawable/ic_dial_action_call" android:visibility="gone" /> <ImageButton - android:id="@+id/overflow_menu" + android:id="@+id/overflow_menu_button" android:layout_width="@dimen/fake_menu_button_min_width" android:layout_height="match_parent" android:layout_gravity="bottom|end" + android:visibility="gone" android:src="@drawable/ic_menu_overflow_lt" android:contentDescription="@string/action_menu_overflow_description" android:background="?android:attr/selectableItemBackground"/> diff --git a/res/layout/phone_favorites_fragment.xml b/res/layout/phone_favorites_fragment.xml index 49924863a..91acb9058 100644 --- a/res/layout/phone_favorites_fragment.xml +++ b/res/layout/phone_favorites_fragment.xml @@ -35,7 +35,7 @@ android:id="@+id/contact_tile_list" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingTop="@dimen/contact_tile_list_padding_top" + android:paddingTop="?android:attr/actionBarSize" android:clipToPadding="false" android:fadingEdge="none" android:divider="@null" /> diff --git a/res/menu/dialtacts_options.xml b/res/menu/dialtacts_options.xml index 7e84818a1..71d095a14 100644 --- a/res/menu/dialtacts_options.xml +++ b/res/menu/dialtacts_options.xml @@ -15,6 +15,16 @@ --> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item + android:id="@+id/menu_search" + android:title="@string/description_search_button" + android:showAsAction="always" + android:actionViewClass="android.widget.SearchView"/> + <item + android:id="@+id/menu_history" + android:icon="@drawable/ic_menu_history_lt" + android:title="@string/action_menu_call_history_description" + android:showAsAction="ifRoom"/> + <item android:id="@+id/menu_import_export" android:title="@string/menu_import_export" /> <item diff --git a/res/values/styles.xml b/res/values/styles.xml index 78c1cc7a8..71859f091 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -19,7 +19,8 @@ parent="android:Theme.Quantum.Light"> <item name="android:textColorPrimary">@color/dialtacts_primary_text_color</item> <item name="android:textColorSecondary">@color/dialtacts_secondary_text_color</item> - <item name="android:windowActionBarOverlay">false</item> + <item name="android:windowActionBarOverlay">true</item> + <item name="android:windowActionModeOverlay">true</item> <item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item> <!-- Style for the tabs (for the tabs) --> <item name="android:actionBarTabStyle">@style/DialtactsActionBarTabStyle</item> @@ -29,8 +30,6 @@ <item name="android:actionBarTabTextStyle">@style/DialtactsActionBarTabTextStyle</item> <!-- Style for the overflow button in the actionbar. --> <item name="android:actionOverflowButtonStyle">@style/DialtactsActionBarOverflow</item> - <!-- The "Up" icon in the action bar. --> - <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item> <item name="android:windowContentOverlay">@null</item> <!-- Searchbox Style --> <item name="android:editTextStyle">@style/DialtactsSearchboxStyle</item> @@ -77,23 +76,6 @@ <item name="favorites_padding_bottom">?android:attr/actionBarSize</item> </style> - <!-- An extension of the main DialtactsTheme used when the the launcher activity is shown. - Ensures that there is no actionbar showing during the load of the dialer app. --> - <style name="DialtactsThemeHiddenActionBar" parent="DialtactsTheme"> - <item name="android:actionBarStyle">@style/DialtactsHiddenActionBarStyle</item> - </style> - - <!-- A "hidden" action bar style. Used when loading the launcher activity so that the - default actionbar is effectively hidden. --> - <style name="DialtactsHiddenActionBarStyle" parent="DialtactsActionBarStyle"> - <item name="android:background">@color/background_dialer_light</item> - <item name="android:titleTextStyle">@style/DialtactsHiddenActionBarTextStyle</item> - </style> - - <style name="DialtactsHiddenActionBarTextStyle" parent="@android:style/TextAppearance"> - <item name="android:textColor">@color/background_dialer_light</item> - </style> - <!-- Action bar overflow menu icon. --> <style name="DialtactsActionBarOverflow" parent="@android:style/Widget.Quantum.Light.ActionButton.Overflow"> @@ -104,8 +86,8 @@ <item name="android:textColorPrimary">#FFFFFF</item> </style> - <style name="DialtactsThemeWithActionBarOverlay" parent="DialtactsTheme"> - <item name="android:windowActionBarOverlay">true</item> + <style name="DialtactsThemeWithoutActionBarOverlay" parent="DialtactsTheme"> + <item name="android:windowActionBarOverlay">false</item> </style> <style name="CallDetailActivityTheme" parent="android:Theme.Quantum.Light"> @@ -114,7 +96,6 @@ <item name="android:listViewStyle">@style/ListViewStyle</item> <item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item> <item name="android:actionOverflowButtonStyle">@style/DialtactsActionBarOverflow</item> - <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item> <!-- CallLog --> <item name="call_log_primary_text_color">#333333</item> <item name="call_log_primary_background_color">#FFFFFF</item> diff --git a/res/xml/searchable.xml b/res/xml/searchable.xml new file mode 100644 index 000000000..0e8242ddf --- /dev/null +++ b/res/xml/searchable.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 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. +--> +<searchable xmlns:android="http://schemas.android.com/apk/res/android" + android:label="@string/applicationLabel" + android:hint="@string/dialer_hint_find_contact" + android:inputType="textNoSuggestions" + android:imeOptions="actionSearch" + android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" + />
\ No newline at end of file |