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; 2128f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandlerimport android.util.Slog; 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.statusbar.policy.NetworkController; 292e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 302e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonimport com.android.systemui.R; 312e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 325ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler// Intimately tied to the design of res/layout/signal_cluster_view.xml 332e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertsonpublic class SignalClusterView 342f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock extends LinearLayout 352e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson implements NetworkController.SignalCluster { 362e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 3728f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler static final boolean DEBUG = false; 3828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler static final String TAG = "SignalClusterView"; 392f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock 402e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson NetworkController mNC; 412e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 4228f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler private boolean mWifiVisible = false; 4328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler private int mWifiStrengthId = 0, mWifiActivityId = 0; 4428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler private boolean mMobileVisible = false; 4528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler private int mMobileStrengthId = 0, mMobileActivityId = 0, mMobileTypeId = 0; 465ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler private boolean mIsAirplaneMode = false; 47061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn private int mAirplaneIconId = 0; 48bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler private String mWifiDescription, mMobileDescription, mMobileTypeDescription; 4928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler 502e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson ViewGroup mWifiGroup, mMobileGroup; 51061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn ImageView mWifi, mMobile, mWifiActivity, mMobileActivity, mMobileType, mAirplane; 525ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler View mSpacer; 532e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 542e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson public SignalClusterView(Context context) { 552e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson this(context, null); 562e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } 572e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 582e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson public SignalClusterView(Context context, AttributeSet attrs) { 592e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson this(context, attrs, 0); 602e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } 612e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 622e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson public SignalClusterView(Context context, AttributeSet attrs, int defStyle) { 632e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson super(context, attrs, defStyle); 642e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } 652e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 662e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson public void setNetworkController(NetworkController nc) { 6728f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler if (DEBUG) Slog.d(TAG, "NetworkController=" + nc); 682e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson mNC = nc; 692e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } 702e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 712e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson @Override 722e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson protected void onAttachedToWindow() { 732e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson super.onAttachedToWindow(); 742e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 752e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson mWifiGroup = (ViewGroup) findViewById(R.id.wifi_combo); 762e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson mWifi = (ImageView) findViewById(R.id.wifi_signal); 772e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson mWifiActivity = (ImageView) findViewById(R.id.wifi_inout); 782e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson mMobileGroup = (ViewGroup) findViewById(R.id.mobile_combo); 792e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson mMobile = (ImageView) findViewById(R.id.mobile_signal); 802e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson mMobileActivity = (ImageView) findViewById(R.id.mobile_inout); 812e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson mMobileType = (ImageView) findViewById(R.id.mobile_type); 825ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler mSpacer = findViewById(R.id.spacer); 83061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn mAirplane = (ImageView) findViewById(R.id.airplane); 8428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler 8528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler apply(); 862e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } 872e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 882e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson @Override 892e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson protected void onDetachedFromWindow() { 9028f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mWifiGroup = null; 9128f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mWifi = null; 9228f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mWifiActivity = null; 9328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileGroup = null; 9428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobile = null; 9528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileActivity = null; 9628f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileType = null; 97061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn mSpacer = null; 98061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn mAirplane = null; 9928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler 1002e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson super.onDetachedFromWindow(); 1012e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } 1022e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 103061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn @Override 104bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler public void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon, 105bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler String contentDescription) { 10628f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mWifiVisible = visible; 10728f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mWifiStrengthId = strengthIcon; 10828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mWifiActivityId = activityIcon; 109bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler mWifiDescription = contentDescription; 11028f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler 11128f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler apply(); 11228f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler } 11328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler 114061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn @Override 11528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler public void setMobileDataIndicators(boolean visible, int strengthIcon, int activityIcon, 116bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler int typeIcon, String contentDescription, String typeContentDescription) { 11728f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileVisible = visible; 11828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileStrengthId = strengthIcon; 11928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileActivityId = activityIcon; 12028f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileTypeId = typeIcon; 121bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler mMobileDescription = contentDescription; 122bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler mMobileTypeDescription = typeContentDescription; 12328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler 12428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler apply(); 12528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler } 12628f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler 127061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn @Override 128061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn public void setIsAirplaneMode(boolean is, int airplaneIconId) { 1295ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler mIsAirplaneMode = is; 130061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn mAirplaneIconId = airplaneIconId; 131061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn 132061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn apply(); 1335ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler } 1345ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler 1352f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock @Override 1362f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { 1372f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock // Standard group layout onPopulateAccessibilityEvent() implementations 1382f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock // ignore content description, so populate manually 1392f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock if (mWifiVisible && mWifiGroup.getContentDescription() != null) 1402f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock event.getText().add(mWifiGroup.getContentDescription()); 1412f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock if (mMobileVisible && mMobileGroup.getContentDescription() != null) 1422f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock event.getText().add(mMobileGroup.getContentDescription()); 1432f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock return super.dispatchPopulateAccessibilityEvent(event); 1442f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock } 1452f7dfa7afdaada78c46bd6fd7e307656ba3dd66aJohn Spurlock 1464662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio @Override 1474662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio public void onRtlPropertiesChanged(int layoutDirection) { 1484662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio super.onRtlPropertiesChanged(layoutDirection); 1494662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio 1504662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio if (mWifi != null) { 1514662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio mWifi.setImageDrawable(null); 1524662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio } 1534662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio if (mWifiActivity != null) { 1544662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio mWifiActivity.setImageDrawable(null); 1554662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio } 1564662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio 1574662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio if (mMobile != null) { 1584662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio mMobile.setImageDrawable(null); 1594662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio } 1604662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio if (mMobileActivity != null) { 1614662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio mMobileActivity.setImageDrawable(null); 1624662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio } 1634662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio if (mMobileType != null) { 1644662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio mMobileType.setImageDrawable(null); 1654662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio } 1664662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio 1674662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio if(mAirplane != null) { 1684662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio mAirplane.setImageDrawable(null); 1694662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio } 1704662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio 1714662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio apply(); 1724662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio } 1734662611f3757bd9210f252c095f2bef278fa2043Fabrice Di Meglio 17428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler // Run after each indicator change. 17528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler private void apply() { 1762e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson if (mWifiGroup == null) return; 1772e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 17828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler if (mWifiVisible) { 17928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mWifi.setImageResource(mWifiStrengthId); 18028f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mWifiActivity.setImageResource(mWifiActivityId); 181cda096ebf3fac67daf36e775547c2a337374927bFabrice Di Meglio 182bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler mWifiGroup.setContentDescription(mWifiDescription); 183cda096ebf3fac67daf36e775547c2a337374927bFabrice Di Meglio mWifiGroup.setVisibility(View.VISIBLE); 1842e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } else { 1852e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson mWifiGroup.setVisibility(View.GONE); 1862e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } 1872e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 18828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler if (DEBUG) Slog.d(TAG, 18928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler String.format("wifi: %s sig=%d act=%d", 19028f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler (mWifiVisible ? "VISIBLE" : "GONE"), 19128f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mWifiStrengthId, mWifiActivityId)); 1922e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 193061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn if (mMobileVisible && !mIsAirplaneMode) { 19428f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobile.setImageResource(mMobileStrengthId); 19528f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileActivity.setImageResource(mMobileActivityId); 19628f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileType.setImageResource(mMobileTypeId); 197cda096ebf3fac67daf36e775547c2a337374927bFabrice Di Meglio 198bcf6ef0b82c1daea43e03b8ad5af319ed324242aDaniel Sandler mMobileGroup.setContentDescription(mMobileTypeDescription + " " + mMobileDescription); 199cda096ebf3fac67daf36e775547c2a337374927bFabrice Di Meglio mMobileGroup.setVisibility(View.VISIBLE); 2002e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } else { 2012e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson mMobileGroup.setVisibility(View.GONE); 2022e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } 20328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler 204061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn if (mIsAirplaneMode) { 205061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn mAirplane.setImageResource(mAirplaneIconId); 2068afcd149970c79054a3a16377834aa0aec35eee0Fabrice Di Meglio mAirplane.setVisibility(View.VISIBLE); 207061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn } else { 208061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn mAirplane.setVisibility(View.GONE); 209061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn } 210061d43c2386dd8222448bb1bec017bf9a2367a4eAndrew Flynn 2115ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler if (mMobileVisible && mWifiVisible && mIsAirplaneMode) { 2125ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler mSpacer.setVisibility(View.INVISIBLE); 2135ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler } else { 2145ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler mSpacer.setVisibility(View.GONE); 2155ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler } 2165ccff81a642844138b144ad2cc339eba188812a0Daniel Sandler 21728f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler if (DEBUG) Slog.d(TAG, 21828f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler String.format("mobile: %s sig=%d act=%d typ=%d", 21928f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler (mMobileVisible ? "VISIBLE" : "GONE"), 22028f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileStrengthId, mMobileActivityId, mMobileTypeId)); 22128f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler 22228f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler mMobileType.setVisibility( 22328f89d40ee7bab93cf7b783f92dbb18bdc43e473Daniel Sandler !mWifiVisible ? View.VISIBLE : View.GONE); 2242e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson } 2252e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson} 2262e347429dfcd03b0827c7506ba6305ab0d1f4951Christian Robertson 227