Skip to content

Commit 2ec947d

Browse files
committed
Add long press to copy URL in media stats fragment
Closes: #513
1 parent 43eb17f commit 2ec947d

File tree

11 files changed

+32
-1
lines changed

11 files changed

+32
-1
lines changed

app/src/main/java/com/mxt/anitrend/view/fragment/detail/MediaStatsFragment.java

+13-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
package com.mxt.anitrend.view.fragment.detail;
22

3+
import android.content.ClipData;
4+
import android.content.ClipboardManager;
5+
import android.content.Context;
36
import android.content.Intent;
47
import android.graphics.Color;
58
import android.net.Uri;
9+
import android.os.Build;
610
import android.os.Bundle;
711
import android.view.LayoutInflater;
812
import android.view.View;
913
import android.view.ViewGroup;
14+
import android.widget.Toast;
1015

1116
import androidx.annotation.NonNull;
1217
import androidx.annotation.Nullable;
@@ -36,6 +41,7 @@
3641
import com.mxt.anitrend.util.ChartUtil;
3742
import com.mxt.anitrend.util.CompatUtil;
3843
import com.mxt.anitrend.util.KeyUtil;
44+
import com.mxt.anitrend.util.NotifyUtil;
3945
import com.mxt.anitrend.util.graphql.GraphUtil;
4046
import com.mxt.anitrend.util.media.MediaBrowseUtil;
4147
import com.mxt.anitrend.util.media.MediaUtil;
@@ -55,6 +61,7 @@ public class MediaStatsFragment extends FragmentBase<Media, MediaPresenter, Medi
5561

5662
private FragmentSeriesStatsBinding binding;
5763
private Media model;
64+
private ClipboardManager clipboardManager;
5865

5966
private RankAdapter rankAdapter;
6067
private LinkAdapter linkAdapter;
@@ -75,6 +82,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
7582
mediaId = getArguments().getLong(KeyUtil.arg_id);
7683
mediaType = getArguments().getString(KeyUtil.arg_mediaType);
7784
}
85+
clipboardManager = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
7886
isMenuDisabled = true; mColumnSize = R.integer.grid_list_x2;
7987
setPresenter(new MediaPresenter(getContext()));
8088
setViewModel(true);
@@ -165,7 +173,11 @@ public void onItemClick(View target, IntPair<ExternalLink> data) {
165173

166174
@Override
167175
public void onItemLongClick(View target, IntPair<ExternalLink> data) {
168-
176+
clipboardManager.setPrimaryClip(ClipData.newPlainText("", data.getSecond().getUrl()));
177+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
178+
// Android 13 shows a clipboard editor overlay, thus we don't need a toast msg for it.
179+
NotifyUtil.INSTANCE.makeText(getContext(), R.string.text_url_copied_to_clipboard, Toast.LENGTH_SHORT).show();
180+
}
169181
}
170182
});
171183
}

app/src/main/res/values-ar/strings.xml

+2
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,8 @@
342342

343343
<string name="text_confirm_exit">اضغط على زر العودة مرة اخرى للخروج من التطبيق</string>
344344

345+
<string name="text_url_copied_to_clipboard">Copied URL to clipboard</string>
346+
345347
<string name="text_filter_applying">جارٍ تطبيق التعديلات..</string>
346348

347349
<string name="text_filter_restriction">لايمكن استخدام الفلاتر في هذه الصفحة</string>

app/src/main/res/values-de/strings.xml

+1
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,7 @@ Another message using a bit of html the p tags represent new paragraphs -->
311311
<string name="text_permission_write">"AniTrend benötigt die Erlaubnis, Dateien in das Downloadverzeichnis zu speichern. Fortfahren?"</string>
312312
<string name="init_youtube_missing">"Um sich Trailer anzuschauen, benötigst du die YouTube App!"</string>
313313
<string name="text_confirm_exit">"Tippe erneut, um die App zu beenden"</string>
314+
<string name="text_url_copied_to_clipboard">Copied URL to clipboard</string>
314315
<string name="text_filter_applying">"Änderungen anwenden.."</string>
315316
<string name="text_filter_restriction">"Filter sind auf dieser Seite nicht verfügbar"</string>
316317
<string name="text_quality_changed">"Qualität der Liste wurde verändert!"</string>

app/src/main/res/values-es/strings.xml

+2
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,8 @@ elementos de tus favoritos al presionar en el icono del corazón .
340340

341341
<string name="text_confirm_exit">Presiona nuevamente para salir de la app</string>
342342

343+
<string name="text_url_copied_to_clipboard">Copied URL to clipboard</string>
344+
343345
<string name="text_filter_applying">Aplicando cambios...</string>
344346

345347
<string name="text_filter_restriction">Los filtros no pueden ser aplicados en esta página</string>

app/src/main/res/values-fr/strings.xml

+2
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,8 @@
322322

323323
<string name="text_confirm_exit">Appuyez à nouveau sur "Retour" pour quitter l\'application</string>
324324

325+
<string name="text_url_copied_to_clipboard">Copied URL to clipboard</string>
326+
325327
<string name="text_filter_applying">Application des Modifications…</string>
326328

327329
<string name="text_filter_restriction">Les Filtres ne sont pas applicables sur cette page !</string>

app/src/main/res/values-it/strings.xml

+2
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,8 @@
331331

332332
<string name="text_confirm_exit">Premi ancora indietro per uscire dall\' app</string>
333333

334+
<string name="text_url_copied_to_clipboard">Copied URL to clipboard</string>
335+
334336
<string name="text_filter_applying">Applico i filtri</string>
335337

336338
<string name="text_filter_restriction">I filtri non sono applicabili in questa pagina</string>

app/src/main/res/values-nl/strings.xml

+2
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,8 @@
316316

317317
<string name="text_confirm_exit">Druk nogmaals terug om terug te gaan</string>
318318

319+
<string name="text_url_copied_to_clipboard">Copied URL to clipboard</string>
320+
319321
<string name="text_filter_applying">Veranderingen Doorvoeren..</string>
320322

321323
<string name="text_filter_restriction">Filters niet van toepassing op deze pagina</string>

app/src/main/res/values-pl/strings.xml

+2
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,8 @@
338338

339339
<string name="text_confirm_exit">Naciśnij ponownie, aby zamknąć aplikację</string>
340340

341+
<string name="text_url_copied_to_clipboard">Copied URL to clipboard</string>
342+
341343
<string name="text_filter_applying">Stosowanie zmian…</string>
342344

343345
<string name="text_filter_restriction">Filtry nie mają zastosowania na tej stronie</string>

app/src/main/res/values-pt/strings.xml

+2
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,8 @@
334334

335335
<string name="text_confirm_exit">Pressione voltar novamente para sair do aplicativo</string>
336336

337+
<string name="text_url_copied_to_clipboard">Copied URL to clipboard</string>
338+
337339
<string name="text_filter_applying">Aplicando Alterações..</string>
338340

339341
<string name="text_filter_restriction">Filtros não aplicáveis nesta página</string>

app/src/main/res/values-sv/strings.xml

+2
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,8 @@
337337

338338
<string name="text_confirm_exit">Tryck tillbaka igen för att lämna appen</string>
339339

340+
<string name="text_url_copied_to_clipboard">Copied URL to clipboard</string>
341+
340342
<string name="text_filter_applying">Använda ändringar...</string>
341343

342344
<string name="text_filter_restriction">Filter som inte är tillämpliga på den här sidan</string>

app/src/main/res/values/strings.xml

+2
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,8 @@
342342

343343
<string name="text_confirm_exit">Press back again to exit the app</string>
344344

345+
<string name="text_url_copied_to_clipboard">Copied URL to clipboard</string>
346+
345347
<string name="text_filter_applying">Applying Changes..</string>
346348

347349
<string name="text_filter_restriction">Filters not applicable on this page</string>

0 commit comments

Comments
 (0)