Loading src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java +18 −4 Original line number Diff line number Diff line Loading @@ -75,7 +75,8 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements // Interval between initiating SavedNetworkTracker scans private static final long SCAN_INTERVAL_MILLIS = 10_000; private NetworkDetailsTracker mNetworkDetailsTracker; @VisibleForTesting NetworkDetailsTracker mNetworkDetailsTracker; private HandlerThread mWorkerThread; private WifiDetailPreferenceController2 mWifiDetailPreferenceController2; private List<WifiDialog2.WifiDialog2Listener> mWifiDialogListeners = new ArrayList<>(); Loading Loading @@ -125,9 +126,11 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { if (isEditable()) { MenuItem item = menu.add(0, Menu.FIRST, 0, R.string.wifi_modify); item.setIcon(com.android.internal.R.drawable.ic_mode_edit); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); } super.onCreateOptionsMenu(menu, inflater); } Loading Loading @@ -253,6 +256,17 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements getArguments().getString(KEY_CHOSEN_WIFIENTRY_KEY)); } private boolean isEditable() { if (mNetworkDetailsTracker == null) { return false; } final WifiEntry wifiEntry = mNetworkDetailsTracker.getWifiEntry(); if (wifiEntry == null) { return false; } return wifiEntry.isSaved(); } /** * API call for refreshing the preferences in this fragment. */ Loading tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java +28 −4 Original line number Diff line number Diff line Loading @@ -24,9 +24,9 @@ import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.settings.SettingsEnums; import android.view.Menu; Loading @@ -36,12 +36,17 @@ import android.view.MenuItem; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settingslib.core.AbstractPreferenceController; import com.android.wifitrackerlib.NetworkDetailsTracker; import com.android.wifitrackerlib.WifiEntry; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; Loading @@ -52,11 +57,22 @@ public class WifiNetworkDetailsFragment2Test { final String TEST_PREFERENCE_KEY = "TEST_PREFERENCE_KEY"; @Mock WifiEntry mWifiEntry; @Mock NetworkDetailsTracker mNetworkDetailsTracker; @Mock Menu mMenu; private WifiNetworkDetailsFragment2 mFragment; @Before public void setUp() { MockitoAnnotations.initMocks(this); doReturn(mWifiEntry).when(mNetworkDetailsTracker).getWifiEntry(); doReturn(true).when(mWifiEntry).isSaved(); mFragment = new WifiNetworkDetailsFragment2(); mFragment.mNetworkDetailsTracker = mNetworkDetailsTracker; } @Test Loading @@ -77,15 +93,23 @@ public class WifiNetworkDetailsFragment2Test { @Test public void onCreateOptionsMenu_shouldSetCorrectIcon() { final Menu menu = mock(Menu.class); final MenuItem menuItem = mock(MenuItem.class); doReturn(menuItem).when(menu).add(anyInt(), eq(Menu.FIRST), anyInt(), anyInt()); doReturn(menuItem).when(mMenu).add(anyInt(), eq(Menu.FIRST), anyInt(), anyInt()); mFragment.onCreateOptionsMenu(menu, mock(MenuInflater.class)); mFragment.onCreateOptionsMenu(mMenu, mock(MenuInflater.class)); verify(menuItem).setIcon(com.android.internal.R.drawable.ic_mode_edit); } @Test public void onCreateOptionsMenu_isNotSavedNetwork_shouldNotAddEditMenu() { doReturn(false).when(mWifiEntry).isSaved(); mFragment.onCreateOptionsMenu(mMenu, mock(MenuInflater.class)); verify(mMenu, never()).add(anyInt(), anyInt(), anyInt(), eq(R.string.wifi_modify)); } @Test public void refreshPreferences_controllerShouldUpdateStateAndDisplayPreference() { final FakeFragment fragment = spy(new FakeFragment()); Loading Loading
src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java +18 −4 Original line number Diff line number Diff line Loading @@ -75,7 +75,8 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements // Interval between initiating SavedNetworkTracker scans private static final long SCAN_INTERVAL_MILLIS = 10_000; private NetworkDetailsTracker mNetworkDetailsTracker; @VisibleForTesting NetworkDetailsTracker mNetworkDetailsTracker; private HandlerThread mWorkerThread; private WifiDetailPreferenceController2 mWifiDetailPreferenceController2; private List<WifiDialog2.WifiDialog2Listener> mWifiDialogListeners = new ArrayList<>(); Loading Loading @@ -125,9 +126,11 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { if (isEditable()) { MenuItem item = menu.add(0, Menu.FIRST, 0, R.string.wifi_modify); item.setIcon(com.android.internal.R.drawable.ic_mode_edit); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); } super.onCreateOptionsMenu(menu, inflater); } Loading Loading @@ -253,6 +256,17 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements getArguments().getString(KEY_CHOSEN_WIFIENTRY_KEY)); } private boolean isEditable() { if (mNetworkDetailsTracker == null) { return false; } final WifiEntry wifiEntry = mNetworkDetailsTracker.getWifiEntry(); if (wifiEntry == null) { return false; } return wifiEntry.isSaved(); } /** * API call for refreshing the preferences in this fragment. */ Loading
tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java +28 −4 Original line number Diff line number Diff line Loading @@ -24,9 +24,9 @@ import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.settings.SettingsEnums; import android.view.Menu; Loading @@ -36,12 +36,17 @@ import android.view.MenuItem; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settingslib.core.AbstractPreferenceController; import com.android.wifitrackerlib.NetworkDetailsTracker; import com.android.wifitrackerlib.WifiEntry; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; Loading @@ -52,11 +57,22 @@ public class WifiNetworkDetailsFragment2Test { final String TEST_PREFERENCE_KEY = "TEST_PREFERENCE_KEY"; @Mock WifiEntry mWifiEntry; @Mock NetworkDetailsTracker mNetworkDetailsTracker; @Mock Menu mMenu; private WifiNetworkDetailsFragment2 mFragment; @Before public void setUp() { MockitoAnnotations.initMocks(this); doReturn(mWifiEntry).when(mNetworkDetailsTracker).getWifiEntry(); doReturn(true).when(mWifiEntry).isSaved(); mFragment = new WifiNetworkDetailsFragment2(); mFragment.mNetworkDetailsTracker = mNetworkDetailsTracker; } @Test Loading @@ -77,15 +93,23 @@ public class WifiNetworkDetailsFragment2Test { @Test public void onCreateOptionsMenu_shouldSetCorrectIcon() { final Menu menu = mock(Menu.class); final MenuItem menuItem = mock(MenuItem.class); doReturn(menuItem).when(menu).add(anyInt(), eq(Menu.FIRST), anyInt(), anyInt()); doReturn(menuItem).when(mMenu).add(anyInt(), eq(Menu.FIRST), anyInt(), anyInt()); mFragment.onCreateOptionsMenu(menu, mock(MenuInflater.class)); mFragment.onCreateOptionsMenu(mMenu, mock(MenuInflater.class)); verify(menuItem).setIcon(com.android.internal.R.drawable.ic_mode_edit); } @Test public void onCreateOptionsMenu_isNotSavedNetwork_shouldNotAddEditMenu() { doReturn(false).when(mWifiEntry).isSaved(); mFragment.onCreateOptionsMenu(mMenu, mock(MenuInflater.class)); verify(mMenu, never()).add(anyInt(), anyInt(), anyInt(), eq(R.string.wifi_modify)); } @Test public void refreshPreferences_controllerShouldUpdateStateAndDisplayPreference() { final FakeFragment fragment = spy(new FakeFragment()); Loading