summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorSuprabh Shukla <suprabh@google.com>2018-04-10 17:07:32 -0700
committerSuprabh Shukla <suprabh@google.com>2018-04-10 21:54:02 -0700
commitc401f155f052171fdb527e03dbba047e95a4d332 (patch)
tree7affc7dd348aecaeae437fcb32b7cffb72fe0a64 /core/java
parent65317bac02e993d1313a1958a8497ff5f2a2ecd5 (diff)
Updating strings for activity interceptor dialog
Updated to more descriptive title and button text. The default message dialog will also show the suspending app name. Test: atest \ com.android.server.pm.SuspendPackagesTest#testInterceptorActivity Bug: 75332201 Change-Id: Ica77fb04874a8e32fe0d82ac27a9babd3b186f8d
Diffstat (limited to 'core/java')
-rw-r--r--core/java/com/android/internal/app/SuspendedAppActivity.java36
1 files changed, 28 insertions, 8 deletions
diff --git a/core/java/com/android/internal/app/SuspendedAppActivity.java b/core/java/com/android/internal/app/SuspendedAppActivity.java
index 322c87619342..25af3557e354 100644
--- a/core/java/com/android/internal/app/SuspendedAppActivity.java
+++ b/core/java/com/android/internal/app/SuspendedAppActivity.java
@@ -19,10 +19,10 @@ package com.android.internal.app;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
+import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.UserHandle;
import android.util.Slog;
-import android.view.Window;
import android.view.WindowManager;
import com.android.internal.R;
@@ -31,6 +31,10 @@ public class SuspendedAppActivity extends AlertActivity
implements DialogInterface.OnClickListener {
private static final String TAG = "SuspendedAppActivity";
+ public static final String EXTRA_SUSPENDED_PACKAGE =
+ "SuspendedAppActivity.extra.SUSPENDED_PACKAGE";
+ public static final String EXTRA_SUSPENDING_PACKAGE =
+ "SuspendedAppActivity.extra.SUSPENDING_PACKAGE";
public static final String EXTRA_DIALOG_MESSAGE = "SuspendedAppActivity.extra.DIALOG_MESSAGE";
public static final String EXTRA_MORE_DETAILS_INTENT =
"SuspendedAppActivity.extra.MORE_DETAILS_INTENT";
@@ -38,10 +42,19 @@ public class SuspendedAppActivity extends AlertActivity
private Intent mMoreDetailsIntent;
private int mUserId;
+ private CharSequence getAppLabel(String packageName) {
+ final PackageManager pm = getPackageManager();
+ try {
+ return pm.getApplicationInfoAsUser(packageName, 0, mUserId).loadLabel(pm);
+ } catch (PackageManager.NameNotFoundException ne) {
+ Slog.e(TAG, "Package " + packageName + " not found", ne);
+ }
+ return packageName;
+ }
+
@Override
public void onCreate(Bundle icicle) {
- Window window = getWindow();
- window.setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
+ getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
super.onCreate(icicle);
final Intent intent = getIntent();
@@ -52,15 +65,22 @@ public class SuspendedAppActivity extends AlertActivity
finish();
return;
}
- String dialogMessage = intent.getStringExtra(EXTRA_DIALOG_MESSAGE);
- if (dialogMessage == null) {
- dialogMessage = getString(R.string.app_suspended_default_message);
+ final String suppliedMessage = intent.getStringExtra(EXTRA_DIALOG_MESSAGE);
+ final CharSequence suspendedAppLabel = getAppLabel(
+ intent.getStringExtra(EXTRA_SUSPENDED_PACKAGE));
+ final CharSequence dialogMessage;
+ if (suppliedMessage == null) {
+ dialogMessage = getString(R.string.app_suspended_default_message,
+ suspendedAppLabel,
+ getAppLabel(intent.getStringExtra(EXTRA_SUSPENDING_PACKAGE)));
+ } else {
+ dialogMessage = String.format(getResources().getConfiguration().getLocales().get(0),
+ suppliedMessage, suspendedAppLabel);
}
final AlertController.AlertParams ap = mAlertParams;
ap.mTitle = getString(R.string.app_suspended_title);
- ap.mMessage = String.format(getResources().getConfiguration().getLocales().get(0),
- dialogMessage, intent.getStringExtra(Intent.EXTRA_PACKAGE_NAME));
+ ap.mMessage = dialogMessage;
ap.mPositiveButtonText = getString(android.R.string.ok);
if (mMoreDetailsIntent != null) {
ap.mNeutralButtonText = getString(R.string.app_suspended_more_details);