This allows app fragment use a less heavyweight fragment as super class
if they don't need PreferenceFragment. Using this class as base is
generally easier to set up robolectric tests too.
Bug: 33354536
Test: RunSettingsRoboTests
Change-Id: I91c4d242ea0333c76c8767c03c3f18dee6b6e104
Wrap the title and header with scroll view in case they are too
large to display
Bug: 32261616
Test: Visual
Change-Id: I61ce67c23e27177e2915df012c450f77b40a8fb2
Bug: 30681771
Test: SettingsUnitTests
Refactor visibility logging from InstrumentedFragment into a mixin. And
apply mixin in remaining fragments.
Change-Id: Ibbb59904336254a3e4bb9e8c7d0b36e5a6bc2622
As of N+, we don't allow the addition of private fragments as this
causes problems with Configuration Change recreations.
Bug: 29565251
Change-Id: I6a4cf1011e1a4e6ba308565e010a51d2992e79e2
StickyHeaderListView will not layout all the way to the top of the screen
if fitsSystemWindows is true.
bug:27875272
Change-Id: I4150dc183778284df2f07f3a6220e0c0b2607774
When ChooseLockScreenGeneric is started via the set password
intents, it should not allow the drawer menu to show.
bug:26288300
Change-Id: I10d512e20fedab2be8c725c7d524db0c55666590
This is needed so that activity manager won't start a new task stack.
During setup, we want everything on the same task stack to allow
task locking.
Change-Id: Iaa1e13da8251ad37362ea41b374300268b6e9875
The settings for the Notification Content is user-dependent
and the correct values are used in the lock screen.
Bug: 26709332
Change-Id: I7acf94014771dacc2841da336bed645fdb948541
If the challenge shown is for a work profile, add the default image and
color to the background of the fragment.
Change-Id: I148c6cd3a835a84c7bac78b020839dfdae4a6c36
Create a new section in Security Settings which includes all
settings for the Work Challenge.
Only some settings apply to the Work Challenge, so we reuse
the security settings layouts for items and compare them against
a whitelist to remove unwanted items.
Additionally, remove all usages of ChooseLockGeneric.KEY_USER_ID
in favor of Intent.EXTRA_USER_ID.
Change-Id: I3d1ba953a2056f7c61a7b3feeb8b49f1a352dff6
This is a first step to allow this flow to be reused for setting
a work profile-specific lock, to be used with the work challenge.
Change-Id: Iaa65fdab9021cda5f0a1d3bc526a6b54f8a7dd16
Use a retained worker fragment to track the asynchronous
save-and-finish task so that ChoosePattern/Password activity
is properly dismissed after a configuration change.
Bug:23424884
Bug:23521530
Change-Id: I328022c1603cfb0f6812cd8aa7916ae7b72c9950
Setting a pin/pattern/password can take a second. Gray out the confirm
button to avoid multiple submissions.
Note that this requires async tasks so that the button is shown as gray
in a timely way.
Also don't add another stage - this causes a11y to repeat the title.
Bug: 22882174
Change-Id: Ib8047fde9e12afa25e82ebfa3a1e799a4b7043f2
- Applied getKeyguardDisabledFeatures for notification settings and
notification setup page (after settings a screenlock)
- If a notification settings is disabled, the next least secure setting
will be chosen
- Although KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS can be set be
profile, it will not be reflected in both settings page. This is
because it does not affect the owner (user 0), as mentioned in
DevicePolicyManagerService.PROFILE_KEYGUARD_FEATURES_AFFECT_OWNER
- Skip RedactionInterstitial if there is <= 1 options for the user
- Tested with both Setup wizard and settings case, both pattern and
password, as well as toggling the policy on and off
Bug: 19307118
Bug: 17099898
Change-Id: If640d5576caa0163e9942569f7b4643a30bbfe0a
- Pass back correct result when pressing cancel.
- Make sure the start the interstitial activity after checking so
we don't preempt the async thread we are still running.
Bug: 21621918
Change-Id: I5558089abf02a00a268050fc48894cea86692fa0
ConfirmDeviceCredentialsActivity and ChooseLockGeneric now understand
CLSH.EXTRA_KEY_HAS_CHALLENGE and CLSH.EXTRA_KEY_CHALLENGE in their
launching intents. If present, they return a hw_auth_token_t verifying
the challenge passed in as a field in keyed by
CLSH.EXTRA_KEY_CHALLENGE_TOKEN in their result intents.
Change-Id: I0b4e02b6a798a9e57d02522880a180dffadfcde1
- New strings in the screen.
- New layout/style.
- Clean up internal API's around it.
- Add fingerprint support if launched from externally
- Separate theme if launched from externally
- If launched from above Keyguard, use SHOW_WHEN_LOCKED flag
Change-Id: Icdf9bf9e0506841f24e8aab5f0f1d1f4b688951f
The correct method to call is isLockPatternEnabled, which
also checks whether we've actually selected a pattern.
Also removes the code for the obsolete pattern enabled setting.
Bug: 18931518
Change-Id: I6f369eb60f8f6bb1e33384cd06534c713ab52e79
The method that launches notification screen from choose lock activity
finished the original activity before starting the new activity. This
made the system think it is a backward transition instead of a forward
one. Swapping the order to start new activity first and then finish
old activity fixed the problem.
This also changes the behavior in settings. However, it seems like this
is also the desired behavior for settings.
Bug: 18723199
Change-Id: I90538fa52e0d62a2274c8e0333682035849802c6
If TrustManagerService is able to refresh the trust agents before
the Settings activity gets a chance to reenable the lock pattern,
the TrustManagerService won't see a secure credential and won't
load any agents. This was introduced when we switched to isSecure
instead of getKeyguardStoredPasswordQuality. The latter ignored
the lockPatternEnabled flag.
Bug: 18596036
Change-Id: I2734899f7684916fc84bc3a07edca29310887103
Use setup wizard nav bar buttons instead of custom button bar for
lock screen setup.
Bug: 18482708
Change-Id: I471f475ebe6bc7ba8cfbd179daddd854c1b6982a
Use the setup wizard theme for EncryptionInterstital and
RedactionInterstitial as they will show during the lock screen setup
as part of setup wizard.
Bug: 18482708
Change-Id: I65c8924952345a4e17fcf4ffb7d68df53244c5d7
Basic theming for pattern and password screens. Create subclasses for
ChooseLockPassword and ChooseLockPattern, and copied their XML
layouts.
This CL mainly uses the buttons in the original screens as-is, with a
follow-up CL coming to change to use the nav bar buttons.
Bug: 18482708
Change-Id: I81751f781de633aff23fc68657589360007c235a
The code now observes whether accessibility is turned on when
deciding the default state.
Additionally, it fixes a bug where the user can back out of
EncryptionInterstitial and leave the setting in a bad state.
We now propagate the state until the place where it ultimately
gets stored.
Also fixes problem where Encryption was ignoring the state
where the device was already encrypted.
Fixes bug 17881324
Change-Id: Iec09e4464832a506bb2a78bb14a38b3531971fa0
- the EXTRA_NO_HEADERS flag as no more meaning as we are showing
the Tiles (previously named "Headers") only in the Dashboard
(which is the main Settings screen)
Change-Id: I55656de0d28ca9c84adbe6647d870838b4ac230b
- 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
Security fix for vulnerability where an app could launch into the screen lock
change dialog without first confirming the existing password/pattern.
Also, make sure that the fragments are launched with the correct corresponding
activity.
Bug: 9858403
Change-Id: I0f2c00a44abeb624c6fba0497bf6036a6f1a4564