Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a952d201 authored by Jack Yu's avatar Jack Yu
Browse files

Fixed tethering failed when device is on CBRS

Fixed by using the correct sub id for CBRS subscription

Bug: 133852860
Test: Manual
Change-Id: If01e17becce9684556345eb76512f617b9a9278c
parent 9369357e
Loading
Loading
Loading
Loading
+20 −0
Original line number Original line Diff line number Diff line
@@ -3175,4 +3175,24 @@ public class SubscriptionManager {


        return result;
        return result;
    }
    }

    /**
     * Get active data subscription id.
     * See {@link PhoneStateListener#onActiveDataSubscriptionIdChanged(int)} for the details.
     *
     * @return Active data subscription id
     *
     * //TODO: Refactor this API in b/134702460
     * @hide
     */
    public static int getActiveDataSubscriptionId() {
        try {
            ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
            if (iSub != null) {
                return iSub.getActiveDataSubscriptionId();
            }
        } catch (RemoteException ex) {
        }
        return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    }
}
}
+4 −4
Original line number Original line Diff line number Diff line
@@ -2513,7 +2513,7 @@ public class TelephonyManager {
     * @return the NETWORK_TYPE_xxxx for current data connection.
     * @return the NETWORK_TYPE_xxxx for current data connection.
     */
     */
    public @NetworkType int getNetworkType() {
    public @NetworkType int getNetworkType() {
        return getNetworkType(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()));
        return getNetworkType(getSubId(SubscriptionManager.getActiveDataSubscriptionId()));
    }
    }


    /**
    /**
@@ -2596,7 +2596,7 @@ public class TelephonyManager {
    @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
    @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
    @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
    @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
    public @NetworkType int getDataNetworkType() {
    public @NetworkType int getDataNetworkType() {
        return getDataNetworkType(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()));
        return getDataNetworkType(getSubId(SubscriptionManager.getActiveDataSubscriptionId()));
    }
    }


    /**
    /**
@@ -7343,7 +7343,7 @@ public class TelephonyManager {
     * @hide
     * @hide
     */
     */
    public boolean getTetherApnRequired() {
    public boolean getTetherApnRequired() {
        return getTetherApnRequired(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()));
        return getTetherApnRequired(getSubId(SubscriptionManager.getActiveDataSubscriptionId()));
    }
    }


    /**
    /**
@@ -8126,7 +8126,7 @@ public class TelephonyManager {
            ITelephony telephony = getITelephony();
            ITelephony telephony = getITelephony();
            if (telephony != null)
            if (telephony != null)
                return telephony.isDataConnectivityPossible(getSubId(SubscriptionManager
                return telephony.isDataConnectivityPossible(getSubId(SubscriptionManager
                        .getDefaultDataSubscriptionId()));
                        .getActiveDataSubscriptionId()));
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            Log.e(TAG, "Error calling ITelephony#isDataAllowed", e);
            Log.e(TAG, "Error calling ITelephony#isDataAllowed", e);
        }
        }
+2 −0
Original line number Original line Diff line number Diff line
@@ -281,4 +281,6 @@ interface ISub {
    boolean isActiveSubId(int subId, String callingPackage);
    boolean isActiveSubId(int subId, String callingPackage);


    boolean setAlwaysAllowMmsData(int subId, boolean alwaysAllow);
    boolean setAlwaysAllowMmsData(int subId, boolean alwaysAllow);

    int getActiveDataSubscriptionId();
}
}