Loading res/values/strings.xml +1 −4 Original line number Diff line number Diff line Loading @@ -9207,10 +9207,7 @@ <string name="condition_expand_hide">Hide</string> <!-- Title of condition that hotspot is on [CHAR LIMIT=30] --> <string name="condition_hotspot_title">Hotspot</string> <!-- Summary of condition that hotspot is on [CHAR LIMIT=NONE] --> <string name="condition_hotspot_summary"><xliff:g name="ap_name" example="AndroidAP">%1$s</xliff:g> on</string> <string name="condition_hotspot_title">Hotspot is active</string> <!-- Title of condition that airplane mode is on [CHAR LIMIT=30] --> <string name="condition_airplane_title">Airplane mode is on</string> src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionController.java +1 −5 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ public class HotspotConditionController implements ConditionalCardController { .setName(mAppContext.getPackageName() + "/" + mAppContext.getText(R.string.condition_hotspot_title)) .setTitleText(mAppContext.getText(R.string.condition_hotspot_title).toString()) .setSummaryText(getSummary().toString()) .setSummaryText(getSsid().toString()) .setIconDrawable(mAppContext.getDrawable(R.drawable.ic_hotspot)) .setViewType(ConditionContextualCardRenderer.VIEW_TYPE_HALF_WIDTH) .build(); Loading @@ -113,10 +113,6 @@ public class HotspotConditionController implements ConditionalCardController { mAppContext.unregisterReceiver(mReceiver); } public CharSequence getSummary() { return mAppContext.getString(R.string.condition_hotspot_summary, getSsid()); } private CharSequence getSsid() { WifiConfiguration wifiConfig = mWifiManager.getWifiApConfiguration(); if (wifiConfig == null) { Loading tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java 0 → 100644 +76 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.homepage.contextualcards.conditional; import static com.google.common.truth.Truth.assertThat; import android.content.Context; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import com.android.settings.homepage.contextualcards.ContextualCard; import com.android.settings.testutils.shadow.ShadowWifiManager; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) @Config(shadows = {ShadowWifiManager.class}) public class HotspotConditionControllerTest { private static final String WIFI_AP_SSID = "Test Hotspot"; @Mock private ConditionManager mConditionManager; private Context mContext; private HotspotConditionController mController; @Before public void setUp() { mContext = RuntimeEnvironment.application; mController = new HotspotConditionController(mContext, mConditionManager); } @Test public void buildContextualCard_hasWifiAp_shouldHaveWifiApSsid() { setupWifiApConfiguration(); final ContextualCard card = mController.buildContextualCard(); assertThat(card.getSummaryText()).isEqualTo(WIFI_AP_SSID); } @Test public void buildContextualCard_noWifiAp_shouldHaveDefaultSsid() { final ContextualCard card = mController.buildContextualCard(); assertThat(card.getSummaryText()).isEqualTo( mContext.getText(com.android.internal.R.string.wifi_tether_configure_ssid_default)); } private void setupWifiApConfiguration() { final WifiConfiguration wifiApConfig = new WifiConfiguration(); wifiApConfig.SSID = WIFI_AP_SSID; mContext.getSystemService(WifiManager.class).setWifiApConfiguration(wifiApConfig); } } tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiManager.java +12 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,18 @@ import java.util.List; public class ShadowWifiManager extends org.robolectric.shadows.ShadowWifiManager { public WifiConfiguration savedWifiConfig; private WifiConfiguration mSavedApConfig; @Implementation protected WifiConfiguration getWifiApConfiguration() { return mSavedApConfig; } @Implementation protected boolean setWifiApConfiguration(WifiConfiguration wifiConfig) { mSavedApConfig = wifiConfig; return true; } @HiddenApi // @SystemApi @Implementation Loading Loading
res/values/strings.xml +1 −4 Original line number Diff line number Diff line Loading @@ -9207,10 +9207,7 @@ <string name="condition_expand_hide">Hide</string> <!-- Title of condition that hotspot is on [CHAR LIMIT=30] --> <string name="condition_hotspot_title">Hotspot</string> <!-- Summary of condition that hotspot is on [CHAR LIMIT=NONE] --> <string name="condition_hotspot_summary"><xliff:g name="ap_name" example="AndroidAP">%1$s</xliff:g> on</string> <string name="condition_hotspot_title">Hotspot is active</string> <!-- Title of condition that airplane mode is on [CHAR LIMIT=30] --> <string name="condition_airplane_title">Airplane mode is on</string>
src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionController.java +1 −5 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ public class HotspotConditionController implements ConditionalCardController { .setName(mAppContext.getPackageName() + "/" + mAppContext.getText(R.string.condition_hotspot_title)) .setTitleText(mAppContext.getText(R.string.condition_hotspot_title).toString()) .setSummaryText(getSummary().toString()) .setSummaryText(getSsid().toString()) .setIconDrawable(mAppContext.getDrawable(R.drawable.ic_hotspot)) .setViewType(ConditionContextualCardRenderer.VIEW_TYPE_HALF_WIDTH) .build(); Loading @@ -113,10 +113,6 @@ public class HotspotConditionController implements ConditionalCardController { mAppContext.unregisterReceiver(mReceiver); } public CharSequence getSummary() { return mAppContext.getString(R.string.condition_hotspot_summary, getSsid()); } private CharSequence getSsid() { WifiConfiguration wifiConfig = mWifiManager.getWifiApConfiguration(); if (wifiConfig == null) { Loading
tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java 0 → 100644 +76 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.homepage.contextualcards.conditional; import static com.google.common.truth.Truth.assertThat; import android.content.Context; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import com.android.settings.homepage.contextualcards.ContextualCard; import com.android.settings.testutils.shadow.ShadowWifiManager; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) @Config(shadows = {ShadowWifiManager.class}) public class HotspotConditionControllerTest { private static final String WIFI_AP_SSID = "Test Hotspot"; @Mock private ConditionManager mConditionManager; private Context mContext; private HotspotConditionController mController; @Before public void setUp() { mContext = RuntimeEnvironment.application; mController = new HotspotConditionController(mContext, mConditionManager); } @Test public void buildContextualCard_hasWifiAp_shouldHaveWifiApSsid() { setupWifiApConfiguration(); final ContextualCard card = mController.buildContextualCard(); assertThat(card.getSummaryText()).isEqualTo(WIFI_AP_SSID); } @Test public void buildContextualCard_noWifiAp_shouldHaveDefaultSsid() { final ContextualCard card = mController.buildContextualCard(); assertThat(card.getSummaryText()).isEqualTo( mContext.getText(com.android.internal.R.string.wifi_tether_configure_ssid_default)); } private void setupWifiApConfiguration() { final WifiConfiguration wifiApConfig = new WifiConfiguration(); wifiApConfig.SSID = WIFI_AP_SSID; mContext.getSystemService(WifiManager.class).setWifiApConfiguration(wifiApConfig); } }
tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiManager.java +12 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,18 @@ import java.util.List; public class ShadowWifiManager extends org.robolectric.shadows.ShadowWifiManager { public WifiConfiguration savedWifiConfig; private WifiConfiguration mSavedApConfig; @Implementation protected WifiConfiguration getWifiApConfiguration() { return mSavedApConfig; } @Implementation protected boolean setWifiApConfiguration(WifiConfiguration wifiConfig) { mSavedApConfig = wifiConfig; return true; } @HiddenApi // @SystemApi @Implementation Loading