Commit Graph

91 Commits

Author SHA1 Message Date
Amith Yamasani
38e7610512 Exit restrictions fragment if user was deleted
When resuming the restricted user fragment, make sure that the user still
exists, as it may have been deleted by the restricted user.

Bug: 11010340

Change-Id: I3360dbc42586c5bb28013844f8c788e641ad8b6a
2013-10-03 16:08:56 -07:00
Amith Yamasani
7f5f0bb2ae Don't crash on rotation when cropping a profile picture
Bug: 8910780

Keep track of pending activity result and avoid deleting the intermediate file.

Change-Id: I56f63e1348c8b1f5229ad3e135016b8b75d3a335
2013-09-13 12:12:08 -07:00
Amith Yamasani
2ad9625462 Fix profile picture picking for restricted profiles
Due to the new file picker UI and incorrect assumptions of access to sd card,
have to use content provider Uris instead of file paths.

Also makes the cropping robust in the event of not having a cropping intent
on the platform.

This should make the code play well with third party image
and camera apps as well.

Bug: 10666584

Change-Id: Ie8d834fe7aac96bc14829a7be084512a15ef4001
2013-09-10 17:16:12 -07:00
Maggie Benthall
4453496448 Fixes for pin-restricted settings.
- Reprompt for pin after screen has been locked and unlocked.
- For protected preferences, store the Preference and continue if pin entry is successful.
- Protect whole UserSettings and DevelopmentSettings pages.

Bug: 10543207
Change-Id: If1d4b31ca94a8cfc103625b74385bcd0bdd3d88b
2013-08-29 18:06:13 -04:00
Amith Yamasani
cb6ba728c5 Merge "Don't list apps that are disabled by the system" into klp-dev 2013-08-27 21:42:58 +00:00
Amith Yamasani
d760a61936 Fix custom restrictions launch mechanism
Instead of showing a separate entry for launching custom restrictions,
launch it directly when clicking on the settings icon.

Bug: 10388399
Change-Id: I327d6d4c2b9840ce5ba140746568c5561a1a8936
2013-08-20 16:26:48 -07:00
Amith Yamasani
928191881d Don't list apps that are disabled by the system
This is to make sure that apps that were disabled for some reason
such as inappropriateness for a locale or for a specific device, don't
show up as available to enable for a restricted profile.

But in the case that the app was already enabled for the target profile,
show it in the list so that it can be disabled if necessary.

Bug: 10229133
Change-Id: I3c19edb7364cea42d95b619781e0326543b9a1cf
2013-08-16 13:59:40 -07:00
Geoffrey Borggaard
8a181dd0d1 Merge "Pin protect more screens." 2013-08-06 22:03:44 +00:00
Geoffrey Borggaard
fe21d9aaa8 Pin protect more screens.
When these screens are locked down with user restrictions,
it should prompt the user for the restrictions pin before allowing
access to the settings screen.

Change-Id: Iadbb087da2d9470b855ea0bea89f2da1ffb9e854
2013-08-06 17:24:37 -04:00
Amith Yamasani
0aa1dc70c5 Remove Restrictions UI
Bug: 10200097
Change-Id: Ifaa8aaa9aa5ad17a948bf18f184a131295112a30
2013-08-06 10:46:51 -07:00
Amith Yamasani
d5b1a291eb Don't show Restrictions item if it has been disabled for the user.
Also don't show actual Restrictions content if the fragment was launched
through a different entry point.

Change-Id: I70cb76ca6f68a382e68219053e6f69e7f1fa0150
2013-07-22 16:51:39 -07:00
Amith Yamasani
a28787a1cb Remove spurious import
Change-Id: I91172626f4ec64c0fc7497f9f7d11244ca49a341
2013-07-19 13:21:35 -07:00
Amith Yamasani
7eedcf4a50 Apply restrictions right away instead of on exit
Use usermanager to clear restrictions, as it needs to do a bunch of
book keeping.

Apply PIN restriction to master clear button.

Changing existing PIN now includes verifying the PIN, so it doesn't
need to be cleared here in Settings.

Removed automatic persisting of restrictions on receiving them unless
it is a restricted profile.

Make apps that are signed with platform certs immutable and ON.

Change-Id: Iffd1bf2eb0d18202fb66ddcf80668baa8e6b84ed
2013-07-18 11:37:32 -07:00
Amith Yamasani
6cb5630c17 Potential fix for Settings instability on x-large.
Bug: 9752185
Change-Id: I1b2af6661a601e1d487a35a53f5d01e58529a34d
2013-07-15 15:35:29 -07:00
Amith Yamasani
9e9c77c130 Fix accidental creation of restriction entry for required apps
When entering Settings->Restrictions, don't automatically query restriction entries
for required apps.

Bug: 9681399
Change-Id: Idcc773bf4793b3e7e2b328a15881b7ecf930c6c3
2013-07-09 11:28:40 -07:00
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