1) Added a trampoline activity to display SET_NEW_PASSWORD intent.
2) On devices that have fingerprint sensor and have no enrolled fingerprint,
ChooseLockGeneric handles the SET_NEW_PASSWORD intent by providing
fingerprint + {PIN/PATTERN/PASSWORD} and skip fingerprint options.
Test: See below
1) Auto
make RunSettingsRoboTests
2) Manual
a) Fingerprint + pattern
i) $ adb shell am start -a android.app.action.SET_NEW_PASSWORD
ii) Click Pixel Imprint + Pattern.
iii) Set a pattern lock.
iv) Can enroll a fingerprint.
b) Pattern
i) $ adb shell am start -a android.app.action.SET_NEW_PASSWORD
ii) Click Continue without Pixel Imprint
iii) A list of unlock options, without fingerprint option, is shown.
vi) Select and enroll a pattern lock
c) Has an existing password
i) $ adb shell am start -a android.app.action.SET_NEW_PASSWORD
ii) Setting app asks for password input.
iii) Enter password and click "Continue without Pixel imprint".
vi) No password is asked. A list of unlock options, without fingerprint option, is shown.
v) Select and enroll a pattern lock
d) Work profile
i) Create a work profile
ii) adb shell am start --user x -a android.app.action.SET_NEW_PASSWORD. X is the work profile user id.
iii) Click Pixel Imprint + Pattern.
iv) Set a pattern lock.
v) Can enroll a fingerprint.
Bug: 23017051
Change-Id: I6384bbffb72a5d3a83972da7474532746e4d06b9
When preference screen is created all prefence goes through
SharedPreferenceLogger once. We don't want to log it as preference
change because it's just initial display. Subsequent preference logger
calls should result in logging.
Bug: 30914916
Test: make RunSettingsRoboTests
Change-Id: Icaee9137c55555f4db7839ff0381a13ccd420190
1. Reverting the changes for Display->Ambient Display; this setting
will control incoming notification pulse.
2. Added 2 separate entries in gestures settings to control pick up
and double tap gestures-triggered pulsing for Ambient Display.
3. Added automated tests to verify the preference initializes to the
correct default value, and also verify that toggling the preference
updates the corresponding settings correctly.
Test: make SettingsTests
Bug: 30595437
Change-Id: I125bf75fc4ccfea126a00ffae4207fcb789f487a
Bug: 31664539
Test: make RunSettingsRoboTests
This allows different metric clients to listen to these events.
Change-Id: Ib19c8099b16ff78d9aa4901278e0ff33eeefd4a8
Bug: 30455784
Test: make SettingsTests; run the instrumentation.
Change-Id: I860192c1c20fcaec2a5cbcdc085ff01dafa7351a
(cherry picked from commit 7f075a3c41)
- Renamed MetricsFractory to MetricsFeatureProvider, and access it using
FeatureFactory.
- Instead of containing exactly 1 logWriter, MetricsFeatureProvider now
contain a list.
- Added OnAttach event in Lifecycle. This is needed when a mixin
requires Context to initialize itself.
- Updated tests.
Bug: 29575437
Test: make RunSettingsRoboTests
Change-Id: I7cc1528b9a744cd40088701e2bd115f41a8bf744
When go back from RTL language, user should be navigated to the
previous setting tab.
Bug: 31145366
Test: make RunSettingsRoboTests
Change-Id: I2f2ec727f9737ea0e52dac9950c8af34559e3d9a
By breaking the tests into two pieces, we avoid any race conditions
with adding the fragment and also unit test the two components
separately.
Bug: 31370315
Test: m RunSettingsRoboTests
Change-Id: I9761b0b00141d3ce481a7edb5d8145c645c51da7
The summary for Sound settings was not
descriptive enough when the volume was set
to 0% so additional strings were added. Now
it will change let you know the status
of the ringer and vibration settings when
at 0% volume. Espresso tests added to test
that text is properly updated in each of
these states.
Test: make SettingsTests
Bug: 31099179
Change-Id: Id49e2d0c4b7ac0f17efcdaf31de48d5eb678ca46
Bug: 30681529
Test: RunSettingsRoboTests
ObservableDialogFragment can be used as host of VisibilityLoggerMixin,
allowing us to log visibility change for all dialogs easily.
Change-Id: I973db929d8494d3756584ca60df3b2e87d96c757
- Converted VisibilityLoggerMixin into a LifecyclerObservable so we
don't have to call logger.onResume/onPause manually in most fragments.
- Observable will be useful when we provide logics across all
fragment/activity, eg log lifecycle event latencies.
- Also added new tests for lifecycle component.
Bug: 30681529
Test: RunSettingsRoboTests
Change-Id: Ida39300aeb42f71b2e0bbfaebd0c51dc468cb5e8
Created a new controller for DataUsageInfo and add appropriate
unit tests.
Bug: 30946416
Change-Id: Ida1281a771013fd807242f846edb4f2a9c0ccabb
Test: Robolectric tests with target RunSettingsRoboTests