Use realActivity as indicator for task locking

When lock task mode is started, we verify that the package is
whitelisted and currently use mCallingPackage as indicator. However,
the calling package is not necessarily identical to the package trying
to lock itself, so lock task mode sometimes fails. Switching over to
using realActivity as package marker.

Bug: 22916291
Change-Id: Ifd4df2d634842c8106b0b0f690bcf1faba0ed5fa
This commit is contained in:
Benjamin Franz
2015-08-06 18:09:03 +01:00
parent 29b8c4ab8a
commit 6fd84cc878

View File

@@ -786,7 +786,8 @@ final class TaskRecord {
}
boolean isLockTaskWhitelistedLocked() {
if (mCallingPackage == null) {
String pkg = (realActivity != null) ? realActivity.getPackageName() : null;
if (pkg == null) {
return false;
}
String[] packages = mService.mLockTaskPackages.get(userId);
@@ -794,7 +795,7 @@ final class TaskRecord {
return false;
}
for (int i = packages.length - 1; i >= 0; --i) {
if (mCallingPackage.equals(packages[i])) {
if (pkg.equals(packages[i])) {
return true;
}
}