Add intent to start Private Space setup/settings

Bug: 310027945
Test: Manual
Change-Id: I9df2b239ba24ac44c65a4cb3c18214bbc27bbcec
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 2b49148..53085d8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -4989,9 +4989,16 @@
             android:theme="@style/GlifV3Theme.Light"
             android:exported="false" />
 
-        <activity android:name=".privatespace.PrivateSpaceAuthenticationActivity"
-                  android:theme="@*android:style/Theme.DeviceDefault.Settings.Dialog.NoActionBar"
-                  android:exported="false"/>
+        <activity
+            android:name=".privatespace.PrivateSpaceAuthenticationActivity"
+            android:theme="@*android:style/Theme.DeviceDefault.Settings.Dialog.NoActionBar"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="com.android.settings.action.PRIVATE_SPACE_SETUP_FLOW" />
+                <category android:name="android.intent.category.DEFAULT"/>
+            </intent-filter>
+        </activity>
+
         <activity android:name=".privatespace.PrivateProfileContextHelperActivity" android:exported="false"/>
 
         <activity-alias android:name="UsageStatsActivity"
diff --git a/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java
index 1efd445..a118221 100644
--- a/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java
+++ b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java
@@ -42,9 +42,10 @@
 import com.google.android.setupdesign.util.ThemeHelper;
 
 /**
- * Prompts user to set a device lock if not set with an alert dialog.
- * If a lock is already set then first authenticates user before displaying private space settings
- * page.
+ * This class represents an activity responsible for user authentication before starting the private
+ * space setup flow or accessing the private space settings page if already created. Also prompts
+ * user to set a device lock if not set with an alert dialog. This can be launched using the intent
+ * com.android.settings.action.PRIVATE_SPACE_SETUP_FLOW.
  */
 public class PrivateSpaceAuthenticationActivity extends FragmentActivity {
     private static final String TAG = "PrivateSpaceAuthCheck";
@@ -66,8 +67,9 @@
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
         if (Flags.allowPrivateProfile()) {
-            super.onCreate(savedInstanceState);
             ThemeHelper.trySetDynamicColor(this);
             mPrivateSpaceMaintainer = new Injector().injectPrivateSpaceMaintainer(
                     getApplicationContext());