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

Commit b370a661 authored by Ying Xu's avatar Ying Xu Committed by Android (Google) Code Review
Browse files

Merge "Define wrapper classes for WiFi and Mobile indicators" into sc-dev

parents c8fa14ed 3fd5dd1f
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