diff options
| author | 2019-08-13 09:36:16 +0000 | |
|---|---|---|
| committer | 2019-08-13 09:36:16 +0000 | |
| commit | 161814ffb14e69c5edf3a2ff83b4ab00da9ab6d8 (patch) | |
| tree | adc989a44999d55d04292d251c54e08f4c9bd318 | |
| parent | 3e85da2d89c0e7ef61b5bcc24a6b44bfa57f2c12 (diff) | |
| parent | 426311bcb5b3e4e3d342711fdb196531207815b9 (diff) | |
Merge "Don't allow upstream if entitlement don't know any downstream"
| -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 |