Merge changes from topic "Porting-ONSAPIChanges" am: 31c7607ee6

am: f6b0d994a7

Change-Id: Idf128d17a2fac096ca5e28000648638c1d70fff2
This commit is contained in:
Sooraj Sasindran
2019-03-15 13:18:47 -07:00
committed by android-build-merger
5 changed files with 39 additions and 14 deletions

View File

@@ -43116,7 +43116,7 @@ package android.telephony {
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setNetworkSelectionModeManual(String, boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setNetworkSelectionModeManual(String, boolean);
method public boolean setOperatorBrandOverride(String); method public boolean setOperatorBrandOverride(String);
method public boolean setPreferredNetworkTypeToGlobal(); method public boolean setPreferredNetworkTypeToGlobal();
method public boolean setPreferredOpportunisticDataSubscription(int); method public void setPreferredOpportunisticDataSubscription(int, boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
method public void setVisualVoicemailSmsFilterSettings(android.telephony.VisualVoicemailSmsFilterSettings); method public void setVisualVoicemailSmsFilterSettings(android.telephony.VisualVoicemailSmsFilterSettings);
method public boolean setVoiceMailNumber(String, String); method public boolean setVoiceMailNumber(String, String);
method @Deprecated public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri); method @Deprecated public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri);

View File

@@ -6314,7 +6314,7 @@ package android.telephony {
method public void requestEmbeddedSubscriptionInfoListRefresh(int); method public void requestEmbeddedSubscriptionInfoListRefresh(int);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPreferredDataSubscriptionId(int, boolean, @NonNull java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Integer>); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPreferredDataSubscriptionId(int, boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI; field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
field public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff field public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff

View File

@@ -2606,7 +2606,7 @@ public class SubscriptionManager {
@SystemApi @SystemApi
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
public void setPreferredDataSubscriptionId(int subId, boolean needValidation, public void setPreferredDataSubscriptionId(int subId, boolean needValidation,
@NonNull @CallbackExecutor Executor executor, Consumer<Integer> callback) { @Nullable @CallbackExecutor Executor executor, @Nullable Consumer<Integer> callback) {
if (VDBG) logd("[setPreferredDataSubscriptionId]+ subId:" + subId); if (VDBG) logd("[setPreferredDataSubscriptionId]+ subId:" + subId);
try { try {
ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
@@ -2615,10 +2615,11 @@ public class SubscriptionManager {
ISetOpportunisticDataCallback callbackStub = new ISetOpportunisticDataCallback.Stub() { ISetOpportunisticDataCallback callbackStub = new ISetOpportunisticDataCallback.Stub() {
@Override @Override
public void onComplete(int result) { public void onComplete(int result) {
if (executor == null || callback == null) {
return;
}
Binder.withCleanCallingIdentity(() -> executor.execute(() -> { Binder.withCleanCallingIdentity(() -> executor.execute(() -> {
if (callback != null) { callback.accept(result);
callback.accept(result);
}
})); }));
} }
}; };

View File

@@ -81,6 +81,7 @@ import com.android.internal.telephony.CellNetworkScanResult;
import com.android.internal.telephony.INumberVerificationCallback; import com.android.internal.telephony.INumberVerificationCallback;
import com.android.internal.telephony.IOns; import com.android.internal.telephony.IOns;
import com.android.internal.telephony.IPhoneSubInfo; import com.android.internal.telephony.IPhoneSubInfo;
import com.android.internal.telephony.ISetOpportunisticDataCallback;
import com.android.internal.telephony.ITelephony; import com.android.internal.telephony.ITelephony;
import com.android.internal.telephony.ITelephonyRegistry; import com.android.internal.telephony.ITelephonyRegistry;
import com.android.internal.telephony.IUpdateAvailableNetworksCallback; import com.android.internal.telephony.IUpdateAvailableNetworksCallback;
@@ -10212,21 +10213,40 @@ public class TelephonyManager {
* @param subId which opportunistic subscription * @param subId which opportunistic subscription
* {@link SubscriptionManager#getOpportunisticSubscriptions} is preferred for cellular data. * {@link SubscriptionManager#getOpportunisticSubscriptions} is preferred for cellular data.
* Pass {@link SubscriptionManager#DEFAULT_SUBSCRIPTION_ID} to unset the preference * Pass {@link SubscriptionManager#DEFAULT_SUBSCRIPTION_ID} to unset the preference
* @return true if request is accepted, else false. * @param needValidation whether validation is needed before switch happens.
* @param executor The executor of where the callback will execute.
* @param callback Callback will be triggered once it succeeds or failed.
* See {@link TelephonyManager.SetOpportunisticSubscriptionResult}
* for more details. Pass null if don't care about the result.
* *
*/ */
public boolean setPreferredOpportunisticDataSubscription(int subId) { public void setPreferredOpportunisticDataSubscription(int subId, boolean needValidation,
@Nullable @CallbackExecutor Executor executor, @Nullable Consumer<Integer> callback) {
String pkgForDebug = mContext != null ? mContext.getOpPackageName() : "<unknown>"; String pkgForDebug = mContext != null ? mContext.getOpPackageName() : "<unknown>";
try { try {
IOns iOpportunisticNetworkService = getIOns(); IOns iOpportunisticNetworkService = getIOns();
if (iOpportunisticNetworkService != null) { if (iOpportunisticNetworkService == null) {
return iOpportunisticNetworkService return;
.setPreferredDataSubscriptionId(subId, pkgForDebug);
} }
ISetOpportunisticDataCallback callbackStub = new ISetOpportunisticDataCallback.Stub() {
@Override
public void onComplete(int result) {
if (executor == null || callback == null) {
return;
}
Binder.withCleanCallingIdentity(() -> executor.execute(() -> {
callback.accept(result);
}));
}
};
iOpportunisticNetworkService
.setPreferredDataSubscriptionId(subId, needValidation, callbackStub,
pkgForDebug);
} catch (RemoteException ex) { } catch (RemoteException ex) {
Rlog.e(TAG, "setPreferredDataSubscriptionId RemoteException", ex); Rlog.e(TAG, "setPreferredDataSubscriptionId RemoteException", ex);
} }
return false; return;
} }
/** /**

View File

@@ -19,6 +19,8 @@ package com.android.internal.telephony;
import android.telephony.AvailableNetworkInfo; import android.telephony.AvailableNetworkInfo;
import com.android.internal.telephony.IUpdateAvailableNetworksCallback; import com.android.internal.telephony.IUpdateAvailableNetworksCallback;
import com.android.internal.telephony.ISetOpportunisticDataCallback;
interface IOns { interface IOns {
/** /**
@@ -63,11 +65,13 @@ interface IOns {
* @param subId which opportunistic subscription * @param subId which opportunistic subscription
* {@link SubscriptionManager#getOpportunisticSubscriptions} is preferred for cellular data. * {@link SubscriptionManager#getOpportunisticSubscriptions} is preferred for cellular data.
* Pass {@link SubscriptionManager#DEFAULT_SUBSCRIPTION_ID} to unset the preference * Pass {@link SubscriptionManager#DEFAULT_SUBSCRIPTION_ID} to unset the preference
* @param needValidation whether validation is needed before switch happens.
* @param callback callback upon request completion.
* @param callingPackage caller's package name * @param callingPackage caller's package name
* @return true if request is accepted, else false.
* *
*/ */
boolean setPreferredDataSubscriptionId(int subId, String callingPackage); void setPreferredDataSubscriptionId(int subId, boolean needValidation,
ISetOpportunisticDataCallback callbackStub, String callingPackage);
/** /**
* Get preferred opportunistic data subscription Id * Get preferred opportunistic data subscription Id