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

Commit 580c46a5 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6570104 from 13fb7d50 to rvc-release

Change-Id: I096805a01fcae6e0175495b8cbe4856fbfdb6ff8
parents 7ec23cfd 13fb7d50
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -24,26 +24,27 @@ import com.android.permissioncontroller.PermissionControllerApplication
 * A LiveData which represents the carrier privileged status for a package
 *
 * @param app The current application
 * @param uid The uid of the package
 * @param packageName The name of the package
 */
class CarrierPrivilegedStatusLiveData private constructor(
    private val app: Application,
    private val uid: Int
    private val packageName: String
) : SmartUpdateMediatorLiveData<Int>() {

    val telephonyManager = app.getSystemService(TelephonyManager::class.java)!!

    override fun onUpdate() {
        value = telephonyManager.getCarrierPrivilegeStatus(uid)
        value = telephonyManager.checkCarrierPrivilegesForPackageAnyPhone(packageName)
    }

    /**
     * Repository for [CarrierPrivilegedStatusLiveData].
     * <p> Key value is a package uid, value is its corresponding LiveData.
     * <p> Key value is a package name, value is its corresponding LiveData of
     * [android.telephony.Annotation.CarrierPrivilegeStatus]
     */
    companion object
        : DataRepository<Int, CarrierPrivilegedStatusLiveData>() {
        override fun newValue(key: Int): CarrierPrivilegedStatusLiveData {
        : DataRepository<String, CarrierPrivilegedStatusLiveData>() {
        override fun newValue(key: String): CarrierPrivilegedStatusLiveData {
            return CarrierPrivilegedStatusLiveData(PermissionControllerApplication.get(), key)
        }
    }
+1 −2
Original line number Diff line number Diff line
@@ -114,7 +114,6 @@ import com.android.permissioncontroller.permission.utils.Utils.PROPERTY_AUTO_REV
import com.android.permissioncontroller.permission.utils.Utils.PROPERTY_AUTO_REVOKE_UNUSED_THRESHOLD_MILLIS
import com.android.permissioncontroller.permission.utils.application
import com.android.permissioncontroller.permission.utils.forEachInParallel
import com.android.permissioncontroller.permission.utils.getUid
import com.android.permissioncontroller.permission.utils.updatePermissionFlags
import kotlinx.coroutines.Dispatchers.Main
import kotlinx.coroutines.GlobalScope
@@ -461,7 +460,7 @@ suspend fun isPackageAutoRevokePermanentlyExempt(
        }
        return true
    }
    val carrierPrivilegedStatus = CarrierPrivilegedStatusLiveData[user.getUid(pkg.uid)]
    val carrierPrivilegedStatus = CarrierPrivilegedStatusLiveData[pkg.packageName]
            .getInitializedValue()
    if (carrierPrivilegedStatus != CARRIER_PRIVILEGE_STATUS_HAS_ACCESS &&
            carrierPrivilegedStatus != CARRIER_PRIVILEGE_STATUS_NO_ACCESS) {
+10 −4
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@ import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.IntentFilter;
import android.location.LocationManager;
import android.os.Handler;
import android.os.Looper;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.Log;
@@ -43,6 +45,8 @@ public class LocationUtils {
    public static final String LOCATION_PERMISSION = Manifest.permission_group.LOCATION;

    private static final String TAG = LocationUtils.class.getSimpleName();
    private static final long LOCATION_UPDATE_DELAY_MS = 1000;
    private static final Handler sMainHandler = new Handler(Looper.getMainLooper());

    public static void showLocationDialog(final Context context, CharSequence label) {
        new AlertDialog.Builder(context)
@@ -121,11 +125,13 @@ public class LocationUtils {
        @Override
        public void onReceive(Context context, Intent intent) {
            boolean isEnabled = intent.getBooleanExtra(EXTRA_LOCATION_ENABLED, true);
            sMainHandler.postDelayed(() -> {
                synchronized (sLocationListeners) {
                    for (LocationListener l : sLocationListeners) {
                        l.onLocationStateChange(isEnabled);
                    }
                }
            }, LOCATION_UPDATE_DELAY_MS);
        }
    };