Merge "Add V Wifi API signatures for Tethering" into aosp-main-future
diff --git a/service/java/com/android/server/wifi/ClientModeImpl.java b/service/java/com/android/server/wifi/ClientModeImpl.java
index 34981aa..c5a891f 100644
--- a/service/java/com/android/server/wifi/ClientModeImpl.java
+++ b/service/java/com/android/server/wifi/ClientModeImpl.java
@@ -1949,7 +1949,7 @@
      */
     public boolean enableTdls(String remoteMacAddress, boolean enable) {
         boolean ret;
-        if (!canEnableTdls()) {
+        if (enable && !canEnableTdls()) {
             return false;
         }
         ret = mWifiNative.startTdls(mInterfaceName, remoteMacAddress, enable);
diff --git a/service/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java b/service/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
index 08f2aa0..d8606f0 100644
--- a/service/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
+++ b/service/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
@@ -10620,18 +10620,19 @@
     @Test
     public void testEnableTdls() throws Exception {
         connect();
-        when(mWifiNative.getMaxSupportedConcurrentTdlsSessions(WIFI_IFACE_NAME)).thenReturn(5);
+        when(mWifiNative.getMaxSupportedConcurrentTdlsSessions(WIFI_IFACE_NAME)).thenReturn(1);
         when(mWifiNative.getSupportedFeatureSet(WIFI_IFACE_NAME))
                 .thenReturn(WifiManager.WIFI_FEATURE_TDLS);
         when(mWifiNative.startTdls(eq(WIFI_IFACE_NAME), eq(TEST_TDLS_PEER_ADDR_STR), anyBoolean()))
                 .thenReturn(true);
-        assertEquals(5, mCmi.getMaxSupportedConcurrentTdlsSessions());
+        assertEquals(1, mCmi.getMaxSupportedConcurrentTdlsSessions());
         assertTrue(mCmi.isTdlsOperationCurrentlyAvailable());
-        mCmi.enableTdls(TEST_TDLS_PEER_ADDR_STR, true);
+        assertTrue(mCmi.enableTdls(TEST_TDLS_PEER_ADDR_STR, true));
         assertEquals(1, mCmi.getNumberOfEnabledTdlsSessions());
         verify(mWifiNative).startTdls(eq(WIFI_IFACE_NAME), eq(TEST_TDLS_PEER_ADDR_STR),
                 eq(true));
-        mCmi.enableTdls(TEST_TDLS_PEER_ADDR_STR, false);
+        assertFalse(mCmi.enableTdls(TEST_TDLS_PEER_ADDR_STR, true));
+        assertTrue(mCmi.enableTdls(TEST_TDLS_PEER_ADDR_STR, false));
         verify(mWifiNative).startTdls(eq(WIFI_IFACE_NAME), eq(TEST_TDLS_PEER_ADDR_STR),
                 eq(false));
         assertEquals(0, mCmi.getNumberOfEnabledTdlsSessions());