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

Commit 3260194f authored by Jason Monk's avatar Jason Monk Committed by Android Git Automerger
Browse files

am 1df7e135: am 41cfd3f8: Merge "Fix blank tiles on QS rotate" into mnc-dev

* commit '1df7e135':
  Fix blank tiles on QS rotate
parents f91bc870 1df7e135
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@ public class CellularTile extends QSTile<QSTile.SignalState> {
    private final MobileDataController mDataController;
    private final CellularDetailAdapter mDetailAdapter;

    private final CellSignalCallback mSignalCallback = new CellSignalCallback();

    public CellularTile(Host host) {
        super(host);
        mController = host.getNetworkController();
@@ -90,8 +92,10 @@ public class CellularTile extends QSTile<QSTile.SignalState> {
    protected void handleUpdateState(SignalState state, Object arg) {
        state.visible = mController.hasMobileDataFeature();
        if (!state.visible) return;
        final CallbackInfo cb = (CallbackInfo) arg;
        if (cb == null) return;
        CallbackInfo cb = (CallbackInfo) arg;
        if (cb == null) {
            cb = mSignalCallback.mInfo;
        }

        final Resources r = mContext.getResources();
        final int iconId = cb.noSim ? R.drawable.ic_qs_no_sim
@@ -152,7 +156,7 @@ public class CellularTile extends QSTile<QSTile.SignalState> {
        boolean isDataTypeIconWide;
    }

    private final SignalCallback mSignalCallback = new SignalCallbackAdapter() {
    private final class CellSignalCallback extends SignalCallbackAdapter {
        private final CallbackInfo mInfo = new CallbackInfo();
        @Override
        public void setWifiIndicators(boolean enabled, IconState statusIcon, IconState qsIcon,
+12 −2
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@ public class IntentTile extends QSTile<QSTile.State> {
    private int mCurrentUserId;
    private String mIntentPackage;

    private Intent mLastIntent;

    private IntentTile(Host host, String action) {
        super(host);
        mContext.registerReceiver(mReceiver, new IntentFilter(action));
@@ -112,8 +114,16 @@ public class IntentTile extends QSTile<QSTile.State> {

    @Override
    protected void handleUpdateState(State state, Object arg) {
        if (!(arg instanceof Intent)) return;
        final Intent intent = (Intent) arg;
        Intent intent = (Intent) arg;
        if (intent == null) {
            if (mLastIntent == null) {
                return;
            }
            // No intent but need to refresh state, just use the last one.
            intent = mLastIntent;
        }
        // Save the last one in case we need it later.
        mLastIntent = intent;
        state.visible = intent.getBooleanExtra("visible", true);
        state.contentDescription = intent.getStringExtra("contentDescription");
        state.label = intent.getStringExtra("label");
+16 −12
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ import com.android.systemui.qs.SignalTileView;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController;
import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.SignalCallbackAdapter;

import java.util.List;
@@ -49,6 +48,8 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
    private final WifiDetailAdapter mDetailAdapter;
    private final QSTile.SignalState mStateBeforeClick = newTileState();

    private final WifiSignalCallback mSignalCallback = new WifiSignalCallback();

    public WifiTile(Host host) {
        super(host);
        mController = host.getNetworkController();
@@ -118,8 +119,10 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
    protected void handleUpdateState(SignalState state, Object arg) {
        state.visible = true;
        if (DEBUG) Log.d(TAG, "handleUpdateState arg=" + arg);
        if (arg == null) return;
        CallbackInfo cb = (CallbackInfo) arg;
        if (cb == null) {
            cb = mSignalCallback.mInfo;
        }

        boolean wifiConnected = cb.enabled && (cb.wifiSignalIconId > 0) && (cb.enabledDesc != null);
        boolean wifiNotConnected = (cb.wifiSignalIconId > 0) && (cb.enabledDesc == null);
@@ -213,20 +216,21 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
        }
    }

    private final SignalCallback mSignalCallback = new SignalCallbackAdapter() {
    private final class WifiSignalCallback extends SignalCallbackAdapter {
        final CallbackInfo mInfo = new CallbackInfo();

        @Override
        public void setWifiIndicators(boolean enabled, IconState statusIcon, IconState qsIcon,
                boolean activityIn, boolean activityOut, String description) {
            if (DEBUG) Log.d(TAG, "onWifiSignalChanged enabled=" + enabled);
            final CallbackInfo info = new CallbackInfo();
            info.enabled = enabled;
            info.connected = qsIcon.visible;
            info.wifiSignalIconId = qsIcon.icon;
            info.enabledDesc = description;
            info.activityIn = activityIn;
            info.activityOut = activityOut;
            info.wifiSignalContentDescription = qsIcon.contentDescription;
            refreshState(info);
            mInfo.enabled = enabled;
            mInfo.connected = qsIcon.visible;
            mInfo.wifiSignalIconId = qsIcon.icon;
            mInfo.enabledDesc = description;
            mInfo.activityIn = activityIn;
            mInfo.activityOut = activityOut;
            mInfo.wifiSignalContentDescription = qsIcon.contentDescription;
            refreshState(mInfo);
        }
    };