Should not turn on validation for data
Should not turn on validation for data switch every time. Provide result as a callback Test: verified manually Bug: 126264455 Change-Id: I5df2311d91fdab34563148b4466163696e52faf9
This commit is contained in:
@@ -45217,7 +45217,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);
|
||||||
|
|||||||
@@ -7886,7 +7886,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
|
||||||
|
|||||||
@@ -2600,7 +2600,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"));
|
||||||
@@ -2609,10 +2609,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);
|
|
||||||
}
|
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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.OperatorInfo;
|
import com.android.internal.telephony.OperatorInfo;
|
||||||
@@ -98,6 +99,7 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@@ -10185,21 +10187,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ package com.android.internal.telephony;
|
|||||||
|
|
||||||
import android.telephony.AvailableNetworkInfo;
|
import android.telephony.AvailableNetworkInfo;
|
||||||
|
|
||||||
|
import com.android.internal.telephony.ISetOpportunisticDataCallback;
|
||||||
|
|
||||||
interface IOns {
|
interface IOns {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -62,11 +64,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
|
||||||
|
|||||||
Reference in New Issue
Block a user