Merge "API to switch preferred data"

am: 98b78236d0

Change-Id: Ib0fa8d95cce66889a75b762d2622c54de89f0c2f
This commit is contained in:
Sooraj Sasindran
2018-11-30 00:14:48 -08:00
committed by android-build-merger
3 changed files with 82 additions and 0 deletions

View File

@@ -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);

View File

@@ -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;
}
}

View File

@@ -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);
}