Merge "Fix app breakage on tablet"
diff --git a/res/layout/contact_editor_custom_action_bar.xml b/res/layout/editor_custom_action_bar.xml
similarity index 97%
rename from res/layout/contact_editor_custom_action_bar.xml
rename to res/layout/editor_custom_action_bar.xml
index ba09929..0f42213 100644
--- a/res/layout/contact_editor_custom_action_bar.xml
+++ b/res/layout/editor_custom_action_bar.xml
@@ -49,6 +49,7 @@
android:layout_gravity="center_vertical"
android:layout_marginRight="20dip"
android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="@android:color/white"
android:text="@string/menu_done"
style="@android:style/Widget.Holo.ActionBar.TabText" />
diff --git a/res/menu/edit_group.xml b/res/menu/edit_group.xml
index d207317..a3387ca 100644
--- a/res/menu/edit_group.xml
+++ b/res/menu/edit_group.xml
@@ -16,15 +16,8 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
- android:id="@+id/menu_done"
- android:alphabeticShortcut="\n"
- android:icon="@drawable/ic_menu_done_holo_light"
- android:title="@string/menu_done"
- android:showAsAction="always|withText" />
-
- <item
android:id="@+id/menu_discard"
android:alphabeticShortcut="q"
- android:title="@string/menu_doNotSave"
- android:showAsAction="always|withText" />
+ android:title="@string/menu_discard"
+ android:showAsAction="withText" />
</menu>
diff --git a/res/values-sw580dp/styles.xml b/res/values-sw580dp/styles.xml
index 240e9af..cf4c4ee 100644
--- a/res/values-sw580dp/styles.xml
+++ b/res/values-sw580dp/styles.xml
@@ -85,15 +85,6 @@
<item name="android:windowContentOverlay">@null</item>
</style>
- <style name="ContactEditorActivityTheme" parent="@android:Theme.Holo.Light">
- <item name="android:actionBarStyle">@style/TransparentActionBarStyle</item>
- <item name="android:windowContentOverlay">@null</item>
- </style>
-
- <style name="TransparentActionBarStyle" parent="android:Widget.Holo.Light.ActionBar">
- <item name="android:background">@null</item>
- </style>
-
<style name="DirectoryHeader" parent="PeopleTheme">
<item name="android:background">@drawable/directory_bg_holo</item>
</style>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ebf26d7..1ca7158 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -203,7 +203,7 @@
<!-- Menu item to indicate you are done editing a contact and want to save the changes you've made -->
<string name="menu_done">Done</string>
- <!-- Menu item to indicate you want to stop editing a group and NOT save the changes you've made [CHAR LIMIT=12] -->
+ <!-- Menu item to indicate you want to cancel the current editing process and NOT save the changes you've made [CHAR LIMIT=12] -->
<string name="menu_doNotSave">Cancel</string>
<!-- Menu item to indicate you want to stop editing a contact and NOT save the changes you've made [CHAR LIMIT=12] -->
diff --git a/src/com/android/contacts/activities/ContactEditorActivity.java b/src/com/android/contacts/activities/ContactEditorActivity.java
index 10be943..a5b3aab 100644
--- a/src/com/android/contacts/activities/ContactEditorActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorActivity.java
@@ -84,8 +84,7 @@
// to the contact
LayoutInflater inflater = (LayoutInflater) getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
- View customActionBarView = inflater.inflate(R.layout.contact_editor_custom_action_bar,
- null);
+ View customActionBarView = inflater.inflate(R.layout.editor_custom_action_bar, null);
View saveMenuItem = customActionBarView.findViewById(R.id.save_menu_item);
saveMenuItem.setOnClickListener(new OnClickListener() {
@Override
diff --git a/src/com/android/contacts/activities/GroupDetailActivity.java b/src/com/android/contacts/activities/GroupDetailActivity.java
index c7cf47c..b56f182 100644
--- a/src/com/android/contacts/activities/GroupDetailActivity.java
+++ b/src/com/android/contacts/activities/GroupDetailActivity.java
@@ -61,9 +61,12 @@
fragment.loadGroup(getIntent().getData());
fragment.closeActivityAfterDelete(true);
- ActionBar actionBar = getActionBar();
+ // We want the UP affordance but no app icon.
+ ActionBar actionBar = getActionBar();
if (actionBar != null) {
- actionBar.setDisplayHomeAsUpEnabled(true);
+ actionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE,
+ ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE
+ | ActionBar.DISPLAY_SHOW_HOME);
}
}
diff --git a/src/com/android/contacts/activities/GroupEditorActivity.java b/src/com/android/contacts/activities/GroupEditorActivity.java
index 814595c..d61b6c3 100644
--- a/src/com/android/contacts/activities/GroupEditorActivity.java
+++ b/src/com/android/contacts/activities/GroupEditorActivity.java
@@ -17,7 +17,6 @@
package com.android.contacts.activities;
import com.android.contacts.ContactsActivity;
-import com.android.contacts.ContactsSearchManager;
import com.android.contacts.R;
import com.android.contacts.editor.ContactEditorFragment.SaveMode;
import com.android.contacts.group.GroupEditorFragment;
@@ -26,11 +25,14 @@
import android.app.ActionBar;
import android.app.Dialog;
+import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
-import android.view.MenuItem;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
public class GroupEditorActivity extends ContactsActivity
implements DialogManager.DialogShowingViewActivity {
@@ -57,11 +59,26 @@
setContentView(R.layout.group_editor_activity);
- // This Activity will always fall back to the "top" Contacts screen when touched on the
- // app up icon, regardless of launch context.
ActionBar actionBar = getActionBar();
if (actionBar != null) {
- actionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP, ActionBar.DISPLAY_HOME_AS_UP);
+ // Inflate a custom action bar that contains the "done" button for saving changes
+ // to the group
+ LayoutInflater inflater = (LayoutInflater) getSystemService
+ (Context.LAYOUT_INFLATER_SERVICE);
+ View customActionBarView = inflater.inflate(R.layout.editor_custom_action_bar,
+ null);
+ View saveMenuItem = customActionBarView.findViewById(R.id.save_menu_item);
+ saveMenuItem.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mFragment.doSaveAction();
+ }
+ });
+ // Show the custom action bar but hide the home icon and title
+ actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
+ ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME |
+ ActionBar.DISPLAY_SHOW_TITLE);
+ actionBar.setCustomView(customActionBarView);
}
mFragment = (GroupEditorFragment) getFragmentManager().findFragmentById(
@@ -109,17 +126,6 @@
}
}
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home: {
- mFragment.save(SaveMode.HOME);
- return true;
- }
- }
- return false;
- }
-
private final GroupEditorFragment.Listener mFragmentListener =
new GroupEditorFragment.Listener() {
@Override
diff --git a/src/com/android/contacts/group/GroupEditorFragment.java b/src/com/android/contacts/group/GroupEditorFragment.java
index f17ac60..bc9e5ba 100644
--- a/src/com/android/contacts/group/GroupEditorFragment.java
+++ b/src/com/android/contacts/group/GroupEditorFragment.java
@@ -388,6 +388,10 @@
mListener = value;
}
+ public void doSaveAction() {
+ save(SaveMode.CLOSE);
+ }
+
@Override
public void onCreateOptionsMenu(Menu menu, final MenuInflater inflater) {
inflater.inflate(R.menu.edit_group, menu);
@@ -396,8 +400,6 @@
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
- case R.id.menu_done:
- return save(SaveMode.CLOSE);
case R.id.menu_discard:
return revert();
}