SignalClusterView.java revision 24e028e0ec533cb7304296118a73bdc03870d10d
12e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson/*
22e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson * Copyright (C) 2011 The Android Open Source Project
32e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson *
42e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson * Licensed under the Apache License, Version 2.0 (the "License");
52e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson * you may not use this file except in compliance with the License.
62e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson * You may obtain a copy of the License at
72e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson *
82e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson *      http://www.apache.org/licenses/LICENSE-2.0
92e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson *
102e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson * Unless required by applicable law or agreed to in writing, software
112e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson * distributed under the License is distributed on an "AS IS" BASIS,
122e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson * See the License for the specific language governing permissions and
142e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson * limitations under the License.
152e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson */
162e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
172e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonpackage com.android.systemui.statusbar;
182e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
192e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonimport android.content.Context;
202e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonimport android.util.AttributeSet;
21cd686b5b6d4166b510df8e32138479a9559bc117John Spurlockimport android.util.Log;
222e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonimport android.view.View;
232e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonimport android.view.ViewGroup;
242f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlockimport android.view.accessibility.AccessibilityEvent;
252e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonimport android.widget.ImageView;
262e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonimport android.widget.LinearLayout;
272e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
282e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonimport com.android.systemui.R;
29de84f0e77ea2bf713d15c290264059a413c2486aJohn Spurlockimport com.android.systemui.statusbar.policy.NetworkController;
302e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
315ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler// Intimately tied to the design of res/layout/signal_cluster_view.xml
322e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonpublic class SignalClusterView
332f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock        extends LinearLayout
342e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        implements NetworkController.SignalCluster {
352e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
3628f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    static final boolean DEBUG = false;
3728f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    static final String TAG = "SignalClusterView";
382f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock
392e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    NetworkController mNC;
402e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
4128f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    private boolean mWifiVisible = false;
4228f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    private int mWifiStrengthId = 0, mWifiActivityId = 0;
4328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    private boolean mMobileVisible = false;
4428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    private int mMobileStrengthId = 0, mMobileActivityId = 0, mMobileTypeId = 0;
455ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler    private boolean mIsAirplaneMode = false;
46061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn    private int mAirplaneIconId = 0;
47bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler    private String mWifiDescription, mMobileDescription, mMobileTypeDescription;
4828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler
492e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    ViewGroup mWifiGroup, mMobileGroup;
50061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn    ImageView mWifi, mMobile, mWifiActivity, mMobileActivity, mMobileType, mAirplane;
515ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler    View mSpacer;
522e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
532e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    public SignalClusterView(Context context) {
542e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        this(context, null);
552e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    }
562e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
572e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    public SignalClusterView(Context context, AttributeSet attrs) {
582e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        this(context, attrs, 0);
592e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    }
602e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
612e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    public SignalClusterView(Context context, AttributeSet attrs, int defStyle) {
622e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        super(context, attrs, defStyle);
632e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    }
642e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
652e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    public void setNetworkController(NetworkController nc) {
66cd686b5b6d4166b510df8e32138479a9559bc117John Spurlock        if (DEBUG) Log.d(TAG, "NetworkController=" + nc);
672e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        mNC = nc;
682e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    }
692e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
702e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    @Override
712e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    protected void onAttachedToWindow() {
722e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        super.onAttachedToWindow();
732e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
742e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        mWifiGroup      = (ViewGroup) findViewById(R.id.wifi_combo);
752e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        mWifi           = (ImageView) findViewById(R.id.wifi_signal);
762e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        mWifiActivity   = (ImageView) findViewById(R.id.wifi_inout);
772e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        mMobileGroup    = (ViewGroup) findViewById(R.id.mobile_combo);
782e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        mMobile         = (ImageView) findViewById(R.id.mobile_signal);
792e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        mMobileActivity = (ImageView) findViewById(R.id.mobile_inout);
802e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        mMobileType     = (ImageView) findViewById(R.id.mobile_type);
815ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler        mSpacer         =             findViewById(R.id.spacer);
82061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn        mAirplane       = (ImageView) findViewById(R.id.airplane);
8328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler
8428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        apply();
852e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    }
862e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
872e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    @Override
882e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    protected void onDetachedFromWindow() {
8928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mWifiGroup      = null;
9028f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mWifi           = null;
9128f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mWifiActivity   = null;
9228f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mMobileGroup    = null;
9328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mMobile         = null;
9428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mMobileActivity = null;
9528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mMobileType     = null;
96061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn        mSpacer         = null;
97061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn        mAirplane       = null;
9828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler
992e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        super.onDetachedFromWindow();
1002e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    }
1012e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
102061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn    @Override
103bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler    public void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon,
104bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler            String contentDescription) {
10528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mWifiVisible = visible;
10628f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mWifiStrengthId = strengthIcon;
10728f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mWifiActivityId = activityIcon;
108bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler        mWifiDescription = contentDescription;
10928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler
11028f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        apply();
11128f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    }
11228f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler
113061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn    @Override
11428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    public void setMobileDataIndicators(boolean visible, int strengthIcon, int activityIcon,
115bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler            int typeIcon, String contentDescription, String typeContentDescription) {
11628f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mMobileVisible = visible;
11728f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mMobileStrengthId = strengthIcon;
11828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mMobileActivityId = activityIcon;
11928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mMobileTypeId = typeIcon;
120bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler        mMobileDescription = contentDescription;
121bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler        mMobileTypeDescription = typeContentDescription;
12228f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler
12328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        apply();
12428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    }
12528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler
126061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn    @Override
127061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn    public void setIsAirplaneMode(boolean is, int airplaneIconId) {
1285ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler        mIsAirplaneMode = is;
129061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn        mAirplaneIconId = airplaneIconId;
130061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn
131061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn        apply();
1325ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler    }
1335ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler
1342f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock    @Override
1352f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock    public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
1362f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock        // Standard group layout onPopulateAccessibilityEvent() implementations
1372f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock        // ignore content description, so populate manually
13824e028e0ec533cb7304296118a73bdc03870d10dDaniel Sandler        if (mWifiVisible && mWifiGroup != null && mWifiGroup.getContentDescription() != null)
1392f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock            event.getText().add(mWifiGroup.getContentDescription());
14024e028e0ec533cb7304296118a73bdc03870d10dDaniel Sandler        if (mMobileVisible && mMobileGroup != null && mMobileGroup.getContentDescription() != null)
1412f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock            event.getText().add(mMobileGroup.getContentDescription());
1422f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock        return super.dispatchPopulateAccessibilityEvent(event);
1432f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock    }
1442f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock
1454662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio    @Override
1464662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio    public void onRtlPropertiesChanged(int layoutDirection) {
1474662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        super.onRtlPropertiesChanged(layoutDirection);
1484662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio
1494662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        if (mWifi != null) {
1504662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio            mWifi.setImageDrawable(null);
1514662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        }
1524662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        if (mWifiActivity != null) {
1534662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio            mWifiActivity.setImageDrawable(null);
1544662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        }
1554662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio
1564662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        if (mMobile != null) {
1574662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio            mMobile.setImageDrawable(null);
1584662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        }
1594662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        if (mMobileActivity != null) {
1604662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio            mMobileActivity.setImageDrawable(null);
1614662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        }
1624662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        if (mMobileType != null) {
1634662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio            mMobileType.setImageDrawable(null);
1644662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        }
1654662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio
1664662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        if(mAirplane != null) {
1674662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio            mAirplane.setImageDrawable(null);
1684662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        }
1694662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio
1704662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio        apply();
1714662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio    }
1724662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio
17328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    // Run after each indicator change.
17428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler    private void apply() {
1752e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        if (mWifiGroup == null) return;
1762e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
17728f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        if (mWifiVisible) {
17828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler            mWifi.setImageResource(mWifiStrengthId);
17928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler            mWifiActivity.setImageResource(mWifiActivityId);
180cda096ebf3fac67daf36e775547c2a337374927bFabrice Di Meglio
181bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler            mWifiGroup.setContentDescription(mWifiDescription);
182cda096ebf3fac67daf36e775547c2a337374927bFabrice Di Meglio            mWifiGroup.setVisibility(View.VISIBLE);
1832e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        } else {
1842e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson            mWifiGroup.setVisibility(View.GONE);
1852e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        }
1862e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
187cd686b5b6d4166b510df8e32138479a9559bc117John Spurlock        if (DEBUG) Log.d(TAG,
18828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler                String.format("wifi: %s sig=%d act=%d",
18928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler                    (mWifiVisible ? "VISIBLE" : "GONE"),
19028f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler                    mWifiStrengthId, mWifiActivityId));
1912e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
192061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn        if (mMobileVisible && !mIsAirplaneMode) {
19328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler            mMobile.setImageResource(mMobileStrengthId);
19428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler            mMobileActivity.setImageResource(mMobileActivityId);
19528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler            mMobileType.setImageResource(mMobileTypeId);
196cda096ebf3fac67daf36e775547c2a337374927bFabrice Di Meglio
197bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler            mMobileGroup.setContentDescription(mMobileTypeDescription + " " + mMobileDescription);
198cda096ebf3fac67daf36e775547c2a337374927bFabrice Di Meglio            mMobileGroup.setVisibility(View.VISIBLE);
1992e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        } else {
2002e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson            mMobileGroup.setVisibility(View.GONE);
2012e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson        }
20228f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler
203061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn        if (mIsAirplaneMode) {
204061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn            mAirplane.setImageResource(mAirplaneIconId);
2058afcd149970c79054a3a16377834aa0aec35eee0Fabrice Di Meglio            mAirplane.setVisibility(View.VISIBLE);
206061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn        } else {
207061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn            mAirplane.setVisibility(View.GONE);
208061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn        }
209061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn
2105ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler        if (mMobileVisible && mWifiVisible && mIsAirplaneMode) {
2115ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler            mSpacer.setVisibility(View.INVISIBLE);
2125ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler        } else {
2135ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler            mSpacer.setVisibility(View.GONE);
2145ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler        }
2155ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler
216cd686b5b6d4166b510df8e32138479a9559bc117John Spurlock        if (DEBUG) Log.d(TAG,
21728f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler                String.format("mobile: %s sig=%d act=%d typ=%d",
21828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler                    (mMobileVisible ? "VISIBLE" : "GONE"),
21928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler                    mMobileStrengthId, mMobileActivityId, mMobileTypeId));
22028f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler
22128f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler        mMobileType.setVisibility(
22228f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler                !mWifiVisible ? View.VISIBLE : View.GONE);
2232e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson    }
2242e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson}
2252e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson
226