Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6fd84cc8 authored by Benjamin Franz's avatar Benjamin Franz
Browse files

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
parent 29b8c4ab
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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;
            }
        }