Merge "Remove divider after last items" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-05-13 20:01:52 +00:00
committed by Android (Google) Code Review
4 changed files with 124 additions and 110 deletions

View File

@@ -14,119 +14,132 @@
limitations under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="6dp"
android:minHeight="48dp"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:orientation="vertical"
android:background="?android:attr/selectableItemBackground"
>
<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_height="@*android:dimen/status_bar_icon_size"
android:layout_width="@*android:dimen/status_bar_icon_size"
android:layout_centerVertical="true"
android:layout_marginStart="0dp"
android:layout_marginEnd="8dp"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:tint="?android:attr/textColorPrimary"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/pkgname"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
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" />
<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="gone"
android:tint="?android:attr/textColorSecondary"
android:src="@drawable/ic_notifications_alert"
/>
<ImageView
android:id="@+id/profile_badge"
android:layout_width="@*android:dimen/status_bar_icon_size"
android:layout_height="@*android:dimen/status_bar_icon_size"
android:layout_centerVertical="true"
android:layout_marginEnd="6dp"
android:paddingTop="1dp"
android:scaleType="fitCenter"
android:contentDescription="@*android:string/notification_work_profile_content_description"
android:layout_toStartOf="@id/timestamp"
/>
<DateTimeView
android:id="@+id/timestamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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"
android:layout_centerVertical="true"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
android:textAlignment="viewEnd"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="6dp"
android:minHeight="48dp"
android:orientation="vertical"
android:background="?android:attr/selectableItemBackground"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:orientation="vertical"
android:layout_marginStart="30dp"
android:layout_marginBottom="6dp"
>
<TextView
android:id="@+id/title"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
android:textAlignment="viewStart"
/>
android:minHeight="@*android:dimen/status_bar_icon_size"
android:paddingBottom="6dp">
<TextView
android:id="@+id/text"
<ImageView
android:id="@+id/icon"
android:layout_height="@*android:dimen/status_bar_icon_size"
android:layout_width="@*android:dimen/status_bar_icon_size"
android:layout_centerVertical="true"
android:layout_marginStart="0dp"
android:layout_marginEnd="8dp"
android:contentDescription="@null"
android:adjustViewBounds="true"
android:tint="?android:attr/textColorPrimary"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/pkgname"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
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" />
<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="gone"
android:tint="?android:attr/textColorSecondary"
android:src="@drawable/ic_notifications_alert"
/>
<ImageView
android:id="@+id/profile_badge"
android:layout_width="@*android:dimen/status_bar_icon_size"
android:layout_height="@*android:dimen/status_bar_icon_size"
android:layout_centerVertical="true"
android:layout_marginEnd="6dp"
android:paddingTop="1dp"
android:scaleType="fitCenter"
android:contentDescription="@*android:string/notification_work_profile_content_description"
android:layout_toStartOf="@id/timestamp"
/>
<DateTimeView
android:id="@+id/timestamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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"
android:layout_centerVertical="true"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
android:textAlignment="viewEnd"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
android:textAlignment="viewStart"
/>
android:orientation="vertical"
android:layout_marginStart="30dp"
android:layout_marginBottom="6dp"
>
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical"
android:ellipsize="end"
android:singleLine="true"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
android:textAlignment="viewStart"
/>
<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:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
android:textAlignment="viewStart"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_marginTop="17dp"
android:background="@color/material_grey_300" />
</LinearLayout>

View File

@@ -266,9 +266,6 @@ public class NotificationHistoryActivity extends Activity {
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) {
@@ -284,9 +281,6 @@ public class NotificationHistoryActivity extends Activity {
mDismissedRv.setLayoutManager(dismissLm);
mDismissedRv.setAdapter(
new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm));
DividerItemDecoration dismissDivider = new DividerItemDecoration(
mDismissedRv.getContext(), dismissLm.getOrientation());
mDismissedRv.addItemDecoration(dismissDivider);
mDismissedRv.setNestedScrollingEnabled(false);
if (dismissed == null || dismissed.length == 0) {

View File

@@ -94,6 +94,7 @@ public class NotificationSbnAdapter extends
holder.setTitle(getTitleString(sbn.getNotification()));
holder.setSummary(getTextString(mContext, sbn.getNotification()));
holder.setPostedTime(sbn.getPostTime());
holder.setDividerVisible(position < (mValues.size() -1));
int userId = normalizeUserId(sbn);
if (!mUserBadgeCache.containsKey(userId)) {
Drawable profile = mContext.getPackageManager().getUserBadgeForDensity(

View File

@@ -45,6 +45,7 @@ public class NotificationSbnViewHolder extends RecyclerView.ViewHolder {
private final TextView mTitle;
private final TextView mSummary;
private final ImageView mProfileBadge;
private final View mDivider;
NotificationSbnViewHolder(View itemView) {
super(itemView);
@@ -54,6 +55,7 @@ public class NotificationSbnViewHolder extends RecyclerView.ViewHolder {
mTitle = itemView.findViewById(R.id.title);
mSummary = itemView.findViewById(R.id.text);
mProfileBadge = itemView.findViewById(R.id.profile_badge);
mDivider = itemView.findViewById(R.id.divider);
}
void setSummary(CharSequence summary) {
@@ -85,6 +87,10 @@ public class NotificationSbnViewHolder extends RecyclerView.ViewHolder {
mProfileBadge.setVisibility(badge != null ? View.VISIBLE : View.GONE);
}
void setDividerVisible(boolean visible) {
mDivider.setVisibility(visible ? View.VISIBLE : View.GONE);
}
void addOnClick(String pkg, int userId, PendingIntent pi) {
Intent appIntent = itemView.getContext().getPackageManager()
.getLaunchIntentForPackage(pkg);