From 8de98b030502d9aab90650e1c5cc2b080685b367 Mon Sep 17 00:00:00 2001 From: Ashley Newson Date: Thu, 30 Jan 2025 14:00:58 +0000 Subject: [PATCH] Add developer settings link to WebView DevTools Adds a convenience button in Android's developer settings to launch WebView's DevTools UI. This avoids the need to use ADB shell or to follow links from another app (such as WebView Shell or an unstable WebView version) to access the stable WebView DevTools. Bug: 371520781 Test: atest SettingsRoboTests:com.android.settings.development.WebViewDevUiPreferenceControllerTest Flag: EXEMPT new entry point to a feature which already exists Co-Authored-By: Adam Walls Change-Id: I0c3d628b2833aa0b59aae091215e8aa660f5bfe8 --- res/xml/development_settings.xml | 3 + .../DevelopmentSettingsDashboardFragment.java | 1 + .../WebViewDevUiPreferenceController.java | 100 +++++++++++ .../WebViewDevUiPreferenceControllerTest.java | 156 ++++++++++++++++++ 4 files changed, 260 insertions(+) create mode 100644 src/com/android/settings/development/WebViewDevUiPreferenceController.java create mode 100644 tests/robotests/src/com/android/settings/development/WebViewDevUiPreferenceControllerTest.java diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml index 7b32941cb2b..2f9a9b98585 100644 --- a/res/xml/development_settings.xml +++ b/res/xml/development_settings.xml @@ -136,6 +136,9 @@ android:dialogTitle="@string/select_webview_provider_dialog_title" android:fragment="com.android.settings.webview.WebViewAppPicker" /> + + expectedIntent() { + return intent -> CURRENT_WEBVIEW_PROVIDER.equals(intent.getPackage()) + && DEVTOOLS_ACTION.equals(intent.getAction()) + && ((intent.getFlags() & Intent.FLAG_ACTIVITY_NEW_TASK) + == Intent.FLAG_ACTIVITY_NEW_TASK); + } +}