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 = {