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

Commit b6f567db authored by Jason Monk's avatar Jason Monk Committed by Android (Google) Code Review
Browse files

Merge "Show data icon when appropriate." into mnc-dev

parents 86817200 33f8ae75
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ import android.net.NetworkCapabilities;

import com.android.systemui.statusbar.policy.NetworkController.IconState;

import java.util.BitSet;


public class EthernetSignalController extends
        SignalController<SignalController.State, SignalController.IconGroup> {
@@ -37,6 +39,12 @@ public class EthernetSignalController extends
                AccessibilityContentDescriptions.ETHERNET_CONNECTION_VALUES[0]);
    }

    @Override
    public void updateConnectivity(BitSet connectedTransports, BitSet validatedTransports) {
        mCurrentState.connected = connectedTransports.get(mTransportType);
        super.updateConnectivity(connectedTransports, validatedTransports);
    }

    @Override
    public void notifyListeners() {
        boolean ethernetVisible = mCurrentState.connected;
@@ -51,9 +59,4 @@ public class EthernetSignalController extends
    public SignalController.State cleanState() {
        return new SignalController.State();
    }

    public void setConnected(boolean connected) {
        mCurrentState.connected = connected;
        notifyListenersIfNecessary();
    }
}
+19 −17
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import com.android.systemui.statusbar.policy.NetworkController.IconState;
import com.android.systemui.statusbar.policy.NetworkControllerImpl.Config;

import java.io.PrintWriter;
import java.util.BitSet;
import java.util.Objects;


@@ -105,13 +106,13 @@ public class MobileSignalController extends SignalController<
        notifyListenersIfNecessary();
    }

    public void setInetCondition(int inetCondition, int inetConditionForNetwork) {
        // For mobile data, use general inet condition for phone signal indexing,
        // and network specific for data indexing (I think this might be a bug, but
        // keeping for now).
        // TODO: Update with explanation of why.
        mCurrentState.inetForNetwork = inetConditionForNetwork;
        setInetCondition(inetCondition);
    @Override
    public void updateConnectivity(BitSet connectedTransports, BitSet validatedTransports) {
        boolean isValidated = validatedTransports.get(mTransportType);
        mCurrentState.isDefault = connectedTransports.get(mTransportType);
        // Only show this as not having connectivity if we are default.
        mCurrentState.inetCondition = (isValidated || !mCurrentState.isDefault) ? 1 : 0;
        notifyListenersIfNecessary();
    }

    public void setCarrierNetworkChangeMode(boolean carrierNetworkChangeMode) {
@@ -195,9 +196,9 @@ public class MobileSignalController extends SignalController<
        String contentDescription = getStringIfExists(getContentDescription());
        String dataContentDescription = getStringIfExists(icons.mDataContentDescription);

        boolean showDataIcon = mCurrentState.dataConnected && mCurrentState.inetForNetwork != 0
        // Show icon in QS when we are connected or need to show roaming.
        boolean showDataIcon = mCurrentState.dataConnected
                || mCurrentState.iconGroup == TelephonyIcons.ROAMING;

        IconState statusIcon = new IconState(mCurrentState.enabled && !mCurrentState.airplaneMode,
                getCurrentIconId(), contentDescription);

@@ -206,7 +207,7 @@ public class MobileSignalController extends SignalController<
        String description = null;
        // Only send data sim callbacks to QS.
        if (mCurrentState.dataSim) {
            qsTypeIcon = showDataIcon ? icons.mQsDataType[mCurrentState.inetForNetwork] : 0;
            qsTypeIcon = showDataIcon ? icons.mQsDataType : 0;
            qsIcon = new IconState(mCurrentState.enabled
                    && !mCurrentState.isEmergency, getQsCurrentIconId(), contentDescription);
            description = mCurrentState.isEmergency ? null : mCurrentState.networkName;
@@ -217,6 +218,7 @@ public class MobileSignalController extends SignalController<
        boolean activityOut = mCurrentState.dataConnected
                        && !mCurrentState.carrierNetworkChangeMode
                        && mCurrentState.activityOut;
        showDataIcon &= mCurrentState.isDefault;
        int typeIcon = showDataIcon ? icons.mDataType : 0;
        mCallbackHandler.setMobileDataIndicators(statusIcon, qsIcon, getCurrentDarkIconId(),
                typeIcon, qsTypeIcon, activityIn, activityOut, dataContentDescription, description,
@@ -470,12 +472,12 @@ public class MobileSignalController extends SignalController<
        final int mDataContentDescription; // mContentDescriptionDataType
        final int mDataType;
        final boolean mIsWide;
        final int[] mQsDataType;
        final int mQsDataType;

        public MobileIconGroup(String name, int[][] sbIcons, int[][] qsIcons, int[] contentDesc,
                int sbNullState, int qsNullState, int sbDiscState, int qsDiscState,
                int discContentDesc, int dataContentDesc, int dataType, boolean isWide,
                int[] qsDataType) {
                int qsDataType) {
            this(name, sbIcons, sbIcons, qsIcons, contentDesc, sbNullState, qsNullState,
                    sbDiscState, sbDiscState, qsDiscState, discContentDesc, dataContentDesc,
                    dataType, isWide, qsDataType);
@@ -484,7 +486,7 @@ public class MobileSignalController extends SignalController<
        public MobileIconGroup(String name, int[][] sbIcons, int[][] sbDarkIcons, int[][] qsIcons,
                int[] contentDesc, int sbNullState, int qsNullState, int sbDiscState,
                int sbDarkDiscState, int qsDiscState, int discContentDesc, int dataContentDesc,
                int dataType, boolean isWide, int[] qsDataType) {
                int dataType, boolean isWide, int qsDataType) {
            super(name, sbIcons, sbDarkIcons, qsIcons, contentDesc, sbNullState, qsNullState,
                    sbDiscState, sbDarkDiscState, qsDiscState, discContentDesc);
            mDataContentDescription = dataContentDesc;
@@ -502,7 +504,7 @@ public class MobileSignalController extends SignalController<
        boolean isEmergency;
        boolean airplaneMode;
        boolean carrierNetworkChangeMode;
        int inetForNetwork;
        boolean isDefault;

        @Override
        public void copyFrom(State s) {
@@ -512,7 +514,7 @@ public class MobileSignalController extends SignalController<
            networkName = state.networkName;
            networkNameData = state.networkNameData;
            dataConnected = state.dataConnected;
            inetForNetwork = state.inetForNetwork;
            isDefault = state.isDefault;
            isEmergency = state.isEmergency;
            airplaneMode = state.airplaneMode;
            carrierNetworkChangeMode = state.carrierNetworkChangeMode;
@@ -526,7 +528,7 @@ public class MobileSignalController extends SignalController<
            builder.append("networkName=").append(networkName).append(',');
            builder.append("networkNameData=").append(networkNameData).append(',');
            builder.append("dataConnected=").append(dataConnected).append(',');
            builder.append("inetForNetwork=").append(inetForNetwork).append(',');
            builder.append("isDefault=").append(isDefault).append(',');
            builder.append("isEmergency=").append(isEmergency).append(',');
            builder.append("airplaneMode=").append(airplaneMode).append(',');
            builder.append("carrierNetworkChangeMode=").append(carrierNetworkChangeMode);
@@ -542,7 +544,7 @@ public class MobileSignalController extends SignalController<
                    && ((MobileState) o).isEmergency == isEmergency
                    && ((MobileState) o).airplaneMode == airplaneMode
                    && ((MobileState) o).carrierNetworkChangeMode == carrierNetworkChangeMode
                    && ((MobileState) o).inetForNetwork == inetForNetwork;
                    && ((MobileState) o).isDefault == isDefault;
        }
    }
}
+16 −15
Original line number Diff line number Diff line
@@ -538,17 +538,10 @@ public class NetworkControllerImpl extends BroadcastReceiver
    private void pushConnectivityToSignals() {
        // We want to update all the icons, all at once, for any condition change
        for (MobileSignalController mobileSignalController : mMobileSignalControllers.values()) {
            mobileSignalController.setInetCondition(
                    mInetCondition ? 1 : 0,
                    mValidatedTransports.get(mobileSignalController.getTransportType()) ? 1 : 0);
            mobileSignalController.updateConnectivity(mConnectedTransports, mValidatedTransports);
        }
        mWifiSignalController.setInetCondition(
                mValidatedTransports.get(mWifiSignalController.getTransportType()) ? 1 : 0);

        mEthernetSignalController.setConnected(
                mConnectedTransports.get(mEthernetSignalController.getTransportType()));
        mEthernetSignalController.setInetCondition(
                mValidatedTransports.get(mEthernetSignalController.getTransportType()) ? 1 : 0);
        mWifiSignalController.updateConnectivity(mConnectedTransports, mValidatedTransports);
        mEthernetSignalController.updateConnectivity(mConnectedTransports, mValidatedTransports);
    }

    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
@@ -581,7 +574,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
    }

    private boolean mDemoMode;
    private int mDemoInetCondition;
    private boolean mDemoInetCondition;
    private WifiSignalController.WifiState mDemoWifiState;

    @Override
@@ -590,7 +583,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
            if (DEBUG) Log.d(TAG, "Entering demo mode");
            unregisterListeners();
            mDemoMode = true;
            mDemoInetCondition = mInetCondition ? 1 : 0;
            mDemoInetCondition = mInetCondition;
            mDemoWifiState = mWifiSignalController.getState();
        } else if (mDemoMode && command.equals(COMMAND_EXIT)) {
            if (DEBUG) Log.d(TAG, "Exiting demo mode");
@@ -614,10 +607,18 @@ public class NetworkControllerImpl extends BroadcastReceiver
            }
            String fully = args.getString("fully");
            if (fully != null) {
                mDemoInetCondition = Boolean.parseBoolean(fully) ? 1 : 0;
                mWifiSignalController.setInetCondition(mDemoInetCondition);
                mDemoInetCondition = Boolean.parseBoolean(fully);
                BitSet connected = new BitSet();

                if (mDemoInetCondition) {
                    connected.set(mWifiSignalController.mTransportType);
                }
                mWifiSignalController.updateConnectivity(connected, connected);
                for (MobileSignalController controller : mMobileSignalControllers.values()) {
                    controller.setInetCondition(mDemoInetCondition, mDemoInetCondition);
                    if (mDemoInetCondition) {
                        connected.set(controller.mTransportType);
                    }
                    controller.updateConnectivity(connected, connected);
                }
            }
            String wifi = args.getString("wifi");
+3 −6
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.text.format.DateFormat;
import android.util.Log;

import java.io.PrintWriter;
import java.util.BitSet;


/**
@@ -75,12 +76,8 @@ public abstract class SignalController<T extends SignalController.State,
        return mCurrentState;
    }

    public int getTransportType() {
        return mTransportType;
    }

    public void setInetCondition(int inetCondition) {
        mCurrentState.inetCondition = inetCondition;
    public void updateConnectivity(BitSet connectedTransports, BitSet validatedTransports) {
        mCurrentState.inetCondition = validatedTransports.get(mTransportType) ? 1 : 0;
        notifyListenersIfNecessary();
    }

+10 −34
Original line number Diff line number Diff line
@@ -104,10 +104,7 @@ class TelephonyIcons {
          R.drawable.ic_qs_signal_carrier_network_change_animation }
    };

    static final int[] QS_DATA_R = {
        R.drawable.ic_qs_signal_r,
        R.drawable.ic_qs_signal_r
    };
    static final int QS_DATA_R = R.drawable.ic_qs_signal_r;

    //***** Data connection icons

@@ -123,10 +120,7 @@ class TelephonyIcons {
              R.drawable.stat_sys_data_fully_connected_g }
        };

    static final int[] QS_DATA_G = {
        R.drawable.ic_qs_signal_g,
        R.drawable.ic_qs_signal_g
    };
    static final int QS_DATA_G = R.drawable.ic_qs_signal_g;

    static final int[][] DATA_3G = {
            { R.drawable.stat_sys_data_fully_connected_3g,
@@ -139,10 +133,7 @@ class TelephonyIcons {
              R.drawable.stat_sys_data_fully_connected_3g }
        };

    static final int[] QS_DATA_3G = {
        R.drawable.ic_qs_signal_3g,
        R.drawable.ic_qs_signal_3g
    };
    static final int QS_DATA_3G = R.drawable.ic_qs_signal_3g;

    static final int[][] DATA_E = {
            { R.drawable.stat_sys_data_fully_connected_e,
@@ -155,10 +146,7 @@ class TelephonyIcons {
              R.drawable.stat_sys_data_fully_connected_e }
        };

    static final int[] QS_DATA_E = {
        R.drawable.ic_qs_signal_e,
        R.drawable.ic_qs_signal_e
    };
    static final int QS_DATA_E = R.drawable.ic_qs_signal_e;

    //3.5G
    static final int[][] DATA_H = {
@@ -172,10 +160,7 @@ class TelephonyIcons {
              R.drawable.stat_sys_data_fully_connected_h }
    };

    static final int[] QS_DATA_H = {
                R.drawable.ic_qs_signal_h,
                R.drawable.ic_qs_signal_h
    };
    static final int QS_DATA_H = R.drawable.ic_qs_signal_h;

    //CDMA
    // Use 3G icons for EVDO data and 1x icons for 1XRTT data
@@ -190,10 +175,7 @@ class TelephonyIcons {
              R.drawable.stat_sys_data_fully_connected_1x }
            };

    static final int[] QS_DATA_1X = {
        R.drawable.ic_qs_signal_1x,
        R.drawable.ic_qs_signal_1x
    };
    static final int QS_DATA_1X = R.drawable.ic_qs_signal_1x;

    // LTE and eHRPD
    static final int[][] DATA_4G = {
@@ -207,10 +189,7 @@ class TelephonyIcons {
              R.drawable.stat_sys_data_fully_connected_4g }
        };

    static final int[] QS_DATA_4G = {
        R.drawable.ic_qs_signal_4g,
        R.drawable.ic_qs_signal_4g
    };
    static final int QS_DATA_4G = R.drawable.ic_qs_signal_4g;

    // LTE branded "LTE"
    static final int[][] DATA_LTE = {
@@ -224,10 +203,7 @@ class TelephonyIcons {
                    R.drawable.stat_sys_data_fully_connected_lte }
    };

    static final int[] QS_DATA_LTE = {
        R.drawable.ic_qs_signal_lte,
        R.drawable.ic_qs_signal_lte
    };
    static final int QS_DATA_LTE = R.drawable.ic_qs_signal_lte;

    static final int FLIGHT_MODE_ICON = R.drawable.stat_sys_airplane_mode;
    static final int ROAMING_ICON = R.drawable.stat_sys_data_fully_connected_roam;
@@ -264,7 +240,7 @@ class TelephonyIcons {
            R.string.accessibility_carrier_network_change_mode,
            0,
            false,
            null
            0
            );

    static final MobileIconGroup THREE_G = new MobileIconGroup(
@@ -291,7 +267,7 @@ class TelephonyIcons {
            TelephonyIcons.TELEPHONY_NO_NETWORK,
            TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
            0, 0, false, new int[2]
            0, 0, false, 0
            );

    static final MobileIconGroup E = new MobileIconGroup(
Loading