Allow to open Content Protection settings externally

Test: adb root && adb shell aflags enable android.view.contentprotection.flags.exported_settings_activity_enabled && adb reboot && sleep 60 && adb shell am start -a android.settings.CONTENT_PROTECTION_SETTINGS
Bug: 385310040
Flag: android.view.contentprotection.flags.exported_settings_activity_enabled
Change-Id: I1a5e33196051de88ceaddb638edab702f762fe5d
diff --git a/Android.bp b/Android.bp
index 0a633ac..0142846 100644
--- a/Android.bp
+++ b/Android.bp
@@ -139,6 +139,7 @@
         "android.app.flags-aconfig",
         "android.provider.flags-aconfig",
         "android.security.flags-aconfig",
+        "android.view.contentprotection.flags-aconfig",
         "keyboard_flags",
     ],
 }
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a673920..f172795 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -5531,6 +5531,21 @@
                        android:value="true" />
         </activity>
 
+
+        <activity android:name=".Settings$ContentProtectionSettingsActivity"
+            android:label="@string/content_protection_preference_title"
+            android:exported="true"
+            android:featureFlag="android.view.contentprotection.flags.exported_settings_activity_enabled">
+            <intent-filter>
+                <action android:name="android.settings.CONTENT_PROTECTION_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.security.ContentProtectionPreferenceFragment"/>
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                android:value="@string/menu_key_system"/>
+        </activity>
+
         <!-- This is the longest AndroidManifest.xml ever. -->
     </application>
 </manifest>
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index e373ccc..91494af 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -528,4 +528,5 @@
     public static class HearingDevicesActivity extends SettingsActivity { /* empty */ }
     public static class HearingDevicesPairingActivity extends SettingsActivity { /* empty */ }
     public static class ContactsStorageSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class ContentProtectionSettingsActivity extends SettingsActivity { /* empty */ }
 }
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index bc2ab68..81dc3ad 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -189,6 +189,7 @@
 import com.android.settings.regionalpreferences.RegionalPreferencesEntriesFragment;
 import com.android.settings.regionalpreferences.TemperatureUnitFragment;
 import com.android.settings.safetycenter.MoreSecurityPrivacyFragment;
+import com.android.settings.security.ContentProtectionPreferenceFragment;
 import com.android.settings.security.LockscreenDashboardFragment;
 import com.android.settings.security.MemtagPage;
 import com.android.settings.security.SecurityAdvancedSettings;
@@ -415,7 +416,8 @@
             HearingDevicePairingFragment.class.getName(),
             ZenModesListFragment.class.getName(),
             ZenModeFragment.class.getName(),
-            ContactsStorageSettings.class.getName()
+            ContactsStorageSettings.class.getName(),
+            ContentProtectionPreferenceFragment.class.getName(),
     };
 
     public static final String[] SETTINGS_FOR_RESTRICTED = {