Merge "Only notify about clipboard access once per clip per app." into sc-dev
This commit is contained in:
@@ -57,6 +57,7 @@ import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Slog;
|
||||
import android.util.SparseArray;
|
||||
import android.util.SparseBooleanArray;
|
||||
import android.view.autofill.AutofillManagerInternal;
|
||||
import android.widget.Toast;
|
||||
|
||||
@@ -274,6 +275,9 @@ public class ClipboardService extends SystemService {
|
||||
/** Package of the app that set {@link #primaryClip}. */
|
||||
String mPrimaryClipPackage;
|
||||
|
||||
/** Uids that have already triggered a toast notification for {@link #primaryClip} */
|
||||
final SparseBooleanArray mNotifiedUids = new SparseBooleanArray();
|
||||
|
||||
final HashSet<String> activePermissionOwners
|
||||
= new HashSet<String>();
|
||||
|
||||
@@ -649,6 +653,7 @@ public class ClipboardService extends SystemService {
|
||||
return;
|
||||
}
|
||||
clipboard.primaryClip = clip;
|
||||
clipboard.mNotifiedUids.clear();
|
||||
if (clip != null) {
|
||||
clipboard.primaryClipUid = uid;
|
||||
clipboard.mPrimaryClipPackage = sourcePackage;
|
||||
@@ -939,6 +944,11 @@ public class ClipboardService extends SystemService {
|
||||
&& mAutofillInternal.isAugmentedAutofillServiceForUser(uid, userId)) {
|
||||
return;
|
||||
}
|
||||
// Don't notify if already notified for this uid and clip.
|
||||
if (clipboard.mNotifiedUids.get(uid)) {
|
||||
return;
|
||||
}
|
||||
clipboard.mNotifiedUids.put(uid, true);
|
||||
|
||||
// Retrieve the app label of the source of the clip data
|
||||
CharSequence sourceAppLabel = null;
|
||||
|
||||
Reference in New Issue
Block a user