Loading packages/SystemUI/res/layout/msim_signal_cluster_view.xml +54 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,24 @@ android:layout_height="wrap_content" android:visibility="gone" /> <LinearLayout android:id="@+id/mobile_data_voice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="gone" > <ImageView android:id="@+id/mobile_signal_data" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/mobile_signal_voice" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:id="@+id/mobile_signal" android:layout_height="wrap_content" Loading Loading @@ -192,6 +210,24 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" > <LinearLayout android:id="@+id/mobile_data_voice_sub2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="gone" > <ImageView android:id="@+id/mobile_signal_data_sub2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/mobile_signal_voice_sub2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:id="@+id/mobile_signal_sub2" android:layout_height="wrap_content" Loading Loading @@ -254,6 +290,24 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" > <LinearLayout android:id="@+id/mobile_data_voice_sub3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="gone" > <ImageView android:id="@+id/mobile_signal_data_sub3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/mobile_signal_voice_sub3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:id="@+id/mobile_signal_sub3" android:layout_height="wrap_content" Loading packages/SystemUI/res/layout/signal_cluster_view.xml +18 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,24 @@ android:layout_height="wrap_content" android:visibility="gone" /> <LinearLayout android:id="@+id/mobile_data_voice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="gone" > <ImageView android:id="@+id/mobile_signal_data" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/mobile_signal_voice" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:id="@+id/mobile_signal" android:layout_height="wrap_content" Loading packages/SystemUI/src/com/android/systemui/statusbar/MSimSignalClusterView.java +116 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,13 @@ public class MSimSignalClusterView private ViewGroup mMobileCdmaGroup; private ImageView mMobileCdma3g, mMobileCdma1x, mMobileCdma1xOnly; //data & voice private boolean[] mMobileDataVoiceVisible; private int[] mMobileSignalDataId; private int[] mMobileSignalVoiceId; private ViewGroup[] mMobileDataVoiceGroup; private ImageView[] mMobileSignalData, mMobileSignalVoice; //data private boolean mDataVisible[]; private int mDataActivityId[]; Loading @@ -102,6 +109,12 @@ public class MSimSignalClusterView R.id.data_combo_sub3}; private int[] mDataActResourceId = {R.id.data_inout, R.id.data_inout_sub2, R.id.data_inout_sub3}; private int[] mMobileDataVoiceGroupResourceId = {R.id.mobile_data_voice, R.id.mobile_data_voice_sub2, R.id.mobile_data_voice_sub3}; private int[] mMobileSignalDataResourceId = {R.id.mobile_signal_data, R.id.mobile_signal_data_sub2, R.id.mobile_signal_data_sub3}; private int[] mMobileSignalVoiceResourceId = {R.id.mobile_signal_voice, R.id.mobile_signal_voice_sub2, R.id.mobile_signal_voice_sub3}; private final int mNumPhones = MSimTelephonyManager.getDefault().getPhoneCount(); public MSimSignalClusterView(Context context) { Loading @@ -128,11 +141,23 @@ public class MSimSignalClusterView mDataActivityId = new int[mNumPhones]; mDataGroup = new ViewGroup[mNumPhones]; mDataActivity = new ImageView[mNumPhones]; mMobileDataVoiceVisible = new boolean[mNumPhones]; mMobileSignalDataId = new int[mNumPhones]; mMobileSignalVoiceId = new int[mNumPhones]; mMobileDataVoiceGroup = new ViewGroup[mNumPhones]; mMobileSignalData = new ImageView[mNumPhones]; mMobileSignalVoice = new ImageView[mNumPhones]; for(int i=0; i < mNumPhones; i++) { mMobileStrengthId[i] = 0; mMobileTypeId[i] = 0; mMobileActivityId[i] = 0; mNoSimIconId[i] = 0; mDataVisible[i] = false; mMobileDataVoiceVisible[i] = false; mDataActivityId[i] = 0; mMobileSignalDataId[i] = 0; mMobileSignalVoiceId[i] = 0; } mStyle = context.getResources().getInteger(R.integer.status_bar_style); Loading Loading @@ -162,6 +187,13 @@ public class MSimSignalClusterView mDataGroup[i] = (ViewGroup) findViewById(mDataGroupResourceId[i]); mDataActivity[i] = (ImageView) findViewById(mDataActResourceId[i]); mMobileDataVoiceGroup[i] = (ViewGroup) findViewById(mMobileDataVoiceGroupResourceId[i]); mMobileSignalData[i] = (ImageView) findViewById(mMobileSignalDataResourceId[i]); mMobileSignalVoice[i] = (ImageView) findViewById(mMobileSignalVoiceResourceId[i]); } mMobileCdmaGroup = (ViewGroup) findViewById(R.id.mobile_signal_cdma); Loading @@ -187,6 +219,9 @@ public class MSimSignalClusterView mNoSimSlot[i] = null; mDataGroup[i] = null; mDataActivity[i] = null; mMobileDataVoiceGroup[i] = null; mMobileSignalData[i] = null; mMobileSignalVoice[i] = null; } mMobileCdmaGroup = null; mMobileCdma3g = null; Loading Loading @@ -247,9 +282,22 @@ public class MSimSignalClusterView mMobileCdmaVisible = false; mMobileCdma1xOnlyVisible = false; } } else if (mStyle == STATUS_BAR_STYLE_DATA_VOICE) { if (showBothDataAndVoice(subscription) || getMobileVoiceId(strengthIcon) != 0) { mMobileStrengthId[subscription] = 0; mMobileDataVoiceVisible[subscription] = true; mMobileSignalDataId[subscription] = strengthIcon; mMobileSignalVoiceId[subscription] = getMobileVoiceId(mMobileSignalDataId[subscription]); } else { mMobileDataVoiceVisible[subscription] = false; } } else { mMobileCdmaVisible = false; mMobileCdma1xOnlyVisible = false; mMobileDataVoiceVisible[subscription] = false; } applySubscription(subscription); Loading Loading @@ -297,6 +345,7 @@ public class MSimSignalClusterView updateMobile(subscription); updateCdma(); updateData(subscription); updateDataVoice(subscription); mMobileGroup[subscription].setVisibility(View.VISIBLE); } else { mMobileGroup[subscription].setVisibility(View.GONE); Loading Loading @@ -376,6 +425,24 @@ public class MSimSignalClusterView } } private void updateDataVoice(int sub) { if (mMobileDataVoiceVisible[sub]) { mMobileSignalData[sub].setImageResource(mMobileSignalDataId[sub]); mMobileSignalVoice[sub].setImageResource(mMobileSignalVoiceId[sub]); mMobileDataVoiceGroup[sub].setVisibility(View.VISIBLE); } else { mMobileDataVoiceGroup[sub].setVisibility(View.GONE); } } private boolean showBothDataAndVoice(int sub) { return mStyle == STATUS_BAR_STYLE_DATA_VOICE &&((mMobileTypeId[sub] == R.drawable.stat_sys_data_connected_3g) || (mMobileTypeId[sub] == R.drawable.stat_sys_data_connected_4g) || (mMobileTypeId[sub] == R.drawable.stat_sys_data_fully_connected_3g) || (mMobileTypeId[sub] == R.drawable.stat_sys_data_fully_connected_4g)); } private boolean showBoth3gAnd1x() { return mStyle == STATUS_BAR_STYLE_CDMA_1X_COMBINED &&((mMobileTypeId[0] == R.drawable.stat_sys_data_connected_3g) Loading @@ -397,6 +464,55 @@ public class MSimSignalClusterView return mMobileTypeId[0] == R.drawable.stat_sys_data_fully_connected_roam; } private int getMobileVoiceId(int icon) { int returnVal = 0; switch(icon){ case R.drawable.stat_sys_signal_0_3g: case R.drawable.stat_sys_signal_0_4g: returnVal = R.drawable.stat_sys_signal_0_gsm; break; case R.drawable.stat_sys_signal_1_3g: case R.drawable.stat_sys_signal_1_4g: returnVal = R.drawable.stat_sys_signal_1_gsm; break; case R.drawable.stat_sys_signal_2_3g: case R.drawable.stat_sys_signal_2_4g: returnVal = R.drawable.stat_sys_signal_2_gsm; break; case R.drawable.stat_sys_signal_3_3g: case R.drawable.stat_sys_signal_3_4g: returnVal = R.drawable.stat_sys_signal_3_gsm; break; case R.drawable.stat_sys_signal_4_3g: case R.drawable.stat_sys_signal_4_4g: returnVal = R.drawable.stat_sys_signal_4_gsm; break; case R.drawable.stat_sys_signal_0_3g_fully: case R.drawable.stat_sys_signal_0_4g_fully: returnVal = R.drawable.stat_sys_signal_0_gsm_fully; break; case R.drawable.stat_sys_signal_1_3g_fully: case R.drawable.stat_sys_signal_1_4g_fully: returnVal = R.drawable.stat_sys_signal_1_gsm_fully; break; case R.drawable.stat_sys_signal_2_3g_fully: case R.drawable.stat_sys_signal_2_4g_fully: returnVal = R.drawable.stat_sys_signal_2_gsm_fully; break; case R.drawable.stat_sys_signal_3_3g_fully: case R.drawable.stat_sys_signal_3_4g_fully: returnVal = R.drawable.stat_sys_signal_3_gsm_fully; break; case R.drawable.stat_sys_signal_4_3g_fully: case R.drawable.stat_sys_signal_4_4g_fully: returnVal = R.drawable.stat_sys_signal_4_gsm_fully; break; default: break; } return returnVal; } private int getMobileCdma3gId(int icon){ int returnVal = 0; switch(icon){ Loading packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +95 −2 Original line number Diff line number Diff line Loading @@ -64,6 +64,13 @@ public class SignalClusterView private ViewGroup mMobileCdmaGroup; private ImageView mMobileCdma3g, mMobileCdma1x, mMobileCdma1xOnly; //data & voice private boolean mMobileDataVoiceVisible = false; private int mMobileSignalDataId = 0; private int mMobileSignalVoiceId = 0; private ViewGroup mMobileDataVoiceGroup; private ImageView mMobileSignalData, mMobileSignalVoice; //data private boolean mDataVisible = false; private int mDataActivityId = 0; Loading Loading @@ -115,6 +122,11 @@ public class SignalClusterView mMobileCdma1x = (ImageView) findViewById(R.id.mobile_signal_1x); mMobileCdma1xOnly = (ImageView) findViewById(R.id.mobile_signal_1x_only); //data & voice mMobileDataVoiceGroup = (ViewGroup) findViewById(R.id.mobile_data_voice); mMobileSignalData = (ImageView) findViewById(R.id.mobile_signal_data); mMobileSignalVoice = (ImageView) findViewById(R.id.mobile_signal_voice); //data mDataGroup = (ViewGroup) findViewById(R.id.data_combo); mDataActivity = (ImageView) findViewById(R.id.data_inout); Loading Loading @@ -145,6 +157,10 @@ public class SignalClusterView mAirplane = null; mSpacer = null; mMobileDataVoiceGroup = null; mMobileSignalData = null; mMobileSignalVoice = null; super.onDetachedFromWindow(); } Loading Loading @@ -188,8 +204,7 @@ public class SignalClusterView mMobileCdma1xId = strengthIcon; mMobileCdma3gId = getMobileCdma3gId(mMobileCdma1xId); } else if (mStyle == STATUS_BAR_STYLE_CDMA_1X_COMBINED && (show1xOnly() || isRoaming())) { } else if (show1xOnly() || isRoaming()) { mMobileCdmaVisible = false; mMobileCdma1xOnlyVisible = true; mMobileStrengthId = 0; Loading @@ -199,9 +214,19 @@ public class SignalClusterView mMobileCdmaVisible = false; mMobileCdma1xOnlyVisible = false; } } else if (mStyle == STATUS_BAR_STYLE_DATA_VOICE) { if (showBothDataAndVoice() || getMobileVoiceId(strengthIcon) != 0) { mMobileStrengthId = 0; mMobileDataVoiceVisible = true; mMobileSignalDataId = strengthIcon; mMobileSignalVoiceId = getMobileVoiceId(mMobileSignalDataId); } else { mMobileDataVoiceVisible = false; } } else { mMobileCdmaVisible = false; mMobileCdma1xOnlyVisible = false; mMobileDataVoiceVisible = false; } apply(); Loading Loading @@ -272,6 +297,7 @@ public class SignalClusterView updateMobile(); updateCdma(); updateData(); updateDataVoice(); mMobileGroup.setVisibility(View.VISIBLE); } else { mMobileGroup.setVisibility(View.GONE); Loading Loading @@ -347,6 +373,24 @@ public class SignalClusterView } } private void updateDataVoice() { if (mMobileDataVoiceVisible) { mMobileSignalData.setImageResource(mMobileSignalDataId); mMobileSignalVoice.setImageResource(mMobileSignalVoiceId); mMobileDataVoiceGroup.setVisibility(View.VISIBLE); } else { mMobileDataVoiceGroup.setVisibility(View.GONE); } } private boolean showBothDataAndVoice() { return mStyle == STATUS_BAR_STYLE_DATA_VOICE &&((mMobileTypeId == R.drawable.stat_sys_data_connected_3g) || (mMobileTypeId == R.drawable.stat_sys_data_connected_4g) || (mMobileTypeId == R.drawable.stat_sys_data_fully_connected_3g) || (mMobileTypeId == R.drawable.stat_sys_data_fully_connected_4g)); } private boolean showBoth3gAnd1x() { return mStyle == STATUS_BAR_STYLE_CDMA_1X_COMBINED &&((mMobileTypeId == R.drawable.stat_sys_data_connected_3g) Loading @@ -368,6 +412,55 @@ public class SignalClusterView return mMobileTypeId == R.drawable.stat_sys_data_fully_connected_roam; } private int getMobileVoiceId(int icon) { int returnVal = 0; switch(icon){ case R.drawable.stat_sys_signal_0_3g: case R.drawable.stat_sys_signal_0_4g: returnVal = R.drawable.stat_sys_signal_0_gsm; break; case R.drawable.stat_sys_signal_1_3g: case R.drawable.stat_sys_signal_1_4g: returnVal = R.drawable.stat_sys_signal_1_gsm; break; case R.drawable.stat_sys_signal_2_3g: case R.drawable.stat_sys_signal_2_4g: returnVal = R.drawable.stat_sys_signal_2_gsm; break; case R.drawable.stat_sys_signal_3_3g: case R.drawable.stat_sys_signal_3_4g: returnVal = R.drawable.stat_sys_signal_3_gsm; break; case R.drawable.stat_sys_signal_4_3g: case R.drawable.stat_sys_signal_4_4g: returnVal = R.drawable.stat_sys_signal_4_gsm; break; case R.drawable.stat_sys_signal_0_3g_fully: case R.drawable.stat_sys_signal_0_4g_fully: returnVal = R.drawable.stat_sys_signal_0_gsm_fully; break; case R.drawable.stat_sys_signal_1_3g_fully: case R.drawable.stat_sys_signal_1_4g_fully: returnVal = R.drawable.stat_sys_signal_1_gsm_fully; break; case R.drawable.stat_sys_signal_2_3g_fully: case R.drawable.stat_sys_signal_2_4g_fully: returnVal = R.drawable.stat_sys_signal_2_gsm_fully; break; case R.drawable.stat_sys_signal_3_3g_fully: case R.drawable.stat_sys_signal_3_4g_fully: returnVal = R.drawable.stat_sys_signal_3_gsm_fully; break; case R.drawable.stat_sys_signal_4_3g_fully: case R.drawable.stat_sys_signal_4_4g_fully: returnVal = R.drawable.stat_sys_signal_4_gsm_fully; break; default: break; } return returnVal; } private int getMobileCdma3gId(int icon){ int returnVal = 0; switch(icon){ Loading Loading
packages/SystemUI/res/layout/msim_signal_cluster_view.xml +54 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,24 @@ android:layout_height="wrap_content" android:visibility="gone" /> <LinearLayout android:id="@+id/mobile_data_voice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="gone" > <ImageView android:id="@+id/mobile_signal_data" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/mobile_signal_voice" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:id="@+id/mobile_signal" android:layout_height="wrap_content" Loading Loading @@ -192,6 +210,24 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" > <LinearLayout android:id="@+id/mobile_data_voice_sub2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="gone" > <ImageView android:id="@+id/mobile_signal_data_sub2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/mobile_signal_voice_sub2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:id="@+id/mobile_signal_sub2" android:layout_height="wrap_content" Loading Loading @@ -254,6 +290,24 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" > <LinearLayout android:id="@+id/mobile_data_voice_sub3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="gone" > <ImageView android:id="@+id/mobile_signal_data_sub3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/mobile_signal_voice_sub3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:id="@+id/mobile_signal_sub3" android:layout_height="wrap_content" Loading
packages/SystemUI/res/layout/signal_cluster_view.xml +18 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,24 @@ android:layout_height="wrap_content" android:visibility="gone" /> <LinearLayout android:id="@+id/mobile_data_voice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="gone" > <ImageView android:id="@+id/mobile_signal_data" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/mobile_signal_voice" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:id="@+id/mobile_signal" android:layout_height="wrap_content" Loading
packages/SystemUI/src/com/android/systemui/statusbar/MSimSignalClusterView.java +116 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,13 @@ public class MSimSignalClusterView private ViewGroup mMobileCdmaGroup; private ImageView mMobileCdma3g, mMobileCdma1x, mMobileCdma1xOnly; //data & voice private boolean[] mMobileDataVoiceVisible; private int[] mMobileSignalDataId; private int[] mMobileSignalVoiceId; private ViewGroup[] mMobileDataVoiceGroup; private ImageView[] mMobileSignalData, mMobileSignalVoice; //data private boolean mDataVisible[]; private int mDataActivityId[]; Loading @@ -102,6 +109,12 @@ public class MSimSignalClusterView R.id.data_combo_sub3}; private int[] mDataActResourceId = {R.id.data_inout, R.id.data_inout_sub2, R.id.data_inout_sub3}; private int[] mMobileDataVoiceGroupResourceId = {R.id.mobile_data_voice, R.id.mobile_data_voice_sub2, R.id.mobile_data_voice_sub3}; private int[] mMobileSignalDataResourceId = {R.id.mobile_signal_data, R.id.mobile_signal_data_sub2, R.id.mobile_signal_data_sub3}; private int[] mMobileSignalVoiceResourceId = {R.id.mobile_signal_voice, R.id.mobile_signal_voice_sub2, R.id.mobile_signal_voice_sub3}; private final int mNumPhones = MSimTelephonyManager.getDefault().getPhoneCount(); public MSimSignalClusterView(Context context) { Loading @@ -128,11 +141,23 @@ public class MSimSignalClusterView mDataActivityId = new int[mNumPhones]; mDataGroup = new ViewGroup[mNumPhones]; mDataActivity = new ImageView[mNumPhones]; mMobileDataVoiceVisible = new boolean[mNumPhones]; mMobileSignalDataId = new int[mNumPhones]; mMobileSignalVoiceId = new int[mNumPhones]; mMobileDataVoiceGroup = new ViewGroup[mNumPhones]; mMobileSignalData = new ImageView[mNumPhones]; mMobileSignalVoice = new ImageView[mNumPhones]; for(int i=0; i < mNumPhones; i++) { mMobileStrengthId[i] = 0; mMobileTypeId[i] = 0; mMobileActivityId[i] = 0; mNoSimIconId[i] = 0; mDataVisible[i] = false; mMobileDataVoiceVisible[i] = false; mDataActivityId[i] = 0; mMobileSignalDataId[i] = 0; mMobileSignalVoiceId[i] = 0; } mStyle = context.getResources().getInteger(R.integer.status_bar_style); Loading Loading @@ -162,6 +187,13 @@ public class MSimSignalClusterView mDataGroup[i] = (ViewGroup) findViewById(mDataGroupResourceId[i]); mDataActivity[i] = (ImageView) findViewById(mDataActResourceId[i]); mMobileDataVoiceGroup[i] = (ViewGroup) findViewById(mMobileDataVoiceGroupResourceId[i]); mMobileSignalData[i] = (ImageView) findViewById(mMobileSignalDataResourceId[i]); mMobileSignalVoice[i] = (ImageView) findViewById(mMobileSignalVoiceResourceId[i]); } mMobileCdmaGroup = (ViewGroup) findViewById(R.id.mobile_signal_cdma); Loading @@ -187,6 +219,9 @@ public class MSimSignalClusterView mNoSimSlot[i] = null; mDataGroup[i] = null; mDataActivity[i] = null; mMobileDataVoiceGroup[i] = null; mMobileSignalData[i] = null; mMobileSignalVoice[i] = null; } mMobileCdmaGroup = null; mMobileCdma3g = null; Loading Loading @@ -247,9 +282,22 @@ public class MSimSignalClusterView mMobileCdmaVisible = false; mMobileCdma1xOnlyVisible = false; } } else if (mStyle == STATUS_BAR_STYLE_DATA_VOICE) { if (showBothDataAndVoice(subscription) || getMobileVoiceId(strengthIcon) != 0) { mMobileStrengthId[subscription] = 0; mMobileDataVoiceVisible[subscription] = true; mMobileSignalDataId[subscription] = strengthIcon; mMobileSignalVoiceId[subscription] = getMobileVoiceId(mMobileSignalDataId[subscription]); } else { mMobileDataVoiceVisible[subscription] = false; } } else { mMobileCdmaVisible = false; mMobileCdma1xOnlyVisible = false; mMobileDataVoiceVisible[subscription] = false; } applySubscription(subscription); Loading Loading @@ -297,6 +345,7 @@ public class MSimSignalClusterView updateMobile(subscription); updateCdma(); updateData(subscription); updateDataVoice(subscription); mMobileGroup[subscription].setVisibility(View.VISIBLE); } else { mMobileGroup[subscription].setVisibility(View.GONE); Loading Loading @@ -376,6 +425,24 @@ public class MSimSignalClusterView } } private void updateDataVoice(int sub) { if (mMobileDataVoiceVisible[sub]) { mMobileSignalData[sub].setImageResource(mMobileSignalDataId[sub]); mMobileSignalVoice[sub].setImageResource(mMobileSignalVoiceId[sub]); mMobileDataVoiceGroup[sub].setVisibility(View.VISIBLE); } else { mMobileDataVoiceGroup[sub].setVisibility(View.GONE); } } private boolean showBothDataAndVoice(int sub) { return mStyle == STATUS_BAR_STYLE_DATA_VOICE &&((mMobileTypeId[sub] == R.drawable.stat_sys_data_connected_3g) || (mMobileTypeId[sub] == R.drawable.stat_sys_data_connected_4g) || (mMobileTypeId[sub] == R.drawable.stat_sys_data_fully_connected_3g) || (mMobileTypeId[sub] == R.drawable.stat_sys_data_fully_connected_4g)); } private boolean showBoth3gAnd1x() { return mStyle == STATUS_BAR_STYLE_CDMA_1X_COMBINED &&((mMobileTypeId[0] == R.drawable.stat_sys_data_connected_3g) Loading @@ -397,6 +464,55 @@ public class MSimSignalClusterView return mMobileTypeId[0] == R.drawable.stat_sys_data_fully_connected_roam; } private int getMobileVoiceId(int icon) { int returnVal = 0; switch(icon){ case R.drawable.stat_sys_signal_0_3g: case R.drawable.stat_sys_signal_0_4g: returnVal = R.drawable.stat_sys_signal_0_gsm; break; case R.drawable.stat_sys_signal_1_3g: case R.drawable.stat_sys_signal_1_4g: returnVal = R.drawable.stat_sys_signal_1_gsm; break; case R.drawable.stat_sys_signal_2_3g: case R.drawable.stat_sys_signal_2_4g: returnVal = R.drawable.stat_sys_signal_2_gsm; break; case R.drawable.stat_sys_signal_3_3g: case R.drawable.stat_sys_signal_3_4g: returnVal = R.drawable.stat_sys_signal_3_gsm; break; case R.drawable.stat_sys_signal_4_3g: case R.drawable.stat_sys_signal_4_4g: returnVal = R.drawable.stat_sys_signal_4_gsm; break; case R.drawable.stat_sys_signal_0_3g_fully: case R.drawable.stat_sys_signal_0_4g_fully: returnVal = R.drawable.stat_sys_signal_0_gsm_fully; break; case R.drawable.stat_sys_signal_1_3g_fully: case R.drawable.stat_sys_signal_1_4g_fully: returnVal = R.drawable.stat_sys_signal_1_gsm_fully; break; case R.drawable.stat_sys_signal_2_3g_fully: case R.drawable.stat_sys_signal_2_4g_fully: returnVal = R.drawable.stat_sys_signal_2_gsm_fully; break; case R.drawable.stat_sys_signal_3_3g_fully: case R.drawable.stat_sys_signal_3_4g_fully: returnVal = R.drawable.stat_sys_signal_3_gsm_fully; break; case R.drawable.stat_sys_signal_4_3g_fully: case R.drawable.stat_sys_signal_4_4g_fully: returnVal = R.drawable.stat_sys_signal_4_gsm_fully; break; default: break; } return returnVal; } private int getMobileCdma3gId(int icon){ int returnVal = 0; switch(icon){ Loading
packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +95 −2 Original line number Diff line number Diff line Loading @@ -64,6 +64,13 @@ public class SignalClusterView private ViewGroup mMobileCdmaGroup; private ImageView mMobileCdma3g, mMobileCdma1x, mMobileCdma1xOnly; //data & voice private boolean mMobileDataVoiceVisible = false; private int mMobileSignalDataId = 0; private int mMobileSignalVoiceId = 0; private ViewGroup mMobileDataVoiceGroup; private ImageView mMobileSignalData, mMobileSignalVoice; //data private boolean mDataVisible = false; private int mDataActivityId = 0; Loading Loading @@ -115,6 +122,11 @@ public class SignalClusterView mMobileCdma1x = (ImageView) findViewById(R.id.mobile_signal_1x); mMobileCdma1xOnly = (ImageView) findViewById(R.id.mobile_signal_1x_only); //data & voice mMobileDataVoiceGroup = (ViewGroup) findViewById(R.id.mobile_data_voice); mMobileSignalData = (ImageView) findViewById(R.id.mobile_signal_data); mMobileSignalVoice = (ImageView) findViewById(R.id.mobile_signal_voice); //data mDataGroup = (ViewGroup) findViewById(R.id.data_combo); mDataActivity = (ImageView) findViewById(R.id.data_inout); Loading Loading @@ -145,6 +157,10 @@ public class SignalClusterView mAirplane = null; mSpacer = null; mMobileDataVoiceGroup = null; mMobileSignalData = null; mMobileSignalVoice = null; super.onDetachedFromWindow(); } Loading Loading @@ -188,8 +204,7 @@ public class SignalClusterView mMobileCdma1xId = strengthIcon; mMobileCdma3gId = getMobileCdma3gId(mMobileCdma1xId); } else if (mStyle == STATUS_BAR_STYLE_CDMA_1X_COMBINED && (show1xOnly() || isRoaming())) { } else if (show1xOnly() || isRoaming()) { mMobileCdmaVisible = false; mMobileCdma1xOnlyVisible = true; mMobileStrengthId = 0; Loading @@ -199,9 +214,19 @@ public class SignalClusterView mMobileCdmaVisible = false; mMobileCdma1xOnlyVisible = false; } } else if (mStyle == STATUS_BAR_STYLE_DATA_VOICE) { if (showBothDataAndVoice() || getMobileVoiceId(strengthIcon) != 0) { mMobileStrengthId = 0; mMobileDataVoiceVisible = true; mMobileSignalDataId = strengthIcon; mMobileSignalVoiceId = getMobileVoiceId(mMobileSignalDataId); } else { mMobileDataVoiceVisible = false; } } else { mMobileCdmaVisible = false; mMobileCdma1xOnlyVisible = false; mMobileDataVoiceVisible = false; } apply(); Loading Loading @@ -272,6 +297,7 @@ public class SignalClusterView updateMobile(); updateCdma(); updateData(); updateDataVoice(); mMobileGroup.setVisibility(View.VISIBLE); } else { mMobileGroup.setVisibility(View.GONE); Loading Loading @@ -347,6 +373,24 @@ public class SignalClusterView } } private void updateDataVoice() { if (mMobileDataVoiceVisible) { mMobileSignalData.setImageResource(mMobileSignalDataId); mMobileSignalVoice.setImageResource(mMobileSignalVoiceId); mMobileDataVoiceGroup.setVisibility(View.VISIBLE); } else { mMobileDataVoiceGroup.setVisibility(View.GONE); } } private boolean showBothDataAndVoice() { return mStyle == STATUS_BAR_STYLE_DATA_VOICE &&((mMobileTypeId == R.drawable.stat_sys_data_connected_3g) || (mMobileTypeId == R.drawable.stat_sys_data_connected_4g) || (mMobileTypeId == R.drawable.stat_sys_data_fully_connected_3g) || (mMobileTypeId == R.drawable.stat_sys_data_fully_connected_4g)); } private boolean showBoth3gAnd1x() { return mStyle == STATUS_BAR_STYLE_CDMA_1X_COMBINED &&((mMobileTypeId == R.drawable.stat_sys_data_connected_3g) Loading @@ -368,6 +412,55 @@ public class SignalClusterView return mMobileTypeId == R.drawable.stat_sys_data_fully_connected_roam; } private int getMobileVoiceId(int icon) { int returnVal = 0; switch(icon){ case R.drawable.stat_sys_signal_0_3g: case R.drawable.stat_sys_signal_0_4g: returnVal = R.drawable.stat_sys_signal_0_gsm; break; case R.drawable.stat_sys_signal_1_3g: case R.drawable.stat_sys_signal_1_4g: returnVal = R.drawable.stat_sys_signal_1_gsm; break; case R.drawable.stat_sys_signal_2_3g: case R.drawable.stat_sys_signal_2_4g: returnVal = R.drawable.stat_sys_signal_2_gsm; break; case R.drawable.stat_sys_signal_3_3g: case R.drawable.stat_sys_signal_3_4g: returnVal = R.drawable.stat_sys_signal_3_gsm; break; case R.drawable.stat_sys_signal_4_3g: case R.drawable.stat_sys_signal_4_4g: returnVal = R.drawable.stat_sys_signal_4_gsm; break; case R.drawable.stat_sys_signal_0_3g_fully: case R.drawable.stat_sys_signal_0_4g_fully: returnVal = R.drawable.stat_sys_signal_0_gsm_fully; break; case R.drawable.stat_sys_signal_1_3g_fully: case R.drawable.stat_sys_signal_1_4g_fully: returnVal = R.drawable.stat_sys_signal_1_gsm_fully; break; case R.drawable.stat_sys_signal_2_3g_fully: case R.drawable.stat_sys_signal_2_4g_fully: returnVal = R.drawable.stat_sys_signal_2_gsm_fully; break; case R.drawable.stat_sys_signal_3_3g_fully: case R.drawable.stat_sys_signal_3_4g_fully: returnVal = R.drawable.stat_sys_signal_3_gsm_fully; break; case R.drawable.stat_sys_signal_4_3g_fully: case R.drawable.stat_sys_signal_4_4g_fully: returnVal = R.drawable.stat_sys_signal_4_gsm_fully; break; default: break; } return returnVal; } private int getMobileCdma3gId(int icon){ int returnVal = 0; switch(icon){ Loading