Merge "API to switch preferred data"
am: 98b78236d0
Change-Id: Ib0fa8d95cce66889a75b762d2622c54de89f0c2f
This commit is contained in:
@@ -42945,6 +42945,7 @@ package android.telephony {
|
||||
method public int getNetworkType();
|
||||
method public int getPhoneCount();
|
||||
method public int getPhoneType();
|
||||
method public int getPreferredOpportunisticDataSubscription();
|
||||
method public android.telephony.ServiceState getServiceState();
|
||||
method public android.telephony.SignalStrength getSignalStrength();
|
||||
method public int getSimCarrierId();
|
||||
@@ -42995,6 +42996,7 @@ package android.telephony {
|
||||
method public boolean setNetworkSelectionModeManual(java.lang.String, boolean);
|
||||
method public boolean setOperatorBrandOverride(java.lang.String);
|
||||
method public boolean setPreferredNetworkTypeToGlobal();
|
||||
method public boolean setPreferredOpportunisticDataSubscription(int);
|
||||
method public void setVisualVoicemailSmsFilterSettings(android.telephony.VisualVoicemailSmsFilterSettings);
|
||||
method public boolean setVoiceMailNumber(java.lang.String, java.lang.String);
|
||||
method public deprecated void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri);
|
||||
|
||||
@@ -9449,4 +9449,55 @@ public class TelephonyManager {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set preferred opportunistic data subscription id.
|
||||
*
|
||||
* <p>Requires that the calling app has carrier privileges on both primary and
|
||||
* secondary subscriptions (see
|
||||
* {@link #hasCarrierPrivileges}), or has permission
|
||||
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}.
|
||||
*
|
||||
* @param subId which opportunistic subscription
|
||||
* {@link SubscriptionManager#getOpportunisticSubscriptions} is preferred for cellular data.
|
||||
* Pass {@link SubscriptionManager#DEFAULT_SUBSCRIPTION_ID} to unset the preference
|
||||
* @return true if request is accepted, else false.
|
||||
*
|
||||
*/
|
||||
public boolean setPreferredOpportunisticDataSubscription(int subId) {
|
||||
String pkgForDebug = mContext != null ? mContext.getOpPackageName() : "<unknown>";
|
||||
try {
|
||||
IAns iAlternativeNetworkService = getIAns();
|
||||
if (iAlternativeNetworkService != null) {
|
||||
return iAlternativeNetworkService.setPreferredData(subId, pkgForDebug);
|
||||
}
|
||||
} catch (RemoteException ex) {
|
||||
Rlog.e(TAG, "setPreferredData RemoteException", ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get preferred opportunistic data subscription Id
|
||||
*
|
||||
* <p>Requires that the calling app has carrier privileges (see {@link #hasCarrierPrivileges}),
|
||||
* or has permission {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}.
|
||||
* @return subId preferred opportunistic subscription id or
|
||||
* {@link SubscriptionManager#DEFAULT_SUBSCRIPTION_ID} if there are no preferred
|
||||
* subscription id
|
||||
*
|
||||
*/
|
||||
public int getPreferredOpportunisticDataSubscription() {
|
||||
String pkgForDebug = mContext != null ? mContext.getOpPackageName() : "<unknown>";
|
||||
int subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||
try {
|
||||
IAns iAlternativeNetworkService = getIAns();
|
||||
if (iAlternativeNetworkService != null) {
|
||||
subId = iAlternativeNetworkService.getPreferredData(pkgForDebug);
|
||||
}
|
||||
} catch (RemoteException ex) {
|
||||
Rlog.e(TAG, "getPreferredData RemoteException", ex);
|
||||
}
|
||||
return subId;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,4 +49,33 @@ interface IAns {
|
||||
* @param callingPackage caller's package name
|
||||
*/
|
||||
boolean isEnabled(String callingPackage);
|
||||
|
||||
/**
|
||||
* Set preferred opportunistic data subscription id.
|
||||
*
|
||||
* <p>Requires that the calling app has carrier privileges on both primary and
|
||||
* secondary subscriptions (see
|
||||
* {@link #hasCarrierPrivileges}), or has permission
|
||||
* {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}.
|
||||
*
|
||||
* @param subId which opportunistic subscription
|
||||
* {@link SubscriptionManager#getOpportunisticSubscriptions} is preferred for cellular data.
|
||||
* Pass {@link SubscriptionManager#DEFAULT_SUBSCRIPTION_ID} to unset the preference
|
||||
* @param callingPackage caller's package name
|
||||
* @return true if request is accepted, else false.
|
||||
*
|
||||
*/
|
||||
boolean setPreferredData(int subId, String callingPackage);
|
||||
|
||||
/**
|
||||
* Get preferred opportunistic data subscription Id
|
||||
*
|
||||
* <p>Requires that the calling app has carrier privileges (see {@link #hasCarrierPrivileges}),
|
||||
* or has permission {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}.
|
||||
* @return subId preferred opportunistic subscription id or
|
||||
* {@link SubscriptionManager#DEFAULT_SUBSCRIPTION_ID} if there are no preferred
|
||||
* subscription id
|
||||
*
|
||||
*/
|
||||
int getPreferredData(String callingPackage);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user