Include changes that happen when history is open am: 8b031276b7
Change-Id: Ia3745b7d99ef5acae3becb123be35548f8dacda6
This commit is contained in:
@@ -236,39 +236,44 @@ public class NotificationHistoryActivity extends Activity {
|
|||||||
};
|
};
|
||||||
|
|
||||||
private final NotificationListenerService mListener = new NotificationListenerService() {
|
private final NotificationListenerService mListener = new NotificationListenerService() {
|
||||||
|
private RecyclerView mDismissedRv;
|
||||||
|
private RecyclerView mSnoozedRv;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onListenerConnected() {
|
public void onListenerConnected() {
|
||||||
StatusBarNotification[] snoozed = getSnoozedNotifications();
|
StatusBarNotification[] snoozed = getSnoozedNotifications();
|
||||||
|
mSnoozedRv = mSnoozeView.findViewById(R.id.notification_list);
|
||||||
|
LinearLayoutManager lm = new LinearLayoutManager(NotificationHistoryActivity.this);
|
||||||
|
mSnoozedRv.setLayoutManager(lm);
|
||||||
|
mSnoozedRv.setAdapter(
|
||||||
|
new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm));
|
||||||
|
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(
|
||||||
|
mSnoozedRv.getContext(), lm.getOrientation());
|
||||||
|
mSnoozedRv.addItemDecoration(dividerItemDecoration);
|
||||||
|
mSnoozedRv.setNestedScrollingEnabled(false);
|
||||||
|
|
||||||
if (snoozed == null || snoozed.length == 0) {
|
if (snoozed == null || snoozed.length == 0) {
|
||||||
mSnoozeView.setVisibility(View.GONE);
|
mSnoozeView.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
RecyclerView rv = mSnoozeView.findViewById(R.id.notification_list);
|
((NotificationSbnAdapter) mSnoozedRv.getAdapter()).onRebuildComplete(
|
||||||
LinearLayoutManager lm = new LinearLayoutManager(NotificationHistoryActivity.this);
|
|
||||||
rv.setLayoutManager(lm);
|
|
||||||
rv.setAdapter(new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm));
|
|
||||||
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(
|
|
||||||
rv.getContext(), lm.getOrientation());
|
|
||||||
rv.addItemDecoration(dividerItemDecoration);
|
|
||||||
rv.setNestedScrollingEnabled(false);
|
|
||||||
|
|
||||||
((NotificationSbnAdapter) rv.getAdapter()).onRebuildComplete(
|
|
||||||
new ArrayList<>(Arrays.asList(snoozed)));
|
new ArrayList<>(Arrays.asList(snoozed)));
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
StatusBarNotification[] dismissed = mNm.getHistoricalNotifications(
|
StatusBarNotification[] dismissed = mNm.getHistoricalNotifications(
|
||||||
NotificationHistoryActivity.this.getPackageName(), 6, false);
|
NotificationHistoryActivity.this.getPackageName(), 6, false);
|
||||||
RecyclerView rv = mDismissView.findViewById(R.id.notification_list);
|
mDismissedRv = mDismissView.findViewById(R.id.notification_list);
|
||||||
LinearLayoutManager lm = new LinearLayoutManager(NotificationHistoryActivity.this);
|
LinearLayoutManager dismissLm =
|
||||||
rv.setLayoutManager(lm);
|
new LinearLayoutManager(NotificationHistoryActivity.this);
|
||||||
rv.setAdapter(new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm));
|
mDismissedRv.setLayoutManager(dismissLm);
|
||||||
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(
|
mDismissedRv.setAdapter(
|
||||||
rv.getContext(), lm.getOrientation());
|
new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm));
|
||||||
rv.addItemDecoration(dividerItemDecoration);
|
DividerItemDecoration dismissDivider = new DividerItemDecoration(
|
||||||
rv.setNestedScrollingEnabled(false);
|
mDismissedRv.getContext(), dismissLm.getOrientation());
|
||||||
|
mDismissedRv.addItemDecoration(dismissDivider);
|
||||||
|
mDismissedRv.setNestedScrollingEnabled(false);
|
||||||
|
|
||||||
((NotificationSbnAdapter) rv.getAdapter()).onRebuildComplete(
|
((NotificationSbnAdapter) mDismissedRv.getAdapter()).onRebuildComplete(
|
||||||
new ArrayList<>(Arrays.asList(dismissed)));
|
new ArrayList<>(Arrays.asList(dismissed)));
|
||||||
mDismissView.setVisibility(View.VISIBLE);
|
mDismissView.setVisibility(View.VISIBLE);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -276,5 +281,22 @@ public class NotificationHistoryActivity extends Activity {
|
|||||||
mDismissView.setVisibility(View.GONE);
|
mDismissView.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNotificationPosted(StatusBarNotification sbn) {
|
||||||
|
// making lint happy
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNotificationRemoved(StatusBarNotification sbn, RankingMap rankingMap,
|
||||||
|
int reason) {
|
||||||
|
if (reason == REASON_SNOOZED) {
|
||||||
|
((NotificationSbnAdapter) mSnoozedRv.getAdapter()).addSbn(sbn);
|
||||||
|
mSnoozeView.setVisibility(View.VISIBLE);
|
||||||
|
} else {
|
||||||
|
((NotificationSbnAdapter) mDismissedRv.getAdapter()).addSbn(sbn);
|
||||||
|
mDismissView.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -108,6 +108,14 @@ public class NotificationSbnAdapter extends
|
|||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addSbn(StatusBarNotification sbn) {
|
||||||
|
if (sbn.isGroup() && sbn.getNotification().isGroupSummary()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
mValues.add(0, sbn);
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
private @NonNull CharSequence loadPackageName(String pkg) {
|
private @NonNull CharSequence loadPackageName(String pkg) {
|
||||||
try {
|
try {
|
||||||
ApplicationInfo info = mPm.getApplicationInfo(pkg,
|
ApplicationInfo info = mPm.getApplicationInfo(pkg,
|
||||||
|
Reference in New Issue
Block a user