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

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

Merge "SysUI: Refactor the NetworkControllerImpl" into lmp-mr1-dev

parents 800bf3ae d2263cd9
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -29,7 +29,8 @@ import com.android.systemui.qs.QSTile;
import com.android.systemui.qs.QSTileView;
import com.android.systemui.qs.SignalTileView;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.DataUsageInfo;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataController;
import com.android.systemui.statusbar.policy.NetworkController.MobileDataController.DataUsageInfo;
import com.android.systemui.statusbar.policy.NetworkController.NetworkSignalChangedCallback;

/** Quick settings tile: Cellular **/
@@ -38,11 +39,13 @@ public class CellularTile extends QSTile<QSTile.SignalState> {
            "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity"));

    private final NetworkController mController;
    private final MobileDataController mDataController;
    private final CellularDetailAdapter mDetailAdapter;

    public CellularTile(Host host) {
        super(host);
        mController = host.getNetworkController();
        mDataController = mController.getMobileDataController();
        mDetailAdapter = new CellularDetailAdapter();
    }

@@ -72,7 +75,7 @@ public class CellularTile extends QSTile<QSTile.SignalState> {

    @Override
    protected void handleClick() {
        if (mController.isMobileDataSupported()) {
        if (mDataController.isMobileDataSupported()) {
            showDetail(true);
        } else {
            mHost.startSettingsActivity(CELLULAR_SETTINGS);
@@ -199,7 +202,8 @@ public class CellularTile extends QSTile<QSTile.SignalState> {

        @Override
        public Boolean getToggleState() {
            return mController.isMobileDataSupported() ? mController.isMobileDataEnabled() : null;
            return mDataController.isMobileDataSupported()
                    ? mDataController.isMobileDataEnabled() : null;
        }

        @Override
@@ -209,7 +213,7 @@ public class CellularTile extends QSTile<QSTile.SignalState> {

        @Override
        public void setToggleState(boolean state) {
            mController.setMobileDataEnabled(state);
            mDataController.setMobileDataEnabled(state);
        }

        @Override
@@ -217,7 +221,7 @@ public class CellularTile extends QSTile<QSTile.SignalState> {
            final DataUsageDetailView v = (DataUsageDetailView) (convertView != null
                    ? convertView
                    : LayoutInflater.from(mContext).inflate(R.layout.data_usage, parent, false));
            final DataUsageInfo info = mController.getDataUsageInfo();
            final DataUsageInfo info = mDataController.getDataUsageInfo();
            if (info == null) return v;
            v.bind(info);
            return v;
+1 −2
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -61,7 +60,7 @@ public class DataUsageDetailView extends LinearLayout {
                R.dimen.qs_data_usage_text_size);
    }

    public void bind(NetworkController.DataUsageInfo info) {
    public void bind(NetworkController.MobileDataController.DataUsageInfo info) {
        final Resources res = mContext.getResources();
        final int titleId;
        final long bytes;
+10 −7
Original line number Diff line number Diff line
@@ -31,7 +31,8 @@ import com.android.systemui.qs.QSTile;
import com.android.systemui.qs.QSTileView;
import com.android.systemui.qs.SignalTileView;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPoint;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController;
import com.android.systemui.statusbar.policy.NetworkController.AccessPointController.AccessPoint;
import com.android.systemui.statusbar.policy.NetworkController.NetworkSignalChangedCallback;

/** Quick settings tile: Wifi **/
@@ -39,12 +40,14 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
    private static final Intent WIFI_SETTINGS = new Intent(Settings.ACTION_WIFI_SETTINGS);

    private final NetworkController mController;
    private final AccessPointController mWifiController;
    private final WifiDetailAdapter mDetailAdapter;
    private final QSTile.SignalState mStateBeforeClick = newTileState();

    public WifiTile(Host host) {
        super(host);
        mController = host.getNetworkController();
        mWifiController = mController.getAccessPointController();
        mDetailAdapter = new WifiDetailAdapter();
    }

@@ -62,10 +65,10 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
    public void setListening(boolean listening) {
        if (listening) {
            mController.addNetworkSignalChangedCallback(mCallback);
            mController.addAccessPointCallback(mDetailAdapter);
            mWifiController.addAccessPointCallback(mDetailAdapter);
        } else {
            mController.removeNetworkSignalChangedCallback(mCallback);
            mController.removeAccessPointCallback(mDetailAdapter);
            mWifiController.removeAccessPointCallback(mDetailAdapter);
        }
    }

@@ -87,7 +90,7 @@ public class WifiTile extends QSTile<QSTile.SignalState> {

    @Override
    protected void handleSecondaryClick() {
        if (!mController.canConfigWifi()) {
        if (!mWifiController.canConfigWifi()) {
            mHost.startSettingsActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
            return;
        }
@@ -231,7 +234,7 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
    };

    private final class WifiDetailAdapter implements DetailAdapter,
            NetworkController.AccessPointCallback, QSDetailItems.Callback {
            NetworkController.AccessPointController.AccessPointCallback, QSDetailItems.Callback {

        private QSDetailItems mItems;
        private AccessPoint[] mAccessPoints;
@@ -261,7 +264,7 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
        public View createDetailView(Context context, View convertView, ViewGroup parent) {
            if (DEBUG) Log.d(TAG, "createDetailView convertView=" + (convertView != null));
            mAccessPoints = null;
            mController.scanForAccessPoints();
            mWifiController.scanForAccessPoints();
            fireScanStateChanged(true);
            mItems = QSDetailItems.convertOrInflate(context, convertView, parent);
            mItems.setTagSuffix("Wifi");
@@ -287,7 +290,7 @@ public class WifiTile extends QSTile<QSTile.SignalState> {
            if (item == null || item.tag == null) return;
            final AccessPoint ap = (AccessPoint) item.tag;
            if (!ap.isConnected) {
                if (mController.connect(ap)) {
                if (mWifiController.connect(ap)) {
                    mHost.collapsePanels();
                }
            }
+5 −1
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ public class SignalClusterView
    private int mMobileStrengthId = 0, mMobileTypeId = 0;
    private boolean mIsAirplaneMode = false;
    private int mAirplaneIconId = 0;
    private int mAirplaneContentDescription;
    private String mWifiDescription, mMobileDescription, mMobileTypeDescription;
    private boolean mIsMobileTypeIconWide;

@@ -160,9 +161,10 @@ public class SignalClusterView
    }

    @Override
    public void setIsAirplaneMode(boolean is, int airplaneIconId) {
    public void setIsAirplaneMode(boolean is, int airplaneIconId, int contentDescription) {
        mIsAirplaneMode = is;
        mAirplaneIconId = airplaneIconId;
        mAirplaneContentDescription = contentDescription;

        apply();
    }
@@ -236,6 +238,8 @@ public class SignalClusterView

        if (mIsAirplaneMode) {
            mAirplane.setImageResource(mAirplaneIconId);
            mAirplane.setContentDescription(mAirplaneContentDescription != 0 ?
                    mContext.getString(mAirplaneContentDescription) : "");
            mAirplane.setVisibility(View.VISIBLE);
        } else {
            mAirplane.setVisibility(View.GONE);
+20 −8
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ import android.provider.Settings;
import android.service.notification.NotificationListenerService;
import android.service.notification.NotificationListenerService.RankingMap;
import android.service.notification.StatusBarNotification;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.DisplayMetrics;
import android.util.EventLog;
@@ -821,7 +822,12 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
        signalClusterQs.setNetworkController(mNetworkController);
        final boolean isAPhone = mNetworkController.hasVoiceCallingFeature();
        if (isAPhone) {
            mNetworkController.addEmergencyLabelView(mHeader);
            mNetworkController.addEmergencyListener(new NetworkControllerImpl.EmergencyListener() {
                @Override
                public void setEmergencyCallsOnly(boolean emergencyOnly) {
                    mHeader.setShowEmergencyCallsOnly(emergencyOnly);
                }
            });
        }

        mCarrierLabel = (TextView)mStatusBarWindow.findViewById(R.id.carrier_label);
@@ -830,13 +836,19 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
        if (mShowCarrierInPanel) {
            mCarrierLabel.setVisibility(mCarrierLabelVisible ? View.VISIBLE : View.INVISIBLE);

            // for mobile devices, we always show mobile connection info here (SPN/PLMN)
            // for other devices, we show whatever network is connected
            mNetworkController.addCarrierLabel(new NetworkControllerImpl.CarrierLabelListener() {
                @Override
                public void setCarrierLabel(String label) {
                    mCarrierLabel.setText(label);
                    if (mNetworkController.hasMobileDataFeature()) {
                mNetworkController.addMobileLabelView(mCarrierLabel);
                        if (TextUtils.isEmpty(label)) {
                            mCarrierLabel.setVisibility(View.GONE);
                        } else {
                mNetworkController.addCombinedLabelView(mCarrierLabel);
                            mCarrierLabel.setVisibility(View.VISIBLE);
                        }
                    }
                }
            });

            // set up the dynamic hide/show of the label
            // TODO: uncomment, handle this for the Stack scroller aswell
Loading