Adjust tap targets in history
- Fix a crash if an app couldn't be launched
- Fix the height of tap targets and overlap of text
Fixes: 152977855
Fixes: 153199215
Change-Id: Id623f942c7663c977c61df3d1188fe498cab8acc
diff --git a/res/layout/notification_history_log_row.xml b/res/layout/notification_history_log_row.xml
index d2d7cd6..b1357e9 100644
--- a/res/layout/notification_history_log_row.xml
+++ b/res/layout/notification_history_log_row.xml
@@ -16,6 +16,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:minHeight="48dp"
android:paddingBottom="6dp"
android:paddingTop="6dp"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
@@ -25,65 +26,57 @@
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="48dp"
- android:orientation="vertical"
- android:layout_marginBottom="6dp">
- <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_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
- android:id="@+id/alerted_icon"
- android:layout_width="@*android:dimen/status_bar_icon_size"
- android:layout_height="@*android:dimen/status_bar_icon_size"
- android:layout_centerVertical="true"
- android:layout_marginStart="6dp"
- android:paddingTop="1dp"
- android:scaleType="fitCenter"
- android:visibility="invisible"
- android:layout_toEndOf="@id/title"
- android:layout_toStartOf="@id/timestamp"
- android:tint="?android:attr/textColorSecondary"
- android:src="@drawable/ic_notifications_alert"/>
-
- <DateTimeView
- android:id="@+id/timestamp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentEnd="true"
- android:layout_centerVertical="true"
- android:ellipsize="end"
- android:singleLine="true"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
- android:textAlignment="viewEnd"
- />
- </LinearLayout>
+ android:layout_height="@*android:dimen/status_bar_icon_size"
+ android:gravity="center_vertical">
<TextView
- android:id="@+id/text"
- android:layout_width="match_parent"
+ android:id="@+id/title"
+ android:layout_weight="1"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_gravity="left|center_vertical"
+ android:layout_centerVertical="true"
android:ellipsize="end"
android:singleLine="true"
- android:paddingTop="3dp"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
- android:textAlignment="viewStart" />
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
+ android:layout_toStartOf="@id/alerted_icon"
+ android:textAlignment="viewStart"/>
+ <ImageView
+ android:id="@+id/alerted_icon"
+ android:layout_width="@*android:dimen/status_bar_icon_size"
+ android:layout_height="@*android:dimen/status_bar_icon_size"
+ android:layout_centerVertical="true"
+ android:layout_marginStart="6dp"
+ android:paddingTop="1dp"
+ android:scaleType="fitCenter"
+ android:visibility="invisible"
+ android:layout_toEndOf="@id/title"
+ android:layout_toStartOf="@id/timestamp"
+ android:tint="?android:attr/textColorSecondary"
+ android:src="@drawable/ic_notifications_alert"/>
+
+ <DateTimeView
+ android:id="@+id/timestamp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ android:ellipsize="end"
+ android:singleLine="true"
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+ android:textAlignment="viewEnd"
+ />
</LinearLayout>
+ <TextView
+ android:id="@+id/text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="left|center_vertical"
+ android:ellipsize="end"
+ android:singleLine="true"
+ android:paddingTop="3dp"
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+ android:textAlignment="viewStart" />
+
</LinearLayout>
diff --git a/res/layout/notification_sbn_log_row.xml b/res/layout/notification_sbn_log_row.xml
index 3eb6796..3b731ac 100644
--- a/res/layout/notification_sbn_log_row.xml
+++ b/res/layout/notification_sbn_log_row.xml
@@ -16,44 +16,44 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingBottom="6dp"
android:paddingTop="6dp"
+ android:minHeight="48dp"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:orientation="vertical"
android:background="?android:attr/selectableItemBackground"
>
- <RelativeLayout
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- >
+ android:minHeight="@*android:dimen/status_bar_icon_size"
+ android:paddingBottom="6dp">
<ImageView
android:id="@+id/icon"
- android:layout_width="@*android:dimen/status_bar_icon_size"
android:layout_height="@*android:dimen/status_bar_icon_size"
+ android:layout_width="@*android:dimen/status_bar_icon_size"
android:layout_centerVertical="true"
- android:layout_toEndOf="@+id/pkgicon"
android:layout_marginStart="0dp"
android:layout_marginEnd="8dp"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:tint="?android:attr/textColorPrimary"
- android:maxHeight="@*android:dimen/status_bar_icon_size"
- android:maxWidth="@*android:dimen/status_bar_icon_size"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/pkgname"
- android:layout_width="wrap_content"
+ android:layout_weight="1"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
- android:layout_toEndOf="@id/icon"
android:ellipsize="end"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textAppearance="?android:attr/textAppearanceSmall"
+ android:marqueeRepeatLimit = "marquee_forever"
+ android:scrollHorizontally = "true"
android:textStyle="bold"
android:textAlignment="viewStart" />
@@ -66,7 +66,6 @@
android:paddingTop="1dp"
android:scaleType="fitCenter"
android:visibility="gone"
- android:layout_toEndOf="@id/pkgname"
android:tint="?android:attr/textColorSecondary"
android:src="@drawable/ic_notifications_alert"
/>
@@ -87,8 +86,7 @@
android:id="@+id/timestamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:paddingTop="13dp"
- android:paddingBottom="13dp"
+ android:minHeight="@*android:dimen/status_bar_icon_size"
android:layout_alignBottom="@android:id/widget_frame"
android:layout_alignParentEnd="true"
android:layout_alignTop="@android:id/widget_frame"
@@ -98,13 +96,12 @@
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
android:textAlignment="viewEnd"
/>
- </RelativeLayout>
+ </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:minHeight="48dp"
android:layout_marginStart="30dp"
android:layout_marginBottom="6dp"
>
diff --git a/src/com/android/settings/notification/history/NotificationSbnViewHolder.java b/src/com/android/settings/notification/history/NotificationSbnViewHolder.java
index 27b4b73..dabf3f3 100644
--- a/src/com/android/settings/notification/history/NotificationSbnViewHolder.java
+++ b/src/com/android/settings/notification/history/NotificationSbnViewHolder.java
@@ -17,6 +17,7 @@
package com.android.settings.notification.history;
import android.app.PendingIntent;
+import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.UserHandle;
@@ -91,10 +92,14 @@
Slog.e(TAG, "Could not launch", e);
}
} else {
- Intent appIntent = new Intent(Intent.ACTION_MAIN)
- .setPackage(pkg);
+ Intent appIntent = itemView.getContext().getPackageManager()
+ .getLaunchIntentForPackage(pkg);
appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- itemView.getContext().startActivityAsUser(appIntent, UserHandle.of(userId));
+ try {
+ itemView.getContext().startActivityAsUser(appIntent, UserHandle.of(userId));
+ } catch (ActivityNotFoundException e) {
+ Slog.e(TAG, "no launch activity", e);
+ }
}
});
ViewCompat.setAccessibilityDelegate(itemView, new AccessibilityDelegateCompat() {