diff options
| author | 2019-08-13 02:49:09 -0700 | |
|---|---|---|
| committer | 2019-08-13 02:49:09 -0700 | |
| commit | 538bc0fe4f94c4f1d1237f464c0a956af4e06227 (patch) | |
| tree | d6497cc3e5c4162baa7d3d53ce9955829b9fc852 | |
| parent | 332f0a4ae8493d6fb56e5f5c91a993f9f404de44 (diff) | |
| parent | 161814ffb14e69c5edf3a2ff83b4ab00da9ab6d8 (diff) | |
Merge "Don't allow upstream if entitlement don't know any downstream"
am: 161814ffb1
Change-Id: Ibac99a20b470b48597859fe737732f3c6f491805
| -rw-r--r-- | services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java | 6 | ||||
| -rw-r--r-- | tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java b/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java index 836f1e64aa9c..f952bcef5606 100644 --- a/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java +++ b/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java @@ -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; } diff --git a/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java b/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java index 2b2e8a72ab04..5217e26a40ef 100644 --- a/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java +++ b/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java @@ -406,6 +406,13 @@ public final class EntitlementManagerTest { } @Test + public void verifyPermissionWhenProvisioningNotStarted() { + assertTrue(mEnMgr.isCellularUpstreamPermitted()); + setupForRequiredProvisioning(); + assertFalse(mEnMgr.isCellularUpstreamPermitted()); + } + + @Test public void testRunTetherProvisioning() { setupForRequiredProvisioning(); // 1. start ui provisioning, upstream is mobile |