Merge "Use mWifiInfo to refresh Internet Tile when APM is enabled." into tm-qpr-dev am: 2632266bff am: bf1f5fa544
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20654680 Change-Id: Id190c11f54ac5cdf7a3936e69a9b401d7efede94 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -333,7 +333,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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user