Show snackbar with "undo" action when deleting group.
Bug 28955365
Bug 30223734
Change-Id: I16f175835815600e7fdb9d49794bb79002723ac0
diff --git a/res/layout/people_activity.xml b/res/layout/people_activity.xml
index d8b900d..9fd1a69 100644
--- a/res/layout/people_activity.xml
+++ b/res/layout/people_activity.xml
@@ -14,35 +14,43 @@
limitations under the License.
-->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/list_container"
+<android.support.design.widget.CoordinatorLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/root"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent" >
- <!--
- ViewPager for swiping between tabs. We put fragments at runtime.
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/list_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
- (Adding them directly as the children of this view is not recommended. ViewPager should
- be treated like a ListView, which doesn't expect children to be added from the layout.)
- -->
- <android.support.v4.view.ViewPager
- android:id="@+id/tab_pager"
- android:layout_height="match_parent"
- android:layout_width="match_parent"
- android:layout_below="@id/toolbar_parent"
- />
+ <!--
+ ViewPager for swiping between tabs. We put fragments at runtime.
- <FrameLayout
- android:id="@+id/contacts_unavailable_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_below="@id/toolbar_parent"
- android:visibility="gone">
- <FrameLayout
- android:id="@+id/contacts_unavailable_container"
+ (Adding them directly as the children of this view is not recommended. ViewPager should
+ be treated like a ListView, which doesn't expect children to be added from the layout.)
+ -->
+ <android.support.v4.view.ViewPager
+ android:id="@+id/tab_pager"
android:layout_height="match_parent"
- android:layout_width="match_parent" />
- </FrameLayout>
+ android:layout_width="match_parent"
+ android:layout_below="@id/toolbar_parent"
+ />
+
+ <FrameLayout
+ android:id="@+id/contacts_unavailable_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@id/toolbar_parent"
+ android:visibility="gone">
+ <FrameLayout
+ android:id="@+id/contacts_unavailable_container"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent" />
+ </FrameLayout>
+
+ </RelativeLayout>
<include layout="@layout/floating_action_button" />
-</RelativeLayout>
+</android.support.design.widget.CoordinatorLayout>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9f1dd90..a40bce1 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -348,7 +348,7 @@
<!-- Toast displayed when a label is saved [CHAR LIMIT=30] -->
<string name="groupSavedToast">Label saved</string>
- <!-- Toast displayed when a label name is deleted. [CHAR LIMIT=50] -->
+ <!-- Toast or snackbar displayed when a label name is deleted. [CHAR LIMIT=50] -->
<string name="groupDeletedToast">Label deleted</string>
<!-- Toast displayed when a new label name is created. [CHAR LIMIT=50] -->
@@ -964,6 +964,10 @@
<!-- The body text for hamburger promo [CHAR LIMIT=200]-->
<string name="hamburger_feature_highlight_body">Clean up duplicates & group contacts by label</string>
+ <!-- The label for the action shown in a snackbar after an operation that modifies some data is performed.
+ The user can click on the action to rollback the modification-->
+ <string name="undo">Undo</string>
+
<!-- Toast shown when text is copied to the clipboard [CHAR LIMIT=64] -->
<string name="toast_text_copied">Text copied</string>
<!-- Option displayed in context menu to copy long pressed item to clipboard [CHAR LIMIT=64] -->