fix(deep): Add intent actions for a11y magnification & flash notif pages

This aligns these accessibility system feature settings pages with other
similar pages, allowing an external caller to launch this page by
sending an intent.

Similar to other accessibility system settings neither page is protected
by a permission since these settings provide no avenue for abuse.

Bug: 388304424
Test: adb shell am start -W -a android.settings.MAGNIFICATION_SETTINGS;
      Observe that the Magnification Settings page is opened.
Test: adb shell am start -W -a android.settings.FLASH_NOTIFICATIONS_SETTINGS;
      Observe that the Flash Notifications Settings page is opened.
Flag: EXEMPT low risk manifest change
Change-Id: Ibe9e1031f30416c5f3fcfb7ae2fe76e8dcd45714
This commit is contained in:
Daniel Norman
2025-02-28 23:24:36 +00:00
parent fe36b334cf
commit 843dbecf2c
3 changed files with 38 additions and 0 deletions

View File

@@ -1802,6 +1802,38 @@
android:value="true" />
</activity>
<activity
android:name=".Settings$MagnificationActivity"
android:label="@string/accessibility_screen_magnification_title"
android:exported="true">
<intent-filter android:priority="1">
<action android:name="android.settings.MAGNIFICATION_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment" />
<meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
android:value="@string/menu_key_accessibility"/>
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
<activity
android:name=".Settings$FlashNotificationsActivity"
android:label="@string/flash_notifications_title"
android:exported="true">
<intent-filter android:priority="1">
<action android:name="android.settings.FLASH_NOTIFICATIONS_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.accessibility.FlashNotificationsPreferenceFragment" />
<meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
android:value="@string/menu_key_accessibility"/>
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
<activity
android:name="SettingsLicenseActivity"
android:label="@string/settings_license_activity_title"

View File

@@ -536,4 +536,6 @@ public class Settings extends SettingsActivity {
public static class HearingDevicesPairingActivity extends SettingsActivity { /* empty */ }
public static class ContactsStorageSettingsActivity extends SettingsActivity { /* empty */ }
public static class ContentProtectionSettingsActivity extends SettingsActivity { /* empty */ }
public static class MagnificationActivity extends SettingsActivity { /* empty */ }
public static class FlashNotificationsActivity extends SettingsActivity { /* empty */ }
}

View File

@@ -30,12 +30,14 @@ import com.android.settings.accessibility.AccessibilitySettings;
import com.android.settings.accessibility.AccessibilitySettingsForSetupWizard;
import com.android.settings.accessibility.CaptioningPropertiesFragment;
import com.android.settings.accessibility.ColorAndMotionFragment;
import com.android.settings.accessibility.FlashNotificationsPreferenceFragment;
import com.android.settings.accessibility.HearingDevicePairingFragment;
import com.android.settings.accessibility.TextReadingPreferenceFragment;
import com.android.settings.accessibility.TextReadingPreferenceFragmentForSetupWizard;
import com.android.settings.accessibility.ToggleColorInversionPreferenceFragment;
import com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment;
import com.android.settings.accessibility.ToggleReduceBrightColorsPreferenceFragment;
import com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment;
import com.android.settings.accessibility.VibrationIntensitySettingsFragment;
import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
import com.android.settings.accounts.AccountDashboardFragment;
@@ -418,6 +420,8 @@ public class SettingsGateway {
ZenModeFragment.class.getName(),
ContactsStorageSettings.class.getName(),
ContentProtectionPreferenceFragment.class.getName(),
ToggleScreenMagnificationPreferenceFragment.class.getName(),
FlashNotificationsPreferenceFragment.class.getName(),
};
public static final String[] SETTINGS_FOR_RESTRICTED = {