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

Commit 222acc78 authored by mattgilbride's avatar mattgilbride
Browse files

@EnforcePermission migrations - service-jobscheduler

Migrates call sites to use the @EnforcePermission annotation
instead of manually checking permissions.

These are fully behavior-preserving changes that can be identified by
Android Lint (see SimpleManualPermissionEnforcementDetector)

Bug: 265014041
Test: TH
Change-Id: I616a518b5592e1ccde564d8a0956174d56605ddf
parent 6f838a40
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -33,8 +33,10 @@ interface IAlarmManager {
    void set(String callingPackage, int type, long triggerAtTime, long windowLength,
            long interval, int flags, in PendingIntent operation, in IAlarmListener listener,
            String listenerTag, in WorkSource workSource, in AlarmManager.AlarmClockInfo alarmClock);
    @EnforcePermission("SET_TIME")
    @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
    boolean setTime(long millis);
    @EnforcePermission("SET_TIME_ZONE")
    void setTimeZone(String zone);
    void remove(in PendingIntent operation, in IAlarmListener listener);
    void removeAll(String packageName);
@@ -43,5 +45,6 @@ interface IAlarmManager {
    AlarmManager.AlarmClockInfo getNextAlarmClock(int userId);
    boolean canScheduleExactAlarms(String packageName);
    boolean hasScheduleExactAlarm(String packageName, int userId);
    @EnforcePermission("DUMP")
    int getConfigVersion();
}
+1 −0
Original line number Diff line number Diff line
@@ -47,5 +47,6 @@ interface IDeviceIdleController {
    long addPowerSaveTempWhitelistAppForMms(String name, int userId, int reasonCode, String reason);
    long addPowerSaveTempWhitelistAppForSms(String name, int userId, int reasonCode, String reason);
    long whitelistAppTemporarily(String name, int userId, int reasonCode, String reason);
    @EnforcePermission("DEVICE_POWER")
    void exitIdle(String reason);
}
+3 −2
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import static android.os.PowerExemptionManager.TEMPORARY_ALLOW_LIST_TYPE_NONE;
import static android.os.Process.INVALID_UID;

import android.Manifest;
import android.annotation.EnforcePermission;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SuppressLint;
@@ -2097,9 +2098,9 @@ public class DeviceIdleController extends SystemService
            return durationMs;
        }

        @EnforcePermission(android.Manifest.permission.DEVICE_POWER)
        @Override public void exitIdle(String reason) {
            getContext().enforceCallingOrSelfPermission(Manifest.permission.DEVICE_POWER,
                    null);
            exitIdle_enforcePermission();
            final long ident = Binder.clearCallingIdentity();
            try {
                exitIdleInternal(reason);
+7 −8
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ import static com.android.server.alarm.AlarmManagerService.RemovedAlarm.REMOVE_R
import android.Manifest;
import android.annotation.CurrentTimeMillisLong;
import android.annotation.ElapsedRealtimeLong;
import android.annotation.EnforcePermission;
import android.annotation.NonNull;
import android.annotation.UserIdInt;
import android.app.Activity;
@@ -3000,11 +3001,10 @@ public class AlarmManagerService extends SystemService {
            return (uid > 0) ? hasScheduleExactAlarmInternal(packageName, uid) : false;
        }

        @EnforcePermission(android.Manifest.permission.SET_TIME)
        @Override
        public boolean setTime(@CurrentTimeMillisLong long millis) {
            getContext().enforceCallingOrSelfPermission(
                    "android.permission.SET_TIME",
                    "setTime");
            setTime_enforcePermission();

            // The public API (and the shell command that also uses this method) have no concept
            // of confidence, but since the time should come either from apps working on behalf of
@@ -3013,11 +3013,10 @@ public class AlarmManagerService extends SystemService {
            return setTimeImpl(millis, timeConfidence, "AlarmManager.setTime() called");
        }

        @EnforcePermission(android.Manifest.permission.SET_TIME_ZONE)
        @Override
        public void setTimeZone(String tz) {
            getContext().enforceCallingOrSelfPermission(
                    "android.permission.SET_TIME_ZONE",
                    "setTimeZone");
            setTimeZone_enforcePermission();

            final long oldId = Binder.clearCallingIdentity();
            try {
@@ -3075,10 +3074,10 @@ public class AlarmManagerService extends SystemService {
            return getNextAlarmClockImpl(userId);
        }

        @EnforcePermission(android.Manifest.permission.DUMP)
        @Override
        public int getConfigVersion() {
            getContext().enforceCallingOrSelfPermission(Manifest.permission.DUMP,
                    "getConfigVersion");
            getConfigVersion_enforcePermission();
            return mConstants.getVersion();
        }