diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 5b9e23228dcbe..52cab556d11c0 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -2583,8 +2583,14 @@ public class SubscriptionManager { @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPreferredDataSubscriptionId(int subId) { if (VDBG) logd("[setPreferredDataSubscriptionId]+ subId:" + subId); - setSubscriptionPropertyHelper(DEFAULT_SUBSCRIPTION_ID, "setPreferredDataSubscriptionId", - (iSub)-> iSub.setPreferredDataSubscriptionId(subId)); + try { + ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); + if (iSub != null) { + iSub.setPreferredDataSubscriptionId(subId); + } + } catch (RemoteException ex) { + // ignore it + } } /** diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl index a49d2d976d16f..6ce9de4ca6778 100755 --- a/telephony/java/com/android/internal/telephony/ISub.aidl +++ b/telephony/java/com/android/internal/telephony/ISub.aidl @@ -220,7 +220,7 @@ interface ISub { * @hide * */ - int setPreferredDataSubscriptionId(int subId); + void setPreferredDataSubscriptionId(int subId); /** * Get which subscription is preferred for cellular data.