Merge "Extract app label from component name in notification access confirmation UI" into qt-dev am: 94683c61b1
am: 839ce544aa
am: 84bafc9fda
am: d6353487cf
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18670793 Change-Id: Ie914a7dc51267245d8f7f919b1ed68040032fe63 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -20,7 +20,6 @@ package com.android.settings.notification;
|
|||||||
import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
|
import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
|
||||||
|
|
||||||
import static com.android.internal.notification.NotificationAccessConfirmationActivityContract.EXTRA_COMPONENT_NAME;
|
import static com.android.internal.notification.NotificationAccessConfirmationActivityContract.EXTRA_COMPONENT_NAME;
|
||||||
import static com.android.internal.notification.NotificationAccessConfirmationActivityContract.EXTRA_PACKAGE_TITLE;
|
|
||||||
import static com.android.internal.notification.NotificationAccessConfirmationActivityContract.EXTRA_USER_ID;
|
import static com.android.internal.notification.NotificationAccessConfirmationActivityContract.EXTRA_USER_ID;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
@@ -30,10 +29,13 @@ import android.app.NotificationManager;
|
|||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
|
import android.content.pm.ApplicationInfo;
|
||||||
|
import android.content.pm.PackageItemInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.ServiceInfo;
|
import android.content.pm.ServiceInfo;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.view.accessibility.AccessibilityEvent;
|
import android.view.accessibility.AccessibilityEvent;
|
||||||
@@ -63,15 +65,38 @@ public class NotificationAccessConfirmationActivity extends Activity
|
|||||||
|
|
||||||
mComponentName = getIntent().getParcelableExtra(EXTRA_COMPONENT_NAME);
|
mComponentName = getIntent().getParcelableExtra(EXTRA_COMPONENT_NAME);
|
||||||
mUserId = getIntent().getIntExtra(EXTRA_USER_ID, UserHandle.USER_NULL);
|
mUserId = getIntent().getIntExtra(EXTRA_USER_ID, UserHandle.USER_NULL);
|
||||||
String pkgTitle = getIntent().getStringExtra(EXTRA_PACKAGE_TITLE);
|
CharSequence mAppLabel;
|
||||||
|
|
||||||
|
if (mComponentName == null || mComponentName.getPackageName() == null) {
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
ApplicationInfo applicationInfo = getPackageManager().getApplicationInfo(
|
||||||
|
mComponentName.getPackageName(), 0);
|
||||||
|
mAppLabel = applicationInfo.loadSafeLabel(getPackageManager(),
|
||||||
|
PackageItemInfo.DEFAULT_MAX_LABEL_SIZE_PX,
|
||||||
|
PackageItemInfo.SAFE_LABEL_FLAG_TRIM
|
||||||
|
| PackageItemInfo.SAFE_LABEL_FLAG_FIRST_LINE);
|
||||||
|
} catch (PackageManager.NameNotFoundException e) {
|
||||||
|
Slog.e(LOG_TAG, "Couldn't find app with package name for " + mComponentName, e);
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TextUtils.isEmpty(mAppLabel)) {
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
AlertController.AlertParams p = new AlertController.AlertParams(this);
|
AlertController.AlertParams p = new AlertController.AlertParams(this);
|
||||||
p.mTitle = getString(
|
p.mTitle = getString(
|
||||||
R.string.notification_listener_security_warning_title,
|
R.string.notification_listener_security_warning_title,
|
||||||
pkgTitle);
|
mAppLabel);
|
||||||
p.mMessage = getString(
|
p.mMessage = getString(
|
||||||
R.string.notification_listener_security_warning_summary,
|
R.string.notification_listener_security_warning_summary,
|
||||||
pkgTitle);
|
mAppLabel);
|
||||||
p.mPositiveButtonText = getString(R.string.allow);
|
p.mPositiveButtonText = getString(R.string.allow);
|
||||||
p.mPositiveButtonListener = (a, b) -> onAllow();
|
p.mPositiveButtonListener = (a, b) -> onAllow();
|
||||||
p.mNegativeButtonText = getString(R.string.deny);
|
p.mNegativeButtonText = getString(R.string.deny);
|
||||||
|
Reference in New Issue
Block a user