summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/AppsCustomizePagedView.java
diff options
context:
space:
mode:
authorRaj Yengisetty <rajesh@cyngn.com>2014-05-19 18:39:10 -0700
committerRaj Yengisetty <rajesh@cyngn.com>2014-06-11 21:29:43 -0700
commitcf84500bd174148d4f7e6ce5a840c4f8f31cbabd (patch)
tree408aa15d459a7b2e9ee61c1d191e141e77d239d1 /src/com/android/launcher3/AppsCustomizePagedView.java
parent3ac0f662ac96fb2f3eb89ce706bae311e821c9ce (diff)
downloadandroid_packages_apps_Trebuchet-cf84500bd174148d4f7e6ce5a840c4f8f31cbabd.tar.gz
android_packages_apps_Trebuchet-cf84500bd174148d4f7e6ce5a840c4f8f31cbabd.tar.bz2
android_packages_apps_Trebuchet-cf84500bd174148d4f7e6ce5a840c4f8f31cbabd.zip
Protected App [3/3]
Trebuchet - Protected Apps - Build fixed to work with LOCAL_SDK_VERSION - Fixed adding components to protected folders and adding protected folders to other folders - Fixed issues with EditText for FolderName - Adding support for Settings hooks - Uses Setting's LockPattern for Protected Apps - Add Read from Settings Secure DB (DO NOT WRITE!) - Protecting a folder updates Launcher without restart - Batch send component visibility Change-Id: I41c295e7f2c9abc9b2e77e6e3d39b7ca60d47139
Diffstat (limited to 'src/com/android/launcher3/AppsCustomizePagedView.java')
-rw-r--r--src/com/android/launcher3/AppsCustomizePagedView.java41
1 files changed, 26 insertions, 15 deletions
diff --git a/src/com/android/launcher3/AppsCustomizePagedView.java b/src/com/android/launcher3/AppsCustomizePagedView.java
index 136ac6574..0390f106a 100644
--- a/src/com/android/launcher3/AppsCustomizePagedView.java
+++ b/src/com/android/launcher3/AppsCustomizePagedView.java
@@ -40,6 +40,7 @@ import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Process;
+import android.provider.Settings;
import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.util.Log;
@@ -197,8 +198,8 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
private ArrayList<AppInfo> mFilteredApps;
private ArrayList<Object> mFilteredWidgets;
- private ArrayList<ComponentName> mHiddenApps;
- private ArrayList<String> mHiddenPackages;
+ private ArrayList<ComponentName> mProtectedApps;
+ private ArrayList<String> mProtectedPackages;
// Cling
private boolean mHasShownAllAppsCling;
@@ -322,17 +323,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
}
- String[] flattened = SettingsProvider.getStringCustomDefault(context,
- SettingsProvider.SETTINGS_UI_DRAWER_HIDDEN_APPS, "").split("\\|");
- mHiddenApps = new ArrayList<ComponentName>(flattened.length);
- mHiddenPackages = new ArrayList<String>(flattened.length);
- for (String flat : flattened) {
- ComponentName cmp = ComponentName.unflattenFromString(flat);
- if (cmp != null) {
- mHiddenApps.add(cmp);
- mHiddenPackages.add(cmp.getPackageName());
- }
- }
+ updateProtectedAppsList(context);
}
@Override
@@ -2063,13 +2054,31 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
}
}
+ private void updateProtectedAppsList(Context context) {
+ String protectedComponents = Settings.Secure.getString(context.getContentResolver(),
+ LauncherModel.SETTINGS_PROTECTED_COMPONENTS);
+ protectedComponents = protectedComponents == null ? "" : protectedComponents;
+ String [] flattened = protectedComponents.split("\\|");
+ mProtectedApps = new ArrayList<ComponentName>(flattened.length);
+ mProtectedPackages = new ArrayList<String>(flattened.length);
+ for (String flat : flattened) {
+ ComponentName cmp = ComponentName.unflattenFromString(flat);
+ if (cmp != null) {
+ mProtectedApps.add(cmp);
+ mProtectedPackages.add(cmp.getPackageName());
+ }
+ }
+ }
+
public void filterAppsWithoutInvalidate() {
+ updateProtectedAppsList(mLauncher);
+
mFilteredApps = new ArrayList<AppInfo>(mApps);
Iterator<AppInfo> iterator = mFilteredApps.iterator();
while (iterator.hasNext()) {
AppInfo appInfo = iterator.next();
boolean system = (appInfo.flags & AppInfo.DOWNLOADED_FLAG) == 0;
- if (mHiddenApps.contains(appInfo.componentName) ||
+ if (mProtectedApps.contains(appInfo.componentName) ||
(system && !getShowSystemApps()) ||
(!system && !getShowDownloadedApps())) {
iterator.remove();
@@ -2084,6 +2093,8 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
}
public void filterWidgetsWithoutInvalidate() {
+ updateProtectedAppsList(mLauncher);
+
mFilteredWidgets = new ArrayList<Object>(mWidgets);
Iterator<Object> iterator = mFilteredWidgets.iterator();
@@ -2112,7 +2123,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
flags = 0;
}
boolean system = (flags & AppInfo.DOWNLOADED_FLAG) == 0;
- if (mHiddenPackages.contains(packageName) ||
+ if (mProtectedPackages.contains(packageName) ||
(system && !getShowSystemApps()) ||
(!system && !getShowDownloadedApps())) {
iterator.remove();