Have WebView Implementation Dev Setting use DefaultAppPickerFragment.
Make the WebView Implementation Dev Setting look like the fullscreen
settings deriving from DefaultAppPickerFragment.
Point the Activity opened through Settings.ACTION_WEBVIEW_SETTINGS to
the class WebViewAppPicker which is our new implementation of the
WebView Implementation setting.
Ensure the new setting closes if it is reached from a user that isn't an
admin of the device.
Bug: 34806477
Bug: 34966439
Test: Ensure WebView implementation Dev Setting looks ok (disabled
packages should have a text showing why they cannot be chosen).
Test: Start Intent with action Settings.ACTION_WEBVIEW_SETTINGS and
ensure the started Activity looks similar to the WebView Implementation
Dev Setting.
Test: Ensure picking a package that is no longer active, updates the
setting (so that package isn't visible anymore).
Change-Id: I08007c515193739ad61dfd735bb5130fc07bd6e6
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index e754d6a..2e99ed3 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1979,8 +1979,9 @@
<activity android:name=".AppPicker" android:label="@string/select_application"
android:theme="@android:style/Theme.DeviceDefault.Light.Dialog" />
- <activity android:name=".webview.WebViewAppPicker" android:label="@string/select_webview_provider_dialog_title"
- android:theme="@android:style/Theme.DeviceDefault.Light.Dialog" />
+ <activity android:name="Settings$WebViewAppPickerActivity"
+ android:label="@string/select_webview_provider_dialog_title">
+ </activity>
<!-- Keep compatibility with old shortcuts. -->
<activity-alias android:name="UsbSettings"
@@ -2940,7 +2941,7 @@
<!-- Keep compatibility with old WebView-picker implementation -->
<activity-alias android:name=".WebViewImplementation"
- android:targetActivity=".webview.WebViewAppPicker"
+ android:targetActivity="Settings$WebViewAppPickerActivity"
android:exported="true"
android:excludeFromRecents="true"
android:theme="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert">
@@ -2950,6 +2951,8 @@
</intent-filter>
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.webview.WebViewAppPicker" />
</activity-alias>
<!-- activity for gesture settings -->