Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f7f015e2 authored by changbetty's avatar changbetty
Browse files

[GAR] Set Fix connectivity icon invisible when airplane mode is on

Bug: 179117999
Test: manual test
      make RunSettingsRoboTests
      ROBOTEST_FILTER=NetworkProviderSettingsTest
Change-Id: I2c37f22c936c3409f5db819b7c945bc81c07ae60
parent b769cf80
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1168,9 +1168,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        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);
    }

+22 −0
Original line number Diff line number Diff line
@@ -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();