OSDN Git Service

Re-Implementation of Protected App Settings
authorVineet Patil <vpatil@cyngn.com>
Thu, 13 Nov 2014 01:14:27 +0000 (17:14 -0800)
committerGerrit Code Review <gerrit@cyanogenmod.org>
Tue, 24 Nov 2015 20:44:15 +0000 (12:44 -0800)
commit5f350518a2aec87c057152191eddddad21083d1c
treebe00269646217027b249e0ab56a20832d60b793b
parent99d6fd01a334b4057e7b56ce3ece09c3e6124bf9
Re-Implementation of Protected App Settings

Protected App [2/3] Protected Apps Settings -> Apps: - Added Receiver which can send in a call to PackageManager to toggle a components protected status. - Add Protected Apps activity (available from Apps fragment) - Reads from ApplicationInfo state - Requires Pattern Lock to view/modify protected apps - Updates Settings Secure DB with protected components - Support resetting protected apps pattern lock

Change-Id: If07a7b69ac963ffae855621881e1944fc8754782

Protected Apps:

 - App Info for protected Apps doesn't allow Uninstall or Clear data
 - App Info menu item for launching into Protected Apps when looking at protected components
 - Prevent process dialog from getting dismissed on touch or back key (can cause odd behavior if cancelled mid-protect)

Conflicts:
src/com/android/settings/applications/InstalledAppDetails.java

Change-Id: I64104d7ff3fbf9d8c393ebf262d4de0b28abbc5c

Reset Pattern: - If user cancels while creating new pattern, old pattern is restored

Change-Id: I55955b1ffadca2ba712c40c7d443c4fc4b0f528c

Clean up protected apps code (1/2)

- Work with actual ComponentNames instead of converting them between
  String and ComponentName all the time
- Name protection state parameter in methods 'state' instead of
  'protect', as a value of true actually means it's not protected. Also
  consistently use the respective constants for its values.
- Some misc. cleanup

Change-Id: I2855978c8aef3cfa14249e3398039c7cdd145ede

Settings: Create a security fallback on protected apps.

  -- Allow a user to bypass pattern lock on protected apps
  by inputting their primary account information for the
  device.

Conflicts:
res/values/cm_dimens.xml
res/values/cm_strings.xml

Change-Id: I39e5a89a8699cfd2ffaba8aea2daa4f477f2cc9b

settings: reset protected apps view instead of finish the activity

Finish the app after resettings the account, will lead to the protected app selection without a
valid pattern. Instead this should reset the pattern view to create a new pattern prior to go to
protected apps.

Change-Id: Ida41a29f4f8787940f803a23014a68a2f8beb969
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Settings: Don't show protected apps options in restricted profiles.

Change-Id: I38c2e8fd3508d360f0e23703ce6c939f02f3714e
JIRA: 4668
Issue: https://jira.cyanogenmod.org/browse/CYAN-4668

Follow normal lock screen convention - allow user to retry when creating pattern lock

Change-Id: I6ad39b07b8de3de03146322b37b60e3f846093d1

Fix: Even when the list is entirely unchecked there may still be components which are still protected and need to cleared when Reset is triggered.

https://jira.cyanogenmod.org/browse/BACON-679
https://jira.cyanogenmod.org/browse/CYAN-4835

Change-Id: Ifee3e8b87be39769aedfed0f9a5bda366c67ee45

ProtectedApps pattern lock for landscape mode.

Change-Id: I9ef70a0e363d4d17510188d24f4742f458fba38e

Launch Protected Apps

Change-Id: I2dc2e1e05c1979118d5324c3c05adfcc6f7ee22a

Protected Apps: update protected apps screens UI

Change-Id: I2dd922956f8ffd9ed153c3d1aa1f9161a127e4c6

Remove unnecessary drawables for launching Protected Apps

Change-Id: I58f471ef9d64c7ced79befbfc30b94d75a0085a2

ProtectedAppsReceiver: fix NPE when components are null

 * To reproduce: create a folder at Trebuchet, lock it and leave the screen

Change-Id: I49a2e76fdaa3e375b0ea5aa2bb05eaa92528dd19

Protected Apps: Show state by component instead of by app

Change-Id: Idbe1d69b376fc3f42980404d9448152f606e7f8e
(cherry picked from commit 56e11c8640cb9e34d07eb11fb1b67f3283b2f6f6)

Protected Apps: Increase hit target of the launch app button

Change-Id: I38355aca37079d43975d287ee9d81c3a500c3575
(cherry picked from commit 47e8e46f53cdf4f536845d57cc383d3c5f0ca893)

Protected Apps: Monitor unlock status

Monitor the Activities unlock status so that we can rotate
the screen in this activity without having to unlock again.

Change-Id: I8feab5cb4d55c4df0d0d1475ab6646c046f01925

Protected Apps: add some side padding in app list view

Change-Id: I2549fd8f8b662e2e2c542e67cbc20e6a366fba42

Conflicts:
AndroidManifest.xml
res/values/cm_dimens.xml
res/values/cm_strings.xml
res/values/strings.xml
src/com/android/settings/applications/ApplicationsState.java
src/com/android/settings/applications/InstalledAppDetails.java
src/com/android/settings/applications/ManageApplications.java

Conflicts:
res/values/cm_dimens.xml

Conflicts:
res/values/cm_strings.xml

.

Change-Id: I065ac7965a8c7253ad67a20806201fe8fc6cec84
26 files changed:
AndroidManifest.xml [changed mode: 0644->0755]
res/drawable-hdpi/folder_lock.png [new file with mode: 0644]
res/drawable-mdpi/folder_lock.png [new file with mode: 0644]
res/drawable-xhdpi/folder_lock.png [new file with mode: 0644]
res/drawable-xxhdpi/folder_lock.png [new file with mode: 0644]
res/drawable/ic_launch_app.xml [new file with mode: 0644]
res/drawable/ic_settings_lockscreen.xml [new file with mode: 0644]
res/drawable/ic_settings_protected.png [new file with mode: 0644]
res/drawable/launch_app.xml [new file with mode: 0644]
res/layout-land/patternlock.xml [new file with mode: 0644]
res/layout/hidden_apps_list.xml [new file with mode: 0644]
res/layout/hidden_apps_list_item.xml [new file with mode: 0644]
res/layout/patternlock.xml [new file with mode: 0644]
res/layout/protected_account_view.xml [new file with mode: 0644]
res/values/cm_dimens.xml
res/values/cm_strings.xml
res/values/strings.xml [changed mode: 0644->0755]
src/com/android/settings/Utils.java
src/com/android/settings/applications/AppInfoBase.java
src/com/android/settings/applications/InstalledAppDetails.java
src/com/android/settings/applications/LockPatternActivity.java [new file with mode: 0644]
src/com/android/settings/applications/ProtectedAppsActivity.java [new file with mode: 0644]
src/com/android/settings/cyanogenmod/ProtectedAccountView.java [new file with mode: 0644]
src/com/android/settings/cyanogenmod/ProtectedAppsReceiver.java [new file with mode: 0644]
src/com/android/settings/widget/CheckableLinearLayout.java [new file with mode: 0644]
src/com/android/settings/widget/InertCheckBox.java [new file with mode: 0644]