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

Commit bb8ea9a6 authored by William Loh's avatar William Loh Committed by Android (Google) Code Review
Browse files

Merge "Fix NullPointerException in deletePackageLIF" into main

parents 79492650 210c21c3
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -357,6 +357,12 @@ final class DeletePackageHelper {
        final DeletePackageAction action;
        synchronized (mPm.mLock) {
            final PackageSetting ps = mPm.mSettings.getPackageLPr(packageName);
            if (ps == null) {
                if (DEBUG_REMOVE) {
                    Slog.d(TAG, "Attempted to remove non-existent package " + packageName);
                }
                return false;
            }
            final PackageSetting disabledPs = mPm.mSettings.getDisabledSystemPkgLPr(ps);
            if (PackageManagerServiceUtils.isSystemApp(ps)
                    && mPm.checkPermission(CONTROL_KEYGUARD, packageName, UserHandle.USER_SYSTEM)
+11 −0
Original line number Diff line number Diff line
@@ -22,12 +22,14 @@ import android.content.pm.PackageManager.PERMISSION_DENIED
import android.content.pm.PackageManager.PERMISSION_GRANTED
import android.content.pm.UserInfo
import android.os.Build
import android.os.UserHandle
import android.os.UserHandle.USER_SYSTEM
import android.util.Log
import com.android.server.testutils.any
import com.android.server.testutils.spy
import com.android.server.testutils.whenever
import com.google.common.truth.Truth.assertThat
import org.junit.Assert.assertFalse
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -177,4 +179,13 @@ class DeletePackageHelperTest {

        assertThat(result).isEqualTo(PackageManager.DELETE_FAILED_INTERNAL_ERROR)
    }

    @Test
    fun deletePackageLIFWithNonExistantPackage_isFalse() {
        val dph = DeletePackageHelper(mPms, mock(RemovePackageHelper::class.java),
                                      mock(BroadcastHelper::class.java))
        val result = dph.deletePackageLIF("a.nonexistent.package", UserHandle.of(USER_SYSTEM), true,
                                          intArrayOf(0), 0, PackageRemovedInfo(), true)
        assertFalse(result)
    }
}