Commit Graph

77 Commits

Author SHA1 Message Date
Bernard Chau
b3adb9068e Updated permission name according to API review
Fix: 123661671
Test: N/A
Change-Id: Ia06c4ede8b9379e84a87454dbca8ba361a4f49b4
2019-02-08 15:58:19 +00:00
Bernard Chau
00870bff0d Logging SetNewPasswordActivity events
Every launch of the activity with either ACTION_SET_NEW_PASSWORD
or ACTION_SET_NEW_PARENT_PROFILE_PASSWORD is logged, regardless
of whether extra EXTRA_PASSWORD_COMPLEXITY is used or whether
the caller has the required permisssion or not
- action: ACTION_SET_NEW_PASSWORD or
ACTION_SET_NEW_PARENT_PROFILE_PASSWORD
- pageId: SET_NEW_PASSWORD_ACTIVITY
- key: calling app package name
- value: raw value of intent extra EXTRA_PASSWORD_COMPLEXITY, or
Integer.MIN_VALUE if it does not exist

Bug: 120840632
Test: atest packages/apps/Settings/tests/robotests/src/com/android/settings/password/PasswordUtilsTest.java
      atest packages/apps/Settings/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java
Change-Id: I57dc55110f7f284ddad7d3fc971d1f2298b46cbd
2019-02-01 13:03:40 +00:00
Pasty Chang
0c6e676708 Merge "Rename ButtonFooterMixin to FooterBarMixin" 2019-01-25 03:58:56 +00:00
pastychang
9bdb59a764 Rename ButtonFooterMixin to FooterBarMixin
1. Change to FooterBarMixin
2. Move FooterButton to the same package with FooterBarMixin

Bug: 120805516
Test: RunSettingsRoboTests
Change-Id: Ic6937e3cbc515dd7bf877c9193932cd5800ac801
2019-01-24 16:18:28 +08:00
Bernard Chau
92db5bf4f7 New extra for ACTION_SET_NEW_PASSWORD to specify the min complexity
When an app that has the permission GET_AND_REQUEST_PASSWORD_COMPLEXITY
launches ACTION_SET_NEW_PASSWORD, it can use the DPM PASSWORD_COMPLEXITY_*
constants to specify the complexity it wants in a new extra
EXTRA_PASSWORD_COMPLEXITY.
The screen lock type picker would then filter out the options which
cannot fulfil the min complexity (and DPM restrictions) and will show a
footer with a brief description of the calling app and the requested type.
The same password requirements UI is used in ChooseLockPassword screen
to display the minimum requirements that can fulfil both DPM
restrictions and the min complexity.

The app must have permission GET_AND_REQUEST_PASSWORD_COMPLEXITY
otherwise the extra would be ignored.

ACTION_SET_NEW_PASSWORD is also updated to always display the calling app
name in the screen lock type picker if it is not launched by Settings,
with or without the new extra.

Bug: 111173457
Test: atest packages/apps/Settings/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java
      atest packages/apps/Settings/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
      atest packages/apps/Settings/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
      atest packages/apps/Settings/tests/robotests/src/com/android/settings/password/PasswordUtilsTest.java
      atest packages/apps/Settings/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java
      atest packages/apps/Settings/tests/robotests/src/com/android/settings/password/SetupChooseLockGenericTest.java
      manual test with TestDpc (ag/5901733)

Change-Id: I21a25d28669bf1223c3b02ba85c0755e59feee2e
2019-01-24 08:02:33 +00:00
pastychang
76ad11c179 Migrating to new footer button for ChooseLockPassword page
Bug: 120805516
Test: RunSettingsRoboTests
Change-Id: I1fb4588d0c2cf04bca88ec470d59945c2fcab01c
2019-01-22 15:10:36 +08:00
pastychang
c3c5a5c57e Migrating to new footer button for ChooseLockPattern page
Bug: 120805516
Test: RunSettingsRoboTests
Change-Id: Ifeaf402548146fca9f5fd5dfe0d976d38246b7e9
2019-01-18 14:42:35 +08:00
Pasty Chang
c4e447ce71 Merge "Change to show two footer buttons in SUW lockscreen page." 2019-01-10 07:16:02 +00:00
pastychang
79614823cb Rename prefix from suw to sud
Bug: 120805516
Test: RunSettingsRoboTests
Change-Id: I44a399b586671c100cb9d85c97effbfb1a379413
2019-01-04 10:46:20 +08:00
pastychang
382d34dc50 Change to show two footer buttons in SUW lockscreen page.
Bug: 121183851
Test: RunSettingsRoboTests
Change-Id: Id850e10a10bb8f3a344ef986e07bab1c39c37aa6
2019-01-02 15:32:29 +08:00
Kevin Chyn
69e8a089d7 Show Choose/ConfirmLock before showing BiometricEnrollIntroduction
Skip button is now shown when ChooseLock is launched by
BiometricEnroll, otherwise users are forced to use passwords
(maybe good thing?)

Bug: 111548033

Test: Pin/pattern/pass must be set/confirmed before enrollment
Test: Able to enroll FP in SUW and Settings

Change-Id: Ic4bbeb539e4bf01c1c402dec308943292b43406d
2018-12-18 13:59:45 -08:00
James Lemieux
f1dade40d2 Use binary resource support in robolectric
The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
2018-12-12 19:53:49 -08:00
Pasty Chang
c1f8600d9f Change to use setupcompat and setupdesign for suw pages
1. remove the dependence of setupwizardlib.
2. add to use setupcompat and setupdesign.
3. modify new footer button in following up cl.

Bug: 120805516
Bug: 120872944
Test: RunSettingsRoboTests
Change-Id: I463dd35b799d4250b2aabce0cb0b8102cf9dd7d6
2018-12-12 03:16:29 +00:00
Kevin Chyn
0e11b18cf0 Merge changes from topic "biometric-cc"
* changes:
  3/n: Make CDCA transparent and add BiometricPrompt
  2/n: Add comments to launchConfirmationActivity parameters
  1/n: Prepare ConfirmDeviceCredentials to use BiometricPrompt
2018-11-02 00:37:24 +00:00
Kevin Chyn
b3ee23154d 3/n: Make CDCA transparent and add BiometricPrompt
ConfirmDeviceCredentials now uses BiometricPrompt instead of
FingerprintManager

Bug: 111461540

Test: FRP does not display BiometricPrompt (as expected)
      adb shell settings put global device_provisioned 0 && adb shell am start -a android.app.action.CONFIRM_FRP_CREDENTIAL
Test: Using KeyguardManager API to launch, all corner cases seem OK
Test: Tested with work profile + one lock enabled/disabled, seems OK
Test: Enroll normal FP but not work FP, BiometricPromptDemo for both works
      OK
Test: Test CC on work version of BPD, then BP on normal version of BPD,
      both accept correct FP's (no regression from P)

Change-Id: Iacdaf76ab76971850212dc79513bfa3f4b89eb9a
2018-11-01 15:14:04 -07:00
Fan Zhang
cdf284b732 Make Settings robotest work with tot Robolectric
Bug: 116278591
Test: make -j RunSettingsRoboTests
Change-Id: I32cb2fcf6094675f79d2fc24702ef6298a9691e4
2018-10-31 17:59:17 -07:00
Maurice Lam
7243a4016b Merge "Ignore lock type in ChooseLockGeneric in non-FBE" 2018-10-09 01:02:25 +00:00
Maurice Lam
446637e583 Ignore lock type in ChooseLockGeneric in non-FBE
We need to show the encryption opt-in in non-FBE cases.

Test: atest RunSettingsRoboTests
Bug: 115847373
Change-Id: I3a92b265c9c8ecf5d4af009943b5b9483e25a738
2018-10-05 13:30:55 -07:00
Fan Zhang
f9f6200b28 Merge "Remove FragmentUtilsTest class" 2018-10-01 16:45:19 +00:00
TreeHugger Robot
cc9ffafb80 Merge "Remove custom Robolectric util class." 2018-09-28 16:18:28 +00:00
tmfang
a09325ea18 Remove custom Robolectric util class.
We directly use Robolectric/ActivityController to
setup an FragmentActivity lifecycle.

So, I removed the custom Robolectric in robotests/testutils.

Change-Id: Ib93265f719e1eb9606c9ad6f05c1dd1957302e8b
Fixes: 111195450
Test: robotests
2018-09-28 11:26:17 +08:00
tmfang
c28c836dcb Remove FragmentUtilsTest class
We directly use FragmentController to start fragment.

Change-Id: Iff78f321165d666f96d84f001ff054257a1aaede
Fixes: 111195449
Test: robotest
2018-09-27 18:51:20 +08:00
Kevin Chyn
a8843f2959 Update FaceSettings to match mocks
Settings page should not show if device credential is not confirmed

Bug: 111548037
Fixes: 116531896

Test: adb shell settings get secure face_unlock_app_enabled
Test: make -j56 RunSettingsRoboTests

Change-Id: I651ee88e9ee4017ee3dc52fa8a5d05cb8f092e1d
2018-09-26 11:50:02 -07:00
TreeHugger Robot
847865dca8 Merge "Update Settings to match Framework" 2018-08-31 01:21:07 +00:00
Raff Tsai
4778a9afbd Close searchActivity doesn't go back to previous activity
When requestCode is 0, we will not finish activity.

Change-Id: Ib630951739031b05c83efe189875a4a41c8e51ec
Fixes: 113372155
Test: make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.password"
2018-08-29 23:31:42 +08:00
Kevin Chyn
76d40d3efb Update Settings to match Framework
Bug: 72825012
Test: atest SettingsRoboTests

Change-Id: Ie59347bcb5d6748b3e684541b390c8e5f6db3f4a
2018-08-28 21:45:01 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Pavel Grafov
45927898c7 Don't offer "None" lock type for work profiles.
"None" doesn't make sense for work profiles because it makes
profile insecure even if primary user is secure. If the user
wants to get rid of separate challenge, it will be offered in
previous Settings page, "Use one lock", so this shouldn't cause
any confusion.

Test: atest tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java
Test: manual, tried setting personal an work challenges from Settings and via Intent.
Bug: 33656033
Change-Id: I830b3e372c1fe200fc4e02d59e3c3805bac5f9bb
2018-08-17 22:07:12 +00:00
Doris Ling
882bef3962 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
2018-08-01 10:18:01 -07:00
tmfang
5bd7151413 Migrate all AlertDialogs to AndroidX version
- Let test cases can be compatible with AndroidX AlertDialog.
- Theme of Transparent needs to support AndroidX AlertDialog.

Change-Id: I0789b66f52feef30ebab7fb824d0e39d5ae9cc96
Fixes: 111413092
Test: make RunSettingsRoboTests -j56
2018-07-20 13:38:58 +08:00
TreeHugger Robot
e64020540c Merge "Fix a test broken by fragment migration." 2018-07-19 17:44:48 +00:00
tmfang
1d44acce67 Fix test cases broken
- AndroiX AlertDialog needs to use Theme.AppCompat.
- Create a ShadowAlertDialogCompat which can be compatible with AndroidX AlertDialog.

Fix: 111247403
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.password.ChooseLockTypeDialogFragmentTest

Change-Id: I3e4bca285ecaefa5705c8d170050c21d1bc649e0
2018-07-18 19:39:39 +08:00
Jason Chiu
9b5020c1d2 Fix a test broken by fragment migration.
Change-Id: I68e4f9b53d3492817ea9416fd4127fbe15337ce6
Fixes: 111193572
Test: robotests
2018-07-18 10:53:28 +08:00
Fan Zhang
0a80d936f8 Fix 2 tests broken by fragment migration.
Change-Id: Ieda64e5c2ed9ca43158ce361f79eff9c6b35f464
Fixes: 111194289
Test: robotests
2018-07-12 16:38:26 -07:00
tmfang
f12e6adcdc Settings Fragment Migration (Fix test cases)
Fix all Roboletric test cases.
In this CL, some test cases are broken.
So, We ignored these test cases temporarily.

Test: make RunSettingsRoboTests -j56
Bug: 110259478
Change-Id: I1a3075438a614432a2de4f2d96d8abf9a83ce58c
2018-07-11 18:24:51 -07:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00
Kevin Chyn
81dc0295d7 2/n: Add face to ChooseLock*
Bug: 110589286

Test: manual
Test: make -j56 RunSettingsRoboTests
Test: setting up new fingerprint still works
Change-Id: I1b7d2bb6bb417dae2c99e5abeb68d3f694cb3cb8
2018-06-29 18:19:34 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Doris Ling
06d264de19 Fix crash in ChooseLockGenericFragment.
- in onActivityResult(), the intent data can be null. Check for non null
intent data before trying to read the extra string from the intent.

Change-Id: I14c42725a7885a84688ae39fde63e30ad0536001
Fixes: 109675331
Test: make RunSettingsRoboTests
2018-06-12 16:39:09 -07:00
Pavel Grafov
5f139101e2 Simplify password length constraints checking
Currently minimum password length policy is queried twice:
1. When constructiong the intent in
   ChooseLockGenericFragment.getIntentForUnlockMethod and then
   passed into setPasswordLengthRange in getLockPasswordIntent
2. in ChooseLockPasswordFragment.processPasswordRequirements via
   LockPatternUtils.getRequestedMinimumPasswordLength().

These two values are then combined in processPasswordRequirements
using Math.max(), which doesn't make sense since it is the same
value.
With this CL it is only queried once in processPasswordRequirements.

+ cleaned up code filling in unused list.
+ removed unused extras, since they are never set anywhere.

Bug: 30558331
Test: atest ChooseLockPasswordTest
Test: atest SetupChooseLockPasswordTest
Test: atest ChooseLockGenericTest
Test: manual, set password policy and change password.

Change-Id: Ifc4946d5b3b26131da01178fa9c827de7a52c7c6
2018-05-14 12:09:15 +01:00
pastychang
aea3e0b205 Show Option of "Screen lock options" on SUW pattern screen page
Add more check for stages of Patern input. Make sure that button "Screen lock options" is visiable.

Test: atest SetupChooseLockPatternTest
Bug: 76431549
Change-Id: Iec7d0eb4a3c16ebd2a504fbbc6de465c341ca43a
2018-05-04 17:31:41 +08: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