Commit Graph

37 Commits

Author SHA1 Message Date
Doris Ling
af4c772b30 Disable changing lock when device is not provisioned.
When the device is not yet provisioned and settings is launched:
- disable the entry point for changing device lock
- remove the search panel from settings home page
- remove the search menu

Bug: 110034419
Test: make RunSettingsRoboTests
Change-Id: Ieb7eb0e8699229ec0824ccc19d7b958ac44965a2
Merged-In: Ieb7eb0e8699229ec0824ccc19d7b958ac44965a2
(cherry picked from commit 770f4abf9d)
2018-08-16 16:40:13 +00:00
Maurice Lam
0283372fc2 Hide cancel button in Confirm Lock Pattern
Test: Manual
Bug: 77790615
Bug: 77565685
Change-Id: Ic3a12d169be037376f040dd1129678e814760091
2018-04-25 19:57:24 -07:00
Maurice Lam
8ca084e62b Fix landscape pattern enroll crash
Test: atest SetupChooseLockPatternTest.java
Bug: 77878150
Change-Id: Ie54286765ea0d766bcc9e2c8e56cfbda919d5fd7
2018-04-10 19:53:41 -07:00
Fan Zhang
1b9b1a2311 Remove FingerprintManagerWrapper
No longer needed after robolectric migration

Bug: 76167422
Test: robotests
Change-Id: I922cde8ac3667081a512cf899af86f68b24485a6
2018-03-30 16:30:31 -07:00
Rubin Xu
9d2edcbcbf Remove password blacklist check
Bug: 73750934
Test: compiles
Change-Id: Ic6c40255333d171dc55df479dd6c0004371551b7
2018-03-29 17:26:01 +01:00
TreeHugger Robot
59b25d0043 Merge "Separate skip and clear button in pattern screen" into pi-dev 2018-03-24 05:46:35 +00:00
Maurice Lam
3e3b8a9618 Make GLIF theme default for confirm lock screen
Use GLIF theme as the default for confirm lock screen, even for
"external" launches of the screen. Renamed the theme from "internal"
to "normal" to reflect this change.
Dark theme code will be cleaned up later.

Test: Existing tests pass
Bug: 62573742
Change-Id: I86958eb3a440d7274807f1cf453c3e53c16c23e7
2018-03-21 18:21:04 -07:00
Maurice Lam
e13e319e0c Separate skip and clear button in pattern screen
So that the action performed is always the same as what the button
label says.

Test: m -j RunSettingsRoboTests
Bug: 72197171
Change-Id: Ia2a02b630a86874d002e462e41fdf676c2d27203
2018-03-21 14:06:07 -07:00
Maurice Lam
b0e88dbbfe Make "minimal" pattern layout sw320dp
The minimal layout was sw400dp, but some smaller phones still have
enough space to display the icon and button decently, so we're
reducing the trigger threshold for the "minimal" layout to sw320dp.

Test: m -j RunSettingsRoboTests
Bug: 74527018
Change-Id: Ibfca1828870058301cca302554ce3d932c8ba70b
2018-03-19 18:27:18 +00:00
Maurice Lam
4723abfe26 Hide options button when user starts entering pattern
Test: cd tests/robotests && mma
Bug: 72409245
Change-Id: I82ab8822f13bc8bf8b74bc67f6d4d3a9fd2cc0c8
(cherry picked from commit ad554244b6)
2018-03-08 18:59:29 +00:00
James Lemieux
22a39c2b93 Use external/robolectric-shadows/run_robotests.mk
This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
2018-03-04 03:50:08 -08:00
Maurice Lam
212dd952a1 Improve pattern layout for tiiiny screens
On small screens < sw400dp,
- Don't show icon
- Don't show "Screen lock options" button

Test: cd tests/robotests && mma
Bug: 72764729
Change-Id: I8d9863d43c877fcc18f504d91d3183760b3fafc2
2018-02-15 12:19:09 -08:00
Ajay Nadathur
b14b996dbf Propagate extras when switching between choose lock activities
bug: 71715828
Test: Manually tested, added robolectric test
Change-Id: Ide18c94f52fe896aee0636ef702cd808b7d88638
2018-01-10 14:10:54 -08:00
Ajay Nadathur
a1314df69c Show 'screen lock options' on all lock screen types
bug: 66239135
Test: Manually tested and verified, robo tests updated
Change-Id: I42ae63661b5d5061fea848e2c1e8a0c8943864e4
2018-01-05 11:03:31 -08:00
Alexandru-Andrei Rotaru
aeb3e4473b Check password blacklist when setting credential
If the password is valid by all other checks, see if it is present on
the blacklist and disallow it if it is.

Test: set a password blacklist, try and set a blacklisted password and
see an explanation, set a non-blacklisted password successfully.
Test: make ROBOTEST_FILTER=ChooseLockPasswordTest RunSettingsRoboTests

Bug: 63578054
Fix: 65659151
Change-Id: Id155b824ad4b5839c23b6f5fd3fdfdcfc78c3df1
2017-12-18 13:34:21 +00:00
James Lemieux
9453999e6f Adopt robolectric 3.5.1
Bug: 70581603
Test: make RunSettingsRoboTests
Change-Id: I21dba3381ae62ee12de1ce29bea473b3d0f069c0
2017-12-12 17:31:47 -08:00
jeffreyhuang
cbfb099a40 Rename SDK_VERSION_O to SDK_VERSION
Test: make RunSettingsRoboTests -j40
Change-Id: I6715062d8addadda441e32809db1af55f15e3a90
2017-12-05 16:43:54 -08:00
jeffreyhuang
a442405a0e Move password test package to sdk 26
Test: make RunSettingsRoboTests -j40
Change-Id: I37c5df89dc4236a7d225c4802bf4195f2fd943b7
2017-11-30 15:45:05 -08:00
jeffreyhuang
04a025c59d Add resourceImpl shadow to tests for sdk 26
- Update ChooseLockPatternTest to sdk 26
 - Update SetupChooseLockPasswordTest to sdk 26
 - Update ChooseLockPasswordTest to sdk 26

Test: make RunSettingsRoboTests -j40
Change-Id: I453d835992eee01f8b5c0c71ebb95fa28f51d4c4
2017-11-30 15:45:05 -08:00
Doris Ling
dee1a22c45 Consolidate all wrappers used for testing.
- Add the wrapper package and move all wrappers to the wrapper package.
- Get rid of some wrapper interface/impl implementation and have a
wrapper class directly.

Bug: 65634579
Test: make RunSettingsRoboTests
Change-Id: Ic757d8f7bacfa7a034c7e692205bc1dc4b0e1de1
2017-09-14 18:24:49 -07:00
Fan Zhang
e3535d9998 Delete DynamicindexableContentMonitor & all refs to it
Convert input device search into a search query loader

And remove old logic from DynamicIndexableContentMonitor

Change-Id: If652b1ea7c8add9185bbd025055e14925d3a8eec
Bug: 64310452
Bug: 63831980
Test: robotests
2017-08-09 17:27:02 -07:00
Ajay Nadathur
bf3a135170 Show confirmation dialog when user tries to skip fingerprint
- After the user finished adding lock screen, if the user tries to skip
fingerprint setup, show a confirmation dialog

bug: 64092225
Test: Manually tested; robolectric tests also added
Change-Id: Iba5088a9db93153988942cf78f11077f427e50cb
2017-08-09 17:51:50 +00:00
Andrew Sapperstein
b3cf0a0923 Fix more config_headlineFontFamily-induced test breakages
Change-Id: Ic8a68a77e7ef8a3fd422e53e39d2fee74324c355
Fixes: 64024743
Test: robotests
2017-07-26 17:41:48 -07:00
Ajay Nadathur
f5ebc6f7ed Merge "Use fingerprint icons during setupwizard flow" into oc-dr1-dev 2017-07-26 21:42:12 +00:00
Andrew Sapperstein
d2cf55bccd Fix robotests.
Couldn't find config_headlineFontFamily. Added some
SettingsShadowResources.overrideResource calls.

Change-Id: I7179475df649b7a053deb0fa20e4c6c33f6a8acd
Merged-In: I13f5b5dd6b97057e7f77cc4d15abdb6451314b50
Fixes: 64024743
Test: robotests
2017-07-25 13:51:20 -07:00
Ajay Nadathur
7af28ecb66 Use fingerprint icons during setupwizard flow
Use fingerprint icon when lock screens are loaded on
fingerprint setup's behalf.

bug: 63809908
Test: Manually tested and verified. Also added robolectric tests
Change-Id: I773a1eec2466e7ab626cc3330f5ce987a21b048f
2017-07-24 11:45:13 -07:00
Ajay Nadathur
17d66bea42 Do not show options if screen lock types is empty
Bug: 63311251
Test: Manually tested on device
Change-Id: Ia56a0791b89635efb4f8305f39b586b8054271cf
2017-07-11 18:09:49 -07:00
Ajay Nadathur
a5f7392d51 Add missing 'pin' screen lock option
bug: 62206837
Test: Manual verified; Existing tests pass
Change-Id: I65985427cb012668ee23bedaf7253bec7c83fe75
2017-06-19 17:23:55 -07:00
Maurice Lam
846172564e Make confirm lock screen use the right theme
Test: cd tests/robotests && mma
Bug: 62348472
Change-Id: Ie05c2e6adba8450a1092f0fefcad6b003398de7d
2017-06-16 13:02:36 -07:00
Andrew Sapperstein
9f1e911759 Refactor test runner to use static list of resource paths
Previously everything lived in an inner class method of
SettingsRobolectricTestRunner. That method has now been turned into
a static method so that it can be called by other runners.

Bug: 62460102
Test: robotests
Change-Id: I6612b1f26404587301c534c8ba60e39d59d6c840
2017-06-09 09:21:26 -07:00
Maurice Lam
046400c2c4 Migrate settings robolectric tests to mockito 2
- Migrated ArgumentMatcher subclasses to lambdas
- Replaced any() with nullable() where tests were failing

Test: cd tests/robotests && mma
Bug: 38456058
Change-Id: Ice8c39b435c45b87f82dbbd9860e68f235314cf8
2017-05-24 15:14:31 -07:00
Maurice Lam
edb3944984 Default setup wizard to use PIN
- Added "Screen lock options" button in PIN screen, controlled by
  extra EXTRA_SHOW_OPTIONS_BUTTON, which will create a dialog to ask
  the user to choose another screen lock type.
- Extracted ScreenLockType enum and ChooseLockGenericController that
  can be shared by ChooseLockGeneric and the dialog
  ChooseLockTypeDialogFragment.
- The intent extra EXTRA_SHOW_OPTIONS_BUTTON will be set if
  ChooseLockGeneric screen starts ChooseLockPassword /
  ChooseLockPattern without asking the user. (Although the extra is
  ignored by ChooseLockPattern currently)
- Fix layout alignment for the password entry field to remove the
  extra 4dp padding on the sides.

Test: cd tests/robotests && mma
Bug: 35442933
Bug: 38002299
Change-Id: I877fbe08a0c05bb97175e1cbf0260ea6dbda22e2
2017-05-15 21:12:23 -07:00
Maurice Lam
2eb170cd6f Clean up choose lock intent creation
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
2017-05-12 15:35:20 -07:00
Tony Mak
8f41b9b665 Fix DPM.ACTION_SET_NEW_PASSWORD
Problem:
SetNewPasswordActivity is the new entrance for
ACTION_SET_NEW_PASSWORD. And it starts ChooseLockGeneric with the
fingerprint extras. ChooseLockGeneric infers which user is starting it
and determine which user is setting password. However, it now always
think that it is current user as it is always SetNewPasswordActivity
in current user starting it.

Solution: Resolve the user id in SetNewPasswordActivity and forward it
to ChooseLockGeneric. SetNewPasswordActivity needs to know the user id
anyway in order to have the fingerprint checking in the correct user id.

Test: 1. make RunSettingsRoboTests
      2. Manual Test
      	a. Start SET_NEW_PASSWORD intent in user 0, set password.
         	User 0 password is set.
      	b. Start SET_NEW_PASSWORD intent in work profile, set password.
         	work profile password is set.
        c. SET_PROFILE_PARENT_NEW_PASSWORD is always setting parent
           password.
        d. If fingerprint is disabled, both intent should not show
           fingerprint option
        e. DO sync auth flow with google.com account, fingerprint option
           is shown.

Change-Id: I2f73d01ab11e91b337beb90c05bbcb857dfd40dc
Fix: 32959373
2016-11-23 11:36:18 +00:00
Udam Saini
d6b1c666c5 Can launch into the lock screen with setup wizard style
The trampoline currently always uses the settings style for set action
new password. When called during setup wizard, it should launch the
setup wizard style.

Test: Added robotests for launching activity and copying setup wizard
extras. Also manually tested with an application when device is
provisioned and not provisioned.

bug:32575389
Change-Id: I5763eb87b63a46b05cd200bb73b15bdc24c8bd3b
2016-11-02 11:49:09 -07:00
Salvador Martinez
f86905ed50 Modified settings tests to use custom test runner
The custom test runner lets us use resources from
multiple projects which resolves many ResourceNotFound
errors that would come up when people who made changes
wrote tests.

Test: make RunSettingsRoboTests
Bug: 32180625
Change-Id: I71f30eecc1164b117351a74b3ea0533625feae5b
2016-10-25 17:20:20 -07:00
Steven Ng
4fdcec71dc Provide fingerprint options for SET_NEW_PASSWORD intent
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
2016-09-26 22:13:08 +01:00