Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 87615abc authored by Suprabh Shukla's avatar Suprabh Shukla Committed by android-build-merger
Browse files

Merge "Updating strings for activity interceptor dialog" into pi-dev

am: 3e5b5076

Change-Id: Ifedcc426f81670c705408f01638c69a761044dff
parents 568a9726 3e5b5076
Loading
Loading
Loading
Loading
+28 −8
Original line number Diff line number Diff line
@@ -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);
+5 −3
Original line number Diff line number Diff line
@@ -4704,11 +4704,13 @@
    <string name="locale_search_menu">Search</string>

    <!-- Title of the dialog that is shown when the user tries to launch a suspended application [CHAR LIMIT=30] -->
    <string name="app_suspended_title">Action not allowed</string>
    <string name="app_suspended_title">Can\u2019t open app</string>
    <!-- Default message shown in the dialog that is shown when the user tries to launch a suspended application [CHAR LIMIT=NONE] -->
    <string name="app_suspended_default_message">The application <xliff:g id="app_name" example="GMail">%1$s</xliff:g> is currently disabled.</string>
    <string name="app_suspended_default_message">
        The app <xliff:g id="app_name" example="Gmail">%1$s</xliff:g> isn\u2019t available right now. This is managed by <xliff:g id="app_name" example="Settings">%2$s</xliff:g>.
    </string>
    <!-- Title of the button to show users more details about why the app has been suspended [CHAR LIMIT=50]-->
    <string name="app_suspended_more_details">More details</string>
    <string name="app_suspended_more_details">Learn more</string>

    <!-- Title of a dialog. The string is asking if the user wants to turn on their work profile, which contains work apps that are managed by their employer. "Work" is an adjective. [CHAR LIMIT=30] -->
    <string name="work_mode_off_title">Turn on work profile?</string>
+2 −1
Original line number Diff line number Diff line
@@ -234,8 +234,9 @@ class ActivityStartInterceptor {
    private Intent createSuspendedAppInterceptIntent(String suspendedPackage,
            String suspendingPackage, String dialogMessage, int userId) {
        final Intent interceptIntent = new Intent(mServiceContext, SuspendedAppActivity.class)
                .putExtra(Intent.EXTRA_PACKAGE_NAME, suspendedPackage)
                .putExtra(SuspendedAppActivity.EXTRA_SUSPENDED_PACKAGE, suspendedPackage)
                .putExtra(SuspendedAppActivity.EXTRA_DIALOG_MESSAGE, dialogMessage)
                .putExtra(SuspendedAppActivity.EXTRA_SUSPENDING_PACKAGE, suspendingPackage)
                .putExtra(Intent.EXTRA_USER_ID, userId)
                .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                        | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
+10 −7
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.content.IntentFilter;
import android.content.pm.IPackageManager;
import android.content.pm.LauncherApps;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.os.BaseBundle;
import android.os.Bundle;
import android.os.Handler;
@@ -68,6 +69,7 @@ import java.util.concurrent.atomic.AtomicReference;
@LargeTest
public class SuspendPackagesTest {
    private static final String TAG = SuspendPackagesTest.class.getSimpleName();
    private static final String TEST_APP_LABEL = "Suspend Test App";
    private static final String TEST_APP_PACKAGE_NAME = SuspendTestReceiver.PACKAGE_NAME;
    private static final String[] PACKAGES_TO_SUSPEND = new String[]{TEST_APP_PACKAGE_NAME};

@@ -446,23 +448,24 @@ public class SuspendPackagesTest {
        turnScreenOn();
        mAppCommsReceiver.register(mReceiverHandler, ACTION_REPORT_MORE_DETAILS_ACTIVITY_STARTED,
                ACTION_REPORT_TEST_ACTIVITY_STARTED);
        final String testMessage = "This is a test message";
        final String testMessage = "This is a test message to report suspension of %1$s";
        suspendTestPackage(null, null, testMessage);
        startTestAppActivity();
        assertNull("No broadcast was expected from app", mAppCommsReceiver.pollForIntent(2));
        assertNotNull("Given dialog message not shown",
                mUiDevice.wait(Until.findObject(By.text(testMessage)), 5000));
        final String buttonText = "More details";
        assertNotNull("Given dialog message not shown", mUiDevice.wait(
                Until.findObject(By.text(String.format(testMessage, TEST_APP_LABEL))), 5000));
        final String buttonText = mContext.getResources().getString(Resources.getSystem()
                .getIdentifier("app_suspended_more_details", "string", "android"));
        final UiObject2 moreDetailsButton = mUiDevice.findObject(
                By.clickable(true).text(buttonText));
        assertNotNull("\"More Details\" button not shown", moreDetailsButton);
        assertNotNull(buttonText + " button not shown", moreDetailsButton);
        moreDetailsButton.click();
        final Intent intentFromApp = mAppCommsReceiver.receiveIntentFromApp();
        assertEquals("\"More Details\" activity start not reported",
        assertEquals(buttonText + " activity start not reported",
                ACTION_REPORT_MORE_DETAILS_ACTIVITY_STARTED, intentFromApp.getAction());
        final String receivedPackageName = intentFromApp.getStringExtra(
                EXTRA_RECEIVED_PACKAGE_NAME);
        assertEquals("Wrong package name received by \"More Details\" activity",
        assertEquals("Wrong package name received by " + buttonText + " activity",
                TEST_APP_PACKAGE_NAME, receivedPackageName);
    }

+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.android.servicestests.apps.suspendtestapp">

    <application>
    <application android:label="Suspend Test App">
        <activity android:name=".SuspendTestActivity"
                  android:exported="true" />
        <receiver android:name=".SuspendTestReceiver"