From 4216fdb58e62b0d01ead7528e223bb3b948c6739 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Wed, 10 May 2017 15:52:07 +0200 Subject: [PATCH] Fix incoming call view --- res/layout-land/call_incoming.xml | 4 ++-- res/layout-sw533dp-land/call_incoming.xml | 4 ++-- res/layout/call_incoming.xml | 4 ++-- .../org/linphone/CallIncomingActivity.java | 23 +++++++++++-------- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/res/layout-land/call_incoming.xml b/res/layout-land/call_incoming.xml index 897be09bd..9cfa115f6 100644 --- a/res/layout-land/call_incoming.xml +++ b/res/layout-land/call_incoming.xml @@ -110,7 +110,7 @@ android:src="@drawable/call_hangup" android:background="@drawable/hangup" android:contentDescription="@string/content_description_decline" - android:layout_width="match_parent" + android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:padding="12dp"/> @@ -151,7 +151,7 @@ android:src="@drawable/call_audio_start" android:background="@drawable/call" android:contentDescription="@string/content_description_accept" - android:layout_width="match_parent" + android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:padding="12dp"/> diff --git a/res/layout-sw533dp-land/call_incoming.xml b/res/layout-sw533dp-land/call_incoming.xml index 61310581e..0b1da0e18 100644 --- a/res/layout-sw533dp-land/call_incoming.xml +++ b/res/layout-sw533dp-land/call_incoming.xml @@ -110,7 +110,7 @@ android:src="@drawable/call_hangup" android:background="@drawable/hangup" android:contentDescription="@string/content_description_decline" - android:layout_width="match_parent" + android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:padding="15dp"/> @@ -151,7 +151,7 @@ android:src="@drawable/call_audio_start" android:background="@drawable/call" android:contentDescription="@string/content_description_accept" - android:layout_width="match_parent" + android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:padding="15dp"/> diff --git a/res/layout/call_incoming.xml b/res/layout/call_incoming.xml index cc439102e..f5db7f08d 100644 --- a/res/layout/call_incoming.xml +++ b/res/layout/call_incoming.xml @@ -96,7 +96,7 @@ android:src="@drawable/call_hangup" android:background="@drawable/hangup" android:contentDescription="@string/content_description_decline" - android:layout_width="match_parent" + android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:padding="12dp"/> @@ -137,7 +137,7 @@ android:src="@drawable/call_audio_start" android:background="@drawable/call" android:contentDescription="@string/content_description_accept" - android:layout_width="match_parent" + android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:padding="12dp"/> diff --git a/src/android/org/linphone/CallIncomingActivity.java b/src/android/org/linphone/CallIncomingActivity.java index 814220633..a00344ea7 100644 --- a/src/android/org/linphone/CallIncomingActivity.java +++ b/src/android/org/linphone/CallIncomingActivity.java @@ -48,13 +48,13 @@ public class CallIncomingActivity extends LinphoneGenericActivity implements Lin private static CallIncomingActivity instance; private TextView name, number; - private ImageView contactPicture, accept, decline; + private ImageView contactPicture, accept, decline, arrow; private LinphoneCall mCall; private LinphoneCoreListenerBase mListener; private LinearLayout acceptUnlock; private LinearLayout declineUnlock; - private boolean alreadyAcceptedOrDeniedCall; - private float answerX; + private boolean alreadyAcceptedOrDeniedCall, begin; + private float answerX, oldMove; private float declineX; public static CallIncomingActivity instance() { @@ -91,6 +91,7 @@ public class CallIncomingActivity extends LinphoneGenericActivity implements Lin accept = (ImageView) findViewById(R.id.accept); decline = (ImageView) findViewById(R.id.decline); + arrow = (ImageView) findViewById(R.id.arrow_hangup); accept.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -110,14 +111,18 @@ public class CallIncomingActivity extends LinphoneGenericActivity implements Lin case MotionEvent.ACTION_DOWN: acceptUnlock.setVisibility(View.VISIBLE); decline.setVisibility(View.GONE); - answerX = motionEvent.getX(); + answerX = motionEvent.getX()+accept.getWidth()/2; + begin = true; + oldMove = 0; break; case MotionEvent.ACTION_MOVE: curX = motionEvent.getX(); - if((answerX - curX) >= 0) - view.scrollBy((int) (answerX - curX), view.getScrollY()); + view.scrollBy((int) (answerX - curX), view.getScrollY()); + oldMove -= answerX - curX; answerX = curX; - if (curX < screenWidth/4) { + if (oldMove < -25) + begin = false; + if (curX < arrow.getWidth() && !begin) { answer(); return true; } @@ -146,8 +151,7 @@ public class CallIncomingActivity extends LinphoneGenericActivity implements Lin curX = motionEvent.getX(); view.scrollBy((int) (declineX - curX), view.getScrollY()); declineX = curX; - Log.w(curX); - if (curX > (screenWidth/2)){ + if (curX > (screenWidth-arrow.getWidth()*4)) { decline(); return true; } @@ -157,7 +161,6 @@ public class CallIncomingActivity extends LinphoneGenericActivity implements Lin accept.setVisibility(View.VISIBLE); declineUnlock.setVisibility(View.GONE); break; - } return true; }