From 0d62aef3c6f9e8301b25396ca73333a6cb1cd93f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 9 Sep 2016 12:03:05 +0200 Subject: [PATCH 1/3] Fix squared images in chat --- .../avatar_chat_mask_outgoing.png | Bin 0 -> 5345 bytes res/layout/chat_bubble.xml | 37 +++++++++++++----- src/org/linphone/ChatFragment.java | 4 ++ 3 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 res/drawable-xhdpi/avatar_chat_mask_outgoing.png diff --git a/res/drawable-xhdpi/avatar_chat_mask_outgoing.png b/res/drawable-xhdpi/avatar_chat_mask_outgoing.png new file mode 100644 index 0000000000000000000000000000000000000000..7e471c425535ec7967e3a7bf05ec381826334e42 GIT binary patch literal 5345 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 ntiQoVDQRtff9#9vZ6VW!eJ}qu@4~ - - + + + + + + + + - \ No newline at end of file + diff --git a/src/org/linphone/ChatFragment.java b/src/org/linphone/ChatFragment.java index 924dc6de6..13d29ea46 100644 --- a/src/org/linphone/ChatFragment.java +++ b/src/org/linphone/ChatFragment.java @@ -950,6 +950,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC public Button fileTransferAction; public ImageView messageStatus; public ProgressBar messageSendingInProgress; + public ImageView contactPictureMask; public ViewHolder(View view) { id = view.getId(); @@ -965,6 +966,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC fileTransferAction = (Button) view.findViewById(R.id.file_transfer_action); messageStatus = (ImageView) view.findViewById(R.id.status); messageSendingInProgress = (ProgressBar) view.findViewById(R.id.inprogress); + contactPictureMask = (ImageView) view.findViewById(R.id.mask); } @Override @@ -1191,6 +1193,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC Compatibility.setTextAppearance(holder.contactName, getActivity(), R.style.font3); Compatibility.setTextAppearance(holder.fileTransferAction, getActivity(), R.style.font15); holder.fileTransferAction.setBackgroundResource(R.drawable.resizable_confirm_delete_button); + holder.contactPictureMask.setImageResource(R.drawable.avatar_chat_mask_outgoing); } else { if (isEditMode) { layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); @@ -1203,6 +1206,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC Compatibility.setTextAppearance(holder.contactName, getActivity(), R.style.font9); Compatibility.setTextAppearance(holder.fileTransferAction, getActivity(), R.style.font8); holder.fileTransferAction.setBackgroundResource(R.drawable.resizable_assistant_button); + holder.contactPictureMask.setImageResource(R.drawable.avatar_chat_mask); } holder.bubbleLayout.setLayoutParams(layoutParams); From 3cb669e3a3a51043d57abc4637dcf80e0eb279bf Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 12 Sep 2016 10:15:02 +0200 Subject: [PATCH 2/3] Added code to generate notification on missed call but commented it out for now --- src/org/linphone/LinphoneService.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/org/linphone/LinphoneService.java b/src/org/linphone/LinphoneService.java index e4df93e5c..674bf5521 100644 --- a/src/org/linphone/LinphoneService.java +++ b/src/org/linphone/LinphoneService.java @@ -25,6 +25,7 @@ import org.linphone.compatibility.Compatibility; import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneCall; import org.linphone.core.LinphoneCall.State; +import org.linphone.core.LinphoneCallLog.CallStatus; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneCore.GlobalState; import org.linphone.core.LinphoneCore.RegistrationState; @@ -213,6 +214,12 @@ public final class LinphoneService extends Service { if (state == State.CallEnd || state == State.CallReleased || state == State.Error) { destroyOverlay(); } + + // Enable the following to have missed call notifications + /*if (state == State.CallEnd && call.getCallLog().getStatus() == CallStatus.Missed) { + Notification notif = Compatibility.createSimpleNotification(instance, "Missed call", LinphoneManager.getLc().getMissedCallsCount() + " missed call", mNotifContentIntent); + notifyWrapper(CUSTOM_NOTIF_ID, notif); + }*/ if (state == State.StreamsRunning) { // Workaround bug current call seems to be updated after state changed to streams running From 81639fe542fe3d82214970f1ec7656c298fca524 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Mon, 12 Sep 2016 16:27:23 +0200 Subject: [PATCH 3/3] Released incall wake lock at the call end --- src/org/linphone/LinphoneManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 76dd19ba5..b0721d1ed 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -1112,6 +1112,12 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag routeAudioToReceiver(); } } + if (mIncallWakeLock != null && mIncallWakeLock.isHeld()) { + mIncallWakeLock.release(); + Log.i("Last call ended: releasing incall (CPU only) wake lock"); + } else { + Log.i("Last call ended: no incall (CPU only) wake lock were held"); + } } } if (state == State.CallUpdatedByRemote) {