clean up layout & styling of notification history
Test: manual
Fixes: 157161601
Fixes: 157162238
Fixes: 157160265
Fixes: 157161125
Fixes: 157160611
Fixes: 157158944
Change-Id: I9853426987549898b7996e9db43f7767e4c41641
diff --git a/res/layout/notification_history.xml b/res/layout/notification_history.xml
index 3d6edd5..3cbe036 100644
--- a/res/layout/notification_history.xml
+++ b/res/layout/notification_history.xml
@@ -136,12 +136,12 @@
android:layout_width="wrap_content"
android:text="@string/notification_history_snooze"
android:textColor="?android:attr/textColorPrimary"
- android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textAppearance="@style/TextAppearance.HomepageCardTitle"
android:paddingBottom="16dp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/notification_list"
- android:elevation="3dp"
+ android:elevation="1dp"
android:background="@drawable/rounded_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -161,11 +161,11 @@
android:layout_width="wrap_content"
android:text="@string/notification_history_dismiss"
android:textColor="?android:attr/textColorPrimary"
- android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textAppearance="@style/TextAppearance.HomepageCardTitle"
android:paddingBottom="16dp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/notification_list"
- android:elevation="3dp"
+ android:elevation="1dp"
android:background="@drawable/rounded_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -183,19 +183,18 @@
android:layout_width="wrap_content"
android:text="@string/notification_history_today"
android:textColor="?android:attr/textColorPrimary"
- android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textAppearance="@style/TextAppearance.HomepageCardTitle"
android:paddingBottom="16dp" />
<LinearLayout
android:id="@+id/apps"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:elevation="3dp"
+ android:elevation="1dp"
android:orientation="vertical"
android:background="@drawable/rounded_bg">
<!-- app based recycler views added here -->
</LinearLayout>
</LinearLayout>
</LinearLayout>
-
</LinearLayout>
</androidx.core.widget.NestedScrollView>
\ No newline at end of file
diff --git a/res/layout/notification_history_app_layout.xml b/res/layout/notification_history_app_layout.xml
index e8d3316..a1b3be7 100644
--- a/res/layout/notification_history_app_layout.xml
+++ b/res/layout/notification_history_app_layout.xml
@@ -78,6 +78,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="true"
+ android:clipToPadding="true"
android:importantForAccessibility="yes"
android:scrollbars="none"/>
diff --git a/res/layout/notification_history_log_row.xml b/res/layout/notification_history_log_row.xml
index ab5e29d..4f45fec 100644
--- a/res/layout/notification_history_log_row.xml
+++ b/res/layout/notification_history_log_row.xml
@@ -17,12 +17,13 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
- android:paddingBottom="6dp"
- android:paddingTop="6dp"
+ android:paddingTop="16dp"
+ android:paddingBottom="16dp"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:orientation="vertical"
- android:background="?android:attr/selectableItemBackground">
+ android:background="?android:attr/colorBackgroundFloating"
+ android:foreground="?android:attr/selectableItemBackground">
<LinearLayout
android:layout_width="match_parent"
@@ -38,7 +39,7 @@
android:layout_centerVertical="true"
android:ellipsize="end"
android:singleLine="true"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
+ android:textAppearance="@style/TextAppearance.NotificationHistory.Title"
android:layout_toStartOf="@id/alerted_icon"
android:textAlignment="viewStart"/>
@@ -64,7 +65,7 @@
android:layout_centerVertical="true"
android:ellipsize="end"
android:singleLine="true"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+ android:textAppearance="@style/TextAppearance.NotificationHistory.AppName"
android:textAlignment="viewEnd"
/>
</LinearLayout>
@@ -77,7 +78,7 @@
android:ellipsize="end"
android:singleLine="true"
android:paddingTop="3dp"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+ android:textAppearance="@style/TextAppearance.NotificationHistory.Text"
android:textAlignment="viewStart" />
</LinearLayout>
diff --git a/res/layout/notification_sbn_log_row.xml b/res/layout/notification_sbn_log_row.xml
index 049e940..a5b8dd0 100644
--- a/res/layout/notification_sbn_log_row.xml
+++ b/res/layout/notification_sbn_log_row.xml
@@ -16,18 +16,17 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="6dp"
android:minHeight="48dp"
android:orientation="vertical"
- android:background="?android:attr/selectableItemBackground"
->
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:background="?android:attr/selectableItemBackground">
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
- android:orientation="vertical"
- >
+ android:paddingTop="16dp"
+ android:paddingBottom="16dp"
+ android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
@@ -56,10 +55,9 @@
android:ellipsize="end"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
- android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textAppearance="@style/TextAppearance.NotificationHistory.AppName"
android:marqueeRepeatLimit = "marquee_forever"
android:scrollHorizontally = "true"
- android:textStyle="bold"
android:textAlignment="viewStart" />
<ImageView
@@ -98,7 +96,7 @@
android:layout_centerVertical="true"
android:ellipsize="end"
android:singleLine="true"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+ android:textAppearance="@style/TextAppearance.NotificationHistory.AppName"
android:textAlignment="viewEnd"
/>
</LinearLayout>
@@ -107,7 +105,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:layout_marginStart="30dp"
android:layout_marginBottom="6dp"
>
@@ -118,7 +115,7 @@
android:layout_gravity="left|center_vertical"
android:ellipsize="end"
android:singleLine="true"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
+ android:textAppearance="@style/TextAppearance.NotificationHistory.Title"
android:textAlignment="viewStart"
/>
@@ -129,7 +126,7 @@
android:layout_gravity="left|center_vertical"
android:ellipsize="end"
android:singleLine="true"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+ android:textAppearance="@style/TextAppearance.NotificationHistory.Text"
android:textAlignment="viewStart"
/>
@@ -140,6 +137,5 @@
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="0.5dp"
- android:layout_marginTop="17dp"
android:background="@color/material_grey_300" />
</LinearLayout>
\ No newline at end of file
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 98f340c..2fd0afb 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -334,6 +334,24 @@
<item name="android:padding">8dp</item>
</style>
+ <style name="TextAppearance.NotificationHistory">
+ <item name="android:textSize">14sp</item>
+ </style>
+
+ <style name="TextAppearance.NotificationHistory.AppName">
+ <item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
+ <item name="android:textSize">12sp</item>
+ </style>
+
+ <style name="TextAppearance.NotificationHistory.Title">
+ <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+ </style>
+
+ <style name="TextAppearance.NotificationHistory.Text">
+ <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+ <item name="android:textColor">?android:attr/textColorSecondary</item>
+ </style>
+
<style name="TextAppearance.ContextualCardDismissalText"
parent="@*android:style/TextAppearance.DeviceDefault.Body1">
<item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
diff --git a/src/com/android/settings/notification/history/NotificationHistoryActivity.java b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
index 8b4bc9d..5531f12 100644
--- a/src/com/android/settings/notification/history/NotificationHistoryActivity.java
+++ b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
@@ -20,6 +20,7 @@
import static androidx.core.view.accessibility.AccessibilityEventCompat.TYPE_VIEW_ACCESSIBILITY_FOCUSED;
+import android.app.ActionBar;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.INotificationManager;
@@ -27,6 +28,8 @@
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
+import android.content.res.TypedArray;
+import android.graphics.Outline;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
@@ -37,9 +40,11 @@
import android.service.notification.StatusBarNotification;
import android.util.Log;
import android.util.Slog;
+import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewOutlineProvider;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
@@ -82,6 +87,23 @@
findViewById(R.id.today_list).setVisibility(
notifications.isEmpty() ? View.GONE : View.VISIBLE);
mCountdownLatch.countDown();
+ mTodayView.setClipToOutline(true);
+ mTodayView.setOutlineProvider(new ViewOutlineProvider() {
+ @Override
+ public void getOutline(View view, Outline outline) {
+ final TypedArray ta = NotificationHistoryActivity.this.obtainStyledAttributes(
+ new int[]{android.R.attr.dialogCornerRadius});
+ final float dialogCornerRadius = ta.getDimension(0, 0);
+ ta.recycle();
+ TypedValue v = new TypedValue();
+ NotificationHistoryActivity.this.getTheme().resolveAttribute(
+ com.android.internal.R.attr.listDivider, v, true);
+ int bottomPadding = NotificationHistoryActivity.this.getDrawable(v.resourceId)
+ .getIntrinsicHeight();
+ outline.setRoundRect(0, 0, view.getWidth(), (view.getHeight() - bottomPadding),
+ dialogCornerRadius);
+ }
+ });
// for each package, new header and recycler view
for (NotificationHistoryPackage nhp : notifications) {
View viewForPackage = LayoutInflater.from(this)
@@ -138,6 +160,13 @@
mHistoryOn = findViewById(R.id.history_on);
mHistoryEmpty = findViewById(R.id.history_on_empty);
mSwitchBar = findViewById(R.id.switch_bar);
+
+ ActionBar actionBar = getActionBar();
+ if (actionBar != null) {
+ actionBar.setDisplayHomeAsUpEnabled(true);
+ actionBar.setHomeButtonEnabled(true);
+ actionBar.setDisplayShowTitleEnabled(true);
+ }
}
@Override
@@ -200,6 +229,12 @@
super.onDestroy();
}
+ @Override
+ public boolean onNavigateUp() {
+ finish();
+ return true;
+ }
+
private void bindSwitch() {
if (mSwitchBar != null) {
mSwitchBar.setSwitchBarText(R.string.notification_history_toggle,
diff --git a/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java b/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java
index 6f6deb0..5a6ff7e 100644
--- a/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java
+++ b/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java
@@ -2,10 +2,7 @@
import android.annotation.Nullable;
import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.Rect;
import android.util.AttributeSet;
-import android.view.View;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.ItemTouchHelper;
@@ -26,7 +23,8 @@
this(context, attrs, 0);
}
- public NotificationHistoryRecyclerView(Context context, @Nullable AttributeSet attrs, int defStyle) {
+ public NotificationHistoryRecyclerView(Context context, @Nullable AttributeSet attrs,
+ int defStyle) {
super(context, attrs, defStyle);
setLayoutManager(new LinearLayoutManager(getContext()));