Merge "Update the WiFiInfo in the InternetTile when qsIcon is null" into tm-qpr-dev

This commit is contained in:
Ying Xu
2023-01-31 19:59:54 +00:00
committed by Android (Google) Code Review
2 changed files with 32 additions and 8 deletions

View File

@@ -255,17 +255,19 @@ public class InternetTile extends QSTileImpl<SignalState> {
Log.d(TAG, "setWifiIndicators: " + indicators);
}
mWifiInfo.mEnabled = indicators.enabled;
if (indicators.qsIcon == null) {
return;
}
mWifiInfo.mConnected = indicators.qsIcon.visible;
mWifiInfo.mWifiSignalIconId = indicators.qsIcon.icon;
mWifiInfo.mWifiSignalContentDescription = indicators.qsIcon.contentDescription;
mWifiInfo.mEnabled = indicators.enabled;
mWifiInfo.mSsid = indicators.description;
mWifiInfo.mIsTransient = indicators.isTransient;
mWifiInfo.mStatusLabel = indicators.statusLabel;
refreshState(mWifiInfo);
if (indicators.qsIcon != null) {
mWifiInfo.mConnected = indicators.qsIcon.visible;
mWifiInfo.mWifiSignalIconId = indicators.qsIcon.icon;
mWifiInfo.mWifiSignalContentDescription = indicators.qsIcon.contentDescription;
refreshState(mWifiInfo);
} else {
mWifiInfo.mConnected = false;
mWifiInfo.mWifiSignalIconId = 0;
mWifiInfo.mWifiSignalContentDescription = null;
}
}
@Override

View File

@@ -37,10 +37,12 @@ import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.qs.QSTileHost;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl;
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 com.android.systemui.statusbar.connectivity.WifiIndicators;
import org.junit.Before;
import org.junit.Test;
@@ -135,4 +137,24 @@ public class InternetTileTest extends SysuiTestCase {
assertThat(mTile.getState().secondaryLabel)
.isNotEqualTo(mContext.getString(R.string.status_bar_airplane));
}
@Test
public void setIsAirplaneMode_APM_enabled_after_wifi_disconnected() {
WifiIndicators wifiIndicators = new WifiIndicators(
/* enabled= */ true,
/* statusIcon= */ null,
/* qsIcon= */ null,
/* activityIn= */ false,
/* activityOut= */ false,
/* description= */ null,
/* isTransient= */ false,
/* statusLabel= */ null
);
mTile.mSignalCallback.setWifiIndicators(wifiIndicators);
IconState state = new IconState(true, 0, "");
mTile.mSignalCallback.setIsAirplaneMode(state);
mTestableLooper.processAllMessages();
assertThat(mTile.getState().icon).isEqualTo(
QSTileImpl.ResourceIcon.get(R.drawable.ic_qs_no_internet_unavailable));
}
}