From 2946a808f4c9ea6f52be6b0769db4f9a09cf2d5f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 7 Aug 2013 09:13:14 +0200 Subject: [PATCH] Fix some issues related to customization options + new custo option to add back exit button on dialer --- res/layout-small/status.xml | 13 +++++++++++++ res/layout/status.xml | 14 ++++++++++++++ res/values/non_localizable_custom.xml | 2 ++ src/org/linphone/LinphoneActivity.java | 1 - src/org/linphone/PreferencesFragment.java | 4 +++- src/org/linphone/StatusFragment.java | 19 ++++++++++++++++++- src/org/linphone/setup/SetupActivity.java | 5 ++++- 7 files changed, 54 insertions(+), 4 deletions(-) diff --git a/res/layout-small/status.xml b/res/layout-small/status.xml index 2606a4ef8..e87f8951b 100644 --- a/res/layout-small/status.xml +++ b/res/layout-small/status.xml @@ -216,6 +216,19 @@ android:adjustViewBounds="true" android:visibility="gone" android:layout_alignParentRight="true" /> + + diff --git a/res/layout/status.xml b/res/layout/status.xml index 72e07d701..4e2a64f3a 100644 --- a/res/layout/status.xml +++ b/res/layout/status.xml @@ -216,6 +216,20 @@ android:adjustViewBounds="true" android:visibility="gone" android:layout_alignParentRight="true" /> + + diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml index 9a01d16cd..2436769e2 100644 --- a/res/values/non_localizable_custom.xml +++ b/res/values/non_localizable_custom.xml @@ -16,6 +16,7 @@ false false true + true false false @@ -28,6 +29,7 @@ false false true + true false diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index 9d94401b5..ef4d967e9 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -1225,7 +1225,6 @@ public class LinphoneActivity extends FragmentActivity implements } public void exit() { - refreshStatus(OnlineStatus.Offline); finish(); stopService(new Intent(ACTION_MAIN).setClass(this, LinphoneService.class)); } diff --git a/src/org/linphone/PreferencesFragment.java b/src/org/linphone/PreferencesFragment.java index c10e3e902..d71af2683 100644 --- a/src/org/linphone/PreferencesFragment.java +++ b/src/org/linphone/PreferencesFragment.java @@ -550,6 +550,8 @@ public class PreferencesFragment extends PreferencesListFragment implements EcCa LinphoneActivity.instance().selectMenu(FragmentsAvailable.SETTINGS); } - createDynamicAccountsPreferences(); + if (!getResources().getBoolean(R.bool.hide_accounts)) { + createDynamicAccountsPreferences(); + } } } diff --git a/src/org/linphone/StatusFragment.java b/src/org/linphone/StatusFragment.java index 0309ce5df..fdada2bbb 100644 --- a/src/org/linphone/StatusFragment.java +++ b/src/org/linphone/StatusFragment.java @@ -43,6 +43,7 @@ import android.preference.PreferenceManager; import android.support.v4.app.Fragment; import android.view.Gravity; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; @@ -60,7 +61,7 @@ import android.widget.Toast; public class StatusFragment extends Fragment { private Handler mHandler = new Handler(); private Handler refreshHandler = new Handler(); - private TextView statusText; + private TextView statusText, exit; private ImageView statusLed, callQuality, encryption, background; private ListView sliderContentAccounts; private TableLayout callStats; @@ -98,6 +99,19 @@ public class StatusFragment extends Fragment { sliderContentAccounts = (ListView) view.findViewById(R.id.accounts); + exit = (TextView) view.findViewById(R.id.exit); + exit.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + if (LinphoneActivity.isInstanciated()) { + LinphoneActivity.instance().exit(); + } + return true; + } + }); + if (getResources().getBoolean(R.bool.exit_button_on_dialer)) + exit.setVisibility(View.VISIBLE); + // We create it once to not delay the first display populateSliderContent(); @@ -320,6 +334,7 @@ public class StatusFragment extends Fragment { statusText.setVisibility(View.GONE); encryption.setVisibility(View.VISIBLE); + exit.setVisibility(View.GONE); // We are obviously connected statusLed.setImageResource(R.drawable.led_connected); @@ -328,6 +343,8 @@ public class StatusFragment extends Fragment { statusText.setVisibility(View.VISIBLE); background.setVisibility(View.VISIBLE); encryption.setVisibility(View.GONE); + if (getResources().getBoolean(R.bool.exit_button_on_dialer)) + exit.setVisibility(View.VISIBLE); if (drawer != null && getResources().getBoolean(R.bool.lock_statusbar)) { drawer.lock(); diff --git a/src/org/linphone/setup/SetupActivity.java b/src/org/linphone/setup/SetupActivity.java index cfb8644f9..150188603 100644 --- a/src/org/linphone/setup/SetupActivity.java +++ b/src/org/linphone/setup/SetupActivity.java @@ -112,6 +112,7 @@ public class SetupActivity extends FragmentActivity implements OnClickListener { if (getResources().getBoolean(R.bool.setup_cancel_move_to_back)) { moveTaskToBack(true); } else { + setResult(Activity.RESULT_CANCELED); finish(); } } else if (id == R.id.setup_next) { @@ -141,6 +142,7 @@ public class SetupActivity extends FragmentActivity implements OnClickListener { if (getResources().getBoolean(R.bool.setup_cancel_move_to_back)) { moveTaskToBack(true); } else { + setResult(Activity.RESULT_CANCELED); finish(); } } @@ -326,7 +328,8 @@ public class SetupActivity extends FragmentActivity implements OnClickListener { writePreference(R.string.pref_domain_key, domain); boolean isMainAccountLinphoneDotOrg = domain.equals(getString(R.string.default_domain)); - if (isMainAccountLinphoneDotOrg) { + boolean useLinphoneDotOrgCustomPorts = getResources().getBoolean(R.bool.use_linphone_server_ports); + if (isMainAccountLinphoneDotOrg && useLinphoneDotOrgCustomPorts) { if (getResources().getBoolean(R.bool.disable_all_security_features_for_markets)) { writePreference(R.string.pref_proxy_key, domain + ":5228"); writePreference(R.string.pref_transport_key, getString(R.string.pref_transport_tcp_key));