diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ClipboardHelper.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ClipboardHelper.java new file mode 100644 index 000000000..78665caa9 --- /dev/null +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ClipboardHelper.java @@ -0,0 +1,23 @@ +package fr.gaulupeau.apps.Poche.ui; + +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; + +public class ClipboardHelper { + + public String getClipboardContent(Context context) { + ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); + if (clipboardManager != null && clipboardManager.hasPrimaryClip()) { + ClipData clipData = clipboardManager.getPrimaryClip(); + if (clipData != null && clipData.getItemCount() > 0) { + CharSequence text = clipData.getItemAt(0).getText(); + if (text != null) { + return text.toString().trim(); + } + } + } + return ""; + } + +} diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/MainActivity.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/MainActivity.java index 8dd7b62ce..0a111bf2e 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/MainActivity.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/MainActivity.java @@ -17,6 +17,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.widget.EditText; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; @@ -114,6 +115,8 @@ public class MainActivity extends AppCompatActivity private boolean searchUIPending; private String selectedTag; + private ClipboardHelper clipboardHelper = new ClipboardHelper(); + @Override protected void onCreate(Bundle savedInstanceState) { Log.d(TAG, "onCreate()"); @@ -932,12 +935,18 @@ private void showAddBagDialog() { @SuppressLint("InflateParams") final View view = getLayoutInflater().inflate(R.layout.dialog_add, null); + EditText urlEditText = view.findViewById(R.id.page_url); + String clipboardContent = clipboardHelper.getClipboardContent(this); + if (clipboardContent.toLowerCase().startsWith("https://")) { + urlEditText.setText(clipboardContent); + } + urlEditText.requestFocus(); + urlEditText.selectAll(); + builder.setView(view); - builder.setPositiveButton(android.R.string.ok, (dialog, which) -> { - TextView textView = view.findViewById(R.id.page_url); - OperationsHelper.addArticleWithUI(this, textView.getText().toString(), null); - }); + builder.setPositiveButton(android.R.string.ok, (dialog, which) -> + OperationsHelper.addArticleWithUI(this, urlEditText.getText().toString(), null)); builder.setNegativeButton(android.R.string.cancel, null); builder.show();