Add tap targets to top 2 sections

Test: manual
Fixes: 152538014
Change-Id: I4495a6cd75d73425690876d901ae6a73ccdda056
This commit is contained in:
Julia Reynolds
2020-03-27 12:25:37 -04:00
parent 83d0de8d07
commit 4eb430585a
3 changed files with 46 additions and 6 deletions

View File

@@ -16,19 +16,26 @@
package com.android.settings.notification.history;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.os.UserHandle;
import android.text.TextUtils;
import android.util.Slog;
import android.view.View;
import android.widget.DateTimeView;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.core.view.AccessibilityDelegateCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
public class NotificationSbnViewHolder extends RecyclerView.ViewHolder {
private static final String TAG = "SbnViewHolder";
private final TextView mPkgName;
private final ImageView mIcon;
@@ -63,7 +70,7 @@ public class NotificationSbnViewHolder extends RecyclerView.ViewHolder {
mIcon.setImageDrawable(icon);
}
void setPackageName(String pkg) {
void setPackageLabel(String pkg) {
mPkgName.setText(pkg);
}
@@ -74,4 +81,34 @@ public class NotificationSbnViewHolder extends RecyclerView.ViewHolder {
void setProfileBadge(Drawable badge) {
mProfileBadge.setImageDrawable(badge);
}
void addOnClick(String pkg, int userId, PendingIntent pi) {
itemView.setOnClickListener(v -> {
if (pi != null) {
try {
pi.send();
} catch (PendingIntent.CanceledException e) {
Slog.e(TAG, "Could not launch", e);
}
} else {
Intent appIntent = new Intent(Intent.ACTION_MAIN)
.setPackage(pkg);
appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
itemView.getContext().startActivityAsUser(appIntent, UserHandle.of(userId));
}
});
ViewCompat.setAccessibilityDelegate(itemView, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host,
AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
CharSequence description = host.getResources().getText(
R.string.notification_history_open_notification);
AccessibilityNodeInfoCompat.AccessibilityActionCompat customClick =
new AccessibilityNodeInfoCompat.AccessibilityActionCompat(
AccessibilityNodeInfoCompat.ACTION_CLICK, description);
info.addAction(customClick);
}
});
}
}