Commit Graph

259 Commits

Author SHA1 Message Date
Timi Rautamäki
795d0b9489 SUW: update Wifi setup for TV
* Enable skipping Wifi setup on TV

Change-Id: I252a0d901a0a49e3919f7d1076fe8649f9507196
2021-11-03 12:56:25 +00:00
Alessandro Astone
841512bf66 SUW: Move re-enabling of status bar to FinishActivity
This is always run both in the GMS and non-GMS flows

Change-Id: If70aa4cec640bacaf7b03da505b90d6c3c5aaf8e
2021-09-05 12:12:52 +02:00
Alessandro Astone
367f321410 SUW: restore: Handle RESULT_SKIP from Seedvault
Change-Id: I634f57ba88e8b1406db90f2f2851d60c0c5a0a0b
2021-09-05 11:25:13 +02:00
Timi Rautamäki
4ce5316a37 SUW: FinishActivity: hide navigation bar & statusbar before animation
Change-Id: Ia9d421a3f63469645f19acd91f72d472573e8818
2021-09-03 11:58:29 +00:00
Michael Bestas
b3789b806f SUW: Intent changes for new Wi-Fi setup flow
Change-Id: Ib79c7e709443eea9ec202efd1279dafcfb7951ad
2021-09-03 11:58:29 +00:00
Michael Bestas
b7b34b96a9 The big code style cleanup
* Format using AOSP code style in Android Studio,
  excluding `Rearrange entries` option.
* Rename static variables to use proper naming scheme
* Remove empty lines

Change-Id: I0d193e35f071bc288050e587b1693844d68865e1
2021-09-03 11:58:29 +00:00
Michael Bestas
8723edec03 Ensure all files have a newline at the end
Change-Id: I55990ff367addbc24b34abe8da7fa6d52604a0d2
2021-09-03 11:58:29 +00:00
Timi Rautamäki
f6dbf84363 SUW: add accessibility settings to welcome page
Added icon is from https://materialdesignicons.com/.

Change-Id: I21daa20c59f3deb7ef862fdbe7f7ce9262094c9a
2021-09-03 11:58:29 +00:00
Timi Rautamäki
ab4f1231ae SUW: rearrange welcome activity
Hide navigation bar and relocate buttons

Change-Id: I0202c18dbcf08bac31707b7b43f10b59d88be7f2
2021-09-03 11:58:29 +00:00
Artem Borisov
fbf886e808 SetupWizard: Fix status bar managing workflow
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
2021-09-03 11:58:29 +00:00
Timi Rautamäki
44fb45c421 SUW: use standard navigation method
Use software/hardware back button and add on-screen Next & Skip buttons.

Change-Id: I7bfa052f2217e51ea778df688e7169657aaad2c6
2021-09-03 11:58:28 +00:00
Timi Rautamäki
ab4d6d383f SUW: use GLIF v3 light -theme
Change-Id: I3684279ad87c82b85c93267e959e9faa2dabfdc3
2021-09-03 11:24:25 +00:00
Michael Bestas
885e3b363a SUW: Cleanup intent extras
Remove unused extras:
allowSkip: Removed in 2015
wifi_auto_finish_on_connect: Removed in 2016

Use WizardManagerHelper definitions when possible

Change-Id: I4e6a503ae030b85486921fcacfc4fe03e37c8698
2021-09-03 11:24:25 +00:00
Timi Rautamäki
5e2f7f2dfe SUW: use setupdesign layout & theming
Change-Id: I4841b701a8952035bd633d73368e80075d17e42a
2021-09-03 11:24:25 +00:00
Oliver Scott
7e04f9c361 Disable ChooseDataSimActivity if single SIM detected
Change-Id: I963a7b4f268698c048cf0eccb15198412b3e2ab3
2021-09-02 12:24:00 +00:00
Oliver Scott
1167c047be Fix SimMissingActivity never showing
Change-Id: I1a9d2539db96046c472f17a21932bc720c00eb26
2021-09-02 12:24:00 +00:00
Michael Bestas
c5232fcebd Rework isMultiSimDevice check
Move it to PhoneMonitor to be consistent with other checks

Change-Id: I560048ebdf318a92747a70ffb6fa8027b4589c1a
2021-09-02 12:24:00 +00:00
Michael W
8dc3cf8f47 SetupWizard: Use SettingsLib for Timezones
* 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
2021-09-02 12:24:00 +00:00
Timi Rautamäki
e278fd6c1a SetupWizard: LineageSettings: correct privacy policy link span
* Some languages don't have the ´Privacy policy´-text
   as the last word of the sentence.

Change-Id: I74e342c8d6bbb038db11538905a12c7fef5a84de
2021-06-13 22:06:59 +02:00
Michael W
29e77749c5 SetupWizard: Disable mobile data at least once
* 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
2021-03-23 22:19:55 +01:00
Michael W
2b90a7f7d8 SetupWizard: Add device specific hook page
* 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
2021-02-04 15:04:32 +01:00
Bruno Martins
21ae606b71 UpdateRecoveryActivity: Don't force recovery update by default
Change-Id: I0992bd257a3acc7ca6872744478121ba7f001ea0
2021-01-10 14:40:54 +00:00
Timi
e90cf31f27 SetupWizard: update recovery after setup
* Instead of doing it when going to next page

Change-Id: I65c5ca1bab1d79c8fd5906b36a02fd74547827ac
2020-12-31 18:18:24 +01:00
Alessandro Astone
d93e0e1bbd SetupWizard: Add activity to toggle recovery updates
Change-Id: I8157d812c1b616b10dd4204d12cc8fb21d4eee50
2020-11-19 01:26:28 +02:00
Michael Bestas
7423d88cd0 SetupWizard: Add seedvault restore page in GMS flow
Change-Id: I1ce86864b4a8d0477cd2db77a3820583e24c758a
2020-11-18 22:40:56 +01:00
Chirayu Desai
e372bc0542 Switch fingerprint setup to biometric setup instead
* 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
2020-11-13 22:29:36 +01:00
Torsten Grote
da1355a5c5 Hide activities when setup finishes, so they don't pop up at the end
Change-Id: Ica6b5babf7df7a7d8033ecd7694e3f45144b363a
2020-11-13 22:29:36 +01:00
Alessandro Astone
35eda3a50b SetupWizard: Distinguish interactive and wrapper subactivities
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
2020-11-13 22:29:36 +01:00
Christian Oder
cff638652a LSW: Properly set page transition and cleanup definitions on the way
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
2020-11-13 22:29:36 +01:00
Christian Oder
b05350b920 LSW: Fix backtrack to LineageSettings fragment
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
2020-11-13 22:29:36 +01:00
Arne Coucheron
48f460889b Remove save/restore of button brightness timeouts
This is not really needed.

Change-Id: I826c31f484d745d6176105856fa9ddeb66673f1f
2020-11-12 01:08:35 +01:00
Renlord
4027defd55 Update api usage for android 11
Change-Id: I50ff347c2c75afa43f462ce57329090ecf40a2dd
2020-11-03 02:31:55 +02:00
Daniel Micay
c2b6a18b9b Use system captive portal URL
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
2020-11-03 02:31:55 +02:00
Torsten Grote
fc026fcadc Add an activity for launching a restore from backup
Change-Id: Ibd73f8549bb3ec9e829ad9082399dbbf0a6ca4f5
2020-10-26 18:20:34 +02:00
Aaron Kling
5d1780f595 ATV: Disable custom SUW if GMS SetupWraith is available
This sets the partner customization flag to allow adding hooks
later if necessary.

Change-Id: Ie8dcb0f2eae8916ef00f812ea85661c020dce53b
(cherry picked from commit 68b11675e1)
2020-09-10 23:34:31 +02:00
Bruno Martins
92f16dc6ad LocationSettingsActivity: Account for deprecated location modes
LOCATION_MODE_HIGH_ACCURACY, LOCATION_MODE_SENSORS_ONLY and
LOCATION_MODE_BATTERY_SAVING are deprecated.

Take one further step and refactor the entire logic to call
LocationManager#setLocationEnabledForUser(boolean, int) instead
of setting location mode and LocationManager#isLocationEnabled()
to check if location is enabled.

Change-Id: Ibe1930902f6bfff99eb2c2d852ab600620e25f08
2020-04-19 01:10:04 +01:00
Chirayu Desai
ec3e5ccaaa Account for PhoneMonitor API change
* Needed after:
84a90870aa

Change-Id: Ie6c28388f28b97af273f7c93fc6b5b56b518370a
2020-01-22 23:25:50 +02:00
Bruno Martins
b0f5aa9540 SuW: Remove PG bits
Change-Id: Ic7297e0dcf1c9b438171e5ebe688e83e5cb121e9
2019-11-04 22:17:14 +00:00
Chirayu Desai
d463bce3c5 Add new method from ICaptivePortal
Change-Id: I13a5b4b5e2269ac53fd78862defe1ef5edeb1994
2019-10-04 08:51:50 +02:00
Chirayu Desai
0ebdabef3c Update for Q setup library changes
setupwizardlib,setupnavigationbar -> setupcompat,setupdesign

Change-Id: I8bf75028984dbf9fc2341990e93bd15ca0ad2af8
2019-10-04 08:51:08 +02:00
Bruno Martins
dc49637898 SetupWizard: Migrate to androidx
Change-Id: Iade6aeca1338c1e543d09aff83f8cf39d7c78e22
2019-09-11 16:03:45 +01:00
Rashed Abdel-Tawab
97b6bc3efe suw: Disable ScreenLockActivity if a secure lockscreen is already set
Currently, devices that have a fingerprint prompt to add a fingerprint and
lockscreen via FingerprintActivity. However, since ScreenLockActivity is
always active, we end up with a second prompt for screen lock security.

This adds a check to see if a secure lockscreen has already been set, and
if so, just skip ScreenLockActivity.

Change-Id: I877835e8fa8628c01c96ab9732146720c1234f31
2019-06-15 21:22:31 -07:00
razorloves
85465bc433 SUW: Change WizardManager activity default state to disabled
Google's suw handles the LOAD and NEXT actions, so this creates
duplicate tasks and crashes google suw when finish() is attempted.

Change-Id: Ifdbd9365fba7f299dc041e42ae27a91da071aa99
2019-02-12 09:31:47 -06:00
Bruno Martins
6c2dd2f452 FinishActivity: Do not write the currently set FORCE_SHOW_NAVBAR value
* Check if the value for the setting is already applied and do not
   attempt to write it again. During the testing of SuW it was found out
   that there can be an edgecase where softkeys don't show up neither
   hardware keys work, even though the setting is applied (judging
   by the status of the KeyDisabler switch).

Change-Id: I902f26fe131e508974116f7607fd0b88921395d9
2019-01-18 23:15:44 +00:00
Bruno Martins
3872830620 FinishActivity: Remove useless call to LineageHardwareManager
* This is properly handled in fw/b once the setting is changed

Change-Id: I98acd00204b3f741e34069fbd9ba016fbc15c8dc
2019-01-18 14:18:53 +00:00
Bruno Martins
0277e73429 LineageSettingsActivity: Account for user stored KeyDisabler setting
* This ensures the proper switch status is set
   when migrating from older versions

Change-Id: Ie6b79a5269418ec7eae205e30558449098202e54
2019-01-18 10:57:16 +00:00
Bruno Martins
a8e278d031 SetupWizard: Update for moved force show navbar setting
Change-Id: I8b883dcc078b314bc209cb5186a49c0e762a47dd
2018-09-28 10:10:01 +02:00
Bruno Martins
33636d146a LineageSettingsActivity: Remove useless check for navbar toggle
* The only condition for "Use on screen navigation keys instead
   of hardware keys" option to be shown is the availability
   of KeyDisabler feature. There is really no need to check if the
   device "needs" a software navbar (because it has no hardware keys).

Change-Id: Id716d766927f440292a6d18d8fa77bed76ad90b3
2018-09-18 22:43:06 +01:00
Bruno Martins
9da385fc3d LocationSettingsActivity: Send broadcast as user
* Specify the user the broadcast will be sent to,
   in order to avoid the warnings as seen in the logs:

     W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1531 android.content.ContextWrapper.startService:664 org.lineageos.setupwizard.SetupWizardExitActivity.onCreate:53 android.app.Activity.performCreate:7136 android.app.Activity.performCreate:7127

Change-Id: I26a0b4ab2dc94bbe6eff065875901bf347aec85b
2018-09-03 17:46:22 +01:00
Michael W
2236d29199 SUW: (Not-really-)Spring Cleanup
* Remove unused imports
* Fix a few line length issues
* Convert a few anonymous classes to lambda expressions
* Convert a few global vars to locals
* Remove unused methods
* Add a small local method in MobileDataActivity to shorten repeated calls

Change-Id: Ia10be8b8c98ef3956949f913ddb6bddc185cf1a5
2018-07-25 13:34:51 +02:00