Merge "Fix notification history crash & layout" into rvc-dev am: 9229504fe2 am: 90551d0a85

Change-Id: I22933fd2237bd866d8960c75b2a874401b71ffd2
This commit is contained in:
Automerger Merge Worker
2020-02-29 05:52:23 +00:00
2 changed files with 32 additions and 23 deletions

View File

@@ -28,19 +28,21 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:layout_marginBottom="6dp"> android:layout_marginBottom="6dp">
<RelativeLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@*android:dimen/status_bar_icon_size" android:layout_height="@*android:dimen/status_bar_icon_size"
android:gravity="center_vertical"> android:gravity="center_vertical">
<TextView <TextView
android:id="@+id/title" android:id="@+id/title"
android:layout_width="match_parent" android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:ellipsize="end" android:ellipsize="end"
android:singleLine="true" android:singleLine="true"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title" android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
android:layout_toStartOf="@id/alerted_icon"
android:textAlignment="viewStart"/> android:textAlignment="viewStart"/>
<ImageView <ImageView
@@ -51,8 +53,9 @@
android:layout_marginStart="6dp" android:layout_marginStart="6dp"
android:paddingTop="1dp" android:paddingTop="1dp"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:visibility="gone" android:visibility="invisible"
android:layout_toEndOf="@id/title" android:layout_toEndOf="@id/title"
android:layout_toStartOf="@id/timestamp"
android:tint="?android:attr/textColorSecondary" android:tint="?android:attr/textColorSecondary"
android:src="@drawable/ic_notifications_alert"/> android:src="@drawable/ic_notifications_alert"/>
@@ -67,7 +70,7 @@
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification" android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
android:textAlignment="viewEnd" android:textAlignment="viewEnd"
/> />
</RelativeLayout> </LinearLayout>
<TextView <TextView
android:id="@+id/text" android:id="@+id/text"

View File

@@ -241,7 +241,16 @@ public class NotificationHistoryActivity extends Activity {
@Override @Override
public void onListenerConnected() { public void onListenerConnected() {
StatusBarNotification[] snoozed = getSnoozedNotifications(); StatusBarNotification[] snoozed = null;
StatusBarNotification[] dismissed = null;
try {
snoozed = getSnoozedNotifications();
dismissed = mNm.getHistoricalNotifications(
NotificationHistoryActivity.this.getPackageName(), 6, false);
} catch (SecurityException | RemoteException e) {
Log.d(TAG, "OnPaused called while trying to retrieve notifications");
}
mSnoozedRv = mSnoozeView.findViewById(R.id.notification_list); mSnoozedRv = mSnoozeView.findViewById(R.id.notification_list);
LinearLayoutManager lm = new LinearLayoutManager(NotificationHistoryActivity.this); LinearLayoutManager lm = new LinearLayoutManager(NotificationHistoryActivity.this);
mSnoozedRv.setLayoutManager(lm); mSnoozedRv.setLayoutManager(lm);
@@ -259,26 +268,23 @@ public class NotificationHistoryActivity extends Activity {
new ArrayList<>(Arrays.asList(snoozed))); new ArrayList<>(Arrays.asList(snoozed)));
} }
try { mDismissedRv = mDismissView.findViewById(R.id.notification_list);
StatusBarNotification[] dismissed = mNm.getHistoricalNotifications( LinearLayoutManager dismissLm =
NotificationHistoryActivity.this.getPackageName(), 6, false); new LinearLayoutManager(NotificationHistoryActivity.this);
mDismissedRv = mDismissView.findViewById(R.id.notification_list); mDismissedRv.setLayoutManager(dismissLm);
LinearLayoutManager dismissLm = mDismissedRv.setAdapter(
new LinearLayoutManager(NotificationHistoryActivity.this); new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm));
mDismissedRv.setLayoutManager(dismissLm); DividerItemDecoration dismissDivider = new DividerItemDecoration(
mDismissedRv.setAdapter( mDismissedRv.getContext(), dismissLm.getOrientation());
new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm)); mDismissedRv.addItemDecoration(dismissDivider);
DividerItemDecoration dismissDivider = new DividerItemDecoration( mDismissedRv.setNestedScrollingEnabled(false);
mDismissedRv.getContext(), dismissLm.getOrientation());
mDismissedRv.addItemDecoration(dismissDivider);
mDismissedRv.setNestedScrollingEnabled(false);
((NotificationSbnAdapter) mDismissedRv.getAdapter()).onRebuildComplete( if (dismissed == null || dismissed.length == 0) {
new ArrayList<>(Arrays.asList(dismissed)));
mDismissView.setVisibility(View.VISIBLE);
} catch (Exception e) {
Slog.e(TAG, "Cannot load recently dismissed", e);
mDismissView.setVisibility(View.GONE); mDismissView.setVisibility(View.GONE);
} else {
mDismissView.setVisibility(View.VISIBLE);
((NotificationSbnAdapter) mDismissedRv.getAdapter()).onRebuildComplete(
new ArrayList<>(Arrays.asList(dismissed)));
} }
} }