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

Commit a9636128 authored by Jack Nudelman's avatar Jack Nudelman
Browse files

Require calling package to be allowlisted for thermal mitigation.

Test: make, manual verification
Bug: 180015298
Change-Id: I1884facf5d37e4caa82697dab7e2a30d735f214e
parent d880cf50
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -14570,7 +14570,12 @@ public class TelephonyManager {
     * DataThrottlingRequest#DATA_THROTTLING_ACTION_NO_DATA_THROTTLING} can still be requested in
     * order to undo the mitigations above it (i.e {@link
     * ThermalMitigationRequest#THERMAL_MITIGATION_ACTION_VOICE_ONLY} and/or {@link
     * ThermalMitigationRequest#THERMAL_MITIGATION_ACTION_RADIO_OFF}).
     * ThermalMitigationRequest#THERMAL_MITIGATION_ACTION_RADIO_OFF}). </p>
     *
     * <p> In addition to the {@link Manifest.permission#MODIFY_PHONE_STATE} permission, callers of
     * this API must also be listed in the device configuration as an authorized app in
     * {@code packages/services/Telephony/res/values/config.xml} under the
     * {@code thermal_mitigation_allowlisted_packages} key. </p>
     *
     * @param thermalMitigationRequest Thermal mitigation request. See {@link
     * ThermalMitigationRequest} for details.
@@ -14589,7 +14594,8 @@ public class TelephonyManager {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                return telephony.sendThermalMitigationRequest(getSubId(), thermalMitigationRequest);
                return telephony.sendThermalMitigationRequest(getSubId(), thermalMitigationRequest,
                        getOpPackageName());
            }
            throw new IllegalStateException("telephony service is null.");
        } catch (RemoteException ex) {
+3 −1
Original line number Diff line number Diff line
@@ -2231,10 +2231,12 @@ interface ITelephony {
     *
     * @param subId the id of the subscription
     * @param thermalMitigationRequest holds the parameters necessary for the request.
     * @param callingPackage the package name of the calling package.
     * @throws InvalidThermalMitigationRequestException if the parametes are invalid.
     */
    int sendThermalMitigationRequest(int subId,
            in ThermalMitigationRequest thermalMitigationRequest);
            in ThermalMitigationRequest thermalMitigationRequest,
            String callingPackage);

    /**
     * Get the Generic Bootstrapping Architecture authentication keys