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

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

View File

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

View File

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