From 4d6e11ce4b9f383f40daab586c66001f152a2d83 Mon Sep 17 00:00:00 2001 From: josephpv Date: Thu, 11 Jan 2024 11:56:07 +0000 Subject: [PATCH] Show private space unlocked toast when PS is unlocked from Settings This contains the change to show private space unlocked toast message when PS is unlocked from private space settings entry point. Also has change in the pending intent passed to requestQuietModeEnabled API to allow BAL of PS settings page as suggested in go/debug-bal Recording is uploaded to the issue b/317313482 Bug: 317313482 Test: Manually verified Toast is shown on PS unlock from settings Change-Id: I2f03b7decdad2bb9e1018012ff5986e48305a4e7 --- res/values/strings.xml | 2 ++ .../PrivateSpaceAuthenticationActivity.java | 14 ++++++++++++-- .../PrivateSpaceDashboardFragment.java | 11 ++++++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index b63f8065b4a..35c175997c0 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1285,6 +1285,8 @@ Private Space successfully deleted Private Space could not be deleted + + Private space unlocked Set a screen lock diff --git a/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java index 69c4d9d3ac8..e9cce121312 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java +++ b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java @@ -18,6 +18,7 @@ package com.android.settings.privatespace; import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PASSWORD; +import android.app.ActivityOptions; import android.app.AlertDialog; import android.app.KeyguardManager; import android.app.PendingIntent; @@ -50,6 +51,8 @@ import com.google.android.setupdesign.util.ThemeHelper; */ public class PrivateSpaceAuthenticationActivity extends FragmentActivity { private static final String TAG = "PrivateSpaceAuthCheck"; + public static final String EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED = + "extra_show_private_space_unlocked"; private PrivateSpaceMaintainer mPrivateSpaceMaintainer; private KeyguardManager mKeyguardManager; @@ -158,12 +161,19 @@ public class PrivateSpaceAuthenticationActivity extends FragmentActivity { .setTransitionType(SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE) .setSourceMetricsCategory(SettingsEnums.PRIVATE_SPACE_SETTINGS); if (mPrivateSpaceMaintainer.isPrivateSpaceLocked()) { + ActivityOptions options = + ActivityOptions.makeBasic() + .setPendingIntentCreatorBackgroundActivityStartMode( + ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED); mPrivateSpaceMaintainer.unlockPrivateSpace( PendingIntent.getActivity( context, /* requestCode */ 0, - privateSpaceSettings.toIntent(), - PendingIntent.FLAG_IMMUTABLE) + privateSpaceSettings + .toIntent() + .putExtra(EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED, true), + PendingIntent.FLAG_IMMUTABLE, + options.toBundle()) .getIntentSender()); } else { privateSpaceSettings.launch(); diff --git a/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java index ed4df971cc6..e4264778dcc 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java +++ b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java @@ -16,20 +16,29 @@ package com.android.settings.privatespace; +import static com.android.settings.privatespace.PrivateSpaceAuthenticationActivity.EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED; + import android.app.settings.SettingsEnums; import android.os.Bundle; +import android.util.Log; +import android.widget.Toast; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; /** Fragment representing the Private Space dashboard in Settings. */ public class PrivateSpaceDashboardFragment extends DashboardFragment { - private static final String TAG = "PrivateSpaceDashboardFragment"; + private static final String TAG = "PSDashboardFragment"; @Override public void onCreate(Bundle icicle) { if (android.os.Flags.allowPrivateProfile()) { super.onCreate(icicle); + if (getIntent().getBooleanExtra(EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED, false)) { + Log.i(TAG, "Private space unlocked showing toast"); + Toast.makeText(getContext(), R.string.private_space_unlocked, Toast.LENGTH_SHORT) + .show(); + } } }