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
This commit is contained in:
@@ -232,7 +232,6 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
|
||||
private static final int RESULT_DEBUG_APP = 1000;
|
||||
private static final int RESULT_MOCK_LOCATION_APP = 1001;
|
||||
private static final int RESULT_WEBVIEW_APP = 1002;
|
||||
|
||||
private static final String PERSISTENT_DATA_BLOCK_PROP = "ro.frp.pst";
|
||||
private static final String FLASH_LOCKED_PROP = "ro.boot.flash.locked";
|
||||
@@ -800,7 +799,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
updateSimulateColorSpace();
|
||||
updateUSBAudioOptions();
|
||||
updateForceResizableOptions();
|
||||
mWebViewAppPrefController.updateState(null);
|
||||
Preference webViewAppPref = findPreference(mWebViewAppPrefController.getPreferenceKey());
|
||||
mWebViewAppPrefController.updateState(webViewAppPref);
|
||||
updateWebViewMultiprocessOptions();
|
||||
updateOemUnlockOptions();
|
||||
if (mColorTemperaturePreference != null) {
|
||||
@@ -2311,8 +2311,6 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
writeMockLocation();
|
||||
updateMockLocation();
|
||||
}
|
||||
} else if (requestCode == RESULT_WEBVIEW_APP) {
|
||||
mWebViewAppPrefController.onActivityResult(resultCode, data);
|
||||
} else if (requestCode == REQUEST_CODE_ENABLE_OEM_UNLOCK) {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
if (mEnableOemUnlock.isChecked()) {
|
||||
@@ -2336,8 +2334,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
return true;
|
||||
}
|
||||
if (mWebViewAppPrefController.handlePreferenceTreeClick(preference)) {
|
||||
startActivityForResult(
|
||||
mWebViewAppPrefController.getActivityIntent(), RESULT_WEBVIEW_APP);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (preference == mEnableAdb) {
|
||||
|
||||
Reference in New Issue
Block a user