diff --git a/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java index 42ef261a1..51a0ff1e6 100644 --- a/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java +++ b/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java @@ -185,10 +185,8 @@ public class ReCaptchaActivity extends AppCompatActivity { final int abuseEnd = url.indexOf("+path"); try { - String abuseCookie = url.substring(abuseStart + 13, abuseEnd); - abuseCookie = Utils.decodeUrlUtf8(abuseCookie); - handleCookies(abuseCookie); - } catch (IllegalArgumentException | StringIndexOutOfBoundsException e) { + handleCookies(Utils.decodeUrlUtf8(url.substring(abuseStart + 13, abuseEnd))); + } catch (final StringIndexOutOfBoundsException e) { if (MainActivity.DEBUG) { Log.e(TAG, "handleCookiesFromUrl: invalid google abuse starting at " + abuseStart + " and ending at " + abuseEnd + " for url " + url, e); diff --git a/app/src/main/java/org/schabi/newpipe/settings/DownloadSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/DownloadSettingsFragment.java index 76163b30a..ff7811af3 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/DownloadSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/DownloadSettingsFragment.java @@ -1,6 +1,5 @@ package org.schabi.newpipe.settings; -import static org.schabi.newpipe.extractor.utils.Utils.decodeUrlUtf8; import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage; import android.app.Activity; @@ -30,7 +29,6 @@ import org.schabi.newpipe.util.FilePickerActivityHelper; import java.io.File; import java.io.IOException; -import java.net.URI; public class DownloadSettingsFragment extends BasePreferenceFragment { public static final boolean IGNORE_RELEASE_ON_OLD_PATH = true; @@ -107,28 +105,15 @@ public class DownloadSettingsFragment extends BasePreferenceFragment { private void showPathInSummary(final String prefKey, @StringRes final int defaultString, final Preference target) { - String rawUri = defaultPreferences.getString(prefKey, null); - if (rawUri == null || rawUri.isEmpty()) { + final Uri uri = Uri.parse(defaultPreferences.getString(prefKey, "")); + if (uri.equals(Uri.EMPTY)) { target.setSummary(getString(defaultString)); return; } - if (rawUri.charAt(0) == File.separatorChar) { - target.setSummary(rawUri); - return; - } - if (rawUri.startsWith(ContentResolver.SCHEME_FILE)) { - target.setSummary(new File(URI.create(rawUri)).getPath()); - return; - } - - try { - rawUri = decodeUrlUtf8(rawUri); - } catch (final IllegalArgumentException e) { - // nothing to do - } - - target.setSummary(rawUri); + final String summary = ContentResolver.SCHEME_FILE.equals(uri.getScheme()) + ? uri.getPath() : uri.toString(); + target.setSummary(summary); } private boolean isFileUri(final String path) {