Loading packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java +8 −1 Original line number Diff line number Diff line Loading @@ -329,7 +329,14 @@ public class InternetTile extends QSTileImpl<SignalState> { mCellularInfo.mAirplaneModeEnabled = icon.visible; mWifiInfo.mAirplaneModeEnabled = icon.visible; if (!mSignalCallback.mEthernetInfo.mConnected) { if (mWifiInfo.mEnabled && (mWifiInfo.mWifiSignalIconId > 0) // Always use mWifiInfo to refresh the Internet Tile if airplane mode is enabled, // because Internet Tile will show different information depending on whether WiFi // is enabled or not. if (mWifiInfo.mAirplaneModeEnabled) { refreshState(mWifiInfo); // If airplane mode is disabled, we will use mWifiInfo to refresh the Internet Tile // if WiFi is currently connected to avoid any icon flickering. } else if (mWifiInfo.mEnabled && (mWifiInfo.mWifiSignalIconId > 0) && (mWifiInfo.mSsid != null)) { refreshState(mWifiInfo); } else { Loading packages/SystemUI/tests/src/com/android/systemui/qs/tiles/InternetTileTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static org.mockito.Mockito.when; import android.os.Handler; import android.service.quicksettings.Tile; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; Loading @@ -38,6 +39,7 @@ import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tiles.dialog.InternetDialogFactory; import com.android.systemui.statusbar.connectivity.AccessPointController; import com.android.systemui.statusbar.connectivity.IconState; import com.android.systemui.statusbar.connectivity.NetworkController; import org.junit.Before; Loading Loading @@ -113,4 +115,24 @@ public class InternetTileTest extends SysuiTestCase { .isNotEqualTo(mContext.getString(R.string.quick_settings_networks_available)); assertThat(mTile.getLastTileState()).isEqualTo(-1); } @Test public void setIsAirplaneMode_APM_enabled_wifi_disabled() { IconState state = new IconState(true, 0, ""); mTile.mSignalCallback.setIsAirplaneMode(state); mTestableLooper.processAllMessages(); assertThat(mTile.getState().state).isEqualTo(Tile.STATE_INACTIVE); assertThat(mTile.getState().secondaryLabel) .isEqualTo(mContext.getString(R.string.status_bar_airplane)); } @Test public void setIsAirplaneMode_APM_enabled_wifi_enabled() { IconState state = new IconState(false, 0, ""); mTile.mSignalCallback.setIsAirplaneMode(state); mTestableLooper.processAllMessages(); assertThat(mTile.getState().state).isEqualTo(Tile.STATE_ACTIVE); assertThat(mTile.getState().secondaryLabel) .isNotEqualTo(mContext.getString(R.string.status_bar_airplane)); } } Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/InternetTile.java +8 −1 Original line number Diff line number Diff line Loading @@ -329,7 +329,14 @@ public class InternetTile extends QSTileImpl<SignalState> { mCellularInfo.mAirplaneModeEnabled = icon.visible; mWifiInfo.mAirplaneModeEnabled = icon.visible; if (!mSignalCallback.mEthernetInfo.mConnected) { if (mWifiInfo.mEnabled && (mWifiInfo.mWifiSignalIconId > 0) // Always use mWifiInfo to refresh the Internet Tile if airplane mode is enabled, // because Internet Tile will show different information depending on whether WiFi // is enabled or not. if (mWifiInfo.mAirplaneModeEnabled) { refreshState(mWifiInfo); // If airplane mode is disabled, we will use mWifiInfo to refresh the Internet Tile // if WiFi is currently connected to avoid any icon flickering. } else if (mWifiInfo.mEnabled && (mWifiInfo.mWifiSignalIconId > 0) && (mWifiInfo.mSsid != null)) { refreshState(mWifiInfo); } else { Loading
packages/SystemUI/tests/src/com/android/systemui/qs/tiles/InternetTileTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static org.mockito.Mockito.when; import android.os.Handler; import android.service.quicksettings.Tile; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; Loading @@ -38,6 +39,7 @@ import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tiles.dialog.InternetDialogFactory; import com.android.systemui.statusbar.connectivity.AccessPointController; import com.android.systemui.statusbar.connectivity.IconState; import com.android.systemui.statusbar.connectivity.NetworkController; import org.junit.Before; Loading Loading @@ -113,4 +115,24 @@ public class InternetTileTest extends SysuiTestCase { .isNotEqualTo(mContext.getString(R.string.quick_settings_networks_available)); assertThat(mTile.getLastTileState()).isEqualTo(-1); } @Test public void setIsAirplaneMode_APM_enabled_wifi_disabled() { IconState state = new IconState(true, 0, ""); mTile.mSignalCallback.setIsAirplaneMode(state); mTestableLooper.processAllMessages(); assertThat(mTile.getState().state).isEqualTo(Tile.STATE_INACTIVE); assertThat(mTile.getState().secondaryLabel) .isEqualTo(mContext.getString(R.string.status_bar_airplane)); } @Test public void setIsAirplaneMode_APM_enabled_wifi_enabled() { IconState state = new IconState(false, 0, ""); mTile.mSignalCallback.setIsAirplaneMode(state); mTestableLooper.processAllMessages(); assertThat(mTile.getState().state).isEqualTo(Tile.STATE_ACTIVE); assertThat(mTile.getState().secondaryLabel) .isNotEqualTo(mContext.getString(R.string.status_bar_airplane)); } }