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

Commit 426311bc authored by markchien's avatar markchien Committed by Mark Chien
Browse files

Don't allow upstream if entitlement don't know any downstream

In case tethering donwstream is setup but don't ask EntitlementManager
to run provisioning. Cellular upstream should not be allowed if
EntilementManager don't have any donwstream record.

Bug: 134649258
Test: -build, flash, boot
      -manual test with carrier SIM
Change-Id: I609722c79f0a45a1c2164d39721ef5883e436feb
parent 8aa2b1df
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -161,6 +161,12 @@ public class EntitlementManager {
     * Check if cellular upstream is permitted.
     */
    public boolean isCellularUpstreamPermitted() {
        // If provisioning is required and EntitlementManager don't know any downstream,
        // cellular upstream should not be allowed.
        final TetheringConfiguration config = mFetcher.fetchTetheringConfiguration();
        if (mCurrentTethers.size() == 0 && isTetherProvisioningRequired(config)) {
            return false;
        }
        return mCellularUpstreamPermitted;
    }

+7 −0
Original line number Diff line number Diff line
@@ -405,6 +405,13 @@ public final class EntitlementManagerTest {

    }

    @Test
    public void verifyPermissionWhenProvisioningNotStarted() {
        assertTrue(mEnMgr.isCellularUpstreamPermitted());
        setupForRequiredProvisioning();
        assertFalse(mEnMgr.isCellularUpstreamPermitted());
    }

    @Test
    public void testRunTetherProvisioning() {
        setupForRequiredProvisioning();