Support api to control data by thermal service am: 70c1d66847
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1481056 Change-Id: Ia36a897ffc6a33b966805e039e78569badb8c688
This commit is contained in:
@@ -48342,7 +48342,7 @@ package android.telephony {
|
|||||||
method @Deprecated public String sendEnvelopeWithStatus(String);
|
method @Deprecated public String sendEnvelopeWithStatus(String);
|
||||||
method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
|
method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
|
||||||
method public void sendVisualVoicemailSms(String, int, String, android.app.PendingIntent);
|
method public void sendVisualVoicemailSms(String, int, String, android.app.PendingIntent);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean);
|
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setForbiddenPlmns(@NonNull java.util.List<java.lang.String>);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setForbiddenPlmns(@NonNull java.util.List<java.lang.String>);
|
||||||
method public boolean setLine1NumberForDisplay(String, String);
|
method public boolean setLine1NumberForDisplay(String, String);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNetworkSelectionModeAutomatic();
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNetworkSelectionModeAutomatic();
|
||||||
|
|||||||
@@ -11250,6 +11250,7 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionAllowed();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionAllowed();
|
||||||
method public boolean isDataConnectivityPossible();
|
method public boolean isDataConnectivityPossible();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
|
||||||
|
method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabledWithReason(int);
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
|
||||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
||||||
@@ -11280,10 +11281,11 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallForwarding(@NonNull android.telephony.CallForwardingInfo, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallForwarding(@NonNull android.telephony.CallForwardingInfo, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallWaitingEnabled(boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallWaitingEnabled(boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
|
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
||||||
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
|
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
|
||||||
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabledWithReason(int, boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabledStatus(int, boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabledStatus(int, boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
|
||||||
@@ -11326,6 +11328,10 @@ package android.telephony {
|
|||||||
field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
|
field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
|
||||||
field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
|
field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
|
||||||
field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
|
field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
|
||||||
|
field public static final int DATA_ENABLED_REASON_CARRIER = 2; // 0x2
|
||||||
|
field public static final int DATA_ENABLED_REASON_POLICY = 1; // 0x1
|
||||||
|
field public static final int DATA_ENABLED_REASON_THERMAL = 3; // 0x3
|
||||||
|
field public static final int DATA_ENABLED_REASON_USER = 0; // 0x0
|
||||||
field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
|
field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
|
||||||
field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
|
field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
|
||||||
field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
|
field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
|
||||||
|
|||||||
@@ -46510,7 +46510,7 @@ package android.telephony {
|
|||||||
method @Deprecated public String sendEnvelopeWithStatus(String);
|
method @Deprecated public String sendEnvelopeWithStatus(String);
|
||||||
method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
|
method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
|
||||||
method public void sendVisualVoicemailSms(String, int, String, android.app.PendingIntent);
|
method public void sendVisualVoicemailSms(String, int, String, android.app.PendingIntent);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean);
|
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setForbiddenPlmns(@NonNull java.util.List<java.lang.String>);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setForbiddenPlmns(@NonNull java.util.List<java.lang.String>);
|
||||||
method public boolean setLine1NumberForDisplay(String, String);
|
method public boolean setLine1NumberForDisplay(String, String);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNetworkSelectionModeAutomatic();
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNetworkSelectionModeAutomatic();
|
||||||
|
|||||||
@@ -10132,6 +10132,7 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionAllowed();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionAllowed();
|
||||||
method public boolean isDataConnectivityPossible();
|
method public boolean isDataConnectivityPossible();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
|
||||||
|
method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabledWithReason(int);
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
|
||||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
|
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
|
||||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
|
||||||
@@ -10162,10 +10163,11 @@ package android.telephony {
|
|||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallForwarding(@NonNull android.telephony.CallForwardingInfo, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallForwarding(@NonNull android.telephony.CallForwardingInfo, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallWaitingEnabled(boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallWaitingEnabled(boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
|
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
|
||||||
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
|
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
|
||||||
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabledWithReason(int, boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabledStatus(int, boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabledStatus(int, boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
|
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
|
||||||
@@ -10208,6 +10210,10 @@ package android.telephony {
|
|||||||
field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
|
field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
|
||||||
field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
|
field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
|
||||||
field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
|
field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
|
||||||
|
field public static final int DATA_ENABLED_REASON_CARRIER = 2; // 0x2
|
||||||
|
field public static final int DATA_ENABLED_REASON_POLICY = 1; // 0x1
|
||||||
|
field public static final int DATA_ENABLED_REASON_THERMAL = 3; // 0x3
|
||||||
|
field public static final int DATA_ENABLED_REASON_USER = 0; // 0x0
|
||||||
field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
|
field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
|
||||||
field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
|
field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
|
||||||
field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
|
field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
|
||||||
|
|||||||
@@ -9160,8 +9160,10 @@ public class TelephonyManager {
|
|||||||
* app has carrier privileges (see {@link #hasCarrierPrivileges}).
|
* app has carrier privileges (see {@link #hasCarrierPrivileges}).
|
||||||
*
|
*
|
||||||
* @param enable Whether to enable mobile data.
|
* @param enable Whether to enable mobile data.
|
||||||
|
* @deprecated use setDataEnabledWithReason with reason DATA_ENABLED_REASON_USER instead.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
|
@SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
|
||||||
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
|
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
|
||||||
public void setDataEnabled(boolean enable) {
|
public void setDataEnabled(boolean enable) {
|
||||||
@@ -9170,20 +9172,13 @@ public class TelephonyManager {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @hide
|
* @hide
|
||||||
* @deprecated use {@link #setDataEnabled(boolean)} instead.
|
* @deprecated use {@link #setDataEnabledWithReason(int, boolean)} instead.
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
|
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
|
||||||
public void setDataEnabled(int subId, boolean enable) {
|
public void setDataEnabled(int subId, boolean enable) {
|
||||||
try {
|
setDataEnabledWithReason(subId, DATA_ENABLED_REASON_USER, enable);
|
||||||
Log.d(TAG, "setDataEnabled: enabled=" + enable);
|
|
||||||
ITelephony telephony = getITelephony();
|
|
||||||
if (telephony != null)
|
|
||||||
telephony.setUserDataEnabled(subId, enable);
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
Log.e(TAG, "Error calling ITelephony#setUserDataEnabled", e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -9390,15 +9385,7 @@ public class TelephonyManager {
|
|||||||
@Deprecated
|
@Deprecated
|
||||||
@SystemApi
|
@SystemApi
|
||||||
public boolean getDataEnabled(int subId) {
|
public boolean getDataEnabled(int subId) {
|
||||||
boolean retVal = false;
|
return isDataEnabledWithReason(DATA_ENABLED_REASON_USER);
|
||||||
try {
|
|
||||||
ITelephony telephony = getITelephony();
|
|
||||||
if (telephony != null)
|
|
||||||
retVal = telephony.isUserDataEnabled(subId);
|
|
||||||
} catch (RemoteException | NullPointerException e) {
|
|
||||||
Log.e(TAG, "Error calling ITelephony#isUserDataEnabled", e);
|
|
||||||
}
|
|
||||||
return retVal;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -10956,20 +10943,15 @@ public class TelephonyManager {
|
|||||||
*
|
*
|
||||||
* @param enabled control enable or disable carrier data.
|
* @param enabled control enable or disable carrier data.
|
||||||
* @see #resetAllCarrierActions()
|
* @see #resetAllCarrierActions()
|
||||||
|
* @deprecated use {@link #setDataEnabledWithReason(int, boolean) with
|
||||||
|
* reason {@link #DATA_ENABLED_REASON_CARRIER}} instead.
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
|
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
|
||||||
public void setCarrierDataEnabled(boolean enabled) {
|
public void setCarrierDataEnabled(boolean enabled) {
|
||||||
try {
|
setDataEnabledWithReason(DATA_ENABLED_REASON_CARRIER, enabled);
|
||||||
ITelephony service = getITelephony();
|
|
||||||
if (service != null) {
|
|
||||||
service.carrierActionSetMeteredApnsEnabled(
|
|
||||||
getSubId(SubscriptionManager.getDefaultDataSubscriptionId()), enabled);
|
|
||||||
}
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
Log.e(TAG, "Error calling ITelephony#setCarrierDataEnabled", e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -11054,20 +11036,149 @@ public class TelephonyManager {
|
|||||||
/**
|
/**
|
||||||
* Policy control of data connection. Usually used when data limit is passed.
|
* Policy control of data connection. Usually used when data limit is passed.
|
||||||
* @param enabled True if enabling the data, otherwise disabling.
|
* @param enabled True if enabling the data, otherwise disabling.
|
||||||
|
* @deprecated use {@link #setDataEnabledWithReason(int, boolean) with
|
||||||
|
* reason {@link #DATA_ENABLED_REASON_POLICY}} instead.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
|
||||||
|
public void setPolicyDataEnabled(boolean enabled) {
|
||||||
|
setDataEnabledWithReason(DATA_ENABLED_REASON_POLICY, enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @hide */
|
||||||
|
@IntDef({
|
||||||
|
DATA_ENABLED_REASON_USER,
|
||||||
|
DATA_ENABLED_REASON_POLICY,
|
||||||
|
DATA_ENABLED_REASON_CARRIER,
|
||||||
|
DATA_ENABLED_REASON_THERMAL
|
||||||
|
})
|
||||||
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
|
public @interface DataEnabledReason{}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To indicate that user enabled or disabled data.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
public static final int DATA_ENABLED_REASON_USER = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To indicate that data control due to policy. Usually used when data limit is passed.
|
||||||
|
* Policy data on/off won't affect user settings but will bypass the
|
||||||
|
* settings and turns off data internally if set to {@code false}.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
public static final int DATA_ENABLED_REASON_POLICY = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To indicate enable or disable carrier data by the system based on carrier signalling or
|
||||||
|
* carrier privileged apps. Carrier data on/off won't affect user settings but will bypass the
|
||||||
|
* settings and turns off data internally if set to {@code false}.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
public static final int DATA_ENABLED_REASON_CARRIER = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To indicate enable or disable data by thermal service.
|
||||||
|
* Thermal data on/off won't affect user settings but will bypass the
|
||||||
|
* settings and turns off data internally if set to {@code false}.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
public static final int DATA_ENABLED_REASON_THERMAL = 3;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Control of data connection and provide the reason triggering the data connection control.
|
||||||
|
* This can be called for following reasons
|
||||||
|
* <ol>
|
||||||
|
* <li>data limit is passed {@link #DATA_ENABLED_REASON_POLICY}
|
||||||
|
* <li>data disabled by carrier {@link #DATA_ENABLED_REASON_CARRIER}
|
||||||
|
* <li>data disabled by user {@link #DATA_ENABLED_REASON_USER}
|
||||||
|
* <li>data disabled due to thermal {@link #DATA_ENABLED_REASON_THERMAL}
|
||||||
|
* </ol>
|
||||||
|
* If any of the reason is off, then it will result in
|
||||||
|
* bypassing user preference and result in data to be turned off.
|
||||||
|
*
|
||||||
|
* <p>If this object has been created with {@link #createForSubscriptionId}, applies
|
||||||
|
* to the given subId. Otherwise, applies to
|
||||||
|
* {@link SubscriptionManager#getDefaultDataSubscriptionId()}
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param reason the reason the data enable change is taking place
|
||||||
|
* @param enabled True if enabling the data, otherwise disabling.
|
||||||
|
*
|
||||||
|
* <p>Requires Permission:
|
||||||
|
* The calling app has carrier privileges (see {@link #hasCarrierPrivileges}) if the reason is
|
||||||
|
* {@link #DATA_ENABLED_REASON_USER} or {@link #DATA_ENABLED_REASON_CARRIER} or the call app
|
||||||
|
* has {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} irrespective of
|
||||||
|
* the reason.
|
||||||
|
* @throws IllegalStateException if the Telephony process is not currently available.
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
|
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
|
||||||
public void setPolicyDataEnabled(boolean enabled) {
|
@SystemApi
|
||||||
|
public void setDataEnabledWithReason(@DataEnabledReason int reason, boolean enabled) {
|
||||||
|
setDataEnabledWithReason(getSubId(), reason, enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setDataEnabledWithReason(int subId, @DataEnabledReason int reason,
|
||||||
|
boolean enabled) {
|
||||||
try {
|
try {
|
||||||
ITelephony service = getITelephony();
|
ITelephony service = getITelephony();
|
||||||
if (service != null) {
|
if (service != null) {
|
||||||
service.setPolicyDataEnabled(enabled, getSubId());
|
service.setDataEnabledWithReason(subId, reason, enabled);
|
||||||
|
} else {
|
||||||
|
throw new IllegalStateException("telephony service is null.");
|
||||||
}
|
}
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException ex) {
|
||||||
Log.e(TAG, "Error calling ITelephony#setPolicyDataEnabled", e);
|
Log.e(TAG, "Telephony#setDataEnabledWithReason RemoteException", ex);
|
||||||
|
ex.rethrowFromSystemServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return whether data is enabled for certain reason .
|
||||||
|
*
|
||||||
|
* If {@link #isDataEnabledWithReason} returns false, it means in data enablement for a
|
||||||
|
* specific reason is turned off. If any of the reason is off, then it will result in
|
||||||
|
* bypassing user preference and result in data to be turned off.
|
||||||
|
*
|
||||||
|
* <p>If this object has been created with {@link #createForSubscriptionId}, applies
|
||||||
|
* to the given subId. Otherwise, applies to
|
||||||
|
* {@link SubscriptionManager#getDefaultDataSubscriptionId()}
|
||||||
|
*
|
||||||
|
* @param reason the reason the data enable change is taking place
|
||||||
|
* @return whether data is enabled for a reason.
|
||||||
|
* <p>Requires Permission:
|
||||||
|
* {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
|
||||||
|
* @throws IllegalStateException if the Telephony process is not currently available.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@RequiresPermission(anyOf = {android.Manifest.permission.ACCESS_NETWORK_STATE,
|
||||||
|
android.Manifest.permission.READ_PHONE_STATE})
|
||||||
|
@SystemApi
|
||||||
|
public boolean isDataEnabledWithReason(@DataEnabledReason int reason) {
|
||||||
|
return isDataEnabledWithReason(getSubId(), reason);
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isDataEnabledWithReason(int subId, @DataEnabledReason int reason) {
|
||||||
|
try {
|
||||||
|
ITelephony service = getITelephony();
|
||||||
|
if (service != null) {
|
||||||
|
return service.isDataEnabledWithReason(subId, reason);
|
||||||
|
} else {
|
||||||
|
throw new IllegalStateException("telephony service is null.");
|
||||||
|
}
|
||||||
|
} catch (RemoteException ex) {
|
||||||
|
Log.e(TAG, "Telephony#isDataEnabledWithReason RemoteException", ex);
|
||||||
|
ex.rethrowFromSystemServer();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Client request stats which will contain statistical information
|
* Get Client request stats which will contain statistical information
|
||||||
* on each request made by client.
|
* on each request made by client.
|
||||||
|
|||||||
@@ -974,13 +974,6 @@ interface ITelephony {
|
|||||||
*/
|
*/
|
||||||
boolean setPreferredNetworkType(int subId, int networkType);
|
boolean setPreferredNetworkType(int subId, int networkType);
|
||||||
|
|
||||||
/**
|
|
||||||
* User enable/disable Mobile Data.
|
|
||||||
*
|
|
||||||
* @param enable true to turn on, else false
|
|
||||||
*/
|
|
||||||
void setUserDataEnabled(int subId, boolean enable);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the user enabled state of Mobile Data.
|
* Get the user enabled state of Mobile Data.
|
||||||
*
|
*
|
||||||
@@ -1002,12 +995,29 @@ interface ITelephony {
|
|||||||
boolean isUserDataEnabled(int subId);
|
boolean isUserDataEnabled(int subId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the overall enabled state of Mobile Data.
|
* Check if data is enabled on the device. It can be disabled by
|
||||||
*
|
* user, carrier, policy or thermal.
|
||||||
* @return true on enabled
|
* @return true on enabled
|
||||||
*/
|
*/
|
||||||
boolean isDataEnabled(int subId);
|
boolean isDataEnabled(int subId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Control of data connection and provide the reason triggering the data connection control.
|
||||||
|
*
|
||||||
|
* @param subId user preferred subId.
|
||||||
|
* @param reason the reason the data enable change is taking place
|
||||||
|
* @param enable true to turn on, else false
|
||||||
|
*/
|
||||||
|
void setDataEnabledWithReason(int subId, int reason, boolean enable);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return whether data is enabled for certain reason
|
||||||
|
* @param subId user preferred subId. .
|
||||||
|
* @param reason the reason the data enable change is taking place
|
||||||
|
* @return true on enabled
|
||||||
|
*/
|
||||||
|
boolean isDataEnabledWithReason(int subId, int reason);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if manual network selection is allowed.
|
* Checks if manual network selection is allowed.
|
||||||
*
|
*
|
||||||
@@ -1604,15 +1614,6 @@ interface ITelephony {
|
|||||||
*/
|
*/
|
||||||
int getCarrierIdFromMccMnc(int slotIndex, String mccmnc, boolean isSubscriptionMccMnc);
|
int getCarrierIdFromMccMnc(int slotIndex, String mccmnc, boolean isSubscriptionMccMnc);
|
||||||
|
|
||||||
/**
|
|
||||||
* Action set from carrier signalling broadcast receivers to enable/disable metered apns
|
|
||||||
* Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
|
|
||||||
* @param subId the subscription ID that this action applies to.
|
|
||||||
* @param enabled control enable or disable metered apns.
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
void carrierActionSetMeteredApnsEnabled(int subId, boolean visible);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Action set from carrier signalling broadcast receivers to enable/disable radio
|
* Action set from carrier signalling broadcast receivers to enable/disable radio
|
||||||
* Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
|
* Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
|
||||||
@@ -1650,14 +1651,6 @@ interface ITelephony {
|
|||||||
|
|
||||||
void setCallWaitingStatus(int subId, boolean enabled, IIntegerConsumer callback);
|
void setCallWaitingStatus(int subId, boolean enabled, IIntegerConsumer callback);
|
||||||
|
|
||||||
/**
|
|
||||||
* Policy control of data connection. Usually used when data limit is passed.
|
|
||||||
* @param enabled True if enabling the data, otherwise disabling.
|
|
||||||
* @param subId Subscription index
|
|
||||||
* @hide
|
|
||||||
*/
|
|
||||||
void setPolicyDataEnabled(boolean enabled, int subId);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Client request stats which will contain statistical information
|
* Get Client request stats which will contain statistical information
|
||||||
* on each request made by client.
|
* on each request made by client.
|
||||||
|
|||||||
Reference in New Issue
Block a user