Update history flow
So the screens are more clear when you don't have history
items yet
Test: manual
Fixes: 150211282
Change-Id: Icf1dded3e92ed2121e18bf9a35d570f9efcfda62
diff --git a/res/layout/notification_history.xml b/res/layout/notification_history.xml
index b397eef..0e7f6b0 100644
--- a/res/layout/notification_history.xml
+++ b/res/layout/notification_history.xml
@@ -72,6 +72,35 @@
android:focusable="true"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/notification_history_off_summary" />
+
+ <TextView
+ android:id="@+id/history_toggled_on_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/history_image"
+ android:layout_marginTop="48dp"
+ android:layout_marginStart="48dp"
+ android:layout_marginEnd="48dp"
+ android:layout_gravity="center_horizontal"
+ android:focusable="true"
+ android:visibility="gone"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="@string/history_toggled_on_title" />
+
+ <TextView
+ android:id="@+id/history_toggled_on_summary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/history_off_title"
+ android:layout_marginStart="48dp"
+ android:layout_marginEnd="48dp"
+ android:layout_marginTop="16dp"
+ android:layout_gravity="center_horizontal"
+ android:textAlignment="center"
+ android:focusable="true"
+ android:visibility="gone"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:text="@string/history_toggled_on_summary" />
</LinearLayout>
<LinearLayout
diff --git a/res/values/strings.xml b/res/values/strings.xml
index bc3706f..3c4f304 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8110,6 +8110,12 @@
<!-- Notification history screen; summary when history is off [CHAR LIMIT=NONE] -->
<string name="notification_history_off_summary">Turn on notification history to see recent notifications and snoozed notifications</string>
+ <!-- Notification history screen; title when history is newly turned on [CHAR LIMIT=200] -->
+ <string name="history_toggled_on_title">No recent notifications</string>
+
+ <!-- Notification history screen; summary when history is newly turned on [CHAR LIMIT=NONE] -->
+ <string name="history_toggled_on_summary">Your recent and snoozed notifications will appear here</string>
+
<!-- Notification history screen; content description describing what happens when you tap on a notification history entry [CHAR LIMIT=NONE] -->
<string name="notification_history_view_settings">view notification settings</string>
diff --git a/src/com/android/settings/notification/history/NotificationHistoryActivity.java b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
index 8d7695f..d41268d 100644
--- a/src/com/android/settings/notification/history/NotificationHistoryActivity.java
+++ b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
@@ -70,6 +70,8 @@
private PackageManager mPm;
private HistoryLoader.OnHistoryLoaderListener mOnHistoryLoaderListener = notifications -> {
+ findViewById(R.id.today_list).setVisibility(
+ notifications.isEmpty() ? View.GONE : View.VISIBLE);
// for each package, new header and recycler view
for (NotificationHistoryPackage nhp : notifications) {
View viewForPackage = LayoutInflater.from(this)
@@ -182,6 +184,10 @@
} else {
mHistoryOn.setVisibility(View.GONE);
mHistoryOff.setVisibility(View.VISIBLE);
+ mHistoryOff.findViewById(R.id.history_off_title).setVisibility(View.VISIBLE);
+ mHistoryOff.findViewById(R.id.history_off_summary).setVisibility(View.VISIBLE);
+ mHistoryOff.findViewById(R.id.history_toggled_on_title).setVisibility(View.GONE);
+ mHistoryOff.findViewById(R.id.history_toggled_on_summary).setVisibility(View.GONE);
mTodayView.removeAllViews();
}
}
@@ -232,7 +238,17 @@
Settings.Secure.putInt(getContentResolver(),
NOTIFICATION_HISTORY_ENABLED,
isChecked ? 1 : 0);
- toggleViews(isChecked);
+ mHistoryOn.setVisibility(View.GONE);
+ mHistoryOff.findViewById(R.id.history_off_title).setVisibility(
+ isChecked ? View.GONE : View.VISIBLE);
+ mHistoryOff.findViewById(R.id.history_off_summary).setVisibility(
+ isChecked ? View.GONE : View.VISIBLE);
+ mHistoryOff.findViewById(R.id.history_toggled_on_title).setVisibility(
+ isChecked ? View.VISIBLE : View.GONE);
+ mHistoryOff.findViewById(R.id.history_toggled_on_summary).setVisibility(
+ isChecked ? View.VISIBLE : View.GONE);
+ mTodayView.removeAllViews();
+ mHistoryOff.setVisibility(View.VISIBLE);
};
private final NotificationListenerService mListener = new NotificationListenerService() {