DO NOT MERGE Use support toolbar in editor to fix issues in LMP
ContactEditorActivity has to switch to AppCompatActivity, and so
does its theme.
Use support AlertDialog in editor created dialogs so it uses the
appcompat theme correctly.
Test: Manually verified look and functionality of the toolbar in
LMP and on MNC.
Verified LMP cut/copy/paste toolbar appears over the toolbar instead
of pushing it down.
Bug: 33662452
Bug: 33587478
Change-Id: Ie6f4555a237b7a10877dd0b32615120b6d789646
diff --git a/res/layout/contact_editor_activity.xml b/res/layout/contact_editor_activity.xml
index 326e802..3af9b34 100644
--- a/res/layout/contact_editor_activity.xml
+++ b/res/layout/contact_editor_activity.xml
@@ -16,20 +16,21 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/fragment_container"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/fragment_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
- <Toolbar
+ <android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
style="@style/EditorActionBarStyle"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="?android:attr/colorPrimary"
android:elevation="4dp"
- android:navigationContentDescription="@string/cancel_button_content_description"
- android:navigationIcon="@drawable/ic_close_dk"
- android:title="@string/contact_editor_title_existing_contact" />
+ app:navigationContentDescription="@string/cancel_button_content_description"
+ app:navigationIcon="@drawable/ic_close_dk"
+ app:title="@string/contact_editor_title_existing_contact" />
</LinearLayout>
\ No newline at end of file
diff --git a/res/menu/edit_contact.xml b/res/menu/edit_contact.xml
index a62acc8..039c657 100644
--- a/res/menu/edit_contact.xml
+++ b/res/menu/edit_contact.xml
@@ -14,11 +14,12 @@
limitations under the License.
-->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_save"
- android:showAsAction="always"
- android:actionLayout="@layout/editor_save_button"
+ app:showAsAction="always"
+ app:actionLayout="@layout/editor_save_button"
android:title="@string/menu_save" />
<item
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 7f0191e..4155299 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -15,12 +15,10 @@
-->
<resources>
- <style name="EditorActivityTheme" parent="@style/PeopleTheme">
- <item name="android:listViewStyle">@style/ListViewStyle</item>
- <item name="android:actionBarStyle">@style/EditorActionBarStyle</item>
- <item name="android:colorButtonNormal">@color/background_primary</item>
- <item name="android:windowActionBar">false</item>
- <item name="android:windowNoTitle">true</item>
+ <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">
@@ -223,7 +221,7 @@
<item name="icon">@android:color/transparent</item>
</style>
- <style name="EditorActionBarStyle" parent="@style/ContactsActionBarStyle">
+ <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>
@@ -280,10 +278,6 @@
<item name="android:tint">@color/action_bar_button_text_color</item>
</style>
- <style name="ListViewDropdownStyle" parent="@android:style/Widget.ListView.DropDown">
- <item name="android:listSelector">?android:attr/listChoiceBackgroundIndicator</item>
- </style>
-
<style name="ContactPickerTheme" parent="PeopleActivityTheme">
</style>
diff --git a/src/com/android/contacts/activities/ContactEditorActivity.java b/src/com/android/contacts/activities/ContactEditorActivity.java
index 4298d7c..6e79b50 100644
--- a/src/com/android/contacts/activities/ContactEditorActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorActivity.java
@@ -23,13 +23,13 @@
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract.QuickContact;
+import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
-import android.widget.Toolbar;
+import com.android.contacts.AppCompatContactsActivity;
import com.android.contacts.ContactSaveService;
-import com.android.contacts.ContactsActivity;
import com.android.contacts.DynamicShortcuts;
import com.android.contacts.R;
import com.android.contacts.common.activity.RequestPermissionsActivity;
@@ -48,7 +48,7 @@
/**
* Contact editor with only the most important fields displayed initially.
*/
-public class ContactEditorActivity extends ContactsActivity implements
+public class ContactEditorActivity extends AppCompatContactsActivity implements
PhotoSourceDialogFragment.Listener,
DialogManager.DialogShowingViewActivity {
private static final String TAG = "ContactEditorActivity";
@@ -347,6 +347,7 @@
setContentView(R.layout.contact_editor_activity);
mToolbar = (Toolbar) findViewById(R.id.toolbar);
+ setSupportActionBar(mToolbar);
if (Intent.ACTION_EDIT.equals(action)) {
mActionBarTitleResId = R.string.contact_editor_title_existing_contact;
} else {
@@ -355,7 +356,6 @@
mToolbar.setTitle(mActionBarTitleResId);
// Set activity title for Talkback
setTitle(mActionBarTitleResId);
- setActionBar(mToolbar);
if (savedState == null) {
// Create the editor and photo selection fragments
diff --git a/src/com/android/contacts/editor/CancelEditDialogFragment.java b/src/com/android/contacts/editor/CancelEditDialogFragment.java
index d467f3c..48cedff 100644
--- a/src/com/android/contacts/editor/CancelEditDialogFragment.java
+++ b/src/com/android/contacts/editor/CancelEditDialogFragment.java
@@ -16,13 +16,13 @@
package com.android.contacts.editor;
-import com.android.contacts.R;
-
-import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
+import android.support.v7.app.AlertDialog;
+
+import com.android.contacts.R;
/**
* Asks the user whether to cancel editing the contact.
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index 1a7a391..5f544de 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -41,6 +41,7 @@
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.Intents;
import android.provider.ContactsContract.RawContacts;
+import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
@@ -54,7 +55,6 @@
import android.widget.LinearLayout;
import android.widget.ListPopupWindow;
import android.widget.Toast;
-import android.widget.Toolbar;
import com.android.contacts.ContactSaveService;
import com.android.contacts.GroupMetaDataLoader;
diff --git a/src/com/android/contacts/editor/PhotoSourceDialogFragment.java b/src/com/android/contacts/editor/PhotoSourceDialogFragment.java
index c2ed3b4..9ef6608 100644
--- a/src/com/android/contacts/editor/PhotoSourceDialogFragment.java
+++ b/src/com/android/contacts/editor/PhotoSourceDialogFragment.java
@@ -20,12 +20,12 @@
import com.android.contacts.editor.PhotoActionPopup.ChoiceListItem;
import android.app.Activity;
-import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
+import android.support.v7.app.AlertDialog;
import android.view.View;
import android.widget.TextView;
diff --git a/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java b/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java
index f94d5dc..487a5ee 100644
--- a/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java
+++ b/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java
@@ -16,12 +16,12 @@
package com.android.contacts.editor;
-import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.net.Uri;
import android.os.Bundle;
+import android.support.v7.app.AlertDialog;
import com.android.contacts.R;