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

Commit 6b9d2625 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Revert "Revert "Merge "add setMetered in SubscriptionManager" am:...

Merge "Revert "Revert "Merge "add setMetered in SubscriptionManager" am: 2fa08e85 am: 370f42fb"""
parents d0beedcd 98f48d93
Loading
Loading
Loading
Loading
+19 −2
Original line number Diff line number Diff line
@@ -318,6 +318,8 @@ public class SubscriptionController extends ISub.Stub {
                SubscriptionManager.IS_OPPORTUNISTIC)) == 1;
        String groupUUID = cursor.getString(cursor.getColumnIndexOrThrow(
                SubscriptionManager.GROUP_UUID));
        boolean isMetered = cursor.getInt(cursor.getColumnIndexOrThrow(
                SubscriptionManager.IS_METERED)) == 1;

        if (VDBG) {
            String iccIdToPrint = SubscriptionInfo.givePrintableIccid(iccId);
@@ -328,7 +330,7 @@ public class SubscriptionController extends ISub.Stub {
                    + " mcc:" + mcc + " mnc:" + mnc + " countIso:" + countryIso + " isEmbedded:"
                    + isEmbedded + " accessRules:" + Arrays.toString(accessRules)
                    + " cardId:" + cardIdToPrint + " isOpportunistic:" + isOpportunistic
                    + " groupUUID:" + groupUUID);
                    + " groupUUID:" + groupUUID + " isMetered:" + isMetered);
        }

        // If line1number has been set to a different number, use it instead.
@@ -338,7 +340,7 @@ public class SubscriptionController extends ISub.Stub {
        }
        return new SubscriptionInfo(id, iccId, simSlotIndex, displayName, carrierName,
                nameSource, iconTint, number, dataRoaming, iconBitmap, mcc, mnc, countryIso,
                isEmbedded, accessRules, cardId, isOpportunistic, groupUUID);
                isEmbedded, accessRules, cardId, isOpportunistic, groupUUID, isMetered);
    }

    /**
@@ -2028,6 +2030,7 @@ public class SubscriptionController extends ISub.Stub {
            case SubscriptionManager.CB_OPT_OUT_DIALOG:
            case SubscriptionManager.ENHANCED_4G_MODE_ENABLED:
            case SubscriptionManager.IS_OPPORTUNISTIC:
            case SubscriptionManager.IS_METERED:
            case SubscriptionManager.VT_IMS_ENABLED:
            case SubscriptionManager.WFC_IMS_ENABLED:
            case SubscriptionManager.WFC_IMS_MODE:
@@ -2088,6 +2091,7 @@ public class SubscriptionController extends ISub.Stub {
                        case SubscriptionManager.WFC_IMS_ROAMING_ENABLED:
                        case SubscriptionManager.IS_OPPORTUNISTIC:
                        case SubscriptionManager.GROUP_UUID:
                        case SubscriptionManager.IS_METERED:
                            resultValue = cursor.getInt(0) + "";
                            break;
                        default:
@@ -2239,6 +2243,19 @@ public class SubscriptionController extends ISub.Stub {
                String.valueOf(opportunistic ? 1 : 0));
    }

    /**
     * Set whether a subscription is metered
     *
     * @param isMetered whether it’s a metered subscription.
     * @param subId the unique SubscriptionInfo index in database
     * @return the number of records updated
     */
    @Override
    public int setMetered(boolean isMetered, int subId) {
        return setSubscriptionProperty(subId, SubscriptionManager.IS_METERED,
                String.valueOf(isMetered ? 1 : 0));
    }

    @Override
    public int setPreferredData(int subId) {
        enforceModifyPhoneState("setPreferredData");
+2 −1
Original line number Diff line number Diff line
@@ -97,7 +97,8 @@ public class FakeTelephonyProvider extends MockContentProvider {
                    + SubscriptionManager.WFC_IMS_ROAMING_MODE + " INTEGER DEFAULT -1,"
                    + SubscriptionManager.WFC_IMS_ROAMING_ENABLED + " INTEGER DEFAULT -1,"
                    + SubscriptionManager.IS_OPPORTUNISTIC + " INTEGER DEFAULT 0,"
                    + SubscriptionManager.GROUP_UUID + " TEXT"
                    + SubscriptionManager.GROUP_UUID + " TEXT,"
                    + SubscriptionManager.IS_METERED + " INTEGER DEFAULT 1"
                    + ");";
        }

+12 −3
Original line number Diff line number Diff line
@@ -135,6 +135,7 @@ public class SubscriptionControllerTest extends TelephonyTest {
        String disName = "TESTING";
        String disNum = "12345";
        boolean isOpportunistic = true;
        boolean isMetered = false;

        testInsertSim();
        /* Get SUB ID */
@@ -142,22 +143,30 @@ public class SubscriptionControllerTest extends TelephonyTest {
        assertTrue(subIds != null && subIds.length != 0);
        int subID = subIds[0];

        /* Getting, there is no direct getter function for each fields of property */
        SubscriptionInfo subInfo = mSubscriptionControllerUT
                .getActiveSubscriptionInfo(subID, mCallingPackage);
        //isMetered should initialize as true
        assertTrue(subInfo.isMetered());

        /* Setting */
        mSubscriptionControllerUT.setDisplayName(disName, subID);
        mSubscriptionControllerUT.setDataRoaming(dataRoaming, subID);
        mSubscriptionControllerUT.setDisplayNumber(disNum, subID);
        mSubscriptionControllerUT.setIconTint(iconTint, subID);
        mSubscriptionControllerUT.setOpportunistic(isOpportunistic, subID);
        mSubscriptionControllerUT.setMetered(isMetered, subID);

        /* Getting, there is no direct getter function for each fields of property */
        SubscriptionInfo subInfo = mSubscriptionControllerUT
        subInfo = mSubscriptionControllerUT
            .getActiveSubscriptionInfo(subID, mCallingPackage);

        assertNotNull(subInfo);
        assertEquals(dataRoaming, subInfo.getDataRoaming());
        assertEquals(disName, subInfo.getDisplayName());
        assertEquals(iconTint, subInfo.getIconTint());
        assertEquals(disNum, subInfo.getNumber());
        assertEquals(isOpportunistic, subInfo.isOpportunistic());
        assertEquals(isMetered, subInfo.isMetered());

        /* verify broadcast intent */
        ArgumentCaptor<Intent> captorIntent = ArgumentCaptor.forClass(Intent.class);