diff --git a/res/layout/status.xml b/res/layout/status.xml
index ef71bf6a7..4471819e5 100644
--- a/res/layout/status.xml
+++ b/res/layout/status.xml
@@ -20,11 +20,6 @@
android:layout_height="match_parent"
android:background="@android:color/black">
-
-
+
+
diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java
index 4a0bafcb0..eaccdf6c0 100644
--- a/src/org/linphone/LinphoneActivity.java
+++ b/src/org/linphone/LinphoneActivity.java
@@ -593,12 +593,16 @@ public class LinphoneActivity extends FragmentActivity implements OnClickListene
return chatStorage;
}
+ public void exit() {
+ finish();
+ stopService(new Intent(ACTION_MAIN).setClass(this, LinphoneService.class));
+ }
+
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_FIRST_USER && requestCode == SETTINGS_ACTIVITY) {
if (data.getExtras().getBoolean("Exit", false)) {
- finish();
- stopService(new Intent(ACTION_MAIN).setClass(this, LinphoneService.class));
+ exit();
} else {
FragmentsAvailable newFragment = (FragmentsAvailable) data.getExtras().getSerializable("FragmentToDisplay");
changeCurrentFragment(newFragment, null, true);
diff --git a/src/org/linphone/StatusFragment.java b/src/org/linphone/StatusFragment.java
index 64a015c83..c6046f9c9 100644
--- a/src/org/linphone/StatusFragment.java
+++ b/src/org/linphone/StatusFragment.java
@@ -28,6 +28,7 @@ import android.os.Handler;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
+import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
@@ -57,6 +58,12 @@ public class StatusFragment extends Fragment {
encryption = (ImageView) view.findViewById(R.id.encryption);
drawer = (SlidingDrawer) view.findViewById(R.id.statusBar);
+ view.findViewById(R.id.exit).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ LinphoneActivity.instance().exit();
+ }
+ });
return view;
}
@@ -194,7 +201,9 @@ public class StatusFragment extends Fragment {
drawer.lock();
}
} else {
- if (drawer != null && !getResources().getBoolean(R.bool.lock_statusbar)) {
+ if (drawer != null && getResources().getBoolean(R.bool.lock_statusbar)) {
+ drawer.lock();
+ } else if (drawer != null) {
drawer.unlock();
}
}
diff --git a/src/org/linphone/ui/SlidingDrawer.java b/src/org/linphone/ui/SlidingDrawer.java
index b0a15b0b1..b7bf9bf9a 100644
--- a/src/org/linphone/ui/SlidingDrawer.java
+++ b/src/org/linphone/ui/SlidingDrawer.java
@@ -417,13 +417,13 @@ public class SlidingDrawer extends ViewGroup {
mVelocityTracker.addMovement(event);
}
- return true;
+ return onTouchEvent(event);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (mLocked) {
- return true;
+ return false;
}
if (mTracking) {
@@ -534,7 +534,7 @@ public class SlidingDrawer extends ViewGroup {
}
}
- return mTracking || mAnimating || super.onTouchEvent(event);
+ return false;
}
private void animateClose(int position) {