Use a ViewModel to store reboot dialog fragment state on rotations.
Test: locally verified rotations on few dev options that use the reboot fragment
Test: atest
com.android.settings.development.RebootConfirmationDialogFragmentTest
--iterations 25 (Passed)
Bug: 356273849
Flag: EXEMPT bug fix
Change-Id: I154170ea5fa91bcbec32af43853c5f99f8e8253d
Bug: 356273849
Test: mp droid and locally checked that there are no errors and crashes
Flag: EXEMPT minor fix
Change-Id: Id60b304788bfb79fee13858c8e7bc30261f8e1c7
The reboot dialog can be dismissed when user:
1) Clicks any button on the reboot dialog
2) Taps any screen area outside of reboot dialog
We want to toggle back the "Enable ANGLE" switch
whenever the user chooses to not reboot the device
immetiately.
This change adds the function to toggle the
"Enable ANGLE" switch back when:
1) User clicks "Cancel" on reboot dialog.
2) User taps screen area outside of reboot dialog
to dismiss the reboot dialog.
Bug: b/270994705
Test: m; flash and device can boot.
atest -c GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest
Change-Id: I84fde5ea5bae9d8793bcef30f4c37d832152ae43
This change adds a new developer option switch called
"Enable ANGLE". It defaults to off. User can choose
to toggle it on and off, and the value of the system
property "persist.graphics.egl" is changed accordingly:
switch off: persist.graphics.egl=""
switch on: persist.graphics.egl="angle"
When user toggles the switch, a reboot window is
popped up asking user to reboot now to make the change
takes effect. If user chooses to cancel the reboot,
the switch is toggled back. This enforces that a reboot
is required whenever the "persis.graphics.egl" value
changes.
Upon reboot, we will load either ANGLE or native
GLES driver as the system driver, based on the value of
"persist.graphics.egl".
The switch is disabled if ANGLE is not installed
in /vendor partition. We use the system property
"ro.gfx.angle.supported" as an indicator. We set the
two conditions together in angle.mk file. Any device
mk file that inherits angle.mk file will result in
ANGLE libs installed in /vendor and "ro.gfx.angle.supported"
set to true.
Bug: b/270994705
Test: m; flash and check Pixel 7 boots fine
atest SettingsRoboTests:GraphicsDriverEnableAngleAsSystemDriverControllerTest
Change-Id: I565eff614472bb6ba50742e7dfa49b50dca2809f
The introduction of FreeformTaskListener in WM shell requires a reboot
after enabling freeform support fully. Let's add a dialog explaining the
requirement and ask user to reboot the device.
Enabling desktop mode also requires a reboot to take effect, so this CL
also adds the support to it.
There is also a cancel button to dismiss the dialog without a reboot,
just in case users need to hold off the reboot for any reason.
Bug: 215437867
Test: Pressing OK reboots the device. Pressing Cancel dismisses the
dialog.
Test: atest SettingsRoboTests:FreeformWindowsPreferenceControllerTest
Test: atest SettingsRoboTests:DesktopModePreferenceControllerTest
Change-Id: I553237a29751f73afa9fd4066241a19740872f6f