From 7985be5a75b9c917b2715d26ef0508215dc47b62 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 27 Jul 2012 17:17:09 +0200 Subject: [PATCH] Updated status bar --- AndroidManifest.xml | 2 +- res/layout/status.xml | 12 ++++- src/org/linphone/LinphoneActivity.java | 4 ++ src/org/linphone/StatusFragment.java | 70 ++++++++++++++++++++------ 4 files changed, 71 insertions(+), 17 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c2738d87f..9c3630c93 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,7 +2,7 @@ - + diff --git a/res/layout/status.xml b/res/layout/status.xml index 38ba0a392..28f317fc0 100644 --- a/res/layout/status.xml +++ b/res/layout/status.xml @@ -19,12 +19,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:stackFromBottom="true" + android:paddingBottom="10dp" android:background="@android:color/black"/> + android:layout_height="wrap_content" + android:paddingBottom="10dp"> + + (); } - private OnCheckedChangeListener defaultListener = new OnCheckedChangeListener() { + private OnClickListener defaultListener = new OnClickListener() { + @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (isChecked) { + public void onClick(View v) { + CheckBox checkBox = (CheckBox) v; + if (checkBox.isChecked()) { SharedPreferences.Editor editor = prefs.edit(); - editor.putInt(getString(R.string.pref_default_account), (Integer) buttonView.getTag()); + int selectedPosition = (Integer) checkBox.getTag(); + editor.putInt(getString(R.string.pref_default_account), selectedPosition); editor.commit(); - sliderContent.invalidate(); for (CheckBox cb : checkboxes) { cb.setChecked(false); cb.setEnabled(true); } - buttonView.setChecked(true); - buttonView.setEnabled(false); + checkBox.setChecked(true); + checkBox.setEnabled(false); + + LinphoneManager.getLc().setDefaultProxyConfig(accounts[selectedPosition]); + LinphoneManager.getLc().refreshRegisters(); } } }; @@ -333,13 +370,13 @@ public class StatusFragment extends Fragment { LinphoneProxyConfig lpc = (LinphoneProxyConfig) getItem(position); ImageView status = (ImageView) view.findViewById(R.id.State); - status.setImageResource(getStatusIconResource(lpc.getState())); TextView identity = (TextView) view.findViewById(R.id.Identity); identity.setText(lpc.getIdentity().split("sip:")[1]); CheckBox isDefault = (CheckBox) view.findViewById(R.id.Default); checkboxes.add(isDefault); + isDefault.setTag(position); isDefault.setChecked(false); isDefault.setEnabled(true); @@ -347,8 +384,11 @@ public class StatusFragment extends Fragment { if (prefs.getInt(getString(R.string.pref_default_account), 0) == position) { isDefault.setChecked(true); isDefault.setEnabled(false); + status.setImageResource(getStatusIconResource(lpc.getState(), true)); + } else { + status.setImageResource(getStatusIconResource(lpc.getState(), false)); } - isDefault.setOnCheckedChangeListener(defaultListener); + isDefault.setOnClickListener(defaultListener); return view; }