From 0dd6b5fa9474b35f4cecbd219fa84067e5426181 Mon Sep 17 00:00:00 2001 From: okjack Date: Tue, 1 Oct 2024 15:33:33 +0800 Subject: [PATCH] Fix clipboard bug --- .../java/com/fongmi/android/tv/utils/Util.java | 15 +++++++++++---- .../android/tv/ui/activity/VideoActivity.java | 1 - .../fongmi/android/tv/ui/dialog/InfoDialog.java | 3 --- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Util.java b/app/src/main/java/com/fongmi/android/tv/utils/Util.java index 2e941be5d..1d98308b6 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Util.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Util.java @@ -22,6 +22,7 @@ import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import com.fongmi.android.tv.App; +import com.fongmi.android.tv.R; import com.github.catvod.Init; import java.text.SimpleDateFormat; @@ -68,13 +69,19 @@ public class Util { public static CharSequence getClipText() { ClipboardManager manager = (ClipboardManager) App.get().getSystemService(Context.CLIPBOARD_SERVICE); - if (manager.getPrimaryClip() == null || manager.getPrimaryClip().getItemCount() == 0) return ""; - return manager.getPrimaryClip().getItemAt(0).getText(); + ClipData clipData = manager == null ? null : manager.getPrimaryClip(); + if (clipData == null || clipData.getItemCount() == 0) return ""; + return clipData.getItemAt(0).getText(); } public static void copy(String text) { - ClipboardManager manager = (ClipboardManager) App.get().getSystemService(Context.CLIPBOARD_SERVICE); - manager.setPrimaryClip(ClipData.newPlainText("", text)); + try { + ClipboardManager manager = (ClipboardManager) App.get().getSystemService(Context.CLIPBOARD_SERVICE); + manager.setPrimaryClip(ClipData.newPlainText("", text)); + Notify.show(R.string.copied); + } catch (Exception e) { + e.printStackTrace(); + } } public static int getDigit(String text) { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 473658dcd..7c26c0a80 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -774,7 +774,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } private boolean onCopy() { - Notify.show(R.string.copied); Util.copy(mBinding.content.getText().toString()); return true; } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java index 7e86f59dd..9fa7bc87e 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java @@ -7,9 +7,7 @@ import android.view.View; import androidx.appcompat.app.AlertDialog; -import com.fongmi.android.tv.R; import com.fongmi.android.tv.databinding.DialogInfoBinding; -import com.fongmi.android.tv.utils.Notify; import com.fongmi.android.tv.utils.Util; import com.google.android.material.dialog.MaterialAlertDialogBuilder; @@ -86,7 +84,6 @@ public class InfoDialog { } private boolean onCopy(String text) { - Notify.show(R.string.copied); Util.copy(text); return true; }