aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRam Periathiruvadi <ramperry@google.com>2018-07-12 03:22:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-07-12 03:22:36 +0000
commit94b37d8d1055518f987b2d7097cbbe12de212808 (patch)
tree2ce4e5c8237e68bec62363c2203ccaebd77d68de
parent44d57dcc48310e4a3e697e16fc89238ee78370ce (diff)
parent402d12eca4c8a9b085c196aea7dc31d5cc0abb4e (diff)
downloadCar-94b37d8d1055518f987b2d7097cbbe12de212808.tar.gz
Merge "Fix CarPackageManager reading blacklisted packages." into pi-dev
-rw-r--r--service/src/com/android/car/pm/CarPackageManagerService.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/service/src/com/android/car/pm/CarPackageManagerService.java b/service/src/com/android/car/pm/CarPackageManagerService.java
index 3f3f0516f4..198066610e 100644
--- a/service/src/com/android/car/pm/CarPackageManagerService.java
+++ b/service/src/com/android/car/pm/CarPackageManagerService.java
@@ -46,6 +46,7 @@ import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.os.Process;
+import android.text.TextUtils;
import android.text.format.DateFormat;
import android.util.ArraySet;
import android.util.Log;
@@ -541,8 +542,10 @@ public class CarPackageManagerService extends ICarPackageManager.Stub implements
// Add the blocking overlay activity to the whitelist, since that needs to run in a
// restricted state to communicate the reason an app was blocked.
Set<String> defaultActivity = new ArraySet<>();
- defaultActivity.add(mActivityBlockingActivity.getClassName());
- configWhitelist.put(mActivityBlockingActivity.getPackageName(), defaultActivity);
+ if (mActivityBlockingActivity != null) {
+ defaultActivity.add(mActivityBlockingActivity.getClassName());
+ configWhitelist.put(mActivityBlockingActivity.getPackageName(), defaultActivity);
+ }
List<PackageInfo> packages = mPackageManager.getInstalledPackages(
PackageManager.GET_SIGNATURES | PackageManager.GET_ACTIVITIES
@@ -678,6 +681,11 @@ public class CarPackageManagerService extends ICarPackageManager.Stub implements
}
for (String pkg : configBlacklist.keySet()) {
+ if (TextUtils.isEmpty(pkg)) {
+ // This means there is nothing to blacklist
+ Log.d(CarLog.TAG_PACKAGE, "Empty string in blacklist pkg");
+ continue;
+ }
int flags = 0;
PackageInfo pkgInfo;
String[] activities;
@@ -688,7 +696,7 @@ public class CarPackageManagerService extends ICarPackageManager.Stub implements
| PackageManager.MATCH_DIRECT_BOOT_AWARE
| PackageManager.MATCH_DIRECT_BOOT_UNAWARE);
} catch (NameNotFoundException e) {
- Log.e(CarLog.TAG_PACKAGE, pkg + " not found to blacklist " + e);
+ Log.e(CarLog.TAG_PACKAGE, pkg + " not found to blacklist ", e);
continue;
}