From 481790d2f9c3977d93a3773f475418ff96623eaa Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 29 Jan 2013 17:49:29 +0100 Subject: [PATCH] Exit button replaced by background mode advanced setting (back when on dialer to exit) + top bar can be scrolled again --- res/layout/status.xml | 13 ------------- res/values-FR/strings.xml | 2 ++ res/values/non_localizable_custom.xml | 2 +- res/values/non_localizable_defaults.xml | 1 + res/values/non_localizable_strings.xml | 1 + res/values/strings.xml | 2 ++ res/xml/preferences.xml | 5 +++++ src/org/linphone/LinphoneActivity.java | 11 ++++++++++- src/org/linphone/StatusFragment.java | 16 +--------------- 9 files changed, 23 insertions(+), 30 deletions(-) diff --git a/res/layout/status.xml b/res/layout/status.xml index 356aa4c41..fab32ec51 100644 --- a/res/layout/status.xml +++ b/res/layout/status.xml @@ -216,19 +216,6 @@ android:adjustViewBounds="true" android:visibility="gone" android:layout_alignParentRight="true" /> - - diff --git a/res/values-FR/strings.xml b/res/values-FR/strings.xml index 592f64ae7..172868bc6 100644 --- a/res/values-FR/strings.xml +++ b/res/values-FR/strings.xml @@ -372,4 +372,6 @@ Manqué Émis Reçu + + Actif en arrière plan diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml index ca264ee07..96e14b649 100644 --- a/res/values/non_localizable_custom.xml +++ b/res/values/non_localizable_custom.xml @@ -32,7 +32,7 @@ false true - true + false true true true diff --git a/res/values/non_localizable_defaults.xml b/res/values/non_localizable_defaults.xml index c74e03e9b..0f9820618 100644 --- a/res/values/non_localizable_defaults.xml +++ b/res/values/non_localizable_defaults.xml @@ -61,4 +61,5 @@ false true + true \ No newline at end of file diff --git a/res/values/non_localizable_strings.xml b/res/values/non_localizable_strings.xml index 78ed6a0bc..71b2c25e0 100644 --- a/res/values/non_localizable_strings.xml +++ b/res/values/non_localizable_strings.xml @@ -92,6 +92,7 @@ none srtp zrtp + pref_background_mode_key push_reg_id_key push_sender_id_key diff --git a/res/values/strings.xml b/res/values/strings.xml index 7a16ad8eb..e27b7bf64 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -419,4 +419,6 @@ Missed Outgoing Incoming + + Background mode diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index e75359ed2..6977ce381 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -283,6 +283,11 @@ android:title="@string/pref_debug" android:defaultValue="@bool/pref_debug_default"/> + + 0) { @@ -1360,7 +1365,11 @@ public class LinphoneActivity extends FragmentActivity implements public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (currentFragment == FragmentsAvailable.DIALER) { - if (LinphoneUtils.onKeyBackGoHome(this, keyCode, event)) { + boolean isBackgroundModeActive = PreferenceManager.getDefaultSharedPreferences(this).getBoolean(getString(R.string.pref_background_mode_key), getResources().getBoolean(R.bool.pref_background_mode_default)); + if (!isBackgroundModeActive) { + stopService(new Intent(Intent.ACTION_MAIN).setClass(this, LinphoneService.class)); + finish(); + } else if (LinphoneUtils.onKeyBackGoHome(this, keyCode, event)) { return true; } } else if (!isTablet()) { diff --git a/src/org/linphone/StatusFragment.java b/src/org/linphone/StatusFragment.java index 77a4dc801..52f7d94a1 100644 --- a/src/org/linphone/StatusFragment.java +++ b/src/org/linphone/StatusFragment.java @@ -43,7 +43,6 @@ 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; @@ -61,7 +60,7 @@ import android.widget.Toast; public class StatusFragment extends Fragment { private Handler mHandler = new Handler(); private Handler refreshHandler = new Handler(); - private TextView statusText, exit; + private TextView statusText; private ImageView statusLed, callQuality, encryption, background; private ListView sliderContentAccounts; private TableLayout callStats; @@ -98,17 +97,6 @@ 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; - } - }); // We create it once to not delay the first display populateSliderContent(); @@ -330,7 +318,6 @@ public class StatusFragment extends Fragment { refreshStatusItems(call, call.getCurrentParamsCopy().getVideoEnabled()); } - exit.setVisibility(View.GONE); statusText.setVisibility(View.GONE); encryption.setVisibility(View.VISIBLE); @@ -338,7 +325,6 @@ public class StatusFragment extends Fragment { statusLed.setImageResource(R.drawable.led_connected); statusText.setText(getString(R.string.status_connected)); } else { - exit.setVisibility(View.VISIBLE); statusText.setVisibility(View.VISIBLE); background.setVisibility(View.VISIBLE); encryption.setVisibility(View.GONE);