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

Commit 3fd5dd1f authored by yinxu's avatar yinxu
Browse files

Define wrapper classes for WiFi and Mobile indicators

Bug: 176428921
Test: Unit tests
Change-Id: I9271eef66a903122bbc0ec0330ec533295a39567
parent 77501ebc
Loading
Loading
Loading
Loading
+9 −13
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators;

import java.util.function.Consumer;

@@ -74,30 +75,25 @@ public class QSCarrierGroupController {
    private final NetworkController.SignalCallback mSignalCallback =
            new NetworkController.SignalCallback() {
                @Override
                public void setMobileDataIndicators(NetworkController.IconState statusIcon,
                        NetworkController.IconState qsIcon, int statusType, int qsType,
                        boolean activityIn, boolean activityOut,
                        CharSequence typeContentDescription,
                        CharSequence typeContentDescriptionHtml, CharSequence description,
                        boolean isWide, int subId, boolean roaming, boolean showTriangle) {
                public void setMobileDataIndicators(MobileDataIndicators indicators) {
                    if (mProviderModel) {
                        return;
                    }
                    int slotIndex = getSlotIndex(subId);
                    int slotIndex = getSlotIndex(indicators.subId);
                    if (slotIndex >= SIM_SLOTS) {
                        Log.w(TAG, "setMobileDataIndicators - slot: " + slotIndex);
                        return;
                    }
                    if (slotIndex == SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
                        Log.e(TAG, "Invalid SIM slot index for subscription: " + subId);
                        Log.e(TAG, "Invalid SIM slot index for subscription: " + indicators.subId);
                        return;
                    }
                    mInfos[slotIndex] = new CellSignalState(
                            statusIcon.visible,
                            statusIcon.icon,
                            statusIcon.contentDescription,
                            typeContentDescription.toString(),
                            roaming
                            indicators.statusIcon.visible,
                            indicators.statusIcon.icon,
                            indicators.statusIcon.contentDescription,
                            indicators.typeContentDescription.toString(),
                            indicators.roaming
                    );
                    mMainHandler.obtainMessage(H.MSG_UPDATE_STATE).sendToTarget();
                }
+4 −6
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ import com.android.systemui.statusbar.policy.CastController.CastDevice;
import com.android.systemui.statusbar.policy.HotspotController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators;

import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -269,13 +270,10 @@ public class CastTile extends QSTileImpl<BooleanState> {
    private final NetworkController.SignalCallback mSignalCallback =
            new NetworkController.SignalCallback() {
                @Override
                public void setWifiIndicators(boolean enabled,
                        NetworkController.IconState statusIcon,
                        NetworkController.IconState qsIcon, boolean activityIn, boolean activityOut,
                        String description, boolean isTransient, String statusLabel) {
                public void setWifiIndicators(WifiIndicators indicators) {
                    // statusIcon.visible has the connected status information
                    boolean enabledAndConnected =
                            enabled && (qsIcon == null ? false : qsIcon.visible);
                    boolean enabledAndConnected = indicators.enabled
                            && (indicators.qsIcon == null ? false : indicators.qsIcon.visible);
                    if (enabledAndConnected != mWifiConnected) {
                        mWifiConnected = enabledAndConnected;
                        // Hotspot is not connected, so changes here should update
+8 −11
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.phone.SystemUIDialog;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;

import javax.inject.Inject;
@@ -264,21 +265,17 @@ public class CellularTile extends QSTileImpl<SignalState> {
        private final CallbackInfo mInfo = new CallbackInfo();

        @Override
        public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType,
                int qsType, boolean activityIn, boolean activityOut,
                CharSequence typeContentDescription,
                CharSequence typeContentDescriptionHtml, CharSequence description,
                boolean isWide, int subId, boolean roaming, boolean showTriangle) {
            if (qsIcon == null) {
        public void setMobileDataIndicators(MobileDataIndicators indicators) {
            if (indicators.qsIcon == null) {
                // Not data sim, don't display.
                return;
            }
            mInfo.dataSubscriptionName = mController.getMobileDataNetworkName();
            mInfo.dataContentDescription =
                    (description != null) ? typeContentDescriptionHtml : null;
            mInfo.activityIn = activityIn;
            mInfo.activityOut = activityOut;
            mInfo.roaming = roaming;
            mInfo.dataContentDescription = indicators.description != null
                    ? indicators.typeContentDescriptionHtml : null;
            mInfo.activityIn = indicators.activityIn;
            mInfo.activityOut = indicators.activityOut;
            mInfo.roaming = indicators.roaming;
            mInfo.multipleSubs = mController.getNumberSubscriptions() > 1;
            refreshState(mInfo);
        }
+27 −51
Original line number Diff line number Diff line
@@ -51,7 +51,9 @@ import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataIndicators;
import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
import com.android.systemui.statusbar.policy.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.policy.WifiIcons;

import java.io.FileDescriptor;
@@ -234,70 +236,44 @@ public class InternetTile extends QSTileImpl<SignalState> {


        @Override
        public void setWifiIndicators(boolean enabled, IconState statusIcon, IconState qsIcon,
                boolean activityIn, boolean activityOut, String description, boolean isTransient,
                String statusLabel) {
        public void setWifiIndicators(WifiIndicators indicators) {
            if (DEBUG) {
                Log.d(TAG, "setWifiIndicators: "
                        + "enabled = " + enabled + ","
                        + "statusIcon = " + (statusIcon == null ? "" : statusIcon.toString()) + ","
                        + "qsIcon = " + (qsIcon == null ? "" : qsIcon.toString()) + ","
                        + "activityIn = " + activityIn + ","
                        + "activityOut = " + activityOut + ","
                        + "description = " + description + ","
                        + "isTransient = " + isTransient + ","
                        + "statusLabel = " + statusLabel);
            }
            mWifiInfo.mEnabled = enabled;
            if (qsIcon == null) {
                Log.d(TAG, "setWifiIndicators: " + indicators);
            }
            mWifiInfo.mEnabled = indicators.enabled;
            if (indicators.qsIcon == null) {
                return;
            }
            mWifiInfo.mConnected = qsIcon.visible;
            mWifiInfo.mWifiSignalIconId = qsIcon.icon;
            mWifiInfo.mWifiSignalContentDescription = qsIcon.contentDescription;
            mWifiInfo.mSsid = description;
            mWifiInfo.mActivityIn = activityIn;
            mWifiInfo.mActivityOut = activityOut;
            mWifiInfo.mIsTransient = isTransient;
            mWifiInfo.mStatusLabel = statusLabel;
            mWifiInfo.mConnected = indicators.qsIcon.visible;
            mWifiInfo.mWifiSignalIconId = indicators.qsIcon.icon;
            mWifiInfo.mWifiSignalContentDescription = indicators.qsIcon.contentDescription;
            mWifiInfo.mEnabled = indicators.enabled;
            mWifiInfo.mSsid = indicators.description;
            mWifiInfo.mActivityIn = indicators.activityIn;
            mWifiInfo.mActivityOut = indicators.activityOut;
            mWifiInfo.mIsTransient = indicators.isTransient;
            mWifiInfo.mStatusLabel = indicators.statusLabel;
            refreshState(mWifiInfo);
        }

        @Override
        public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType,
                int qsType, boolean activityIn, boolean activityOut,
                CharSequence typeContentDescription,
                CharSequence typeContentDescriptionHtml, CharSequence description,
                boolean isWide, int subId, boolean roaming, boolean showTriangle) {
        public void setMobileDataIndicators(MobileDataIndicators indicators) {
            if (DEBUG) {
                Log.d(TAG, "setMobileDataIndicators: "
                        + "statusIcon = " + (statusIcon == null ? "" :  statusIcon.toString()) + ","
                        + "qsIcon = " + (qsIcon == null ? "" : qsIcon.toString()) + ","
                        + "statusType = " + statusType + ","
                        + "qsType = " + qsType + ","
                        + "activityIn = " + activityIn + ","
                        + "activityOut = " + activityOut + ","
                        + "typeContentDescription = " + typeContentDescription + ","
                        + "typeContentDescriptionHtml = " + typeContentDescriptionHtml + ","
                        + "description = " + description + ","
                        + "isWide = " + isWide + ","
                        + "subId = " + subId + ","
                        + "roaming = " + roaming + ","
                        + "showTriangle = " + showTriangle);
            }
            if (qsIcon == null) {
                Log.d(TAG, "setMobileDataIndicators: " + indicators);
            }
            if (indicators.qsIcon == null) {
                // Not data sim, don't display.
                return;
            }
            mCellularInfo.mDataSubscriptionName =
                    description == null ? mController.getMobileDataNetworkName() : description;
            mCellularInfo.mDataContentDescription =
                    (description != null) ? typeContentDescriptionHtml : null;
            mCellularInfo.mMobileSignalIconId = qsIcon.icon;
            mCellularInfo.mQsTypeIcon = qsType;
            mCellularInfo.mActivityIn = activityIn;
            mCellularInfo.mActivityOut = activityOut;
            mCellularInfo.mRoaming = roaming;
            mCellularInfo.mDataSubscriptionName = indicators.description == null
                    ? mController.getMobileDataNetworkName() : indicators.description;
            mCellularInfo.mDataContentDescription = indicators.description != null
                    ? indicators.typeContentDescriptionHtml : null;
            mCellularInfo.mMobileSignalIconId = indicators.qsIcon.icon;
            mCellularInfo.mQsTypeIcon = indicators.qsType;
            mCellularInfo.mActivityIn = indicators.activityIn;
            mCellularInfo.mActivityOut = indicators.activityOut;
            mCellularInfo.mRoaming = indicators.roaming;
            mCellularInfo.mMultipleSubs = mController.getNumberSubscriptions() > 1;
            refreshState(mCellularInfo);
        }
+13 −15
Original line number Diff line number Diff line
@@ -51,8 +51,8 @@ import com.android.systemui.qs.tileimpl.QSIconViewImpl;
import com.android.systemui.qs.tileimpl.QSTileImpl;
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.NetworkController.WifiIndicators;
import com.android.systemui.statusbar.policy.WifiIcons;
import com.android.wifitrackerlib.WifiEntry;

@@ -303,22 +303,20 @@ public class WifiTile extends QSTileImpl<SignalState> {
        final CallbackInfo mInfo = new CallbackInfo();

        @Override
        public void setWifiIndicators(boolean enabled, IconState statusIcon, IconState qsIcon,
                boolean activityIn, boolean activityOut, String description, boolean isTransient,
                String statusLabel) {
            if (DEBUG) Log.d(TAG, "onWifiSignalChanged enabled=" + enabled);
            if (qsIcon == null) {
        public void setWifiIndicators(WifiIndicators indicators) {
            if (DEBUG) Log.d(TAG, "onWifiSignalChanged enabled=" + indicators.enabled);
            if (indicators.qsIcon == null) {
                return;
            }
            mInfo.enabled = enabled;
            mInfo.connected = qsIcon.visible;
            mInfo.wifiSignalIconId = qsIcon.icon;
            mInfo.ssid = description;
            mInfo.activityIn = activityIn;
            mInfo.activityOut = activityOut;
            mInfo.wifiSignalContentDescription = qsIcon.contentDescription;
            mInfo.isTransient = isTransient;
            mInfo.statusLabel = statusLabel;
            mInfo.enabled = indicators.enabled;
            mInfo.connected = indicators.qsIcon.visible;
            mInfo.wifiSignalIconId = indicators.qsIcon.icon;
            mInfo.ssid = indicators.description;
            mInfo.activityIn = indicators.activityIn;
            mInfo.activityOut = indicators.activityOut;
            mInfo.wifiSignalContentDescription = indicators.qsIcon.contentDescription;
            mInfo.isTransient = indicators.isTransient;
            mInfo.statusLabel = indicators.statusLabel;
            if (isShowingDetail()) {
                mDetailAdapter.updateItems();
            }
Loading