The current version of GMS's SuW has the main activity return as
CANCELED when no network is available. This is the same result as
an actual cancellation (by pressing "Back"), and there's no extra
data to distinguish the two, so the user gets stuck in a loop between
the "no network" page and the one preceding it, unless connectivity
is somehow established. Making connectivity mandatory for OOBE isn't
acceptable, so skip GMS entirely if network is absent (and FRP
isn't enforcing). The only thing it was presenting was a "you
have no network" dialog anyway.
Change-Id: I2abadc79a0823e94da7d3a875ce6db8eae8f143b
FRP is kind of pointless if the device is freely accessible. Suggest
setting up a secure lockscreen during setup.
Ref CYNGNOS-3252
Change-Id: Ia807142ab08f388d533b5ee45d1fcbe81071f6d1
- Created and added ModGuide panel.
- Added the ability to chnage navigation color.
- Added the ability to start an app after wizard completion.
Issue-Id: MSC-14
Change-Id: I8e17735d1a9edbd529339982981f8270cde83d96
Both waiting for radio and waiting for data used "is the progress
bar visible" as the "allow to continue" clause. If radio service
state changes arrived while the wait-for-data was ongoing, this'd
terminate the progress bar and make it wait forever.
Additionally, if wifi is connected, don't wait for data at all
Ref CYNGNOS-3126
Change-Id: I81792ac8be00c6a6746af88a62220c727cddc6d8
Instead of waiting for the telephony stack to catch up to the default,
take advantage of the fact that the intent already carries the ID as
an extra.
Also, we were using slotId and phoneId interchangeably, and they're not
the same thing. While it's likely they'll match on a freshly reset
phone, don't assume that. Index everything to subId for consistency.
Ref CYNGNOS-3126
Change-Id: Ibcd767d0124b05d669886190f5d9a98f1a6e5bd7
Handle the possibly thrown ActivityNotFoundException.Changed the generic catch block into a specific catch block to handle ActivityNotFoundException.
Change-Id: Ica1106bab3e569aaa7883898ce6adb3a1a2dd99f
Helps with an issue where qsb widget doesn't work when
running through oobe without network.
Also set the cm setup finished setting for test receiver.
CYNGNOS-2833
Change-Id: I83666deea5a27d74669691c4ab991b1b618edb0a
* Launches GMS TOS per documentation
* Filters out redundant location page if GMS present
* Uses setupwizardlib for some helper functions
* Hide notification icons
Issue-id: CYNGNOS-2599
Change-Id: I4b59592f0b84d0eb0eafe365eab3bad77c1f76ff
Android uses Settings.Global.DEVICE_PROVISIONED and
Settings.Secure.USER_SETUP_COMPLETE and the system responds to those
database entries, such as allowing the keyguard to be visible, or maybe
pulling the statusbar down.
Since we still depend on some of Google's setup wizard, it also keys off
the same table rows and it may decide that the device is now provisioned
when we still haven't finished our own setup wizard, so let's add
another key that we have control over to show the real state of OUR
setup wizard.
Ticket: CYNGNOS-2431
Change-Id: Ic21689625f6d80e209161762ace741918b972aba
Signed-off-by: Roman Birg <roman@cyngn.com>
People generally identify their SIMs by the emitting carrier, not
the network they attach to. In roaming or MVNO scenarios, these
are likely not to be the same, leading to confusion in SIM selection.
Ref CYNGNOS-2496
Change-Id: I0ecd8e7511fd4229d6ce7629b1f97aa83a1a6254
If a user goes through the gms flow, logging in, disabling
backup, getting kicked over to restore, and deciding to
set the device up as new, the existing logic would reprompt
since the flow causes the load action to happen again.
Now check for account existance, and skip the setup if true.
Change-Id: I3502294d54fcb4e202dca37ff7c6165da4401808
TICKET: CYNGNOS-2459
If a user skips through google setup, make sure we're handling
the result correctly.
Change-Id: Ie2385dbd45c187dc1a90eab4a519094eae2caa72
TICKET: CYNGNOS-2258
If a device lacks NFC feature, pass an extra to googles
setup wizard to spress the device to device setup.
Change-Id: I05341f14c4a4753cb5a595734eb337eb10d505a4
TICKET: CYNGNOS-2258
If a user logs into Google's SetupWizard with their
gmail account, they need to be prompted with a restoration
picker -- otherwise, if they have a valid restoreToken
and restoreAccount, we can assume that they came from a
Tap & Go scenario and begin restoring as needed.
Change-Id: Ifa9ce978822f365996a509edeb3023001a07be84
TICKET: CYNGNOS-2233
Since the restore process (or any external setup wizard
process) can take a long time to finish execution, save
the current page and restore it on recreation when necessary.
Change-Id: I575cf58047eb307c95408a0955dd7e5b50a62107
TICKET: CYNGNOS-2233
Googles SetupWizard expects a specific flow for the restoration
process -- amend the intent for gms restore to abide.
Change-Id: Idf4c3b813676c5456770627067a42697ab756bb0
TICKET: CYNGNOS-2233
Since Marshmallow broke the ability to utilize complex
matrix queries against the SettingsProvider because it
is now backed by XML, rewrite the logic for the backup
enabled flag to work within the new constraints.
Change-Id: I8ad993564184fa14b5a3267689c69af2f7e8638e
TICKET: CYNGNOS-2233
If the sim is locked, or the setup wizard is not visible, don't
change the locale as it creates a unpleasant experience for the user.
CYNGNOS-1797
Change-Id: Ib696e83cfcdaef18bcf24ef649e6268b7142961a
Some sims such as T-Mobile return incorrect languages for their
PL(Preferred languages). Lookup the locale via the MccTable instead,
and fallback to trusting the sim.
Change-Id: I612d4952355ce4a42b35579e1f9aa879417c4cd4
Take scroll events into consideration when deciding whether to override
user locale with sim locale.
Also move locale fetching to be async so we don't cause any unecessary
blocking.
CYNGNOS-1521
Change-Id: I0c4c1b89dd227f661c1a1cdcce445349fe4a206f
Also ensure we only send stats event once and
only if the user actually changed the locale.
CYNGNOS-1521
CYNGNOS-1326
Change-Id: I7b0451137e6bf80bf71350da28fe391fc8c52ce8
In the event that the current time returns us epoch,
hard code the time so the user doesn't have to
scroll all the way to 2016 when setting the time.
CRACKLING-721
Change-Id: I7a4122320c80e941154b84f306565c0f9b452a7d
If the package defined by cm_account_type (which can be overlayed)
exists, then add CyanogenSettingsPage. Otherwise, omit.
PS3: On the cyngn side, the account type and package name don't match. Added a new string to overlay.
Change-Id: I15e032e21281aaf51ca32ac9cc0861e033201f19
This reverts commit 070fbeaf5d.
We still need to show the fingerprint setup screen which allows
the user to skip setting up a fingerprint if they choose to do so.
Change-Id: Ifa49ad1ac0e5cf113290b973ac5e9cd8abdbed9a
* Remove usage of deprecated setLocationProviderEnabled and
isLocationProviderEnabled
* Use BroadcastReceiver to listen for changes to mode
* Replace GPS option with Battery Saving option (there is no longer a
mode available in Android which disables GPS)
TODO: Create CMStats entry for ENABLE_BATTERY_SAVING_LOCATION
Change-Id: I2efe69125518637ae9b7d0dce285c39dae654d4c
We can proceed to the data enablement screen as soon as the device
confirms the requested slot is active. Waiting for an actual data
connection kinda breaks the point of that screen :)
Addresses CYNGNOS-660 and CRACKLING-503
Change-Id: I975508852b37c0e4b112612ac10aacb71ded97b3
Invalid sims and bad connections causes huge delays when switching. This disallows switching to invalid sims. It also fixes a bug were the next button would get enabled while waiting on a switch.
CRACKLING-503
Change-Id: I6cf7391910cc23554bb418c3083e736a3f06e037