Commit Graph

185 Commits

Author SHA1 Message Date
Justin Klaassen
a22c8345fa DO NOT MERGE - Ask device owner for master clear in demo mode
Bug: 62712426
Test: make RunSettingsRoboTests -j19
Change-Id: I29f92ff1062590f2c5eb7713e5969da7870fc582
2017-08-09 15:37:01 -07:00
Christine Franks
a0dd987d20 Restrict changing wi-fi networks
Bug: 31852835
Test: manual - verify unrestricted as regular user, but that a password
is required in demo mode.
Change-Id: I60f95ccbb10ba728b384b9c8c2ae723934fb2928
2017-07-25 13:31:12 -07:00
Kevin Chyn
2a2dcb52cb Fingerprint swipe settings and suggestions should not show if hardware unavailable
Fixes: 63589121

Test: remove FP driver, make sure swipe setting and suggestions
don't show anymore && make -j RunSettingsRoboTests

Merged-In: I2539128daff8df52d040606141f772fc9edffa57
Change-Id: I2539128daff8df52d040606141f772fc9edffa57
2017-07-25 02:33:30 +00:00
Christine Franks
a09eb383d9 Move logic for FR in demo mode out of Settings
Bug: 62712426
Test: make \
ROBOTEST_FILTER="(MasterClearTest|FactoryResetPreferenceControllerTest
|UtilsTest)" \
RunSettingsRoboTests -j100
Change-Id: I5e287c3d4a6a7050bda78187c52aec19e90b50bc
2017-07-20 17:44:18 -07:00
Doris Ling
e9060a3cb6 Delay showing the loading progress spinner in Managed App.
In warm load, the app list is populated much faster, and we should not
show the spinner if we can show the app list immediately.

Adding 100ms delay in showing the loading container. If the app list is
ready, show the list container directly without first showing the
loading container.

Change-Id: I8b3ea88d2382ece9226d5c7734fd1aa406160cf2
Fix: 36375109
Test: make RunSettingsRoboTests
2017-06-19 10:57:11 -07:00
Esteban Talavera
c62ce670c3 Merge "Include disabled managed profiles in Accounts page" into oc-dev am: 92f78354f9
am: 42d97f86c2

Change-Id: If2708bc27673b50dfdf7faa3300944d8bdb47b60
2017-06-02 08:42:50 +00:00
Esteban Talavera
92f78354f9 Merge "Include disabled managed profiles in Accounts page" into oc-dev 2017-06-02 08:33:17 +00:00
Esteban Talavera
9b86e9c822 Include disabled managed profiles in Accounts page
At the moment we include disabled profiles when deciding
whether the Work section needs to be added, and then only
include enabled ones when searching for the managed profile's
user handle

Change-Id: I96b0c36aad6b9326abc2992fa3309716f5cd1e74
Fix: 62021410
Test: m RunSettingsRoboTests
2017-06-01 09:52:45 +01:00
Adrian Roos
5a9a3cde62 Credential FRP: Add ACTION_CONFIRM_FRP_CREDENTIAL to ConfirmCredential
Bug: 36814845
Test: adb shell settings put global device_provisioned 0 && adb shell am start -a android.app.action.CONFIRM_FRP_CREDENTIAL
Change-Id: Id6ce6bc5ebd9c9e2a88790cc800678aff50e580f
2017-05-30 18:25:18 -07:00
Phil Weaver
ed0866ebfd Fix clickjacking again for accessibility services
Turns out that the flag for the window being obscured
does not imply that it is also partially obscured.

Also blocking system alerts and toast windows over the
accessibility service preference screen (and its associated
warning dialog) as well as the warning dialog shown when
a service is made available with the accessibiity shortcut.

Bug: 62104030
Test: Manually verified that I can't enable Select to Speak
when switch access is highlighting the button. I am able to
do that without this fix. Also started a service that
displayed a system overlay and confirmed that the overlay
disappears on a11y service preference screens and when a
new service is configured for the a11y shortcut.
Merged-In: Ie00bafa736c837881a258c9de10891b27c5baefd

Change-Id: Iabbded1a12dbc33d76e51c0bac710280a88080f3
2017-05-30 10:45:23 -07:00
Phil Weaver
2e2dbfe549 Manual merge of ag/2319717
Bug: 62104030
Test: Manually tested as described in original commit msg.
Change-Id: Ie00bafa736c837881a258c9de10891b27c5baefd
2017-05-30 10:41:52 -07:00
Maurice Lam
e1976ac302 Check for sidecar null-ness before removing
Test: cd tests/robotests && mma
Bug: 36681116
Change-Id: Id48113502c538b607d92700d3e58943614cfc150
2017-05-10 17:17:44 -07:00
jackqdyulei
f4c1cef322 Add TtsSpan for formatted time.
Talk back will read "Used for 3m" as "Used for 3 meters", but
it will read "Used for 3h 3m" correctly.

This cl add specific Ttsspan if the time only contains "minute"

Bug: 36379530
Test: Run SettingsRoboTests

Change-Id: I033575938cce24221980dddd9d66be4e18804541
2017-04-21 14:42:42 -07:00
Daniel Nishi
fe33c58a18 Add user icon to the other user preferences.
This icon is loaded in the background to avoid doing IO on
the main thread. Once we know there are more users and also
have the icon loaded, we add the category to the view.

Fixes: 36252572
Test: Robotest

Change-Id: Ib50287bb7ed323f22fbe407b56be1bf2fe98f121
2017-04-07 14:57:07 -07:00
jackqdyulei
ddba966700 Revamp the battery usage details page.
This cl adds AdvancedPowerUsageDetail to show the usage details page.
The AdvancedPowerUsageDetail contains all the needed ui components:
1. App Header
2. Two buttons
3. Usage breakdown preference category
4. Power management preference category

This cl also adds preference controller for two buttons but the
detail implementation will be added in the following cl.

Following cl will also remove previous detail page.

Bug: 35810915
Test: RunSettingsRoboTests
Change-Id: I17f95d1288762094671c0f148fa73367e51f175e
2017-03-24 20:58:44 -07:00
Fan Zhang
11d2d68e23 Move developer options related class to development package
Bug: 34203528
Test: none, purely moving classes around
Change-Id: I3cd1d257f948729fda5c04632e7ce9114c40bd0c
2017-03-17 16:51:21 -07:00
Fan Zhang
1447da277b Fix layout for time zone picker
Change-Id: I2f1dedac7d747901978ef5d4a1a58bae2fa02921
Fix: 35856915
Test: make RunSettingsRoboTests
2017-03-08 16:28:02 -08:00
Daniel Nishi
9f60f42a94 Add support for user profiles to the Storage Settings.
This adds new preferences for each profile (such as the work
profile) and defines a new view for viewing the storage
breakdown for the individual profile. The functionality closely
mimics the presentation on the main view, but without the system-wide
breakdown and without any additional users/profiles.

Bug: 34715777
Test: Settings Robotests

Change-Id: I19d449b648c6566331fd02e45c2e45f8c74ea7e7
2017-02-22 17:33:24 -08:00
Daniel Nishi
422e7c354d Update the loading of info for the secondary users.
Bug: 34715777, 34225103
Test: Settings Robotest
Change-Id: I32bb15ad8bc866c1fd41728e56faa8b09ae11eb6
2017-02-21 12:08:28 -08:00
Daniel Nishi
dfed8a2acb Add support for visualizing secondary users.
This functionality adds the secondary users to the screen, but
currently does not populate the information for them. Once the
external stats query works, I will add a loader which will
populate this information.

This also does not cover work profiles. Support for that is
forthcoming.

Bug: 34715777, 34225103
Test: Settings Robotest
Change-Id: Ib9b692b214f5ce5d303dfd64516381443d4acebd
2017-02-21 12:07:23 -08:00
Fan Zhang
c6ca314c0b Log source with visibility change
- Add a method in VisibilityLoggerMixin to log visible event using
  LogMaker, which allows logging additional FIELD_CONTEXT field.
- In Utils.startFragment, add current page's metricsCategory as an extra
  to next page.
- In next page's onResume(), extract the previous page's metricsCategory
  and send it to VisibilityLoggerMixin.visible()
- Update all caller with additional paramters

Change-Id: I8e1f2597fa465b7d3aa16fa1d21c052a3219694a
Fix: 35359289
Test: RunSettingsRoboTests
2017-02-15 17:17:19 -08:00
Robin Lee
cccf3244b6 Prompt credentials for installing/deleting sounds
Actually we probably want to confirm credentials in all locked cases
not just when starting the user -- fewer corners to special case.

Fix: 34734809
Test: manual. set a work profile lock, screen off/on, open sound settings, try to set a work ringtone. first attempt should prompt for credentials, second attempt should not until next screen-off.
Change-Id: I1fea94f3b0d1b768b22741b887d9891f5e318549
2017-02-10 15:34:53 +00:00
Christine Franks
1478222cd2 Allow factory reset in carrier demo mode
Bug: 34341567
Test: manual - in carrier demo mode, go to Settings > Backup and
Reset > Factory data reset > Reset phone > Erase everything and
this entire path is viewable.

Change-Id: Ia5491765241adad97ecdb0a5bfd86a8371b8e4fe
2017-02-06 11:42:54 -08:00
Daniel Nishi
31027dae93 Add a music apps view to the Storage Settings.
When you tap the Music & Audio preference, it takes you a
hybridized applications view. In this view, there also is
a line item which defines the amount of storage used by
audio files on the device. Using the new storage query, we
can add this information very quickly to the view.

Bug: 33199077
Test: Settings robo tests
Change-Id: If51cba0b3de20805543a39049367eb13613081e7
2017-01-25 11:56:02 -08:00
jackqdyulei
8164c64edc Add NPE check for method assignDefaultPhoto in Utils.java
When user press back button while adding user, app may crash because
of null context. In this cl, I add NPE check for context in method
assignDefaultPhoto and change this method to return boolean value.
If the return value is false, then stop the following steps(e.g.
creating a dialog after pressing button may also cause crash.)

Bug: 33829308
Test: make -j40 RunSettingsRoboTests
Change-Id: I811b92c268fb20f8c43ab3b0a9ceebe76f5d83be
2016-12-28 11:30:54 -08:00
Amith Yamasani
21556cdba1 Adapt to behavior change in MATCH_UNINSTALLED_PACKAGES
Don't use the PM flag to reach across users.
If retrieving labels, etc., use MATCH_ANY_USER, since
several Settings screens show work profile apps as well.

Bug: 31000380
Test: Manual test of affected screens
Change-Id: Ib6f981ae8443f640276d395c37247c8c0b610894
2016-11-30 13:24:54 -08: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
Sudheer Shanka
acb1a61f3f Update usage of ActivityManagerNative.
Bug: 30977067
Test: N/A
Change-Id: I46e37a09cff059d2784a819bc2651d6973fbd268
2016-11-14 12:59:11 -08:00
Jaewoong Jung
c260e6dc87 Fixes how we read the current WiFi network IP address.
The old logic could read the current IP address only when the network has the
Internet access.

Bug: 31934577
Test: Manual inspection
Test: make RunSettingsRoboTests -j40

Change-Id: I46fe6f6fb4322e8245d3ac66ac6530228c226d16
2016-10-19 12:08:54 -07:00
Jeff Sharkey
ab50807d1e Offer a null FignerprintManager.
Settings likes null.

Test: builds
Bug: 32060380
Change-Id: I5ba19bccfd48916d4e581518928a6aee19e84a77
2016-10-11 14:30:19 -06:00
Fan Zhang
cc335d9509 Rearrange a few settings into System category page.
- Use activity-alias to define which activity shows up in what category.
  We choose activity-alias because it creates a reference to UI we need
  without having to define a new set of intent-filter and/or category
  keys. This reduces maintainence in the long run. We should merge
  metadata from activity-alias into targetActivity when cleaning up.

- Created new System dashboard activity that hosts all system category
  tiles dynamically, and a static tile for checking system update.

Bug: 31781480
Test: manual
Test: make RunSettingsRoboTests -j40
Change-Id: Ia2d762e3e1aebd17423a395c5e6c286dc3326492
2016-09-30 16:03:46 -07:00
Robin Lee
788671647c Eliminate useless 'isManagedProfile' utils method
This exists in UserManager now

Change-Id: If35326a1fe0de3c7bfde842c5c170899dc5d819b
2016-09-12 16:25:28 +09:00
Rubin Xu
0a0d381566 Prompt to turn on/unlock profile before showing account sync settings am: 3231afe95b am: e1237c8096
am: cc2861ab56

Change-Id: I7b594a3064991241626249301fff35370887ee25
2016-09-01 10:55:18 +00:00
Rubin Xu
3231afe95b Prompt to turn on/unlock profile before showing account sync settings
Bug: 29087280
Change-Id: I39e175ab23d4f1071727fe9c0906e40da1e7aada
2016-08-26 16:35:06 +01:00
Doris Ling
7574b64910 Fix crash when selecting AppInfo for uninstalled app from Recents.
When an app is uninstalled, the corresponding app info is not removed
fromi the Recents tasks. If user selects that app info entry from the
recents tasks, it will failed to retrieve the app detail as the package
is already removed.

Add the package removed event listener in InstalledAppDetails such
that when the package has been unintalled, its app info task will also
be removed from Recents.

Change-Id: I771507f8f53017f87eda31ddef77a95e30921cbf
Fixes: 28671923

Fix app info crashes when package is uninstalled from terminal.

Move start listening to the package removed intents to onCreate()
and continue listening throughout the whole lifecycle of the activity so
that if user unintall the package in the background, it will still be
notified.

Change-Id: I889b0ea3e1245be83750d73349ed3a0f85a51783
Fixes: 28671923

Fix crash in Storage app info when the corresponding app is uninstalled
in the background.

1. Move the handling for package removal from InstalledAppDetails to
AppInfoBase so that all app info subclass will now finish
correspondingly if the package is uninstalled.
2. In InstalledAppDetails, when handling package removal, will also
finish the app info fragment that it starts earlier.

Change-Id: Id741e7475414045040dd0797ff3bc63ac214f400
Fixes: 27774473
2016-08-19 14:15:38 -07:00
André Lago
6ecc414e77 Merge "[Settings] Set different ringtones at work profile" 2016-08-19 17:02:03 +00:00
Andre Lago
3e398c87f2 [Settings] Set different ringtones at work profile
Updated the Settings app to allow setting different default system
ringtones for work profile apps

Bug: 30658854
Change-Id: I7461be070bd4e8d86bf1fd724039e53d500094ad
2016-08-15 11:11:56 +01:00
Doris Ling
36e953fbe5 Fix crash in Storage app info when the corresponding app is uninstalled
in the background.

1. Move the handling for package removal from InstalledAppDetails to
AppInfoBase so that all app info subclass will now finish
correspondingly if the package is uninstalled.
2. In InstalledAppDetails, when handling package removal, will also
finish the app info fragment that it starts earlier.

Change-Id: Id741e7475414045040dd0797ff3bc63ac214f400
Fixes: 27774473
2016-08-12 15:25:00 -07:00
Jeff Sharkey
4a8136b51b Warn users when selecting non-Direct Boot apps.
Certain apps like Phone, SMS, Emergency Info, and IME are critical
enough that they ideally need to be runnable before the device is
unlocked after a reboot.  Users can still pick non-Direct Boot aware
apps, but this change now warns users that the selected app won't be
runnable until after unlocking.

Bug: 27196876
Change-Id: I0498904d2f664fb41e8c1e6bb30d1cbf437cf4b9
2016-07-27 14:49:34 -06:00
Ricky Wai
5f0e81222a Merge \"Make work challenge settings work even work profile is not enabled yet\" into nyc-dev
am: 68c263cf2e

Change-Id: I091c7a1173b468c9887d247efa517696cbd50da2
2016-06-08 14:49:06 +00:00
Ricky Wai
7250016447 Make work challenge settings work even work profile is not enabled yet
Bug: 29090660
Change-Id: I21996700f1ee451e8420f3f257c6ed51feea4ecb
2016-06-08 13:33:57 +00:00
Jason Monk
83c2670cda Merge "Fix pref availability for search" into nyc-dev
am: 8eaa3de931

* commit '8eaa3de9317eb21855db43ed276b90ca48ad1d28':
  Fix pref availability for search

Change-Id: I777450a2531d9c817d6ff76068b6ac7c02fcb782
2016-05-27 17:09:56 +00:00
Jason Monk
be9412107d Fix pref availability for search
Change-Id: Ic080e131c6c751456b22d370aade77748d912b6b
Fixes: 28987828
2016-05-27 12:58:53 -04:00
Steven Ng
3fe140315d Add a Global setting for disabling OEM unlocking setting
+ Don't enable OEM unlocking setting if the global setting disallows it.

Bug: 28163088
Change-Id: Ic306da3fa2cecb90865be055566a7e1603e6b5e2
2016-05-13 14:09:59 +00:00
Jason Monk
7519954286 Expose dialog for current webview setting.
Change-Id: I91c796b2c75c0ac8047ba0c2555a1036e8c6c616
Fixes: 28554048
2016-05-11 11:20:55 -04:00
Sudheer Shanka
c3eb16ed18 Show app installer info even if it doesn't handle ACTION.APP_SHOW_INFO.
- Also fix an issue where we are showing the app name instead of it's
  installer name.

Bug: 28301883
Change-Id: I392f7d01f5ec4d1ba5b5030e33ebe8260ff5aa31
2016-04-21 12:51:43 -07:00
Sudheer Shanka
39975a60cc Fix NullPointerException in Utils.copyMeProfilePhoto.
Bug: 28221898
Change-Id: I2f67c4ba349a1c831b22174fefd0db6efeffbf1e
2016-04-15 17:21:41 -07:00
Sudheer Shanka
2cae2f1613 Merge "Set user icon to default when updating profile without photo" into nyc-dev 2016-04-15 02:18:11 +00:00
Sudheer Shanka
71caf698b4 Set user icon to default when updating profile without photo
If the user photo was deleted in the Myself contact, the change
was not reflected neither in Settings/Users nor in expanded
status bar. This was because the ProfileUpdateReceiver did not
handle the case where the updated image was null (deleted).
Fixed by assigning default user icon in UserManager if no photo
found in the profile update.

AOSP change: https://android-review.googlesource.com/#/c/153137

Bug: 28031914
Change-Id: I2f452f78dcf777414f50b133b1a9cee334bbd9a8
2016-04-14 16:56:15 -07:00
Bernard Chau
88d523bc5c Fixed typos "QuiteMode"
Bug: 28186496
Change-Id: I460509f7fda205711532c290f764d842f07aba49
2016-04-14 15:12:14 +01:00