Merge "Defer phone search fragment" into ics-mr1
diff --git a/res/drawable/group_source_button_background.xml b/res/drawable/gray_action_bar_background.xml
similarity index 100%
rename from res/drawable/group_source_button_background.xml
rename to res/drawable/gray_action_bar_background.xml
diff --git a/res/layout-sw580dp/contact_picker.xml b/res/layout-sw580dp/contact_picker.xml
index d4ee224..c6582e0 100644
--- a/res/layout-sw580dp/contact_picker.xml
+++ b/res/layout-sw580dp/contact_picker.xml
@@ -14,19 +14,20 @@
limitations under the License.
-->
-<view
+<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- class="com.android.contacts.widget.FullHeightLinearLayout"
style="@style/ContactPickerLayout"
android:orientation="vertical"
android:layout_height="match_parent">
+ <!-- Right bound should be aligned to ListView's right edge. -->
<view
class="android.widget.SearchView"
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="0dip"
- android:layout_marginRight="32dip"
+ android:layout_marginRight="@dimen/list_visible_scrollbar_padding"
+ android:paddingRight="0dip"
android:iconifiedByDefault="false" />
<!-- will contain an appropriate contacts list -->
<FrameLayout
@@ -35,18 +36,26 @@
android:layout_height="0dip"
android:layout_weight="1" />
+ <!-- This should look like a menu on the split action bar. -->
<LinearLayout
- style="?android:attr/buttonBarStyle"
+ android:id="@+id/new_contact"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:minHeight="48dip"
+ android:background="@drawable/gray_action_bar_background"
android:paddingLeft="16dip"
android:paddingRight="16dip">
- <Button
- android:id="@+id/new_contact"
- style="?android:attr/buttonBarButtonStyle"
- android:layout_width="match_parent"
+ <TextView
+ android:id="@android:id/title"
+ android:layout_width="0dip"
android:layout_height="wrap_content"
- android:textAllCaps="true"
- android:text="@string/pickerNewContactText" />
+ android:layout_weight="1"
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:duplicateParentState="true"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="@color/action_bar_button_text_color"
+ style="@android:style/Widget.Holo.ActionBar.TabText"
+ android:text="@string/pickerNewContactText"/>
</LinearLayout>
-</view>
+</LinearLayout>
diff --git a/res/layout/group_source_button.xml b/res/layout/group_source_button.xml
index 8d09033..71348f6 100644
--- a/res/layout/group_source_button.xml
+++ b/res/layout/group_source_button.xml
@@ -25,7 +25,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dip"
- android:background="@drawable/group_source_button_background"
+ android:background="@drawable/gray_action_bar_background"
android:paddingLeft="16dip"
android:paddingRight="16dip" >
diff --git a/res/layout/join_contact_picker_list_content.xml b/res/layout/join_contact_picker_list_content.xml
index 40137e2..8f9955f 100644
--- a/res/layout/join_contact_picker_list_content.xml
+++ b/res/layout/join_contact_picker_list_content.xml
@@ -19,15 +19,16 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:paddingTop="16dip"
android:orientation="vertical">
<TextView
android:id="@+id/join_contact_blurb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginLeft="@dimen/contact_browser_list_header_left_margin"
- android:layout_marginRight="@dimen/contact_browser_list_header_right_margin"
+ android:layout_marginLeft="@dimen/join_header_left_margin"
+ android:layout_marginTop="@dimen/join_header_top_margin"
+ android:layout_marginRight="@dimen/join_header_right_margin"
+ android:layout_marginBottom="@dimen/join_header_bottom_margin"
android:paddingLeft="?attr/list_item_header_text_indent"
android:maxLines="2"
android:textAppearance="?android:attr/textAppearanceSmall" />
diff --git a/res/layout/join_contact_picker_section_header.xml b/res/layout/join_contact_picker_section_header.xml
index 50dac70..2404558 100644
--- a/res/layout/join_contact_picker_section_header.xml
+++ b/res/layout/join_contact_picker_section_header.xml
@@ -20,19 +20,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
-
<TextView
android:id="@+id/text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="32dip"
- android:paddingLeft="?attr/list_item_header_text_indent"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textAllCaps="true"
- android:textStyle="bold"
- android:singleLine="true"
- android:ellipsize="end"
- android:gravity="center_vertical" />
-
- <View style="@style/SectionDivider" />
+ style="@style/ContactListSeparatorTextViewStyle"
+ android:paddingLeft="8dip"
+ android:paddingRight="8dip" />
</LinearLayout>
diff --git a/res/values-sw580dp/dimens.xml b/res/values-sw580dp/dimens.xml
index cb2d173..3d3cb17 100644
--- a/res/values-sw580dp/dimens.xml
+++ b/res/values-sw580dp/dimens.xml
@@ -40,6 +40,13 @@
<dimen name="list_visible_scrollbar_padding">48dip</dimen>
<dimen name="account_filter_header_top_padding">@dimen/contact_browser_list_top_margin</dimen>
+ <!-- Because the "join" screen has the vertical scroll bar on right,
+ we cannot use @dimen/contact_browser_list_header_left_margin as is. -->
+ <dimen name="join_header_left_margin">24dip</dimen>
+ <dimen name="join_header_right_margin">@dimen/list_visible_scrollbar_padding</dimen>
+ <dimen name="join_header_top_margin">16dip</dimen>
+ <dimen name="join_header_bottom_margin">16dip</dimen>
+
<!-- Margins and padding for text in widget -->
<dimen name="widget_snippet_top_margin">5dip</dimen>
<dimen name="widget_snippet_bottom_margin">6dip</dimen>
diff --git a/res/values-sw580dp/styles.xml b/res/values-sw580dp/styles.xml
index 3cf50e2..bf5b137 100644
--- a/res/values-sw580dp/styles.xml
+++ b/res/values-sw580dp/styles.xml
@@ -57,6 +57,7 @@
</style>
<style name="ContactPickerTheme" parent="@android:Theme.Holo.Light.Dialog">
+ <item name="android:windowSoftInputMode">adjustResize</item>
<item name="android:listViewStyle">@style/ListViewStyle</item>
<item name="list_item_height">?android:attr/listPreferredItemHeight</item>
<item name="section_header_background">@drawable/list_title_holo</item>
@@ -82,17 +83,18 @@
<item name="list_item_label_width_weight">3</item>
<item name="list_item_contacts_count_text_color">@color/contact_count_text_color</item>
<item name="list_item_contacts_count_text_size">12sp</item>
- <item name="contact_browser_list_padding_left">16dip</item>
+ <item name="contact_browser_list_padding_left">24dip</item>
<item name="contact_browser_list_padding_right">0dip</item>
<item name="contact_browser_background">@android:color/transparent</item>
+ <item name="list_item_text_indent">@dimen/contact_browser_list_item_text_indent</item>
</style>
<style name="ContactPickerLayout" parent="ContactPickerTheme">
<item name="android:layout_width">match_parent</item>
- <item name="android:layout_height">480dip</item>
+ <item name="android:layout_height">match_parent</item>
</style>
<style name="JoinContactActivityTheme" parent="ContactPickerTheme" >
<item name="android:layout_width">match_parent</item>
- <item name="android:layout_height">480dip</item>
+ <item name="android:layout_height">match_parent</item>
</style>
<style name="ContactListFilterTheme" parent="@android:Theme.Holo.Light.Dialog">
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index fa66877..89122ca 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -166,6 +166,11 @@
<dimen name="contact_browser_list_item_photo_size">64dip</dimen>
<dimen name="contact_browser_list_item_text_indent">8dip</dimen>
<dimen name="contact_browser_list_top_margin">8dip</dimen>
+ <!-- For join screen. Mainly for tablet. -->
+ <dimen name="join_header_left_margin">@dimen/contact_browser_list_header_left_margin</dimen>
+ <dimen name="join_header_right_margin">@dimen/contact_browser_list_header_right_margin</dimen>
+ <dimen name="join_header_top_margin">16dip</dimen>
+ <dimen name="join_header_bottom_margin">0dip</dimen>
<dimen name="account_filter_header_top_padding">0dip</dimen>
diff --git a/res/values/donottranslate_config.xml b/res/values/donottranslate_config.xml
index 79a2b29..b36dbe1 100644
--- a/res/values/donottranslate_config.xml
+++ b/res/values/donottranslate_config.xml
@@ -124,4 +124,10 @@
<!-- Regular expression for prohibiting certain phone numbers in dialpad.
Ignored if empty. -->
<string name="config_prohibited_phone_number_regexp"></string>
+
+ <!-- If true, enable the "import contacts from SIM" feature if the device
+ has an appropriate SIM or ICC card.
+ Setting this flag to false in a resource overlay allows you to
+ entirely disable SIM import on a per-product basis. -->
+ <bool name="config_allow_sim_import">true</bool>
</resources>
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index e68c7bc..3098864 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -86,7 +86,7 @@
/**
* Can be null. If null, the "Create New Contact" button should be on the menu.
*/
- private Button mCreateNewContactButton;
+ private View mCreateNewContactButton;
public ContactSelectionActivity() {
mIntentResolver = new ContactsIntentResolver(this);
@@ -135,7 +135,7 @@
prepareSearchViewAndActionBar();
- mCreateNewContactButton = (Button) findViewById(R.id.new_contact);
+ mCreateNewContactButton = findViewById(R.id.new_contact);
if (mCreateNewContactButton != null) {
if (shouldShowCreateNewContactButton()) {
mCreateNewContactButton.setVisibility(View.VISIBLE);
diff --git a/src/com/android/contacts/activities/DialtactsActivity.java b/src/com/android/contacts/activities/DialtactsActivity.java
index 88bdcbf..1de7b76 100644
--- a/src/com/android/contacts/activities/DialtactsActivity.java
+++ b/src/com/android/contacts/activities/DialtactsActivity.java
@@ -400,8 +400,6 @@
mViewPager.setAdapter(new ViewPagerAdapter(getFragmentManager()));
mViewPager.setOnPageChangeListener(mPageChangeListener);
- prepareSearchView();
-
// Setup the ActionBar tabs (the order matches the tab-index contants TAB_INDEX_*)
setupDialer();
setupCallLog();
@@ -815,6 +813,10 @@
* Hides every tab and shows search UI for phone lookup.
*/
private void enterSearchUi() {
+ if (mSearchView == null) {
+ prepareSearchView();
+ }
+
final ActionBar actionBar = getActionBar();
final Tab tab = actionBar.getSelectedTab();
diff --git a/src/com/android/contacts/interactions/ImportExportDialogFragment.java b/src/com/android/contacts/interactions/ImportExportDialogFragment.java
index 2eedfb3..7fdc47e 100644
--- a/src/com/android/contacts/interactions/ImportExportDialogFragment.java
+++ b/src/com/android/contacts/interactions/ImportExportDialogFragment.java
@@ -87,7 +87,8 @@
}
};
- if (TelephonyManager.getDefault().hasIccCard()) {
+ if (TelephonyManager.getDefault().hasIccCard()
+ && res.getBoolean(R.bool.config_allow_sim_import)) {
adapter.add(R.string.import_from_sim);
}
if (res.getBoolean(R.bool.config_allow_import_from_sdcard)) {