- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
when creating a PendingIntent.
- Suggest to use the FLAG_IMMUTABLE as default. Change it to
FLAG_MUTABLE while errors occur.
Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass, manual test add an account and volume control panel
Change-Id: I5aec028f82bd74fc4530b95a7c144811055ae2c5
The multitude of slightly different launchConfirmationActivity(*)
methods are a big unsustainable pyramid. It's too difficult to
read, too difficult to track which clients are interested in which
parameters, and too difficult to add new parameters, since we need to
1) Read through all of them and find one that's the closest
2) Try not to affect other callers, so potentially add yet another
3) Modify the internal paths, which all basically call each other
until it reaches the biggest launchConfirmationActivity which
has ALL of the parameters
This change should have no behavioral change.
Note: CredentialStorage doesn't need returnCredentials anymore as of
ag/6073449
Test: make -j56 RunSettingsRoboTests
Test: Manually traced code paths for each invocation. A few hidden
dependencies (such as explicitly setting challenge=0 with
hasChallenge=true) were found. Left them the way they were in
case they were intended
Test: Enroll face, fingerprint
Test: Enable developer options
Test: Change to PIN, Pattern, Password, then back to PIN (so each
type requests confirmation)
Test: adb shell am start -a android.app.action.CONFIRM_DEVICE_CREDENTIAL,
authenticate
Test: adb shell am start -a android.app.action.CONFIRM_FRP_CREDENTIAL
(shows confirm credential screen)
Fixes: 138453993
Change-Id: Ic82ef3c3ac2e14d624281921f2d816bcdacbd82b
- Account page starts an activity with the flag FLAG_ACTIVITY_NEW_TASK
to add an account and then causes multiple activity instances.
- Add the flag FLAG_ACTIVITY_CLEAR_TASK in conjunction with
FLAG_ACTIVITY_NEW_TASK to clear existing task before the activity is
started.
Fixes: 109923099
Test: robotest, manual
Change-Id: I8234ab33d8aa949e5ff78320962920cb0f8b2953
Consolidated the many variants of ChooseLock*.createIntent, so that
it will take the same set of arguments.
Also modified SetupChooseLock*.createIntent to modifyIntentForSetup,
which will take the intent created by ChooseLock* and modify it for
use with setup.
Test: cd tests/robotests && mma
Change-Id: I5ff033f459c33ec9980872a536b3996d89f2bbbb
- remove AccountSettings and all related code that is used in old IA, so
that it will not show up in search.
Change-Id: I9f83112f760fd991caf89de109fde9e675b8c981
Fix: 34165913
Test: make RunSettingsRoboTests
Its broken and isn't worth maintaining, instead port the few things
using it over to SettingsPreferenceActivity with wrapping blank
Activities like the rest of Settings.
Change-Id: Ic82f0dcb63ed9b4078f7da6a79c0c52f0130e8d1
Fixes: 28779941
If the work profile is locked, and the user tries to add a
work account from Settings:
Show the work profile security challenge.
BUG:28005200
Change-Id: I87ff25d9de94026b0d7ac307ea3a541e77989aa6
And when adding accounts if only one account type is possible and
it is disabled by admin, show the admin support dialog.
Bug: 26897250
Bug: 26767564
Change-Id: I5cca64491a100efc34307c45aa35c14412f043cd
Start add account activities in a new task separate from settings
so that users can reach it from recents later, even if they navigate
to a different settings screen (via launcher) like selecting Wi-Fi.
Bug: 22351974
Change-Id: Icd3e20fa8f2426276c52cd11cbc916c56ca86ee3
Unfortunately the Settings app has super powers. We shouldn't let
untrusted 3rd party authenticators re-purpose those powers to their own
nefarious ends. This means that we shouldn't pass along PendingIntents
that can have addressing information (component, action, category)
filled in by third parties.
Bug: 17356824
Change-Id: I397d26c5f465ddfb0e58bbc66cd44756e58cc507
- revert back to an Activity instead of a fragment. This
is a straight reverse of the changes introduced for trying
to have a Fragment.
Basically ChooseAccountActivity was previously an Activity for
choosing an account type. If the list of account types was containing
only one item, then the ChooseAccountActivity was just a pass thru
and was falling back to the only account authority available.
In the current reported bug, this was happening by disabling the
Email app and thus having only the GoogleAuthenticator as an
Authority.
Then in the onCreate() the ChooseAccountFragment was seeing that
there was only one account authenticator and issuing a BACK button
press. Too bad, this was done into a non finished Fragment transaction
and leading to a crash.
All in all, we NEED to have an Activity and cannot use a Fragment
in that case.
Change-Id: I4a867a25fe9580929ec50a6775105adac1f88c52
- get rid of PreferenceActivity as much as we can and use fragments instead
- add Drawer widget
- add Dashboard high level entry into the Drawer (but this is work in progress and would be done in another CL)
- add bypass of fragment's Header validation when launched from the Drawer but *force* validation if external
call thru an Intent
Be aware that WifiPickerActivity should remain for now a PreferenceActivity. It is used by SetupWizard and should
not trigger running the SettingsActivity's header building code. SetupWizard is a Home during the provisionnig process
and then deactivate itself as a Home but would make the Home header to appear in the Drawer (because momentarily we
would have two Home).
Also, verified that:
- the WiFi settings still work when called from SetupWizard
- when you have multiple Launchers, the Home header will appear in the list of Headers in the Drawer
Change-Id: I407a5e0fdd843ad7615d3d511c416a44e3d97c90
Show just a message that developer options are not available for the user.
Also fix silent exit of AddAccount operation by showing a toast that user
cannot add accounts.
Bug: 7409523
Bug: 8519646
Bug: 7304007
Change-Id: Id3f430d568d6b7151ac55f86dbc0ef91803fa10c
Hide or disable options in the settings app when the user is restricted from
making changes.
Remove "Add account" button from Settings menu, and "remove account" option from menu in AccountSyncSettings.
Remove sideloading checkbox in SecuritySettings.
Also handle replacement of UserManager.isShareLocationToggleAllowed() with hasUserRestriction, which takes a restriction key string.
Change-Id: I34c74fd5aed8956ba00f92e3d3c657b608454dfe
This enables us to watch for failure cases from certain authenticators that
misbehave.
Bug: 7318390
Change-Id: I43398e7622214cabd1d1bf171502c6a988af00a3
When creating a new account, some informational text changes when
more than one user exists on the device. Because GLS is built with
the SDK and because there is no public API to indicate this state,
a flag is added to the bundle passed to the AccountManager, which
then funnels down to GLS.
Bug: 7255673
Change-Id: Ida2aa5f70ab308958de510a95194463c2a089182
Bug: 4499512
Dummy activity that launches ChooseAccountActivity was re-launching it on orientation
changes. Make sure that it only launches it one time.
Change-Id: I764a59eaefc3ce4546330ed1b994d88b8703ce80