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));