StatusBarManager uses tokens in binder connections to identify
disable records and queue each of them accordingly. New record creates
each time an application connects to StatusBarManager and tries to change
the state. New records don't activate until previous ones are destroyed.
Records can be destroyed either when app binder dies, or when the same
binder ticket reverts its previous changes.
To accomodate this behavior, StatusBarManager was moved to a static class
that initializes first when status bar gets disabled, and then gets destroyed
when status bar is re-enabled.
While we're at it, also fix race condition between main and exit activites
by moving status bar disabling code to the application class.
Change-Id: I3b33e628da1e1881181cbe665e6aaccee3dd19ef
Remove unused extras:
allowSkip: Removed in 2015
wifi_auto_finish_on_connect: Removed in 2016
Use WizardManagerHelper definitions when possible
Change-Id: I4e6a503ae030b85486921fcacfc4fe03e37c8698
ConnectivityManager.getCaptivePortalServerUrl now requires
NETWORK_SETTINGS instead of LOCAL_MAC_ADDRESS.
Change-Id: Idd9b7b683a48e49d97fca90bb62d81ee0629b672
* Currently we are storing a copy of timezones.xml ourselves and parsing
it manually
* Use ZoneGetter from SettingsLib instead to get the list of TimeZones
* That way we have less code to maintain and updates to the list are easier
as well
* Also simplify constructTimezoneAdapter -> we never sort by name
Change-Id: Ifd690ed28c6fbecaee895b4063137e86c059e314
* Right now, the user has to set the toggle on and off to actually get
the setting set to "off", since the underlying default value is "on"
* Make sure to send an "off" initially right at the beginning of SuW
Change-Id: Iec2fd05ea341351f3e6d4b195a1a385f9d88d4f7
* This is likely an artifact of the {cm,lineage}sdk
transition that included this lib
* Now the lib is only included in a separate library
to avoid unnecessary disk waste
Change-Id: Ib12acac080f4a2271a118470951a06cd014a91aa
* Add a new activity DeviceSpecificActivity which acts as a jumppad
into an activity using "org.lineageos.settings.device.SUW_SETTINGS"
* Handles navigation (back / next)
* Handles cases where the script contains the page but SUW_SETTINGS
don't exist
* In order to use this, devices need to provide an activity that:
* at least shows a back and continue button
* returns Activity.RESULT_OK and Activity.RESULT_CANCELLED for the
buttons
* does whatever you need to specifically have done in setup!
Change-Id: I4956c8f5f1ad13b9adf2e5604fd4a728e261336b
Just check if the package is installed before trying to disable it.
Test: Observe that the following exception is not longer shown.
Exception occurred while executing 'disable':
java.lang.IllegalArgumentException: Unknown package: com.android.provision
at com.android.server.pm.PackageManagerService.setEnabledSetting(PackageManagerService.java:21052)
at com.android.server.pm.PackageManagerService.setApplicationEnabledSetting(PackageManagerService.java:20910)
at com.android.server.pm.PackageManagerShellCommand.runSetEnabledSetting(PackageManagerShellCommand.java:2151)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:231)
at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
at android.os.ShellCommand.exec(ShellCommand.java:44)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21736)
at android.os.Binder.shellCommand(Binder.java:929)
at android.os.Binder.onTransact(Binder.java:813)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4621)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4361)
at android.os.Binder.execTransactInternal(Binder.java:1159)
at android.os.Binder.execTransact(Binder.java:1123)
Change-Id: I646f2803f95817d7d9f2b1dfe54a9c1f8c9988e7
* Generic, handles both face and fingerprint
* Works the same as before for fingerprint
* Works the same as fingerprint for face
* What else could one ask for?
Change-Id: I9ddd7b46548c8107239fdec457bbaae6b12876e6
We were using the SubBaseActivity class for two different kind of
activities:
(1) "Wrapper" activities, where we define an activity that on
start simply launches another one
(2) "Interactive" activities, where the user has to manually
trigger the start of the subactivity, or skip the step.
When the subactivity ends, only in case (1) we want to finish our
activity as well, since we wouldn't have anything to show.
Change-Id: I1a3ae51f6146ac32b5e7542d9a18b0b032efe144
Set slide animation by default and use it in all pages.
Fix wrong/missing slide animations on various transitions like WiFi
and the backup subpage.
Change-Id: I78c87f38eb615379d39c89b43a016ed2ffb98695
The current handling results in the followup activity to ignore it for
backtracks which means when going from Location -> LineageSettings -> Fingerprint
the move backwards from Fingerprint leads up in Location and not the expected
LineageSettings.
The custom handling is necessary to process the result in the Google SUW,
so it has been fixed to properly work now.
Change-Id: Ifae5dc8fda07b61bd0271da1d1589059ab40cd39
The google suw flow has changed a little bit in Android 11, so
this change syncs our scripts to google's so that they match.
Change-Id: I59e9643fad8c48c22a090a29e621e2761ef7e0d0
The captive_portal_server setting is deprecated, and hard-wiring it as a
string is also probably a bad idea. Since it's deprecated, this code
will miss an override via the modern settings. This also hard-wired a
slightly different fallback than ConnectivityService, and simply
adjusting it here wouldn't stop that from happening again. It's best to
just use the privileged API for obtaining the proper value. The choice
of LOCAL_MAC_ADDRESS as the permission for this is a bit strange, but
that's what is required, probably because a better fit didn't exist.
Change-Id: I78d07d5ff96598cebf6d4ed032fe1516791836fe
This sets the partner customization flag to allow adding hooks
later if necessary.
Change-Id: Ie8dcb0f2eae8916ef00f812ea85661c020dce53b
(cherry picked from commit 68b11675e1)