Merge "[GAR] Set Fix connectivity icon invisible when airplane mode is on" into sc-dev am: cd5722f8a1 am: 874beca5b8

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14675094

Change-Id: I33085d48e2f61187518ab110741b32efa0fac246
This commit is contained in:
Betty Chang
2021-05-25 06:33:52 +00:00
committed by Automerger Merge Worker
2 changed files with 27 additions and 3 deletions

View File

@@ -1168,9 +1168,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
MenuItem item = menu.add(0, MENU_FIX_CONNECTIVITY, 0, R.string.fix_connectivity);
item.setIcon(R.drawable.ic_repair_24dp);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
if (!mAirplaneModeEnabler.isAirplaneModeOn()) {
MenuItem item = menu.add(0, MENU_FIX_CONNECTIVITY, 0, R.string.fix_connectivity);
item.setIcon(R.drawable.ic_repair_24dp);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
super.onCreateOptionsMenu(menu, inflater);
}

View File

@@ -46,6 +46,7 @@ import android.os.UserManager;
import android.provider.Settings;
import android.util.FeatureFlagUtils;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -416,6 +417,27 @@ public class NetworkProviderSettingsTest {
return wifiDialog2;
}
@Test
public void onCreateOptionsMenu_airplanModeOn_fixConnectivityMenuInvisible() {
doReturn(true).when(mAirplaneModeEnabler).isAirplaneModeOn();
final Menu menu = mock(Menu.class);
mNetworkProviderSettings.onCreateOptionsMenu(menu, null /* inflater */);
verify(menu, never()).add(anyInt(), eq(NetworkProviderSettings.MENU_FIX_CONNECTIVITY),
anyInt(), eq(R.string.fix_connectivity));
}
@Test
public void onCreateOptionsMenu_airplanModeOff_fixConnectivityMenuVisible() {
doReturn(false).when(mAirplaneModeEnabler).isAirplaneModeOn();
final Menu menu = mock(Menu.class);
when(menu.add(anyInt(), anyInt(), anyInt(), anyInt())).thenReturn(mock(MenuItem.class));
mNetworkProviderSettings.onCreateOptionsMenu(menu, null /* inflater */);
verify(menu).add(anyInt(), eq(NetworkProviderSettings.MENU_FIX_CONNECTIVITY),
anyInt(), eq(R.string.fix_connectivity));
}
@Test
public void onOptionsItemSelected_fixConnectivity_triggerSubsystemRestart() {
doReturn(true).when(mConnectivitySubsystemsRecoveryManager).isRecoveryAvailable();