Skip to content

Commit

Permalink
Fix #841 "Link" functionality in text menu causes error
Browse files Browse the repository at this point in the history
  • Loading branch information
stefan-niedermann committed May 26, 2020
1 parent 8502190 commit 81f71ca
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 11 deletions.
Expand Up @@ -3,6 +3,7 @@
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;

Expand All @@ -11,7 +12,6 @@

import java.net.MalformedURLException;
import java.net.URL;
import java.util.Objects;

import it.niedermann.owncloud.notes.R;

Expand Down Expand Up @@ -44,15 +44,30 @@ public static boolean copyToClipboard(@NonNull Context context, @Nullable String
}

public static String getClipboardURLorNull(Context context) {
String clipboardURL = null;
ClipData clipboardData = Objects.requireNonNull(((ClipboardManager) Objects.requireNonNull(context.getSystemService(CLIPBOARD_SERVICE))).getPrimaryClip());
if (clipboardData.getItemCount() > 0) {
try {
clipboardURL = new URL(clipboardData.getItemAt(0).getText().toString()).toString();
} catch (MalformedURLException e) {
Log.d(TAG, "Clipboard does not contain a valid URL: " + clipboardData.getItemAt(0).getText().toString());
}
final ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(CLIPBOARD_SERVICE);
if (clipboardManager == null) {
return null;
}
final ClipData clipboardData = clipboardManager.getPrimaryClip();
if (clipboardData == null) {
return null;
}
if (clipboardData.getItemCount() < 1) {
return null;
}
final ClipData.Item clipItem = clipboardData.getItemAt(0);
if (clipItem == null) {
return null;
}
CharSequence clipText = clipItem.getText();
if (TextUtils.isEmpty(clipText)) {
return null;
}
try {
return new URL(clipText.toString()).toString();
} catch (MalformedURLException e) {
Log.d(TAG, "Clipboard does not contain a valid URL: " + clipText);
}
return clipboardURL;
return null;
}
}
3 changes: 2 additions & 1 deletion fastlane/metadata/android/en-US/changelogs/2013000.txt
@@ -1 +1,2 @@
- Note list widget should create a note in it's respective category (#817)
- Note list widget should create a note in it's respective category (#817)
- "Link" functionality in text menu causes error (#841)

0 comments on commit 81f71ca

Please sign in to comment.