Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 291ee404 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Fix notification history crash & layout

- Fix occasional crash on device boot
- No more overlapping text

Test: manual
Fixes: 150326599
Fixes: 149767075
Change-Id: I3032a2913f2ca4ce57af596c180faa819e4c9363
parent c2153e24
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -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"
+26 −20
Original line number Diff line number Diff line
@@ -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,9 +268,6 @@ 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);
@@ -273,12 +279,12 @@ public class NotificationHistoryActivity extends Activity {
            mDismissedRv.addItemDecoration(dismissDivider);
            mDismissedRv.setNestedScrollingEnabled(false);

            if (dismissed == null || dismissed.length == 0) {
                mDismissView.setVisibility(View.GONE);
            } else {
                mDismissView.setVisibility(View.VISIBLE);
                ((NotificationSbnAdapter) mDismissedRv.getAdapter()).onRebuildComplete(
                    new ArrayList<>(Arrays.asList(dismissed)));
                mDismissView.setVisibility(View.VISIBLE);
            } catch (Exception e) {
                Slog.e(TAG, "Cannot load recently dismissed", e);
                mDismissView.setVisibility(View.GONE);
            }
        }