Merge "Fix notification history crash & layout" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
9229504fe2
@@ -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"
|
||||
|
@@ -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)));
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user