Commit Graph

76 Commits

Author SHA1 Message Date
Amith Yamasani
ab72687b15 Don't start the loader task if one is already running
This should appease the monkeys.

Bug: 9619255
Change-Id: Idbac0bd86acafbdb636b0b18e09fcbb9eea15cc4
2013-06-28 15:30:08 -07:00
Amith Yamasani
0ca80fe4cd Single-user restrictions
New restrictions panel for restricting list of available apps for the user.
Apps that support restrictions can also be configured here.
Restrictions screen is PIN protected and will ask you to create a PIN the
first time you use it.

Change-Id: I7a5267df4272521ad80e6a8b6a18932d07179eb8
2013-06-25 16:49:38 -07:00
Amith Yamasani
47d8a5f13b am 893bdcd5: am 1b79c5c8: Merge "Allow hidden apps to opt-out" into jb-mr2-dev
* commit '893bdcd5312f314da7925f22345cb4efe0e1c442':
  Allow hidden apps to opt-out
2013-06-07 10:49:23 -07:00
Amith Yamasani
48b8b8fd18 Allow hidden apps to opt-out
When a system app doesn't have any UI, it wasn't being considered for
opt-out. Check for all system apps that want to opt-out and mark them
for uninstallation.

Bug: 8908632
Change-Id: Iad7ccbe544cc7c7ebf73f430fbab8d295eb40219
2013-06-06 14:48:07 -07:00
Amith Yamasani
f14e6751c3 Reduce jank in User Settings
Don't recreate the list on resume.
Cache the default circled icon.

Bug: 8802380
Change-Id: I46520b591fc3ffd5e51a1c7dda86e811c03a76a2
2013-05-29 09:39:07 -07:00
Amith Yamasani
503783c482 Cache default circle avatar for faster creation of UserSettings
Change-Id: Ie2ed9d032f71fad7a89edde147f231a1dc479aae
2013-05-28 11:17:43 -07:00
Amith Yamasani
99f40d4758 am 73662629: am 21f008e1: Merge "Update strings for clarity about restricted profiles" into jb-mr2-dev
* commit '73662629957e03ef23cd1bc33640ce7d1e690e90':
  Update strings for clarity about restricted profiles
2013-05-22 15:08:53 -07:00
Amith Yamasani
21f008e1f4 Merge "Update strings for clarity about restricted profiles" into jb-mr2-dev 2013-05-22 22:04:59 +00:00
Amith Yamasani
7c4dfccda4 Update strings for clarity about restricted profiles
Bug: 9051422
Bug: 9051178
Change-Id: I1b88286fdd0db27bb6980d0ebbc846370fd0082e
2013-05-22 12:51:30 -07:00
Amith Yamasani
d08167e169 am 18d44684: am 0b2781ae: Write restriction bundle right away for required apps.
* commit '18d44684d3d384cc1eed114808c3870c7738e352':
  Write restriction bundle right away for required apps.
2013-05-21 18:20:36 -07:00
Amith Yamasani
0b2781ae53 Write restriction bundle right away for required apps.
User shouldn't have to go tap on the settings icon for an app that is ON by default
in a restricted profile. This way apps can write some defaults to the restricted
profile when it is created.

The app entry is also automatically removed from the list if there are no visible
restrictions.

Bug: 9074051

Also fix an incorrect dialog label. Bug: 9068877

Change-Id: I2a7ddc31fe695f58611d2ba36a8bf541b7817b10
2013-05-21 16:07:28 -07:00
Amith Yamasani
c46a41cd5a am 738c373f: am f88e6e5a: Don\'t mutate all instances of app icons in Settings
* commit '738c373f3a27f30d631881c1633cca343e512e8f':
  Don't mutate all instances of app icons in Settings
2013-05-20 17:40:52 -07:00
Amith Yamasani
f88e6e5ae6 Don't mutate all instances of app icons in Settings
When adding color filters to an app icon in User Settings, don't
modify the original drawable state. Get a mutable drawable.

Bug: 9054675
Change-Id: I6ea374cb801abef3f5b597fda2e84b4e67cfa9d0
2013-05-20 16:05:22 -07:00
Amith Yamasani
7e8455bc09 am 5675f50c: am b96ebf9e: Merge "Load the avatar icon if it\'s not yet in the activity view" into jb-mr2-dev
* commit '5675f50cede90921c4a73cd94d191e39820a24d5':
  Load the avatar icon if it's not yet in the activity view
2013-05-17 17:41:31 -07:00
Amith Yamasani
76738fa651 Load the avatar icon if it's not yet in the activity view
Save any changes that weren't committed yet, but don't restore
earlier cancelled changes.

Bug: 9008014
Change-Id: I8faacc42a3600d1338ddedb1b59f7307903743b4
2013-05-17 15:09:47 -07:00
Amith Yamasani
b0b0b110c0 Use circular avatars wherever appropriate
Battery stats, Data usage and Running apps

Change-Id: Ib7f851e55ef7e44f18d3f8a2cd27f5f2204b0145
2013-05-13 16:01:20 -07:00
Amith Yamasani
f162efee89 Prompt to set a screen lock when adding a restricted profile
Bug: 8735493

If there's no screen lock, prompt to take the user to set a lock.
On return, check if user set the screen lock. If so, add the restricted
profile, otherwise don't add it.

Fix a small layout issue: Bug: 8721209

Change-Id: I2a18fea50a1d810d6a7fa82038b460ca4e03d5a0
2013-04-29 14:10:06 -07:00
Amith Yamasani
b017171587 Three kinds of owner info - owner, user and profile
Bug: 8736733

Put the summary "Restricted profile" under the user name in app restrictions panel.
Bug: 8736734

Change-Id: I6b724bd10a9246eb57831bffb737a48c01e0c285
2013-04-28 22:13:22 -07:00
Amith Yamasani
7b56d115ba Save app toggle state as soon as possible
Delaying applying the states till onPause() sometimes results in the apps
disappearing slowly as the new user is booting up, causing failed queued up
broadcasts that result in crash dialogs. This happens mainly when the user
switch is initiated via QuickSettings->LockScreen->Switch while the App
restrictions screen is still showing. The onPause() gets called when
SetupWizard actually takes focus, which is quite late, as boot completed
and other events have already been queued.

Apply the initial toggles right away and apply any user changes when primary
is going to background, or onPause(), whichever comes first.

Bug: 8685927

Also ensure that apps with restrictions get a chance to persist their defaults
as soon as they are toggled on. The user may never actually click on the settings
icon for the app (which was the only way they were getting persisted before).

Some new strings for an upcoming change.

Change-Id: I96f453d066a91c6b15eafe9a6ce3f42d98bf5e33
2013-04-26 15:18:33 -07:00
Amith Yamasani
a7a93784d1 Always include default system IMEs for restricted profiles
Add default IMEs to an exclusion set so that we don't include them in the
list of toggleable system apps that we show the user.

Bug: 8724246

Unrevert the change to include disabled apps, as the above change fixes the
reason for the revert.

Bug: 8713202

Change-Id: Ifced841ad3bfbde33d2403356216dd1749b7fa9a
2013-04-25 23:02:50 -07:00
Amith Yamasani
0cb93523b2 Merge "Revert "Disabled apps should also be shown in restricted profiles app list"" into jb-mr2-dev 2013-04-25 22:22:25 +00:00
Amith Yamasani
39d0fd84ad Revert "Disabled apps should also be shown in restricted profiles app list"
This is breaking restricted profiles because the Google Keyboard suddenly
shows up in the list as disabled and InputMethodManagerService crashes
if the only available keyboard is not installed for the profile.

This reverts commit 90dcd7469b

Change-Id: Idd7c4f0f93a973b777889865e80c53caad759a63
2013-04-25 21:39:23 +00:00
Svetoslav
410e2df458 Merge "CircleFramedDrawable incorrectly has implicit dependency on the hosting view size." into jb-mr2-dev 2013-04-25 20:32:46 +00:00
Amith Yamasani
90dcd7469b Disabled apps should also be shown in restricted profiles app list
If we don't show disabled system apps for toggling, they'll end up
being automatically included in the restricted profile.

Make sure that we also list disabled apps.

Bug: 8713202
Change-Id: I8f2facf496f669dfe963cdabf3d29d393097a80b
2013-04-25 11:03:33 -07:00
Svetoslav
8397ba603c CircleFramedDrawable incorrectly has implicit dependency on the hosting view size.
CircleFramedDrawable was trying to draw itself as big as the hosting view by
looking at the canvas size. However, due to inconsistent API behavior for the
cases with and without hardware acceleration the canvas size returns the
size of clipped canvas or the size of the entire canvas, respectively. While
we should fix the inconsistent API behavior, it is not correct for a lower
level component to know about the higher level one, i.e. a drawable trying
to infer the size of the hosting view. The hosting view should set the size
of the drawable. This change removes the dependency on the host view size and
if one wants to enlarge the drawable, he/she should just set the scale.

bug:8671059

Change-Id: Idc572da7dff60fd10cb37d3c3eca27aac2c0a21f
2013-04-25 10:41:15 -07:00
Amith Yamasani
8e6f99e22b Rename limited users to restricted profiles
Bug: 8705996
Change-Id: Ibf6a2e0e14ce095758fb9be982710b584b76f15d
2013-04-24 14:21:06 -07:00
Amith Yamasani
fc8a383d42 Final refactoring of the user/profile settings screen.
Name restricted users as restricted profiles and group them all
together.

Bug: 8697415
Change-Id: I18acc6b61bfb12a8e1540eb022a73b29783789e1
2013-04-23 18:45:35 -07:00
Amith Yamasani
1bad7141b4 Fix repeating apps on pause/resume
Preference list was getting duplicated on pausing and resuming the activity.

Pull the user info out of the preference list and make it a static header
so that it stays fixed. Can now remove all entries before re-adding.

Disable location by default and disable ability to change Unknown sources
 toggle.

Bug: 8685561
Bug: 8688400

Change-Id: I64ce728d5369e03ddaba562bcd66bb0720a037d2
2013-04-22 17:03:30 -07:00
Svetoslav
bf3391f19b Adding UI for editing the name and the picture of a limited user.
A limited user may not have access to contacts, thus the settings
app has to be able to show UI for selecting a user photo from
gallery or via camera.

bug:8566861

Change-Id: I1974b1a19b0fee8c737d1345302e1b2fba108379
2013-04-22 12:12:05 -07:00
Amith Yamasani
a98c402e44 Several improvements and fixes in restrictions UI
Bug: 8668906 : Add string indicating that the app has opted-in
Bug: 8663558 : Fix a crash in settings when EXTRA_RESTRICTIONS_LIST is empty
               Also accept EXTRA_RESTRICTIONS_BUNDLE as a result from custom
               restrictions activity
Bug: 8653389 : Some apps show up twice in the limited user config screen
Bug: 8653915 : Jank when adding a new limited user

Change-Id: I293148000be70850f565dbddb4c942d69142ae17
2013-04-19 16:27:09 -07:00
Amith Yamasani
d4abdd27ad Reorganize users screen
As per product/ux feedback, move around and rename the users.
Settings button for some users.

Fix crash in limited user when clicking on the user:
Bug: 8494377

Change-Id: I346d12646d32608b01f2c2c2c866b6da51408618
2013-04-17 21:55:06 -07:00
Amith Yamasani
5ee1750519 Changes to deal with restrictions API change
Bug: 8633967
Change-Id: I5d8e843c850ad3eff900409a9006666ddf91b061
2013-04-17 10:47:34 -07:00
Amith Yamasani
e11a346f1f Remove wifi/bt restrictions choice for limited users
Bug: 8631653

Make "Unknown sources" visible but disabled if restricted for limited user.
Bug: 8629605

Also show the restriction name as the dialog title in the picker.

Change-Id: I8d6ea3571bcc4372347cad6a2c982f35afa7cc09
2013-04-16 15:39:47 -07:00
Amith Yamasani
9517b02d43 Disable apps that require an account on a limited user
If an app is marked as requiring an account to work, disable that app
and show a message in the summary.

Also, implement graying out of icons for deselected apps.

Bug: 8600261
Change-Id: I9cf48832675c24257e09addad4316249082c30fb
2013-04-12 17:56:34 -07:00
Emily Bernier
91d40b7d97 Merge "User restrictions for creds storage & user removal" into jb-mr2-dev 2013-04-12 20:22:04 +00:00
Amith Yamasani
35f0237871 Merge "Embed the app restrictions fragment in the dual-pane settings." into jb-mr2-dev 2013-04-12 17:58:03 +00:00
Amith Yamasani
cc395695fc Embed the app restrictions fragment in the dual-pane settings.
Change the limited user creation flow to show the usual message before
actually adding the user. Might need to customize the message for limited
users.

Removed the old activity wrapper and moved the logic to UserSettings.

Removed the finish button.

Bug: 8566751
Change-Id: Ie9e1a03736c41758b0bb6e79d004ad662a5af7f4
2013-04-11 18:21:07 -07:00
Emily Bernier
11bd33a564 User restrictions for creds storage & user removal
Change-Id: I423e729f73ece6209875d2f8d194d0d11c975c20
2013-04-11 19:54:57 -04:00
Amith Yamasani
d8b0d0ed8e Make sure Settings app restrictions show up
Inadvertently disabled that in the previous change where we would
skip apps that were required but had no restrictions entries.

Bug: 8520185
Change-Id: Idc1808e489f7b6da267f68a2c7cef81cc351d2d0
2013-04-11 11:12:35 -07:00
Amith Yamasani
d81a3f7368 Improve app list for limited users
Show all activities in the same package with a master/slave relationship,
toggling all when the master is toggled.
Don't show required apps that have no restrictions.
Show apps that are only installed on the target user.

Bug: 8520813 lowercase app names
Bug: 8520185 apps installed only in limited user
Bug: 8567000 strange behavior with apps that have two launcher icons
Change-Id: Id8ab296c13202735a9534f918bd81ea4b4c14b46
2013-04-10 21:59:18 -07:00
Amith Yamasani
80b1dfe46a Merge "Select text in user name dialog" into jb-mr2-dev 2013-04-10 00:29:12 +00:00
Amith Yamasani
583757908b Select text in user name dialog
Enables quickly changing the name without moving the cursor.
Also use cap words style.

Bug: 8518507
Change-Id: I6841cad221b56bb4c3d51c21d30b3858d1ee3e1c
2013-04-09 17:26:43 -07:00
Amith Yamasani
872d4fba77 Send app restrictions broadcast to stopped apps as well
Otherwise the restrictions won't be shown for apps that haven't been
launched yet.

Bug: 8577600
Change-Id: I1d0d93553456dfedfb749e3d8262911af4362a80
2013-04-09 11:05:18 -07:00
Amith Yamasani
cb7b0b77ae Better app filtering for limited users
Show all system apps that have launchers and widgets.
Show all downloaded apps.
Remove dupes by package name.

Change-Id: Ief59b057e55a55e48ef48c5a638f6daf6a952e4e
2013-03-31 22:40:26 -07:00
Amith Yamasani
2601cd9142 Implement proper settings restrictions
Settings restrictions for limited users translate to user
restrictions specified in UserManager. Added required strings.
TODO: Add NFC restriction.

Change-Id: If1f81319131855f5dc1b27fe5bd54a4fef616d7f
2013-03-31 18:20:36 -07:00
Amith Yamasani
732c80ff18 Remove Limited users category if empty
If there are no users under limited category, in a secondary user,
remove the subheading completely.

Change-Id: I0397b6198c8cfc147e9e7dc30a92a7cb2f5860e3
2013-03-29 20:28:28 -07:00
Amith Yamasani
6e4757f0a6 Follow changes to RestrictionEntry API
Implement custom restrictions activity.
Fixed some bugs.

Change-Id: I094a6ffcc41c2936f76a8731048d7cb712c1b857
2013-03-29 18:40:45 -07:00
Amith Yamasani
864e3b7c51 Split User settings into limited and trusted.
Also show avatars with the circular frame like on lockscreen.

Change-Id: I032d842555b2f50a07166460f9cfb1963366dbb1
2013-03-27 12:27:01 -07:00
Amith Yamasani
f3f7c1dfb7 Device Admin Settings changes for Device Owner
Disable the list entry for an active device owner, as it can't be deactivated.

Change-Id: I833561f91ae60dff8226f9118c9e3b012e5e194f
2013-03-26 13:07:25 -07:00
Amith Yamasani
233592bb43 Application restrictions UI
Refactored User Settings UI to have two types of users.
Display a list of apps to select.
Edit user restrictions.
Handle saving and updating RestrictionEntry items via
User Manager.

Change-Id: I3ad5aa71d5ef66dffd39e17ba0556f075ac10a0f
2013-03-20 22:23:45 -07:00