Merge "Move airplane icon to its own view" into jb-dev

This commit is contained in:
Andrew Flynn
2012-05-11 09:08:15 -07:00
committed by Android (Google) Code Review
3 changed files with 29 additions and 6 deletions

View File

@@ -105,4 +105,9 @@
/>
</FrameLayout>
</FrameLayout>
<ImageView
android:id="@+id/airplane"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
</com.android.systemui.statusbar.SignalClusterView>

View File

@@ -44,10 +44,11 @@ public class SignalClusterView
private boolean mMobileVisible = false;
private int mMobileStrengthId = 0, mMobileActivityId = 0, mMobileTypeId = 0;
private boolean mIsAirplaneMode = false;
private int mAirplaneIconId = 0;
private String mWifiDescription, mMobileDescription, mMobileTypeDescription;
ViewGroup mWifiGroup, mMobileGroup;
ImageView mWifi, mMobile, mWifiActivity, mMobileActivity, mMobileType;
ImageView mWifi, mMobile, mWifiActivity, mMobileActivity, mMobileType, mAirplane;
View mSpacer;
public SignalClusterView(Context context) {
@@ -79,6 +80,7 @@ public class SignalClusterView
mMobileActivity = (ImageView) findViewById(R.id.mobile_inout);
mMobileType = (ImageView) findViewById(R.id.mobile_type);
mSpacer = findViewById(R.id.spacer);
mAirplane = (ImageView) findViewById(R.id.airplane);
apply();
}
@@ -92,10 +94,13 @@ public class SignalClusterView
mMobile = null;
mMobileActivity = null;
mMobileType = null;
mSpacer = null;
mAirplane = null;
super.onDetachedFromWindow();
}
@Override
public void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon,
String contentDescription) {
mWifiVisible = visible;
@@ -106,6 +111,7 @@ public class SignalClusterView
apply();
}
@Override
public void setMobileDataIndicators(boolean visible, int strengthIcon, int activityIcon,
int typeIcon, String contentDescription, String typeContentDescription) {
mMobileVisible = visible;
@@ -118,8 +124,12 @@ public class SignalClusterView
apply();
}
public void setIsAirplaneMode(boolean is) {
@Override
public void setIsAirplaneMode(boolean is, int airplaneIconId) {
mIsAirplaneMode = is;
mAirplaneIconId = airplaneIconId;
apply();
}
// Run after each indicator change.
@@ -140,7 +150,7 @@ public class SignalClusterView
(mWifiVisible ? "VISIBLE" : "GONE"),
mWifiStrengthId, mWifiActivityId));
if (mMobileVisible) {
if (mMobileVisible && !mIsAirplaneMode) {
mMobileGroup.setVisibility(View.VISIBLE);
mMobile.setImageResource(mMobileStrengthId);
mMobileActivity.setImageResource(mMobileActivityId);
@@ -150,6 +160,13 @@ public class SignalClusterView
mMobileGroup.setVisibility(View.GONE);
}
if (mIsAirplaneMode) {
mAirplane.setVisibility(View.VISIBLE);
mAirplane.setImageResource(mAirplaneIconId);
} else {
mAirplane.setVisibility(View.GONE);
}
if (mMobileVisible && mWifiVisible && mIsAirplaneMode) {
mSpacer.setVisibility(View.INVISIBLE);
} else {

View File

@@ -83,6 +83,7 @@ public class NetworkController extends BroadcastReceiver {
int mDataDirectionIconId; // data + data direction on phones
int mDataSignalIconId;
int mDataTypeIconId;
int mAirplaneIconId;
boolean mDataActive;
int mMobileActivityIconId; // overlay arrows for data direction
int mLastSignalLevel;
@@ -161,7 +162,7 @@ public class NetworkController extends BroadcastReceiver {
String contentDescription);
void setMobileDataIndicators(boolean visible, int strengthIcon, int activityIcon,
int typeIcon, String contentDescription, String typeContentDescription);
void setIsAirplaneMode(boolean is);
void setIsAirplaneMode(boolean is, int airplaneIcon);
}
/**
@@ -305,7 +306,7 @@ public class NetworkController extends BroadcastReceiver {
mContentDescriptionPhoneSignal,
mContentDescriptionDataType);
}
cluster.setIsAirplaneMode(mAirplaneMode);
cluster.setIsAirplaneMode(mAirplaneMode, mAirplaneIconId);
}
public void setStackedMode(boolean stacked) {
@@ -997,7 +998,7 @@ public class NetworkController extends BroadcastReceiver {
// look again; your radios are now airplanes
mContentDescriptionPhoneSignal = mContext.getString(
R.string.accessibility_airplane_mode);
mPhoneSignalIconId = mDataSignalIconId = R.drawable.stat_sys_signal_flightmode;
mAirplaneIconId = R.drawable.stat_sys_signal_flightmode;
mDataTypeIconId = 0;
// combined values from connected wifi take precedence over airplane mode