From 56be852dcab039d43fbb2d30f1fbcb5d91ef5b4c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 4 Apr 2019 10:04:04 +0200 Subject: [PATCH] Copy logs url into clipboard after successful upload --- .../java/org/linphone/LinphoneManager.java | 18 +++++++++++++++--- app/src/main/res/values/strings.xml | 1 + 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/linphone/LinphoneManager.java b/app/src/main/java/org/linphone/LinphoneManager.java index 0963b22c8..4a6bcf27c 100644 --- a/app/src/main/java/org/linphone/LinphoneManager.java +++ b/app/src/main/java/org/linphone/LinphoneManager.java @@ -28,6 +28,8 @@ import android.app.AlertDialog; import android.app.Dialog; import android.app.ProgressDialog; import android.content.BroadcastReceiver; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; @@ -1701,7 +1703,8 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou @Override public void onEcCalibrationAudioUninit(Core lc) {} - private void sendLogs(Context context, String info) { + private void sendLogs(String info) { + Context context = LinphoneActivity.instance(); final String appName = context.getString(R.string.app_name); Intent i = new Intent(Intent.ACTION_SEND); @@ -1713,7 +1716,7 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou i.setType("application/zip"); try { - LinphoneActivity.instance().startActivity(Intent.createChooser(i, "Send mail...")); + context.startActivity(Intent.createChooser(i, "Send mail...")); } catch (android.content.ActivityNotFoundException ex) { Log.e(ex); } @@ -1724,7 +1727,16 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou Core linphoneCore, LogCollectionUploadState state, String info) { Log.d("[Manager] Log upload state: " + state.toString() + ", info = " + info); if (state == LogCollectionUploadState.Delivered) { - sendLogs(LinphoneService.instance().getApplicationContext(), info); + ClipboardManager clipboard = + (ClipboardManager) mServiceContext.getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText("Logs url", info); + clipboard.setPrimaryClip(clip); + Toast.makeText( + LinphoneActivity.instance(), + getString(R.string.logs_url_copied_to_clipboard), + Toast.LENGTH_SHORT) + .show(); + sendLogs(info); } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a907beeba..3b9d8a3ba 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -64,6 +64,7 @@ An update is available Do not show again Are you sure you want to delete these contacts?\nThey will be deleted from your phone as well! + Logs url copied into clipboard the libre SIP client