Skip to content

Commit 4b7311b

Browse files
authored
Merge pull request #3826 from Stypox/unsupported-url-dialog
Show dialog with open options in case of an unsupported url
2 parents 11d9a03 + eeba9c0 commit 4b7311b

File tree

61 files changed

+87
-74
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+87
-74
lines changed

app/src/main/java/org/schabi/newpipe/RouterActivity.java

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import org.schabi.newpipe.util.ListHelper;
5151
import org.schabi.newpipe.util.NavigationHelper;
5252
import org.schabi.newpipe.util.PermissionHelper;
53+
import org.schabi.newpipe.util.ShareUtils;
5354
import org.schabi.newpipe.util.ThemeHelper;
5455
import org.schabi.newpipe.util.urlfinder.UrlFinder;
5556
import org.schabi.newpipe.views.FocusOverlayView;
@@ -159,27 +160,36 @@ private void handleUrl(final String url) {
159160
if (result) {
160161
onSuccess();
161162
} else {
162-
onError();
163+
showUnsupportedUrlDialog(url);
163164
}
164-
}, this::handleError));
165+
}, throwable -> handleError(throwable, url)));
165166
}
166167

167-
private void handleError(final Throwable error) {
168-
error.printStackTrace();
168+
private void handleError(final Throwable throwable, final String url) {
169+
throwable.printStackTrace();
169170

170-
if (error instanceof ExtractionException) {
171-
Toast.makeText(this, R.string.url_not_supported_toast, Toast.LENGTH_LONG).show();
171+
if (throwable instanceof ExtractionException) {
172+
showUnsupportedUrlDialog(url);
172173
} else {
173-
ExtractorHelper.handleGeneralException(this, -1, null, error,
174+
ExtractorHelper.handleGeneralException(this, -1, url, throwable,
174175
UserAction.SOMETHING_ELSE, null);
176+
finish();
175177
}
176-
177-
finish();
178178
}
179179

180-
private void onError() {
181-
Toast.makeText(this, R.string.url_not_supported_toast, Toast.LENGTH_LONG).show();
182-
finish();
180+
private void showUnsupportedUrlDialog(final String url) {
181+
final Context context = getThemeWrapperContext();
182+
new AlertDialog.Builder(context)
183+
.setTitle(R.string.unsupported_url)
184+
.setMessage(R.string.unsupported_url_dialog_message)
185+
.setIcon(ThemeHelper.resolveResourceIdFromAttr(context, R.attr.ic_share))
186+
.setPositiveButton(R.string.open_in_browser,
187+
(dialog, which) -> ShareUtils.openUrlInBrowser(this, url))
188+
.setNegativeButton(R.string.share,
189+
(dialog, which) -> ShareUtils.shareUrl(this, "", url)) // no subject
190+
.setNeutralButton(R.string.cancel, null)
191+
.setOnDismissListener(dialog -> finish())
192+
.show();
183193
}
184194

185195
protected void onSuccess() {
@@ -459,7 +469,7 @@ private void handleChoice(final String selectedChoiceKey) {
459469
startActivity(intent);
460470

461471
finish();
462-
}, this::handleError)
472+
}, throwable -> handleError(throwable, currentUrl))
463473
);
464474
return;
465475
}
@@ -493,7 +503,9 @@ private void openDownloadDialog() {
493503
downloadDialog.show(fm, "downloadDialog");
494504
fm.executePendingTransactions();
495505
downloadDialog.getDialog().setOnDismissListener(dialog -> finish());
496-
}, (@NonNull Throwable throwable) -> onError());
506+
}, (@NonNull Throwable throwable) -> {
507+
showUnsupportedUrlDialog(currentUrl);
508+
});
497509
}
498510

499511
@Override

app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -812,7 +812,7 @@ private void search(final String ss, final String[] cf, final String sf) {
812812
getFM().popBackStackImmediate();
813813
activity.startActivity(intent);
814814
}, throwable ->
815-
showError(getString(R.string.url_not_supported_toast), false)));
815+
showError(getString(R.string.unsupported_url), false)));
816816
return;
817817
}
818818
} catch (final Exception ignored) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
<string name="show_play_with_kodi_title">عرض خيار التشغيل بواسطة كودي</string>
4747
<string name="theme_title">السمة</string>
4848
<string name="upload_date_text">تم النشر بتاريخ %1$s</string>
49-
<string name="url_not_supported_toast">رابط URL غير معتمد</string>
49+
<string name="unsupported_url">رابط URL غير معتمد</string>
5050
<string name="use_external_audio_player_title">استخدام مشغل صوت خارجي</string>
5151
<string name="use_external_video_player_title">استخدام مشغل فيديو خارجي</string>
5252
<string name="use_tor_summary">(إختبارية) إجراء التنزيلات من خلال استخدام بروكسي Tor لزيادة الخصوصية ( تشغيل الفيديو المباشر غير مدعوم حتى الأن ).</string>

app/src/main/res/values-b+ast/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@
276276
<string name="playback_tempo">Tempu</string>
277277
<string name="playback_pitch">Tonu</string>
278278
<string name="decline">Refugar</string>
279-
<string name="url_not_supported_toast">La URL nun se sofita</string>
279+
<string name="unsupported_url">La URL nun se sofita</string>
280280
<string name="background_player_playing_toast">Reproduciendo en segundu planu</string>
281281
<string name="popup_playing_toast">Reproduciendo nel mou ventanu</string>
282282
<string name="enable_search_history_summary">Atroxa llocalmente les consultes de gueta</string>

app/src/main/res/values-b+zh+HANS+CN/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<string name="black_theme_title">黑色</string>
3030
<string name="download_dialog_title">下载</string>
3131
<string name="next_video_title">下一个</string>
32-
<string name="url_not_supported_toast">不支持的 URL</string>
32+
<string name="unsupported_url">不支持的 URL</string>
3333
<string name="settings_category_appearance_title">外观</string>
3434
<string name="settings_category_other_title">其他</string>
3535
<string name="all">全部</string>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
<string name="show_next_and_similar_title">\"Наступнае\" и \"Прапанаванае\" відэа</string>
8686
<string name="show_hold_to_append_title">\"Зацісніце, каб дадаць\"</string>
8787
<string name="show_hold_to_append_summary">Паказаць падказку пры націсканні \"У акне\" ці \"У фоне\" на старонцы звестак аб відэа</string>
88-
<string name="url_not_supported_toast">URL не падтрымліваецца</string>
88+
<string name="unsupported_url">URL не падтрымліваецца</string>
8989
<string name="default_content_country_title">Краіна кантэнту па змаўчанні</string>
9090
<string name="service_title">Сэрвіс</string>
9191
<string name="content_language_title">Мова кантэнту па змаўчанні</string>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
<string name="next_video_title">Следващ клип</string>
6969
<string name="show_next_and_similar_title">Показвай „следващ“ и „подобни“</string>
7070
<string name="show_hold_to_append_title">Показвай съвет „задръж за добавяне“</string>
71-
<string name="url_not_supported_toast">Непознат URL</string>
71+
<string name="unsupported_url">Непознат URL</string>
7272
<string name="content_language_title">Език на съдържанието по подразбиране</string>
7373
<string name="settings_category_player_title">Плейър</string>
7474
<string name="settings_category_player_behavior_title">Поведение</string>

app/src/main/res/values-bn-rBD/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
<string name="download_dialog_title">ডাউনলোড</string>
5050
<string name="next_video_title">পরবর্তী ভিডিও</string>
5151
<string name="show_next_and_similar_title">পরবর্তী এবং অনুরূপ ভিডিওগুলি দেখাও</string>
52-
<string name="url_not_supported_toast">URL সমর্থিত নয়</string>
52+
<string name="unsupported_url">URL সমর্থিত নয়</string>
5353
<string name="content_language_title">কন্টেন্ট এর জন্য পছন্দসই ভাষা</string>
5454
<string name="settings_category_video_audio_title">ভিডিও এবং অডিও</string>
5555
<string name="settings_category_popup_title">পপআপ</string>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@
279279
<string name="enable_search_history_summary">Emmagatzema les cerques localment</string>
280280
<string name="enable_watch_history_summary">Crea un historial de vídeos visualitzats</string>
281281
<string name="resume_on_audio_focus_gain_title">Reprèn automàticament</string>
282-
<string name="url_not_supported_toast">Aquest URL no és compatible</string>
282+
<string name="unsupported_url">Aquest URL no és compatible</string>
283283
<string name="error_report_title">Informe d\'error</string>
284284
<string name="later">Més tard</string>
285285
<string name="filter">Filtra</string>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<string name="download_dialog_title">Stáhnout</string>
3636
<string name="next_video_title">Další</string>
3737
<string name="show_next_and_similar_title">Zobrazovat \'další\' a \'podobná\' videa</string>
38-
<string name="url_not_supported_toast">URL není podporováno</string>
38+
<string name="unsupported_url">URL není podporováno</string>
3939
<string name="content_language_title">Preferovaný jazyk obsahu</string>
4040
<string name="settings_category_video_audio_title">Video a zvuk</string>
4141
<string name="settings_category_appearance_title">Vzhled</string>

0 commit comments

Comments
 (0)