diff --git a/app/build.gradle b/app/build.gradle
index 4050e116c..9867037e6 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -14,15 +14,12 @@ android {
     defaultConfig {
         applicationId "org.schabi.newpipe"
         resValue "string", "app_name", "NewPipe"
-        minSdk 19
+        minSdk 21
         targetSdk 29
         versionCode 987
         versionName "0.23.1"
 
-        multiDexEnabled true
-
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-        vectorDrawables.useSupportLibrary = true
 
         javaCompileOptions {
             annotationProcessorOptions {
@@ -210,7 +207,6 @@ dependencies {
     implementation "androidx.lifecycle:lifecycle-viewmodel:${androidxLifecycleVersion}"
     implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
     implementation 'androidx.media:media:1.5.0'
-    implementation 'androidx.multidex:multidex:2.0.1'
     implementation 'androidx.preference:preference:1.2.0'
     implementation 'androidx.recyclerview:recyclerview:1.2.1'
     implementation "androidx.room:room-runtime:${androidxRoomVersion}"
@@ -220,7 +216,6 @@ dependencies {
     // Newer version specified to prevent accessibility regressions with RecyclerView, see:
     // https://developer.android.com/jetpack/androidx/releases/viewpager2#1.1.0-alpha01
     implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01'
-    implementation 'androidx.webkit:webkit:1.4.0'
     implementation "androidx.work:work-runtime-ktx:${androidxWorkVersion}"
     implementation "androidx.work:work-rxjava3:${androidxWorkVersion}"
     implementation 'com.google.android.material:material:1.5.0'
diff --git a/app/src/main/java/org/schabi/newpipe/App.java b/app/src/main/java/org/schabi/newpipe/App.java
index 70c947478..c63f07891 100644
--- a/app/src/main/java/org/schabi/newpipe/App.java
+++ b/app/src/main/java/org/schabi/newpipe/App.java
@@ -1,5 +1,6 @@
 package org.schabi.newpipe;
 
+import android.app.Application;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.util.Log;
@@ -7,7 +8,6 @@ import android.util.Log;
 import androidx.annotation.NonNull;
 import androidx.core.app.NotificationChannelCompat;
 import androidx.core.app.NotificationManagerCompat;
-import androidx.multidex.MultiDexApplication;
 import androidx.preference.PreferenceManager;
 
 import com.jakewharton.processphoenix.ProcessPhoenix;
@@ -56,7 +56,7 @@ import io.reactivex.rxjava3.plugins.RxJavaPlugins;
  * along with NewPipe.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-public class App extends MultiDexApplication {
+public class App extends Application {
     public static final String PACKAGE_NAME = BuildConfig.APPLICATION_ID;
     private static final String TAG = App.class.toString();
     private static App app;
diff --git a/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java b/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java
index 1a3a8adee..f2803dc2f 100644
--- a/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java
+++ b/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java
@@ -1,7 +1,6 @@
 package org.schabi.newpipe;
 
 import android.content.Context;
-import android.os.Build;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -14,33 +13,18 @@ import org.schabi.newpipe.extractor.downloader.Response;
 import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
 import org.schabi.newpipe.util.CookieUtils;
 import org.schabi.newpipe.util.InfoCache;
-import org.schabi.newpipe.util.TLSSocketFactoryCompat;
 
 import java.io.IOException;
-import java.security.KeyManagementException;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
-import javax.net.ssl.SSLSocketFactory;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.TrustManagerFactory;
-import javax.net.ssl.X509TrustManager;
-
-import okhttp3.CipherSuite;
-import okhttp3.ConnectionSpec;
 import okhttp3.OkHttpClient;
 import okhttp3.RequestBody;
 import okhttp3.ResponseBody;
 
-import static org.schabi.newpipe.MainActivity.DEBUG;
-
 public final class DownloaderImpl extends Downloader {
     public static final String USER_AGENT
             = "Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0";
@@ -54,9 +38,6 @@ public final class DownloaderImpl extends Downloader {
     private final OkHttpClient client;
 
     private DownloaderImpl(final OkHttpClient.Builder builder) {
-        if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
-            enableModernTLS(builder);
-        }
         this.client = builder
                 .readTimeout(30, TimeUnit.SECONDS)
 //                .cache(new Cache(new File(context.getExternalCacheDir(), "okhttp"),
@@ -81,55 +62,6 @@ public final class DownloaderImpl extends Downloader {
         return instance;
     }
 
-    /**
-     * Enable TLS 1.2 and 1.1 on Android Kitkat. This function is mostly taken
-     * from the documentation of OkHttpClient.Builder.sslSocketFactory(_,_).
-     * <p>
-     * If there is an error, the function will safely fall back to doing nothing
-     * and printing the error to the console.
-     * </p>
-     *
-     * @param builder The HTTPClient Builder on which TLS is enabled on (will be modified in-place)
-     */
-    private static void enableModernTLS(final OkHttpClient.Builder builder) {
-        try {
-            // get the default TrustManager
-            final TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(
-                    TrustManagerFactory.getDefaultAlgorithm());
-            trustManagerFactory.init((KeyStore) null);
-            final TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
-            if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) {
-                throw new IllegalStateException("Unexpected default trust managers:"
-                        + Arrays.toString(trustManagers));
-            }
-            final X509TrustManager trustManager = (X509TrustManager) trustManagers[0];
-
-            // insert our own TLSSocketFactory
-            final SSLSocketFactory sslSocketFactory = TLSSocketFactoryCompat.getInstance();
-
-            builder.sslSocketFactory(sslSocketFactory, trustManager);
-
-            // This will try to enable all modern CipherSuites(+2 more)
-            // that are supported on the device.
-            // Necessary because some servers (e.g. Framatube.org)
-            // don't support the old cipher suites.
-            // https://github.com/square/okhttp/issues/4053#issuecomment-402579554
-            final List<CipherSuite> cipherSuites =
-                    new ArrayList<>(ConnectionSpec.MODERN_TLS.cipherSuites());
-            cipherSuites.add(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA);
-            cipherSuites.add(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA);
-            final ConnectionSpec legacyTLS = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
-                    .cipherSuites(cipherSuites.toArray(new CipherSuite[0]))
-                    .build();
-
-            builder.connectionSpecs(Arrays.asList(legacyTLS, ConnectionSpec.CLEARTEXT));
-        } catch (final KeyManagementException | NoSuchAlgorithmException | KeyStoreException e) {
-            if (DEBUG) {
-                e.printStackTrace();
-            }
-        }
-    }
-
     public String getCookies(final String url) {
         final List<String> resultCookies = new ArrayList<>();
         if (url.contains(YOUTUBE_DOMAIN)) {
diff --git a/app/src/main/java/org/schabi/newpipe/ExitActivity.java b/app/src/main/java/org/schabi/newpipe/ExitActivity.java
index 8da22db2d..bd1351f0c 100644
--- a/app/src/main/java/org/schabi/newpipe/ExitActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/ExitActivity.java
@@ -3,7 +3,6 @@ package org.schabi.newpipe;
 import android.annotation.SuppressLint;
 import android.app.Activity;
 import android.content.Intent;
-import android.os.Build;
 import android.os.Bundle;
 
 import org.schabi.newpipe.util.NavigationHelper;
@@ -44,11 +43,7 @@ public class ExitActivity extends Activity {
     protected void onCreate(final Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            finishAndRemoveTask();
-        } else {
-            finish();
-        }
+        finishAndRemoveTask();
 
         NavigationHelper.restartApp(this);
     }
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index fcb9d9725..dd59eeb25 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -28,7 +28,6 @@ import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
@@ -86,7 +85,6 @@ import org.schabi.newpipe.util.PermissionHelper;
 import org.schabi.newpipe.util.SerializedCache;
 import org.schabi.newpipe.util.ServiceHelper;
 import org.schabi.newpipe.util.StateSaver;
-import org.schabi.newpipe.util.TLSSocketFactoryCompat;
 import org.schabi.newpipe.util.ThemeHelper;
 import org.schabi.newpipe.views.FocusOverlayView;
 
@@ -131,11 +129,6 @@ public class MainActivity extends AppCompatActivity {
                     + "savedInstanceState = [" + savedInstanceState + "]");
         }
 
-        // enable TLS1.1/1.2 for kitkat devices, to fix download and play for media.ccc.de sources
-        if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
-            TLSSocketFactoryCompat.setAsDefault();
-        }
-
         ThemeHelper.setDayNightMode(this);
         ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this));
 
diff --git a/app/src/main/java/org/schabi/newpipe/PanicResponderActivity.java b/app/src/main/java/org/schabi/newpipe/PanicResponderActivity.java
index b4fbdfb28..f0d1af81a 100644
--- a/app/src/main/java/org/schabi/newpipe/PanicResponderActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/PanicResponderActivity.java
@@ -3,7 +3,6 @@ package org.schabi.newpipe;
 import android.annotation.SuppressLint;
 import android.app.Activity;
 import android.content.Intent;
-import android.os.Build;
 import android.os.Bundle;
 
 /*
@@ -40,10 +39,6 @@ public class PanicResponderActivity extends Activity {
             ExitActivity.exitAndRemoveFromRecentApps(this);
         }
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            finishAndRemoveTask();
-        } else {
-            finish();
-        }
+        finishAndRemoveTask();
     }
 }
diff --git a/app/src/main/java/org/schabi/newpipe/error/ErrorUtil.kt b/app/src/main/java/org/schabi/newpipe/error/ErrorUtil.kt
index e4dd2e16d..86e2e1028 100644
--- a/app/src/main/java/org/schabi/newpipe/error/ErrorUtil.kt
+++ b/app/src/main/java/org/schabi/newpipe/error/ErrorUtil.kt
@@ -114,13 +114,7 @@ class ErrorUtil {
                     context,
                     context.getString(R.string.error_report_channel_id)
                 )
-                    .setSmallIcon(
-                        // the vector drawable icon causes crashes on KitKat devices
-                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
-                            R.drawable.ic_bug_report
-                        else
-                            android.R.drawable.stat_notify_error
-                    )
+                    .setSmallIcon(R.drawable.ic_bug_report)
                     .setContentTitle(context.getString(R.string.error_report_notification_title))
                     .setContentText(context.getString(errorInfo.messageStringId))
                     .setAutoCancel(true)
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 555dd709b..e2780d215 100644
--- a/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/error/ReCaptchaActivity.java
@@ -3,14 +3,15 @@ package org.schabi.newpipe.error;
 import android.annotation.SuppressLint;
 import android.content.Intent;
 import android.content.SharedPreferences;
-import android.os.Build;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.webkit.CookieManager;
+import android.webkit.WebResourceRequest;
 import android.webkit.WebSettings;
 import android.webkit.WebView;
+import android.webkit.WebViewClient;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -18,7 +19,6 @@ import androidx.appcompat.app.ActionBar;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.core.app.NavUtils;
 import androidx.preference.PreferenceManager;
-import androidx.webkit.WebViewClientCompat;
 
 import org.schabi.newpipe.databinding.ActivityRecaptchaBinding;
 import org.schabi.newpipe.DownloaderImpl;
@@ -86,14 +86,15 @@ public class ReCaptchaActivity extends AppCompatActivity {
         webSettings.setJavaScriptEnabled(true);
         webSettings.setUserAgentString(DownloaderImpl.USER_AGENT);
 
-        recaptchaBinding.reCaptchaWebView.setWebViewClient(new WebViewClientCompat() {
+        recaptchaBinding.reCaptchaWebView.setWebViewClient(new WebViewClient() {
             @Override
-            public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
+            public boolean shouldOverrideUrlLoading(final WebView view,
+                                                    final WebResourceRequest request) {
                 if (MainActivity.DEBUG) {
-                    Log.d(TAG, "shouldOverrideUrlLoading: url=" + url);
+                    Log.d(TAG, "shouldOverrideUrlLoading: url=" + request.getUrl().toString());
                 }
 
-                handleCookiesFromUrl(url);
+                handleCookiesFromUrl(request.getUrl().toString());
                 return false;
             }
 
@@ -107,12 +108,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
         // cleaning cache, history and cookies from webView
         recaptchaBinding.reCaptchaWebView.clearCache(true);
         recaptchaBinding.reCaptchaWebView.clearHistory();
-        final CookieManager cookieManager = CookieManager.getInstance();
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            cookieManager.removeAllCookies(value -> { });
-        } else {
-            cookieManager.removeAllCookie();
-        }
+        CookieManager.getInstance().removeAllCookies(null);
 
         recaptchaBinding.reCaptchaWebView.loadUrl(url);
     }
diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
index 5e19f558d..278d472d4 100644
--- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
@@ -1922,13 +1922,7 @@ public final class VideoDetailFragment
         }
         scrollToTop();
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            addVideoPlayerView();
-        } else {
-            // KitKat needs a delay before addVideoPlayerView call or it reports wrong height in
-            // activity.getWindow().getDecorView().getHeight()
-            new Handler().post(this::addVideoPlayerView);
-        }
+        addVideoPlayerView();
     }
 
     @Override
@@ -1991,10 +1985,8 @@ public final class VideoDetailFragment
         }
         activity.getWindow().getDecorView().setSystemUiVisibility(0);
         activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            activity.getWindow().setStatusBarColor(ThemeHelper.resolveColorFromAttr(
-                    requireContext(), android.R.attr.colorPrimary));
-        }
+        activity.getWindow().setStatusBarColor(ThemeHelper.resolveColorFromAttr(
+                requireContext(), android.R.attr.colorPrimary));
     }
 
     private void hideSystemUi() {
@@ -2025,8 +2017,7 @@ public final class VideoDetailFragment
         }
         activity.getWindow().getDecorView().setSystemUiVisibility(visibility);
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
-                && (isInMultiWindow || (isPlayerAvailable() && player.isFullscreen()))) {
+        if (isInMultiWindow || (isPlayerAvailable() && player.isFullscreen())) {
             activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
             activity.getWindow().setNavigationBarColor(Color.TRANSPARENT);
         }
diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java
index 055c27733..44f8328a5 100644
--- a/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/fragments/list/search/SearchFragment.java
@@ -497,9 +497,6 @@ public class SearchFragment extends BaseListFragment<SearchInfo, ListExtractor.I
                     + lastSearchedString);
         }
         searchEditText.setText(searchString);
-        if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.LOLLIPOP) {
-            searchEditText.setHintTextColor(searchEditText.getTextColors().withAlpha(128));
-        }
 
         if (TextUtils.isEmpty(searchString) || TextUtils.isEmpty(searchEditText.getText())) {
             searchToolbarContainer.setTranslationX(100);
diff --git a/app/src/main/java/org/schabi/newpipe/ktx/View.kt b/app/src/main/java/org/schabi/newpipe/ktx/View.kt
index ace1dbf7e..ea680dd60 100644
--- a/app/src/main/java/org/schabi/newpipe/ktx/View.kt
+++ b/app/src/main/java/org/schabi/newpipe/ktx/View.kt
@@ -12,7 +12,6 @@ import android.view.View
 import androidx.annotation.ColorInt
 import androidx.annotation.FloatRange
 import androidx.core.animation.addListener
-import androidx.core.view.ViewCompat
 import androidx.core.view.isGone
 import androidx.core.view.isInvisible
 import androidx.core.view.isVisible
@@ -21,10 +20,6 @@ import org.schabi.newpipe.MainActivity
 
 private const val TAG = "ViewUtils"
 
-inline var View.backgroundTintListCompat: ColorStateList?
-    get() = ViewCompat.getBackgroundTintList(this)
-    set(value) = ViewCompat.setBackgroundTintList(this, value)
-
 /**
  * Animate the view.
  *
@@ -106,11 +101,11 @@ fun View.animateBackgroundColor(duration: Long, @ColorInt colorStart: Int, @Colo
     viewPropertyAnimator.interpolator = FastOutSlowInInterpolator()
     viewPropertyAnimator.duration = duration
     viewPropertyAnimator.addUpdateListener { animation: ValueAnimator ->
-        backgroundTintListCompat = ColorStateList(empty, intArrayOf(animation.animatedValue as Int))
+        backgroundTintList = ColorStateList(empty, intArrayOf(animation.animatedValue as Int))
     }
     viewPropertyAnimator.addListener(
-        onCancel = { backgroundTintListCompat = ColorStateList(empty, intArrayOf(colorEnd)) },
-        onEnd = { backgroundTintListCompat = ColorStateList(empty, intArrayOf(colorEnd)) }
+        onCancel = { backgroundTintList = ColorStateList(empty, intArrayOf(colorEnd)) },
+        onEnd = { backgroundTintList = ColorStateList(empty, intArrayOf(colorEnd)) }
     )
     viewPropertyAnimator.start()
 }
diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt
index e96328961..379b4c0d7 100644
--- a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt
+++ b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt
@@ -8,12 +8,10 @@ import android.view.View
 import android.view.ViewGroup
 import android.view.inputmethod.InputMethodManager
 import android.widget.Toast
-import androidx.appcompat.content.res.AppCompatResources
 import androidx.core.content.getSystemService
 import androidx.core.os.bundleOf
 import androidx.core.view.isGone
 import androidx.core.view.isVisible
-import androidx.core.widget.ImageViewCompat
 import androidx.core.widget.doOnTextChanged
 import androidx.fragment.app.DialogFragment
 import androidx.lifecycle.Observer
@@ -124,14 +122,6 @@ class FeedGroupDialog : DialogFragment(), BackPressable {
         _feedGroupCreateBinding = DialogFeedGroupCreateBinding.bind(view)
         _searchLayoutBinding = feedGroupCreateBinding.subscriptionsHeaderSearchContainer
 
-        if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.LOLLIPOP) {
-            // KitKat doesn't apply container's theme to <include> content
-            val contrastColor = AppCompatResources.getColorStateList(requireContext(), R.color.contrastColor)
-            searchLayoutBinding.toolbarSearchEditText.setTextColor(contrastColor)
-            searchLayoutBinding.toolbarSearchEditText.setHintTextColor(contrastColor.withAlpha(128))
-            ImageViewCompat.setImageTintList(searchLayoutBinding.toolbarSearchClearIcon, contrastColor)
-        }
-
         viewModel = ViewModelProvider(
             this,
             FeedGroupDialogViewModel.Factory(
diff --git a/app/src/main/java/org/schabi/newpipe/player/Player.java b/app/src/main/java/org/schabi/newpipe/player/Player.java
index bae88d07c..100563765 100644
--- a/app/src/main/java/org/schabi/newpipe/player/Player.java
+++ b/app/src/main/java/org/schabi/newpipe/player/Player.java
@@ -1963,10 +1963,9 @@ public final class Player implements
     private void showSystemUIPartially() {
         final AppCompatActivity activity = getParentActivity();
         if (isFullscreen && activity != null) {
-            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-                activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
-                activity.getWindow().setNavigationBarColor(Color.TRANSPARENT);
-            }
+            activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
+            activity.getWindow().setNavigationBarColor(Color.TRANSPARENT);
+
             final int visibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                     | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                     | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
diff --git a/app/src/main/java/org/schabi/newpipe/settings/AppearanceSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/AppearanceSettingsFragment.java
index 70ac5cdcc..550d64d06 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/AppearanceSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/AppearanceSettingsFragment.java
@@ -74,7 +74,7 @@ public class AppearanceSettingsFragment extends BasePreferenceFragment {
         defaultPreferences.edit().putBoolean(Constants.KEY_THEME_CHANGE, true).apply();
         defaultPreferences.edit().putString(themeKey, newValue.toString()).apply();
 
-        ThemeHelper.setDayNightMode(getContext(), newValue.toString());
+        ThemeHelper.setDayNightMode(requireContext(), newValue.toString());
 
         if (!newValue.equals(beginningThemeKey) && getActivity() != null) {
             // if it's not the current theme
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 ec98b865e..74dc9f63e 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/DownloadSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/DownloadSettingsFragment.java
@@ -66,16 +66,10 @@ public class DownloadSettingsFragment extends BasePreferenceFragment {
         prefStorageAsk = findPreference(downloadStorageAsk);
 
         final SwitchPreferenceCompat prefUseSaf = findPreference(storageUseSafPreference);
-        prefUseSaf.setDefaultValue(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP);
         prefUseSaf.setChecked(NewPipeSettings.useStorageAccessFramework(ctx));
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
-                || Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
             prefUseSaf.setEnabled(false);
-            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
-                prefUseSaf.setSummary(R.string.downloads_storage_use_saf_summary_api_29);
-            } else {
-                prefUseSaf.setSummary(R.string.downloads_storage_use_saf_summary_api_19);
-            }
+            prefUseSaf.setSummary(R.string.downloads_storage_use_saf_summary_api_29);
             prefStorageAsk.setSummary(R.string.downloads_storage_ask_summary_no_saf_notice);
         }
 
@@ -253,8 +247,7 @@ public class DownloadSettingsFragment extends BasePreferenceFragment {
 
         forgetSAFTree(context, defaultPreferences.getString(key, ""));
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
-                && !FilePickerActivityHelper.isOwnFileUri(context, uri)) {
+        if (!FilePickerActivityHelper.isOwnFileUri(context, uri)) {
             // steps to acquire the selected path:
             //     1. acquire permissions on the new save path
             //     2. save the new path, if step(2) was successful
diff --git a/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java b/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java
index 1e1d08856..16df646f9 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java
@@ -116,7 +116,7 @@ public final class NewPipeSettings {
     public static boolean useStorageAccessFramework(final Context context) {
         // There's a FireOS bug which prevents SAF open/close dialogs from being confirmed with a
         // remote (see #6455).
-        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP || DeviceUtils.isFireTv()) {
+        if (DeviceUtils.isFireTv()) {
             return false;
         } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
             return true;
diff --git a/app/src/main/java/org/schabi/newpipe/settings/NotificationSettingsFragment.kt b/app/src/main/java/org/schabi/newpipe/settings/NotificationSettingsFragment.kt
index 6bea8b69e..11eb4fa33 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/NotificationSettingsFragment.kt
+++ b/app/src/main/java/org/schabi/newpipe/settings/NotificationSettingsFragment.kt
@@ -1,19 +1,9 @@
 package org.schabi.newpipe.settings
 
-import android.os.Build
 import android.os.Bundle
-import androidx.preference.Preference
-import org.schabi.newpipe.R
 
 class NotificationSettingsFragment : BasePreferenceFragment() {
     override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
         addPreferencesFromResourceRegistry()
-
-        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
-            val colorizePref: Preference? = findPreference(getString(R.string.notification_colorize_key))
-            colorizePref?.let {
-                preferenceScreen.removePreference(it)
-            }
-        }
     }
 }
diff --git a/app/src/main/java/org/schabi/newpipe/settings/PlayerNotificationSettingsFragment.kt b/app/src/main/java/org/schabi/newpipe/settings/PlayerNotificationSettingsFragment.kt
index 3549bff42..7d95433a4 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/PlayerNotificationSettingsFragment.kt
+++ b/app/src/main/java/org/schabi/newpipe/settings/PlayerNotificationSettingsFragment.kt
@@ -1,19 +1,9 @@
 package org.schabi.newpipe.settings
 
-import android.os.Build
 import android.os.Bundle
-import androidx.preference.Preference
-import org.schabi.newpipe.R
 
 class PlayerNotificationSettingsFragment : BasePreferenceFragment() {
     override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
         addPreferencesFromResourceRegistry()
-
-        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
-            val colorizePref: Preference? = findPreference(getString(R.string.notification_colorize_key))
-            colorizePref?.let {
-                preferenceScreen.removePreference(it)
-            }
-        }
     }
 }
diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingMigrations.java b/app/src/main/java/org/schabi/newpipe/settings/SettingMigrations.java
index 8924ecbe1..b1e2c04eb 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/SettingMigrations.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/SettingMigrations.java
@@ -2,7 +2,6 @@ package org.schabi.newpipe.settings;
 
 import android.content.Context;
 import android.content.SharedPreferences;
-import android.os.Build;
 import android.util.Log;
 
 import androidx.preference.PreferenceManager;
@@ -71,12 +70,12 @@ public final class SettingMigrations {
             // and standard way to access folders and files to be used consistently everywhere.
             // We reset the setting to its default value, i.e. "use SAF", since now there are no
             // more issues with SAF and users should use that one instead of the old
-            // NoNonsenseFilePicker. SAF does not work on KitKat and below, though, so the setting
-            // is set to false in that case. Also, there's a bug on FireOS in which SAF open/close
+            // NoNonsenseFilePicker. Also, there's a bug on FireOS in which SAF open/close
             // dialogs cannot be confirmed with a remote (see #6455).
-            sp.edit().putBoolean(context.getString(R.string.storage_use_saf),
-                    Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
-                            && !DeviceUtils.isFireTv()).apply();
+            sp.edit().putBoolean(
+                    context.getString(R.string.storage_use_saf),
+                    !DeviceUtils.isFireTv()
+            ).apply();
         }
     };
 
diff --git a/app/src/main/java/org/schabi/newpipe/settings/custom/NotificationActionsPreference.java b/app/src/main/java/org/schabi/newpipe/settings/custom/NotificationActionsPreference.java
index 798d299c0..849574171 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/custom/NotificationActionsPreference.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/custom/NotificationActionsPreference.java
@@ -218,7 +218,7 @@ public class NotificationActionsPreference extends Preference {
                         final int color = ThemeHelper.resolveColorFromAttr(getContext(),
                                 android.R.attr.textColorPrimary);
                         drawable = DrawableCompat.wrap(drawable).mutate();
-                        DrawableCompat.setTint(drawable, color);
+                        drawable.setTint(color);
                         radioButton.setCompoundDrawablesRelativeWithIntrinsicBounds(null,
                                 null, drawable, null);
                     }
diff --git a/app/src/main/java/org/schabi/newpipe/settings/preferencesearch/PreferenceSearchResultHighlighter.java b/app/src/main/java/org/schabi/newpipe/settings/preferencesearch/PreferenceSearchResultHighlighter.java
index 418a3ea46..7eae5c128 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/preferencesearch/PreferenceSearchResultHighlighter.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/preferencesearch/PreferenceSearchResultHighlighter.java
@@ -6,7 +6,6 @@ import android.graphics.PorterDuff;
 import android.graphics.PorterDuffColorFilter;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.RippleDrawable;
-import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
 import android.util.Log;
@@ -65,8 +64,7 @@ public final class PreferenceSearchResultHighlighter {
                             recyclerView.findViewHolderForAdapterPosition(position);
                     if (holder != null) {
                         final Drawable background = holder.itemView.getBackground();
-                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
-                                && background instanceof RippleDrawable) {
+                        if (background instanceof RippleDrawable) {
                             showRippleAnimation((RippleDrawable) background);
                             return;
                         }
diff --git a/app/src/main/java/org/schabi/newpipe/streams/io/StoredDirectoryHelper.java b/app/src/main/java/org/schabi/newpipe/streams/io/StoredDirectoryHelper.java
index feca89f02..48ae54284 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/io/StoredDirectoryHelper.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/io/StoredDirectoryHelper.java
@@ -5,7 +5,6 @@ import android.content.Context;
 import android.content.Intent;
 import android.database.Cursor;
 import android.net.Uri;
-import android.os.Build;
 import android.provider.DocumentsContract;
 
 import androidx.annotation.NonNull;
@@ -53,10 +52,6 @@ public class StoredDirectoryHelper {
             throw new IOException(e);
         }
 
-        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
-            throw new IOException("Storage Access Framework with Directory API is not available");
-        }
-
         this.docTree = DocumentFile.fromTreeUri(context, path);
 
         if (this.docTree == null) {
@@ -73,7 +68,7 @@ public class StoredDirectoryHelper {
         final String[] filename = splitFilename(name);
         final String lcFilename = filename[0].toLowerCase();
 
-        if (docTree == null || Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
+        if (docTree == null) {
             for (final File file : ioTree.listFiles()) {
                 addIfStartWith(matches, lcFilename, file.getName());
             }
@@ -277,7 +272,7 @@ public class StoredDirectoryHelper {
      */
     static DocumentFile findFileSAFHelper(@Nullable final Context context, final DocumentFile tree,
                                           final String filename) {
-        if (context == null || Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
+        if (context == null) {
             return tree.findFile(filename); // warning: this is very slow
         }
 
diff --git a/app/src/main/java/org/schabi/newpipe/streams/io/StoredFileHelper.java b/app/src/main/java/org/schabi/newpipe/streams/io/StoredFileHelper.java
index 9fe4a9340..1f0c91456 100644
--- a/app/src/main/java/org/schabi/newpipe/streams/io/StoredFileHelper.java
+++ b/app/src/main/java/org/schabi/newpipe/streams/io/StoredFileHelper.java
@@ -1,6 +1,5 @@
 package org.schabi.newpipe.streams.io;
 
-import android.annotation.TargetApi;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
@@ -74,7 +73,6 @@ public class StoredFileHelper implements Serializable {
         this.tag = tag;
     }
 
-    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
     StoredFileHelper(@Nullable final Context context, final DocumentFile tree,
                      final String filename, final String mime, final boolean safe)
             throws IOException {
@@ -124,7 +122,6 @@ public class StoredFileHelper implements Serializable {
         this.srcType = mime;
     }
 
-    @TargetApi(Build.VERSION_CODES.KITKAT)
     public StoredFileHelper(final Context context, @Nullable final Uri parent,
                             @NonNull final Uri path, final String tag) throws IOException {
         this.tag = tag;
diff --git a/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java b/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java
index a4ff5ff19..7f4b33f44 100644
--- a/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java
+++ b/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java
@@ -65,7 +65,7 @@ public final class DeviceUtils {
         boolean isTv = ContextCompat.getSystemService(context, UiModeManager.class)
                 .getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION
                 || isFireTv()
-                || pm.hasSystemFeature(PackageManager.FEATURE_TELEVISION);
+                || pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK);
 
         // from https://stackoverflow.com/a/58932366
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
@@ -77,10 +77,6 @@ public final class DeviceUtils {
                     && pm.hasSystemFeature(PackageManager.FEATURE_ETHERNET));
         }
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            isTv = isTv || pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK);
-        }
-
         DeviceUtils.isTV = isTv;
         return DeviceUtils.isTV;
     }
@@ -131,11 +127,10 @@ public final class DeviceUtils {
     /**
      * Some devices have broken tunneled video playback but claim to support it.
      * See https://github.com/TeamNewPipe/NewPipe/issues/5911
-     * @return false if Kitkat (does not support tunneling) or affected device
+     * @return false if affected device
      */
     public static boolean shouldSupportMediaTunneling() {
-        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
-                && !HI3798MV200
+        return !HI3798MV200
                 && !CVT_MT5886_EU_1G
                 && !REALTEKATV
                 && !QM16XE_U;
diff --git a/app/src/main/java/org/schabi/newpipe/util/PermissionHelper.java b/app/src/main/java/org/schabi/newpipe/util/PermissionHelper.java
index 160eb59cd..1e3061374 100644
--- a/app/src/main/java/org/schabi/newpipe/util/PermissionHelper.java
+++ b/app/src/main/java/org/schabi/newpipe/util/PermissionHelper.java
@@ -37,7 +37,6 @@ public final class PermissionHelper {
         return checkWriteStoragePermissions(activity, requestCode);
     }
 
-    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
     public static boolean checkReadStoragePermissions(final Activity activity,
                                                       final int requestCode) {
         if (ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE)
diff --git a/app/src/main/java/org/schabi/newpipe/util/TLSSocketFactoryCompat.java b/app/src/main/java/org/schabi/newpipe/util/TLSSocketFactoryCompat.java
deleted file mode 100644
index 05e69408a..000000000
--- a/app/src/main/java/org/schabi/newpipe/util/TLSSocketFactoryCompat.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.schabi.newpipe.util;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.security.KeyManagementException;
-import java.security.NoSuchAlgorithmException;
-
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSocket;
-import javax.net.ssl.SSLSocketFactory;
-
-import android.util.Log;
-
-
-/**
- * This is an extension of the SSLSocketFactory which enables TLS 1.2 and 1.1.
- * Created for usage on Android 4.1-4.4 devices, which haven't enabled those by default.
- */
-public class TLSSocketFactoryCompat extends SSLSocketFactory {
-
-    private static final String TAG = "TLSSocketFactoryCom";
-
-    private static TLSSocketFactoryCompat instance = null;
-
-    private final SSLSocketFactory internalSSLSocketFactory;
-
-    public TLSSocketFactoryCompat() throws KeyManagementException, NoSuchAlgorithmException {
-        final SSLContext context = SSLContext.getInstance("TLS");
-        context.init(null, null, null);
-        internalSSLSocketFactory = context.getSocketFactory();
-    }
-
-    public static TLSSocketFactoryCompat getInstance()
-            throws NoSuchAlgorithmException, KeyManagementException {
-        if (instance != null) {
-            return instance;
-        }
-        instance = new TLSSocketFactoryCompat();
-        return instance;
-    }
-
-    public static void setAsDefault() {
-        try {
-            HttpsURLConnection.setDefaultSSLSocketFactory(getInstance());
-        } catch (NoSuchAlgorithmException | KeyManagementException e) {
-            Log.e(TAG, "Unable to setAsDefault", e);
-        }
-    }
-
-    @Override
-    public String[] getDefaultCipherSuites() {
-        return internalSSLSocketFactory.getDefaultCipherSuites();
-    }
-
-    @Override
-    public String[] getSupportedCipherSuites() {
-        return internalSSLSocketFactory.getSupportedCipherSuites();
-    }
-
-    @Override
-    public Socket createSocket() throws IOException {
-        return enableTLSOnSocket(internalSSLSocketFactory.createSocket());
-    }
-
-    @Override
-    public Socket createSocket(final Socket s, final String host, final int port,
-                               final boolean autoClose) throws IOException {
-        return enableTLSOnSocket(internalSSLSocketFactory.createSocket(s, host, port, autoClose));
-    }
-
-    @Override
-    public Socket createSocket(final String host, final int port) throws IOException {
-        return enableTLSOnSocket(internalSSLSocketFactory.createSocket(host, port));
-    }
-
-    @Override
-    public Socket createSocket(final String host, final int port, final InetAddress localHost,
-                               final int localPort) throws IOException {
-        return enableTLSOnSocket(internalSSLSocketFactory.createSocket(
-                host, port, localHost, localPort));
-    }
-
-    @Override
-    public Socket createSocket(final InetAddress host, final int port) throws IOException {
-        return enableTLSOnSocket(internalSSLSocketFactory.createSocket(host, port));
-    }
-
-    @Override
-    public Socket createSocket(final InetAddress address, final int port,
-                               final InetAddress localAddress, final int localPort)
-            throws IOException {
-        return enableTLSOnSocket(internalSSLSocketFactory.createSocket(
-                address, port, localAddress, localPort));
-    }
-
-    private Socket enableTLSOnSocket(final Socket socket) {
-        if (socket instanceof SSLSocket) {
-            ((SSLSocket) socket).setEnabledProtocols(new String[]{"TLSv1.1", "TLSv1.2"});
-        }
-        return socket;
-    }
-}
diff --git a/app/src/main/java/org/schabi/newpipe/util/external_communication/ShareUtils.java b/app/src/main/java/org/schabi/newpipe/util/external_communication/ShareUtils.java
index 8324146fe..debeb902c 100644
--- a/app/src/main/java/org/schabi/newpipe/util/external_communication/ShareUtils.java
+++ b/app/src/main/java/org/schabi/newpipe/util/external_communication/ShareUtils.java
@@ -185,17 +185,10 @@ public final class ShareUtils {
         }
 
         // Migrate any clip data and flags from the original intent.
-        final int permFlags;
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            permFlags = intent.getFlags() & (Intent.FLAG_GRANT_READ_URI_PERMISSION
-                    | Intent.FLAG_GRANT_WRITE_URI_PERMISSION
-                    | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION
-                    | Intent.FLAG_GRANT_PREFIX_URI_PERMISSION);
-        } else {
-            permFlags = intent.getFlags() & (Intent.FLAG_GRANT_READ_URI_PERMISSION
-                    | Intent.FLAG_GRANT_WRITE_URI_PERMISSION
-                    | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
-        }
+        final int permFlags = intent.getFlags() & (Intent.FLAG_GRANT_READ_URI_PERMISSION
+                | Intent.FLAG_GRANT_WRITE_URI_PERMISSION
+                | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION
+                | Intent.FLAG_GRANT_PREFIX_URI_PERMISSION);
         if (permFlags != 0) {
             ClipData targetClipData = intent.getClipData();
             if (targetClipData == null && intent.getData() != null) {
diff --git a/app/src/main/java/org/schabi/newpipe/views/CollapsibleView.java b/app/src/main/java/org/schabi/newpipe/views/CollapsibleView.java
index e1ada4f9b..f79e1e3a3 100644
--- a/app/src/main/java/org/schabi/newpipe/views/CollapsibleView.java
+++ b/app/src/main/java/org/schabi/newpipe/views/CollapsibleView.java
@@ -21,7 +21,6 @@ package org.schabi.newpipe.views;
 
 import android.animation.ValueAnimator;
 import android.content.Context;
-import android.os.Build;
 import android.os.Parcelable;
 import android.util.AttributeSet;
 import android.util.Log;
@@ -29,7 +28,6 @@ import android.widget.LinearLayout;
 
 import androidx.annotation.IntDef;
 import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
 
 import org.schabi.newpipe.ktx.ViewUtils;
 
@@ -76,7 +74,6 @@ public class CollapsibleView extends LinearLayout {
         super(context, attrs, defStyleAttr);
     }
 
-    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
     public CollapsibleView(final Context context, final AttributeSet attrs, final int defStyleAttr,
                            final int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
diff --git a/app/src/main/java/org/schabi/newpipe/views/ExpandableSurfaceView.java b/app/src/main/java/org/schabi/newpipe/views/ExpandableSurfaceView.java
index cfa17e20c..175c81e46 100644
--- a/app/src/main/java/org/schabi/newpipe/views/ExpandableSurfaceView.java
+++ b/app/src/main/java/org/schabi/newpipe/views/ExpandableSurfaceView.java
@@ -1,7 +1,6 @@
 package org.schabi.newpipe.views;
 
 import android.content.Context;
-import android.os.Build;
 import android.util.AttributeSet;
 import android.view.SurfaceView;
 
@@ -45,10 +44,7 @@ public class ExpandableSurfaceView extends SurfaceView {
         scaleX = 1.0f;
         scaleY = 1.0f;
 
-        if (resizeMode == RESIZE_MODE_FIT
-                // KitKat doesn't work well when a view has a scale like needed for ZOOM
-                || (resizeMode == RESIZE_MODE_ZOOM
-                && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)) {
+        if (resizeMode == RESIZE_MODE_FIT) {
             if (aspectDeformation > 0) {
                 height = (int) (width / videoAspectRatio);
             } else {
diff --git a/app/src/main/java/org/schabi/newpipe/views/FocusAwareCoordinator.java b/app/src/main/java/org/schabi/newpipe/views/FocusAwareCoordinator.java
index 798d08c72..747aed025 100644
--- a/app/src/main/java/org/schabi/newpipe/views/FocusAwareCoordinator.java
+++ b/app/src/main/java/org/schabi/newpipe/views/FocusAwareCoordinator.java
@@ -17,10 +17,8 @@
  */
 package org.schabi.newpipe.views;
 
-import android.annotation.TargetApi;
 import android.content.Context;
 import android.graphics.Rect;
-import android.os.Build;
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewGroup;
@@ -74,7 +72,6 @@ public final class FocusAwareCoordinator extends CoordinatorLayout {
      * Makes possible for multiple fragments to co-exist. Without this code
      * the first ViewGroup who consumes will be the last who receive the insets
      */
-    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
     @Override
     public WindowInsets dispatchApplyWindowInsets(final WindowInsets insets) {
         boolean consumed = false;
diff --git a/app/src/main/java/us/shandian/giga/get/DownloadMission.java b/app/src/main/java/us/shandian/giga/get/DownloadMission.java
index 9d8eaf9a5..04930b002 100644
--- a/app/src/main/java/us/shandian/giga/get/DownloadMission.java
+++ b/app/src/main/java/us/shandian/giga/get/DownloadMission.java
@@ -1,6 +1,5 @@
 package us.shandian.giga.get;
 
-import android.os.Build;
 import android.os.Handler;
 import android.system.ErrnoException;
 import android.system.OsConstants;
@@ -316,16 +315,14 @@ public class DownloadMission extends Mission {
 
     public synchronized void notifyError(int code, Exception err) {
         Log.e(TAG, "notifyError() code = " + code, err);
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            if (err != null && err.getCause() instanceof ErrnoException) {
-                int errno = ((ErrnoException) err.getCause()).errno;
-                if (errno == OsConstants.ENOSPC) {
-                    code = ERROR_INSUFFICIENT_STORAGE;
-                    err = null;
-                } else if (errno == OsConstants.EACCES) {
-                    code = ERROR_PERMISSION_DENIED;
-                    err = null;
-                }
+        if (err != null && err.getCause() instanceof ErrnoException) {
+            int errno = ((ErrnoException) err.getCause()).errno;
+            if (errno == OsConstants.ENOSPC) {
+                code = ERROR_INSUFFICIENT_STORAGE;
+                err = null;
+            } else if (errno == OsConstants.EACCES) {
+                code = ERROR_PERMISSION_DENIED;
+                err = null;
             }
         }
 
diff --git a/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java b/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java
index d96b4fc5b..8b8a6ff09 100755
--- a/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java
+++ b/app/src/main/java/us/shandian/giga/service/DownloadManagerService.java
@@ -4,10 +4,8 @@ import android.app.Notification;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.app.Service;
-import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
-import android.content.IntentFilter;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
 import android.graphics.Bitmap;
@@ -18,7 +16,6 @@ import android.net.NetworkInfo;
 import android.net.NetworkRequest;
 import android.net.Uri;
 import android.os.Binder;
-import android.os.Build;
 import android.os.Handler;
 import android.os.Handler.Callback;
 import android.os.IBinder;
@@ -100,7 +97,6 @@ public class DownloadManagerService extends Service {
     private final ArrayList<Callback> mEchoObservers = new ArrayList<>(1);
 
     private ConnectivityManager mConnectivityManager;
-    private BroadcastReceiver mNetworkStateListener = null;
     private ConnectivityManager.NetworkCallback mNetworkStateListenerL = null;
 
     private SharedPreferences mPrefs = null;
@@ -166,28 +162,18 @@ public class DownloadManagerService extends Service {
         mConnectivityManager = ContextCompat.getSystemService(this,
                 ConnectivityManager.class);
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            mNetworkStateListenerL = new ConnectivityManager.NetworkCallback() {
-                @Override
-                public void onAvailable(Network network) {
-                    handleConnectivityState(false);
-                }
+        mNetworkStateListenerL = new ConnectivityManager.NetworkCallback() {
+            @Override
+            public void onAvailable(Network network) {
+                handleConnectivityState(false);
+            }
 
-                @Override
-                public void onLost(Network network) {
-                    handleConnectivityState(false);
-                }
-            };
-            mConnectivityManager.registerNetworkCallback(new NetworkRequest.Builder().build(), mNetworkStateListenerL);
-        } else {
-            mNetworkStateListener = new BroadcastReceiver() {
-                @Override
-                public void onReceive(Context context, Intent intent) {
-                    handleConnectivityState(false);
-                }
-            };
-            registerReceiver(mNetworkStateListener, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
-        }
+            @Override
+            public void onLost(Network network) {
+                handleConnectivityState(false);
+            }
+        };
+        mConnectivityManager.registerNetworkCallback(new NetworkRequest.Builder().build(), mNetworkStateListenerL);
 
         mPrefs.registerOnSharedPreferenceChangeListener(mPrefChangeListener);
 
@@ -246,10 +232,7 @@ public class DownloadManagerService extends Service {
 
         manageLock(false);
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
-            mConnectivityManager.unregisterNetworkCallback(mNetworkStateListenerL);
-        else
-            unregisterReceiver(mNetworkStateListener);
+        mConnectivityManager.unregisterNetworkCallback(mNetworkStateListenerL);
 
         mPrefs.unregisterOnSharedPreferenceChangeListener(mPrefChangeListener);
 
@@ -263,21 +246,6 @@ public class DownloadManagerService extends Service {
 
     @Override
     public IBinder onBind(Intent intent) {
-        /*
-        int permissionCheck;
-        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
-            permissionCheck = PermissionChecker.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
-            if (permissionCheck == PermissionChecker.PERMISSION_DENIED) {
-                Toast.makeText(this, "Permission denied (read)", Toast.LENGTH_SHORT).show();
-            }
-        }
-
-        permissionCheck = PermissionChecker.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
-        if (permissionCheck == PermissionChecker.PERMISSION_DENIED) {
-            Toast.makeText(this, "Permission denied (write)", Toast.LENGTH_SHORT).show();
-        }
-        */
-
         return mBinder;
     }
 
@@ -473,12 +441,7 @@ public class DownloadManagerService extends Service {
         if (downloadDoneCount == 1) {
             downloadDoneList.append(name);
 
-            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
-                downloadDoneNotification.setContentTitle(getString(R.string.app_name));
-            } else {
-                downloadDoneNotification.setContentTitle(null);
-            }
-
+            downloadDoneNotification.setContentTitle(null);
             downloadDoneNotification.setContentText(Localization.downloadCount(this, downloadDoneCount));
             downloadDoneNotification.setStyle(new NotificationCompat.BigTextStyle()
                     .setBigContentTitle(Localization.downloadCount(this, downloadDoneCount))
@@ -511,16 +474,10 @@ public class DownloadManagerService extends Service {
                     .setContentIntent(mOpenDownloadList);
         }
 
-        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
-            downloadFailedNotification.setContentTitle(getString(R.string.app_name));
-            downloadFailedNotification.setStyle(new NotificationCompat.BigTextStyle()
-                    .bigText(getString(R.string.download_failed).concat(": ").concat(mission.storage.getName())));
-        } else {
-            downloadFailedNotification.setContentTitle(getString(R.string.download_failed));
-            downloadFailedNotification.setContentText(mission.storage.getName());
-            downloadFailedNotification.setStyle(new NotificationCompat.BigTextStyle()
-                    .bigText(mission.storage.getName()));
-        }
+        downloadFailedNotification.setContentTitle(getString(R.string.download_failed));
+        downloadFailedNotification.setContentText(mission.storage.getName());
+        downloadFailedNotification.setStyle(new NotificationCompat.BigTextStyle()
+                .bigText(mission.storage.getName()));
 
         mNotificationManager.notify(id, downloadFailedNotification.build());
     }
@@ -556,12 +513,7 @@ public class DownloadManagerService extends Service {
 
         if (path.charAt(0) == File.separatorChar) {
             Log.i(TAG, "Old save path style present: " + path);
-
-            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)
-                path = Uri.fromFile(new File(path)).toString();
-            else
-                path = "";
-
+            path = "";
             mPrefs.edit().putString(getString(prefKey), "").apply();
         }
 
diff --git a/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java b/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java
index 961c45bc5..343b13ef8 100644
--- a/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java
+++ b/app/src/main/java/us/shandian/giga/ui/adapter/MissionAdapter.java
@@ -350,10 +350,8 @@ public class MissionAdapter extends Adapter<ViewHolder> implements Handler.Callb
         Intent intent = new Intent(Intent.ACTION_VIEW);
         intent.setDataAndType(resolveShareableUri(mission), mimeType);
         intent.addFlags(FLAG_GRANT_READ_URI_PERMISSION);
+        intent.addFlags(FLAG_GRANT_PREFIX_URI_PERMISSION);
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            intent.addFlags(FLAG_GRANT_PREFIX_URI_PERMISSION);
-        }
         if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
             intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
         }
diff --git a/app/src/main/res/layout-land/activity_player_queue_control.xml b/app/src/main/res/layout-land/activity_player_queue_control.xml
index c2359552e..7d3b43ecc 100644
--- a/app/src/main/res/layout-land/activity_player_queue_control.xml
+++ b/app/src/main/res/layout-land/activity_player_queue_control.xml
@@ -138,8 +138,8 @@
                 android:clickable="true"
                 android:focusable="true"
                 android:scaleType="fitCenter"
+                android:src="@drawable/ic_pause"
                 android:tint="?attr/colorAccent"
-                app:srcCompat="@drawable/ic_pause"
                 tools:ignore="ContentDescription" />
 
             <ProgressBar
@@ -199,8 +199,8 @@
                 android:gravity="center"
                 android:minWidth="50dp"
                 android:scaleType="fitCenter"
+                android:src="@drawable/ic_previous"
                 android:tint="?attr/colorAccent"
-                app:srcCompat="@drawable/ic_previous"
                 tools:ignore="ContentDescription" />
 
             <ImageButton
@@ -214,8 +214,8 @@
                 android:clickable="true"
                 android:focusable="true"
                 android:scaleType="fitXY"
+                android:src="@drawable/ic_repeat"
                 android:tint="?attr/colorAccent"
-                app:srcCompat="@drawable/ic_repeat"
                 tools:ignore="ContentDescription" />
 
             <View
@@ -235,8 +235,8 @@
                 android:clickable="true"
                 android:focusable="true"
                 android:scaleType="fitXY"
+                android:src="@drawable/ic_shuffle"
                 android:tint="?attr/colorAccent"
-                app:srcCompat="@drawable/ic_shuffle"
                 tools:ignore="ContentDescription" />
 
             <androidx.appcompat.widget.AppCompatImageButton
@@ -253,8 +253,8 @@
                 android:gravity="center"
                 android:minWidth="50dp"
                 android:scaleType="fitCenter"
+                android:src="@drawable/ic_next"
                 android:tint="?attr/colorAccent"
-                app:srcCompat="@drawable/ic_next"
                 tools:ignore="ContentDescription" />
         </RelativeLayout>
     </RelativeLayout>
diff --git a/app/src/main/res/layout-large-land/fragment_video_detail.xml b/app/src/main/res/layout-large-land/fragment_video_detail.xml
index 851085b5b..d8e52b354 100644
--- a/app/src/main/res/layout-large-land/fragment_video_detail.xml
+++ b/app/src/main/res/layout-large-land/fragment_video_detail.xml
@@ -65,8 +65,8 @@
                             android:layout_height="64dp"
                             android:layout_gravity="center"
                             android:background="@android:color/transparent"
+                            android:src="@drawable/ic_play_arrow_shadow"
                             android:visibility="invisible"
-                            app:srcCompat="@drawable/ic_play_arrow_shadow"
                             tools:ignore="ContentDescription"
                             tools:visibility="visible" />
 
@@ -199,7 +199,7 @@
                             android:layout_gravity="top|end"
                             android:layout_marginTop="11dp"
                             android:layout_marginEnd="10dp"
-                            app:srcCompat="@drawable/ic_expand_more"
+                            android:src="@drawable/ic_expand_more"
                             tools:ignore="ContentDescription" />
 
                     </FrameLayout>
@@ -326,18 +326,6 @@
                                         tools:text="Uploader" />
                                 </LinearLayout>
 
-                                <!--<Button
-                                    android:id="@+id/detail_uploader_subscribe"
-                                    android:layout_width="wrap_content"
-                                    android:layout_height="wrap_content"
-                                    android:layout_gravity="center_vertical|right"
-                                    android:layout_marginRight="12dp"
-                                    android:text="@string/rss_button_title"
-                                    android:textSize="12sp"
-                                    android:theme="@style/RedButton"
-                                    app:drawableLeftCompat="@drawable/ic_rss_feed"
-                                    tools:ignore="RtlHardcoded"
-                                    android:visibility="gone"/>-->
                             </LinearLayout>
 
                             <!-- VIEW & THUMBS -->
@@ -369,7 +357,7 @@
                                     android:layout_height="@dimen/video_item_detail_like_image_height"
                                     android:layout_below="@id/detail_view_count_view"
                                     android:contentDescription="@string/detail_likes_img_view_description"
-                                    app:srcCompat="@drawable/ic_thumb_up" />
+                                    android:src="@drawable/ic_thumb_up" />
 
                                 <org.schabi.newpipe.views.NewPipeTextView
                                     android:id="@+id/detail_thumbs_up_count_view"
@@ -393,7 +381,7 @@
                                     android:layout_marginLeft="12dp"
                                     android:layout_toRightOf="@id/detail_thumbs_up_count_view"
                                     android:contentDescription="@string/detail_dislikes_img_view_description"
-                                    app:srcCompat="@drawable/ic_thumb_down"
+                                    android:src="@drawable/ic_thumb_down"
                                     tools:ignore="RtlHardcoded" />
 
                                 <org.schabi.newpipe.views.NewPipeTextView
@@ -447,12 +435,12 @@
                                 android:background="?attr/selectableItemBackgroundBorderless"
                                 android:clickable="true"
                                 android:contentDescription="@string/add_to_playlist"
+                                android:drawableTop="@drawable/ic_playlist_add"
                                 android:focusable="true"
                                 android:gravity="center"
                                 android:paddingVertical="@dimen/detail_control_padding"
                                 android:text="@string/controls_add_to_playlist_title"
-                                android:textSize="@dimen/detail_control_text_size"
-                                app:drawableTopCompat="@drawable/ic_playlist_add" />
+                                android:textSize="@dimen/detail_control_text_size" />
 
                             <org.schabi.newpipe.views.NewPipeTextView
                                 android:id="@+id/detail_controls_background"
@@ -463,12 +451,12 @@
                                 android:background="?attr/selectableItemBackgroundBorderless"
                                 android:clickable="true"
                                 android:contentDescription="@string/play_audio"
+                                android:drawableTop="@drawable/ic_headset"
                                 android:focusable="true"
                                 android:gravity="center"
                                 android:paddingVertical="@dimen/detail_control_padding"
                                 android:text="@string/controls_background_title"
-                                android:textSize="@dimen/detail_control_text_size"
-                                app:drawableTopCompat="@drawable/ic_headset" />
+                                android:textSize="@dimen/detail_control_text_size" />
 
                             <org.schabi.newpipe.views.NewPipeTextView
                                 android:id="@+id/detail_controls_popup"
@@ -479,12 +467,12 @@
                                 android:background="?attr/selectableItemBackgroundBorderless"
                                 android:clickable="true"
                                 android:contentDescription="@string/open_in_popup_mode"
+                                android:drawableTop="@drawable/ic_picture_in_picture"
                                 android:focusable="true"
                                 android:gravity="center"
                                 android:paddingVertical="@dimen/detail_control_padding"
                                 android:text="@string/controls_popup_title"
-                                android:textSize="@dimen/detail_control_text_size"
-                                app:drawableTopCompat="@drawable/ic_picture_in_picture" />
+                                android:textSize="@dimen/detail_control_text_size" />
 
                             <org.schabi.newpipe.views.NewPipeTextView
                                 android:id="@+id/detail_controls_download"
@@ -495,12 +483,12 @@
                                 android:background="?attr/selectableItemBackgroundBorderless"
                                 android:clickable="true"
                                 android:contentDescription="@string/controls_download_desc"
+                                android:drawableTop="@drawable/ic_file_download"
                                 android:focusable="true"
                                 android:gravity="center"
                                 android:paddingVertical="@dimen/detail_control_padding"
                                 android:text="@string/download"
-                                android:textSize="@dimen/detail_control_text_size"
-                                app:drawableTopCompat="@drawable/ic_file_download" />
+                                android:textSize="@dimen/detail_control_text_size" />
 
                         </LinearLayout>
 
@@ -526,12 +514,12 @@
                                 android:background="?attr/selectableItemBackgroundBorderless"
                                 android:clickable="true"
                                 android:contentDescription="@string/share"
+                                android:drawableTop="@drawable/ic_share"
                                 android:focusable="true"
                                 android:gravity="center"
                                 android:paddingVertical="@dimen/detail_control_padding"
                                 android:text="@string/share"
-                                android:textSize="@dimen/detail_control_text_size"
-                                app:drawableTopCompat="@drawable/ic_share" />
+                                android:textSize="@dimen/detail_control_text_size" />
 
                             <org.schabi.newpipe.views.NewPipeTextView
                                 android:id="@+id/detail_controls_open_in_browser"
@@ -542,12 +530,12 @@
                                 android:background="?attr/selectableItemBackgroundBorderless"
                                 android:clickable="true"
                                 android:contentDescription="@string/open_in_browser"
+                                android:drawableTop="@drawable/ic_language"
                                 android:focusable="true"
                                 android:gravity="center"
                                 android:paddingVertical="@dimen/detail_control_padding"
                                 android:text="@string/open_in_browser"
-                                android:textSize="@dimen/detail_control_text_size"
-                                app:drawableTopCompat="@drawable/ic_language" />
+                                android:textSize="@dimen/detail_control_text_size" />
 
                             <org.schabi.newpipe.views.NewPipeTextView
                                 android:id="@+id/detail_controls_play_with_kodi"
@@ -558,14 +546,14 @@
                                 android:background="?attr/selectableItemBackgroundBorderless"
                                 android:clickable="true"
                                 android:contentDescription="@string/play_with_kodi_title"
+                                android:drawableTop="@drawable/ic_cast"
                                 android:focusable="true"
                                 android:gravity="center"
                                 android:paddingVertical="@dimen/detail_control_padding"
                                 android:text="@string/play_with_kodi_title"
-                                android:textSize="@dimen/detail_control_text_size"
-                                app:drawableTopCompat="@drawable/ic_cast" />
+                                android:textSize="@dimen/detail_control_text_size" />
 
-                            <TextView
+                            <org.schabi.newpipe.views.NewPipeTextView
                                 android:id="@+id/detail_controls_crash_the_player"
                                 android:layout_width="@dimen/detail_control_width"
                                 android:layout_height="@dimen/detail_control_height"
@@ -574,12 +562,12 @@
                                 android:background="?attr/selectableItemBackgroundBorderless"
                                 android:clickable="true"
                                 android:contentDescription="@string/crash_the_player"
+                                android:drawableTop="@drawable/ic_bug_report"
                                 android:focusable="true"
                                 android:gravity="center"
                                 android:paddingVertical="@dimen/detail_control_padding"
                                 android:text="@string/crash_the_player"
-                                android:textSize="@dimen/detail_control_text_size"
-                                app:drawableTopCompat="@drawable/ic_bug_report" />
+                                android:textSize="@dimen/detail_control_text_size" />
 
                         </LinearLayout>
 
@@ -719,7 +707,7 @@
                 android:scaleType="center"
                 android:focusable="true"
                 android:focusedByDefault="true"
-                app:srcCompat="@drawable/ic_play_arrow"
+                android:src="@drawable/ic_play_arrow"
                 tools:ignore="ContentDescription,RtlHardcoded" />
 
             <ImageButton
@@ -729,7 +717,7 @@
                 android:background="?attr/selectableItemBackground"
                 android:padding="10dp"
                 android:scaleType="center"
-                app:srcCompat="@drawable/ic_close"
+                android:src="@drawable/ic_close"
                 tools:ignore="ContentDescription,RtlHardcoded" />
 
         </LinearLayout>
diff --git a/app/src/main/res/layout/activity_player_queue_control.xml b/app/src/main/res/layout/activity_player_queue_control.xml
index 24e062932..29efa36f9 100644
--- a/app/src/main/res/layout/activity_player_queue_control.xml
+++ b/app/src/main/res/layout/activity_player_queue_control.xml
@@ -174,8 +174,8 @@
             android:clickable="true"
             android:focusable="true"
             android:scaleType="fitXY"
+            android:src="@drawable/ic_repeat"
             android:tint="?attr/colorAccent"
-            app:srcCompat="@drawable/ic_repeat"
             tools:ignore="ContentDescription" />
 
         <androidx.appcompat.widget.AppCompatImageButton
@@ -189,8 +189,8 @@
             android:clickable="true"
             android:focusable="true"
             android:scaleType="fitCenter"
+            android:src="@drawable/ic_previous"
             android:tint="?attr/colorAccent"
-            app:srcCompat="@drawable/ic_previous"
             tools:ignore="ContentDescription" />
 
         <ImageButton
@@ -219,8 +219,8 @@
             android:clickable="true"
             android:focusable="true"
             android:scaleType="fitCenter"
+            android:src="@drawable/ic_pause"
             android:tint="?attr/colorAccent"
-            app:srcCompat="@drawable/ic_pause"
             tools:ignore="ContentDescription" />
 
         <ProgressBar
@@ -268,8 +268,8 @@
             android:clickable="true"
             android:focusable="true"
             android:scaleType="fitCenter"
+            android:src="@drawable/ic_next"
             android:tint="?attr/colorAccent"
-            app:srcCompat="@drawable/ic_next"
             tools:ignore="ContentDescription" />
 
         <ImageButton
@@ -284,8 +284,8 @@
             android:clickable="true"
             android:focusable="true"
             android:scaleType="fitXY"
+            android:src="@drawable/ic_shuffle"
             android:tint="?attr/colorAccent"
-            app:srcCompat="@drawable/ic_shuffle"
             tools:ignore="ContentDescription" />
 
     </RelativeLayout>
diff --git a/app/src/main/res/layout/dialog_feed_group_create.xml b/app/src/main/res/layout/dialog_feed_group_create.xml
index a08041e97..464940238 100644
--- a/app/src/main/res/layout/dialog_feed_group_create.xml
+++ b/app/src/main/res/layout/dialog_feed_group_create.xml
@@ -193,8 +193,8 @@
             android:layout_centerVertical="true"
             android:minWidth="0dp"
             android:scaleType="centerInside"
+            android:src="@drawable/ic_delete"
             android:visibility="gone"
-            app:srcCompat="@drawable/ic_delete"
             tools:ignore="ContentDescription"
             tools:visibility="visible" />
 
diff --git a/app/src/main/res/layout/dialog_playback_parameter.xml b/app/src/main/res/layout/dialog_playback_parameter.xml
index e402f4fb1..cc506cc79 100644
--- a/app/src/main/res/layout/dialog_playback_parameter.xml
+++ b/app/src/main/res/layout/dialog_playback_parameter.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
@@ -154,7 +153,7 @@
             android:layout_alignParentEnd="true"
             android:clickable="true"
             android:focusable="true"
-            app:srcCompat="@drawable/ic_expand_more"
+            android:src="@drawable/ic_expand_more"
             tools:ignore="ContentDescription" />
 
         <LinearLayout
diff --git a/app/src/main/res/layout/dialog_playlists.xml b/app/src/main/res/layout/dialog_playlists.xml
index 99c46e552..18b08d93c 100644
--- a/app/src/main/res/layout/dialog_playlists.xml
+++ b/app/src/main/res/layout/dialog_playlists.xml
@@ -1,5 +1,4 @@
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
@@ -20,7 +19,7 @@
             android:layout_centerVertical="true"
             android:layout_marginLeft="12dp"
             android:layout_marginRight="12dp"
-            app:srcCompat="@drawable/ic_playlist_add"
+            android:src="@drawable/ic_playlist_add"
             tools:ignore="ContentDescription,RtlHardcoded" />
 
         <org.schabi.newpipe.views.NewPipeTextView
diff --git a/app/src/main/res/layout/drawer_header.xml b/app/src/main/res/layout/drawer_header.xml
index 94e045863..fe076ff7c 100644
--- a/app/src/main/res/layout/drawer_header.xml
+++ b/app/src/main/res/layout/drawer_header.xml
@@ -39,7 +39,7 @@
                 android:layout_width="@dimen/drawer_header_newpipe_icon_size"
                 android:layout_height="@dimen/drawer_header_newpipe_icon_size"
                 android:layout_marginEnd="@dimen/drawer_header_newpipe_icon_title_space"
-                app:srcCompat="@drawable/splash_foreground"
+                android:src="@drawable/splash_foreground"
                 tools:ignore="ContentDescription" />
 
             <org.schabi.newpipe.views.NewPipeTextView
@@ -86,7 +86,7 @@
                     android:scaleType="fitCenter"
                     app:tint="@color/drawer_header_font_color"
                     tools:ignore="ContentDescription"
-                    tools:srcCompat="@drawable/ic_smart_display" />
+                    tools:src="@drawable/ic_smart_display" />
 
                 <org.schabi.newpipe.views.NewPipeTextView
                     android:id="@+id/drawer_header_service_view"
@@ -104,7 +104,7 @@
                 android:layout_width="24dp"
                 android:layout_height="24dp"
                 android:layout_marginStart="4dp"
-                app:srcCompat="@drawable/ic_arrow_drop_down"
+                android:src="@drawable/ic_arrow_drop_down"
                 app:tint="@color/drawer_header_font_color"
                 tools:ignore="ContentDescription" />
         </LinearLayout>
diff --git a/app/src/main/res/layout/feed_group_add_new_item.xml b/app/src/main/res/layout/feed_group_add_new_item.xml
index df3fc9b3a..0dfe819a6 100644
--- a/app/src/main/res/layout/feed_group_add_new_item.xml
+++ b/app/src/main/res/layout/feed_group_add_new_item.xml
@@ -24,7 +24,7 @@
             android:layout_height="14dp"
             android:layout_gravity="center"
             android:scaleType="centerInside"
-            app:srcCompat="@drawable/ic_add"
+            android:src="@drawable/ic_add"
             tools:ignore="ContentDescription" />
 
         <org.schabi.newpipe.views.NewPipeTextView
diff --git a/app/src/main/res/layout/feed_group_reorder_item.xml b/app/src/main/res/layout/feed_group_reorder_item.xml
index 8d72a2638..0743542d9 100644
--- a/app/src/main/res/layout/feed_group_reorder_item.xml
+++ b/app/src/main/res/layout/feed_group_reorder_item.xml
@@ -55,7 +55,7 @@
             android:paddingTop="12dp"
             android:paddingRight="16dp"
             android:paddingBottom="12dp"
-            app:srcCompat="@drawable/ic_drag_handle"
+            android:src="@drawable/ic_drag_handle"
             tools:ignore="ContentDescription,RtlHardcoded" />
     </RelativeLayout>
 </androidx.cardview.widget.CardView>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_about.xml b/app/src/main/res/layout/fragment_about.xml
index db93f1d8d..1807acb10 100644
--- a/app/src/main/res/layout/fragment_about.xml
+++ b/app/src/main/res/layout/fragment_about.xml
@@ -1,5 +1,4 @@
 <androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
@@ -20,7 +19,7 @@
             android:layout_gravity="center_horizontal"
             android:layout_marginBottom="8dp"
             android:contentDescription="@string/app_name"
-            app:srcCompat="@mipmap/ic_launcher" />
+            android:src="@mipmap/ic_launcher" />
 
         <org.schabi.newpipe.views.NewPipeTextView
             android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/fragment_choose_tabs.xml b/app/src/main/res/layout/fragment_choose_tabs.xml
index d27192327..485fd89c3 100644
--- a/app/src/main/res/layout/fragment_choose_tabs.xml
+++ b/app/src/main/res/layout/fragment_choose_tabs.xml
@@ -40,10 +40,10 @@
         android:layout_marginBottom="16dp"
         android:clickable="true"
         android:focusable="true"
+        android:src="@drawable/ic_add"
         app:backgroundTint="?attr/colorPrimary"
         app:fabSize="auto"
         app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:srcCompat="@drawable/ic_add" />
+        app:layout_constraintEnd_toEndOf="parent" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/fragment_description.xml b/app/src/main/res/layout/fragment_description.xml
index b020d5db3..157b8f394 100644
--- a/app/src/main/res/layout/fragment_description.xml
+++ b/app/src/main/res/layout/fragment_description.xml
@@ -38,11 +38,11 @@
             android:contentDescription="@string/description_select_enable"
             android:focusable="true"
             android:padding="5dp"
+            android:src="@drawable/ic_select_all"
             app:layout_constraintBottom_toTopOf="@+id/barrier"
             app:layout_constraintDimensionRatio="1"
             app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:srcCompat="@drawable/ic_select_all" />
+            app:layout_constraintTop_toTopOf="parent" />
 
         <androidx.constraintlayout.widget.Barrier
             android:id="@+id/barrier"
diff --git a/app/src/main/res/layout/fragment_feed.xml b/app/src/main/res/layout/fragment_feed.xml
index ebe76af0c..de2096605 100644
--- a/app/src/main/res/layout/fragment_feed.xml
+++ b/app/src/main/res/layout/fragment_feed.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
@@ -57,7 +56,7 @@
             android:layout_alignParentEnd="true"
             android:layout_marginStart="6dp"
             android:layout_marginEnd="12dp"
-            app:srcCompat="@drawable/ic_refresh"
+            android:src="@drawable/ic_refresh"
             tools:ignore="ContentDescription" />
 
         <View
diff --git a/app/src/main/res/layout/fragment_instance_list.xml b/app/src/main/res/layout/fragment_instance_list.xml
index aaf56fcc1..2e976b286 100644
--- a/app/src/main/res/layout/fragment_instance_list.xml
+++ b/app/src/main/res/layout/fragment_instance_list.xml
@@ -44,8 +44,8 @@
         android:layout_marginBottom="16dp"
         android:clickable="true"
         android:focusable="true"
+        android:src="@drawable/ic_add"
         app:backgroundTint="?attr/colorPrimary"
-        app:fabSize="auto"
-        app:srcCompat="@drawable/ic_add" />
+        app:fabSize="auto" />
 
 </RelativeLayout>
diff --git a/app/src/main/res/layout/fragment_video_detail.xml b/app/src/main/res/layout/fragment_video_detail.xml
index 08a9bcf0a..18655283e 100644
--- a/app/src/main/res/layout/fragment_video_detail.xml
+++ b/app/src/main/res/layout/fragment_video_detail.xml
@@ -55,8 +55,8 @@
                         android:layout_height="64dp"
                         android:layout_gravity="center"
                         android:background="@android:color/transparent"
+                        android:src="@drawable/ic_play_arrow_shadow"
                         android:visibility="invisible"
-                        app:srcCompat="@drawable/ic_play_arrow_shadow"
                         tools:ignore="ContentDescription"
                         tools:visibility="visible" />
 
@@ -187,7 +187,7 @@
                         android:layout_gravity="top|end"
                         android:layout_marginTop="11dp"
                         android:layout_marginEnd="10dp"
-                        app:srcCompat="@drawable/ic_expand_more"
+                        android:src="@drawable/ic_expand_more"
                         tools:ignore="ContentDescription" />
 
                 </FrameLayout>
@@ -313,19 +313,6 @@
                                     tools:text="Uploader" />
 
                             </LinearLayout>
-
-                            <!--<Button
-                                android:id="@+id/detail_uploader_subscribe"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_gravity="center_vertical|right"
-                                android:layout_marginRight="12dp"
-                                android:text="@string/rss_button_title"
-                                android:textSize="12sp"
-                                android:theme="@style/RedButton"
-                                app:drawableLeftCompat="@drawable/ic_rss_feed"
-                                tools:ignore="RtlHardcoded"
-                                android:visibility="gone"/>-->
                         </LinearLayout>
 
                         <!-- VIEW & THUMBS -->
@@ -357,7 +344,7 @@
                                 android:layout_height="@dimen/video_item_detail_like_image_height"
                                 android:layout_below="@id/detail_view_count_view"
                                 android:contentDescription="@string/detail_likes_img_view_description"
-                                app:srcCompat="@drawable/ic_thumb_up" />
+                                android:src="@drawable/ic_thumb_up" />
 
                             <org.schabi.newpipe.views.NewPipeTextView
                                 android:id="@+id/detail_thumbs_up_count_view"
@@ -381,7 +368,7 @@
                                 android:layout_marginLeft="12dp"
                                 android:layout_toRightOf="@id/detail_thumbs_up_count_view"
                                 android:contentDescription="@string/detail_dislikes_img_view_description"
-                                app:srcCompat="@drawable/ic_thumb_down"
+                                android:src="@drawable/ic_thumb_down"
                                 tools:ignore="RtlHardcoded" />
 
                             <org.schabi.newpipe.views.NewPipeTextView
@@ -433,12 +420,12 @@
                             android:background="?attr/selectableItemBackgroundBorderless"
                             android:clickable="true"
                             android:contentDescription="@string/add_to_playlist"
+                            android:drawableTop="@drawable/ic_playlist_add"
                             android:focusable="true"
                             android:gravity="center"
                             android:paddingVertical="@dimen/detail_control_padding"
                             android:text="@string/controls_add_to_playlist_title"
-                            android:textSize="@dimen/detail_control_text_size"
-                            app:drawableTopCompat="@drawable/ic_playlist_add" />
+                            android:textSize="@dimen/detail_control_text_size" />
 
                         <org.schabi.newpipe.views.NewPipeTextView
                             android:id="@+id/detail_controls_background"
@@ -449,12 +436,12 @@
                             android:background="?attr/selectableItemBackgroundBorderless"
                             android:clickable="true"
                             android:contentDescription="@string/play_audio"
+                            android:drawableTop="@drawable/ic_headset"
                             android:focusable="true"
                             android:gravity="center"
                             android:paddingVertical="@dimen/detail_control_padding"
                             android:text="@string/controls_background_title"
-                            android:textSize="@dimen/detail_control_text_size"
-                            app:drawableTopCompat="@drawable/ic_headset" />
+                            android:textSize="@dimen/detail_control_text_size" />
 
                         <org.schabi.newpipe.views.NewPipeTextView
                             android:id="@+id/detail_controls_popup"
@@ -465,12 +452,12 @@
                             android:background="?attr/selectableItemBackgroundBorderless"
                             android:clickable="true"
                             android:contentDescription="@string/open_in_popup_mode"
+                            android:drawableTop="@drawable/ic_picture_in_picture"
                             android:focusable="true"
                             android:gravity="center"
                             android:paddingVertical="@dimen/detail_control_padding"
                             android:text="@string/controls_popup_title"
-                            android:textSize="@dimen/detail_control_text_size"
-                            app:drawableTopCompat="@drawable/ic_picture_in_picture" />
+                            android:textSize="@dimen/detail_control_text_size" />
 
                         <org.schabi.newpipe.views.NewPipeTextView
                             android:id="@+id/detail_controls_download"
@@ -481,12 +468,12 @@
                             android:background="?attr/selectableItemBackgroundBorderless"
                             android:clickable="true"
                             android:contentDescription="@string/controls_download_desc"
+                            android:drawableTop="@drawable/ic_file_download"
                             android:focusable="true"
                             android:gravity="center"
                             android:paddingVertical="@dimen/detail_control_padding"
                             android:text="@string/download"
-                            android:textSize="@dimen/detail_control_text_size"
-                            app:drawableTopCompat="@drawable/ic_file_download" />
+                            android:textSize="@dimen/detail_control_text_size" />
 
                     </LinearLayout>
 
@@ -510,12 +497,12 @@
                             android:background="?attr/selectableItemBackgroundBorderless"
                             android:clickable="true"
                             android:contentDescription="@string/share"
+                            android:drawableTop="@drawable/ic_share"
                             android:focusable="true"
                             android:gravity="center"
                             android:paddingVertical="@dimen/detail_control_padding"
                             android:text="@string/share"
-                            android:textSize="@dimen/detail_control_text_size"
-                            app:drawableTopCompat="@drawable/ic_share" />
+                            android:textSize="@dimen/detail_control_text_size" />
 
                         <org.schabi.newpipe.views.NewPipeTextView
                             android:id="@+id/detail_controls_open_in_browser"
@@ -526,12 +513,12 @@
                             android:background="?attr/selectableItemBackgroundBorderless"
                             android:clickable="true"
                             android:contentDescription="@string/open_in_browser"
+                            android:drawableTop="@drawable/ic_language"
                             android:focusable="true"
                             android:gravity="center"
                             android:paddingVertical="@dimen/detail_control_padding"
                             android:text="@string/open_in_browser"
-                            android:textSize="@dimen/detail_control_text_size"
-                            app:drawableTopCompat="@drawable/ic_language" />
+                            android:textSize="@dimen/detail_control_text_size" />
 
                         <org.schabi.newpipe.views.NewPipeTextView
                             android:id="@+id/detail_controls_play_with_kodi"
@@ -542,14 +529,14 @@
                             android:background="?attr/selectableItemBackgroundBorderless"
                             android:clickable="true"
                             android:contentDescription="@string/play_with_kodi_title"
+                            android:drawableTop="@drawable/ic_cast"
                             android:focusable="true"
                             android:gravity="center"
                             android:paddingVertical="@dimen/detail_control_padding"
                             android:text="@string/play_with_kodi_title"
-                            android:textSize="@dimen/detail_control_text_size"
-                            app:drawableTopCompat="@drawable/ic_cast" />
+                            android:textSize="@dimen/detail_control_text_size" />
 
-                        <TextView
+                        <org.schabi.newpipe.views.NewPipeTextView
                             android:id="@+id/detail_controls_crash_the_player"
                             android:layout_width="@dimen/detail_control_width"
                             android:layout_height="@dimen/detail_control_height"
@@ -558,12 +545,12 @@
                             android:background="?attr/selectableItemBackgroundBorderless"
                             android:clickable="true"
                             android:contentDescription="@string/crash_the_player"
+                            android:drawableTop="@drawable/ic_bug_report"
                             android:focusable="true"
                             android:gravity="center"
                             android:paddingVertical="@dimen/detail_control_padding"
                             android:text="@string/crash_the_player"
-                            android:textSize="@dimen/detail_control_text_size"
-                            app:drawableTopCompat="@drawable/ic_bug_report" />
+                            android:textSize="@dimen/detail_control_text_size" />
 
                     </LinearLayout>
 
@@ -696,7 +683,7 @@
                 android:scaleType="center"
                 android:focusable="true"
                 android:focusedByDefault="true"
-                app:srcCompat="@drawable/ic_play_arrow"
+                android:src="@drawable/ic_play_arrow"
                 tools:ignore="ContentDescription,RtlHardcoded" />
 
             <ImageButton
@@ -706,7 +693,7 @@
                 android:background="?attr/selectableItemBackground"
                 android:padding="10dp"
                 android:scaleType="center"
-                app:srcCompat="@drawable/ic_close"
+                android:src="@drawable/ic_close"
                 tools:ignore="ContentDescription,RtlHardcoded" />
 
         </LinearLayout>
diff --git a/app/src/main/res/layout/item_instance.xml b/app/src/main/res/layout/item_instance.xml
index dd5b4156f..12ecb2ea7 100644
--- a/app/src/main/res/layout/item_instance.xml
+++ b/app/src/main/res/layout/item_instance.xml
@@ -75,7 +75,7 @@
             android:paddingTop="12dp"
             android:paddingRight="10dp"
             android:paddingBottom="12dp"
-            app:srcCompat="@drawable/ic_drag_handle"
+            android:src="@drawable/ic_drag_handle"
             tools:ignore="ContentDescription,RtlHardcoded" />
     </RelativeLayout>
 </androidx.cardview.widget.CardView>
diff --git a/app/src/main/res/layout/item_search_suggestion.xml b/app/src/main/res/layout/item_search_suggestion.xml
index 4b1025fea..f7a07bbcc 100644
--- a/app/src/main/res/layout/item_search_suggestion.xml
+++ b/app/src/main/res/layout/item_search_suggestion.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
@@ -64,7 +63,7 @@
             android:layout_width="20dp"
             android:layout_height="20dp"
             android:layout_gravity="center"
-            app:srcCompat="@drawable/ic_search_add"
+            android:src="@drawable/ic_search_add"
             tools:ignore="ContentDescription,RtlHardcoded" />
     </LinearLayout>
 
diff --git a/app/src/main/res/layout/list_choose_tabs.xml b/app/src/main/res/layout/list_choose_tabs.xml
index e6cebda11..ed7ad94c4 100644
--- a/app/src/main/res/layout/list_choose_tabs.xml
+++ b/app/src/main/res/layout/list_choose_tabs.xml
@@ -55,7 +55,7 @@
             android:paddingTop="12dp"
             android:paddingRight="16dp"
             android:paddingBottom="12dp"
-            app:srcCompat="@drawable/ic_drag_handle"
+            android:src="@drawable/ic_drag_handle"
             tools:ignore="ContentDescription,RtlHardcoded" />
     </RelativeLayout>
 </androidx.cardview.widget.CardView>
diff --git a/app/src/main/res/layout/list_comments_item.xml b/app/src/main/res/layout/list_comments_item.xml
index 3b148de03..4358c438f 100644
--- a/app/src/main/res/layout/list_comments_item.xml
+++ b/app/src/main/res/layout/list_comments_item.xml
@@ -32,8 +32,8 @@
         android:layout_marginRight="@dimen/video_item_detail_pinned_right_margin"
         android:layout_toEndOf="@+id/itemThumbnailView"
         android:contentDescription="@string/detail_pinned_comment_view_description"
+        android:src="@drawable/ic_pin"
         android:visibility="gone"
-        app:srcCompat="@drawable/ic_pin"
         tools:visibility="visible" />
 
     <org.schabi.newpipe.views.NewPipeTextView
@@ -69,7 +69,7 @@
         android:layout_below="@id/itemCommentContentView"
         android:layout_toRightOf="@+id/itemThumbnailView"
         android:contentDescription="@string/detail_likes_img_view_description"
-        app:srcCompat="@drawable/ic_thumb_up" />
+        android:src="@drawable/ic_thumb_up" />
 
     <org.schabi.newpipe.views.NewPipeTextView
         android:id="@+id/detail_thumbs_up_count_view"
@@ -92,37 +92,9 @@
         android:layout_marginLeft="@dimen/video_item_detail_heart_margin"
         android:layout_toRightOf="@+id/detail_thumbs_up_count_view"
         android:contentDescription="@string/detail_heart_img_view_description"
+        android:src="@drawable/ic_heart"
         android:visibility="gone"
-        tools:visibility="visible"
-        app:srcCompat="@drawable/ic_heart" />
-
-
-    <!--we can uncomment below code if we need dislike button and count in future-->
-
-    <!--<ImageView
-        android:id="@+id/detail_thumbs_down_img_view"
-        android:layout_width="@dimen/video_item_detail_like_image_width"
-        android:layout_height="@dimen/video_item_detail_like_image_height"
-        android:layout_below="@id/itemCommentContentView"
-        android:layout_marginLeft="12dp"
-        android:layout_toRightOf="@id/detail_thumbs_up_count_view"
-        android:contentDescription="@string/detail_dislikes_img_view_description"
-        app:srcCompat="?attr/thumbs_down"
-        tools:ignore="RtlHardcoded" />
-
-    <org.schabi.newpipe.views.NewPipeTextView
-        android:id="@+id/detail_thumbs_down_count_view"
-        android:layout_width="wrap_content"
-        android:layout_height="@dimen/video_item_detail_like_image_height"
-        android:layout_below="@id/itemCommentContentView"
-        android:layout_marginLeft="@dimen/video_item_detail_like_margin"
-        android:layout_toRightOf="@id/detail_thumbs_down_img_view"
-        android:gravity="center_vertical"
-        android:lines="1"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:textSize="@dimen/video_item_detail_likes_text_size"
-        tools:ignore="RtlHardcoded"
-        tools:text="10K" />-->
+        tools:visibility="visible" />
 
     <org.schabi.newpipe.views.NewPipeTextView
         android:id="@+id/itemPublishedTime"
diff --git a/app/src/main/res/layout/list_comments_mini_item.xml b/app/src/main/res/layout/list_comments_mini_item.xml
index 90653532b..6bd363311 100644
--- a/app/src/main/res/layout/list_comments_mini_item.xml
+++ b/app/src/main/res/layout/list_comments_mini_item.xml
@@ -39,7 +39,7 @@
         android:layout_below="@id/itemCommentContentView"
         android:layout_toRightOf="@+id/itemThumbnailView"
         android:contentDescription="@string/detail_likes_img_view_description"
-        app:srcCompat="@drawable/ic_thumb_up" />
+        android:src="@drawable/ic_thumb_up" />
 
     <org.schabi.newpipe.views.NewPipeTextView
         android:id="@+id/detail_thumbs_up_count_view"
@@ -54,33 +54,6 @@
         tools:ignore="RtlHardcoded"
         tools:text="12M" />
 
-    <!--we can uncomment below code if we need dislike button and count in future-->
-
-    <!--<ImageView
-        android:id="@+id/detail_thumbs_down_img_view"
-        android:layout_width="@dimen/video_item_detail_like_image_width"
-        android:layout_height="@dimen/video_item_detail_like_image_height"
-        android:layout_below="@id/itemCommentContentView"
-        android:layout_marginLeft="12dp"
-        android:layout_toRightOf="@id/detail_thumbs_up_count_view"
-        android:contentDescription="@string/detail_dislikes_img_view_description"
-        app:srcCompat="?attr/thumbs_down"
-        tools:ignore="RtlHardcoded" />
-
-    <org.schabi.newpipe.views.NewPipeTextView
-        android:id="@+id/detail_thumbs_down_count_view"
-        android:layout_width="wrap_content"
-        android:layout_height="@dimen/video_item_detail_like_image_height"
-        android:layout_below="@id/itemCommentContentView"
-        android:layout_marginLeft="@dimen/video_item_detail_like_margin"
-        android:layout_toRightOf="@id/detail_thumbs_down_img_view"
-        android:gravity="center_vertical"
-        android:lines="1"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:textSize="@dimen/video_item_detail_likes_text_size"
-        tools:ignore="RtlHardcoded"
-        tools:text="10K" />-->
-
     <org.schabi.newpipe.views.NewPipeTextView
         android:id="@+id/itemPublishedTime"
         android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/list_playlist_grid_item.xml b/app/src/main/res/layout/list_playlist_grid_item.xml
index 2357458ff..e052e9ac0 100644
--- a/app/src/main/res/layout/list_playlist_grid_item.xml
+++ b/app/src/main/res/layout/list_playlist_grid_item.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/itemRoot"
     android:layout_width="match_parent"
@@ -29,6 +28,8 @@
         android:layout_alignEnd="@id/itemThumbnailView"
         android:layout_alignBottom="@id/itemThumbnailView"
         android:background="@color/playlist_stream_count_background_color"
+        android:drawableTop="@drawable/ic_playlist_play"
+        android:drawableTint="@color/duration_text_color"
         android:gravity="center"
         android:paddingTop="16dp"
         android:paddingBottom="14dp"
@@ -36,8 +37,6 @@
         android:textColor="@color/duration_text_color"
         android:textSize="@dimen/video_item_search_duration_text_size"
         android:textStyle="bold"
-        app:drawableTint="@color/duration_text_color"
-        app:drawableTopCompat="@drawable/ic_playlist_play"
         tools:text="314159" />
 
     <org.schabi.newpipe.views.NewPipeTextView
diff --git a/app/src/main/res/layout/list_playlist_item.xml b/app/src/main/res/layout/list_playlist_item.xml
index 8207a7365..452596af9 100644
--- a/app/src/main/res/layout/list_playlist_item.xml
+++ b/app/src/main/res/layout/list_playlist_item.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/itemRoot"
     android:layout_width="match_parent"
@@ -30,6 +29,8 @@
         android:layout_alignEnd="@id/itemThumbnailView"
         android:layout_alignBottom="@id/itemThumbnailView"
         android:background="@color/playlist_stream_count_background_color"
+        android:drawableTop="@drawable/ic_playlist_play"
+        android:drawableTint="@color/duration_text_color"
         android:gravity="center"
         android:paddingTop="16dp"
         android:paddingBottom="14dp"
@@ -37,8 +38,6 @@
         android:textColor="@color/duration_text_color"
         android:textSize="@dimen/video_item_search_duration_text_size"
         android:textStyle="bold"
-        app:drawableTint="@color/duration_text_color"
-        app:drawableTopCompat="@drawable/ic_playlist_play"
         tools:text="314159" />
 
     <org.schabi.newpipe.views.NewPipeTextView
diff --git a/app/src/main/res/layout/list_playlist_mini_item.xml b/app/src/main/res/layout/list_playlist_mini_item.xml
index bbad6efd0..b08c90d94 100644
--- a/app/src/main/res/layout/list_playlist_mini_item.xml
+++ b/app/src/main/res/layout/list_playlist_mini_item.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/itemRoot"
     android:layout_width="match_parent"
@@ -30,6 +29,8 @@
         android:layout_alignEnd="@id/itemThumbnailView"
         android:layout_alignBottom="@id/itemThumbnailView"
         android:background="@color/playlist_stream_count_background_color"
+        android:drawableTop="@drawable/ic_playlist_play"
+        android:drawableTint="@color/duration_text_color"
         android:gravity="center"
         android:paddingTop="4dp"
         android:paddingBottom="6dp"
@@ -37,8 +38,6 @@
         android:textColor="@color/duration_text_color"
         android:textSize="@dimen/video_item_search_duration_text_size"
         android:textStyle="bold"
-        app:drawableTint="@color/duration_text_color"
-        app:drawableTopCompat="@drawable/ic_playlist_play"
         tools:text="3141" />
 
     <org.schabi.newpipe.views.NewPipeTextView
diff --git a/app/src/main/res/layout/list_stream_playlist_grid_item.xml b/app/src/main/res/layout/list_stream_playlist_grid_item.xml
index e21a7238c..3d61e57bf 100644
--- a/app/src/main/res/layout/list_stream_playlist_grid_item.xml
+++ b/app/src/main/res/layout/list_stream_playlist_grid_item.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/itemRoot"
     android:layout_width="match_parent"
@@ -49,7 +48,7 @@
         android:contentDescription="@string/detail_drag_description"
         android:paddingLeft="@dimen/video_item_search_image_right_margin"
         android:scaleType="center"
-        app:srcCompat="@drawable/ic_drag_handle"
+        android:src="@drawable/ic_drag_handle"
         tools:ignore="RtlHardcoded,RtlSymmetry" />
 
     <org.schabi.newpipe.views.NewPipeTextView
diff --git a/app/src/main/res/layout/list_stream_playlist_item.xml b/app/src/main/res/layout/list_stream_playlist_item.xml
index 428c762aa..49d34a157 100644
--- a/app/src/main/res/layout/list_stream_playlist_item.xml
+++ b/app/src/main/res/layout/list_stream_playlist_item.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/itemRoot"
     android:layout_width="match_parent"
@@ -50,7 +49,7 @@
         android:contentDescription="@string/detail_drag_description"
         android:paddingLeft="@dimen/video_item_search_image_right_margin"
         android:scaleType="center"
-        app:srcCompat="@drawable/ic_drag_handle"
+        android:src="@drawable/ic_drag_handle"
         tools:ignore="RtlHardcoded,RtlSymmetry" />
 
     <org.schabi.newpipe.views.NewPipeTextView
diff --git a/app/src/main/res/layout/mission_item.xml b/app/src/main/res/layout/mission_item.xml
index 445776bea..5338949aa 100644
--- a/app/src/main/res/layout/mission_item.xml
+++ b/app/src/main/res/layout/mission_item.xml
@@ -39,7 +39,7 @@
                 android:layout_marginRight="1dp"
                 android:contentDescription="TODO"
                 android:scaleType="center"
-                app:srcCompat="@drawable/ic_more_vert"
+                android:src="@drawable/ic_more_vert"
                 app:tint="?attr/actionColor" />
 
         </RelativeLayout>
diff --git a/app/src/main/res/layout/mission_item_linear.xml b/app/src/main/res/layout/mission_item_linear.xml
index d7235fcaf..ce2d1af4b 100644
--- a/app/src/main/res/layout/mission_item_linear.xml
+++ b/app/src/main/res/layout/mission_item_linear.xml
@@ -72,7 +72,7 @@
             android:layout_marginRight="4dp"
             android:contentDescription="TODO"
             android:scaleType="centerInside"
-            app:srcCompat="@drawable/ic_more_vert"
+            android:src="@drawable/ic_more_vert"
             app:tint="?attr/actionColor" />
 
     </RelativeLayout>
diff --git a/app/src/main/res/layout/picker_subscription_item.xml b/app/src/main/res/layout/picker_subscription_item.xml
index 1aaa1e7d8..c858ccc4e 100644
--- a/app/src/main/res/layout/picker_subscription_item.xml
+++ b/app/src/main/res/layout/picker_subscription_item.xml
@@ -52,8 +52,8 @@
             android:layout_gravity="top|center_horizontal"
             android:layout_marginTop="4dp"
             android:scaleType="centerInside"
+            android:src="@drawable/ic_done"
             app:tint="@color/white"
-            app:srcCompat="@drawable/ic_done"
             tools:ignore="ContentDescription" />
     </FrameLayout>
 </FrameLayout>
diff --git a/app/src/main/res/layout/play_queue_item.xml b/app/src/main/res/layout/play_queue_item.xml
index 5fb9419f6..7d672dc8b 100644
--- a/app/src/main/res/layout/play_queue_item.xml
+++ b/app/src/main/res/layout/play_queue_item.xml
@@ -89,10 +89,10 @@
         android:layout_gravity="center_vertical"
         android:paddingHorizontal="@dimen/video_item_search_image_right_margin"
         android:scaleType="center"
+        android:src="@drawable/ic_drag_handle"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintTop_toTopOf="parent"
-        app:srcCompat="@drawable/ic_drag_handle"
         tools:ignore="ContentDescription,RtlHardcoded" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/player.xml b/app/src/main/res/layout/player.xml
index d748942e0..b8b60b3f8 100644
--- a/app/src/main/res/layout/player.xml
+++ b/app/src/main/res/layout/player.xml
@@ -112,8 +112,8 @@
                         android:focusable="true"
                         android:padding="@dimen/player_main_buttons_padding"
                         android:scaleType="fitXY"
+                        android:src="@drawable/ic_close"
                         android:visibility="gone"
-                        app:srcCompat="@drawable/ic_close"
                         app:tint="@color/white"
                         tools:ignore="ContentDescription,RtlHardcoded" />
 
@@ -198,8 +198,8 @@
                         android:paddingEnd="3dp"
                         android:paddingBottom="3dp"
                         android:scaleType="fitCenter"
+                        android:src="@drawable/ic_list"
                         android:visibility="gone"
-                        app:srcCompat="@drawable/ic_list"
                         app:tint="@color/white"
                         tools:ignore="ContentDescription,RtlHardcoded" />
 
@@ -216,8 +216,8 @@
                         android:paddingEnd="6dp"
                         android:paddingBottom="3dp"
                         android:scaleType="fitCenter"
+                        android:src="@drawable/ic_format_list_numbered"
                         android:visibility="gone"
-                        app:srcCompat="@drawable/ic_format_list_numbered"
                         app:tint="@color/white"
                         tools:ignore="ContentDescription,RtlHardcoded" />
 
@@ -230,7 +230,7 @@
                         android:focusable="true"
                         android:padding="@dimen/player_main_buttons_padding"
                         android:scaleType="fitXY"
-                        app:srcCompat="@drawable/ic_expand_more"
+                        android:src="@drawable/ic_expand_more"
                         app:tint="@color/white"
                         tools:ignore="ContentDescription,RtlHardcoded" />
 
@@ -294,7 +294,7 @@
                         android:focusable="true"
                         android:padding="@dimen/player_main_buttons_padding"
                         android:scaleType="fitXY"
-                        app:srcCompat="@drawable/ic_cast"
+                        android:src="@drawable/ic_cast"
                         app:tint="@color/white"
                         tools:ignore="RtlHardcoded" />
 
@@ -309,7 +309,7 @@
                         android:focusable="true"
                         android:padding="@dimen/player_main_buttons_padding"
                         android:scaleType="fitXY"
-                        app:srcCompat="@drawable/ic_language"
+                        android:src="@drawable/ic_language"
                         app:tint="@color/white"
                         tools:ignore="RtlHardcoded" />
 
@@ -324,7 +324,7 @@
                         android:focusable="true"
                         android:padding="@dimen/player_main_buttons_padding"
                         android:scaleType="fitXY"
-                        app:srcCompat="@drawable/ic_share"
+                        android:src="@drawable/ic_share"
                         app:tint="@color/white"
                         tools:ignore="RtlHardcoded" />
 
@@ -338,7 +338,7 @@
                         android:focusable="true"
                         android:padding="@dimen/player_main_buttons_padding"
                         android:scaleType="fitXY"
-                        app:srcCompat="@drawable/ic_volume_off"
+                        android:src="@drawable/ic_volume_off"
                         app:tint="@color/white"
                         tools:ignore="RtlHardcoded" />
 
@@ -351,8 +351,8 @@
                         android:focusable="true"
                         android:padding="@dimen/player_main_buttons_padding"
                         android:scaleType="fitCenter"
+                        android:src="@drawable/ic_fullscreen"
                         android:visibility="gone"
-                        app:srcCompat="@drawable/ic_fullscreen"
                         app:tint="@color/white"
                         tools:ignore="ContentDescription,RtlHardcoded"
                         tools:visibility="visible" />
@@ -397,8 +397,8 @@
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:paddingTop="2dp"
+                        android:src="@drawable/dummy_thumbnail"
                         android:visibility="gone"
-                        app:srcCompat="@drawable/dummy_thumbnail"
                         tools:visibility="visible" />
 
                 </LinearLayout>
@@ -475,8 +475,8 @@
                     android:nextFocusUp="@id/playbackSeekBar"
                     android:padding="@dimen/player_main_buttons_padding"
                     android:scaleType="fitCenter"
+                    android:src="@drawable/ic_fullscreen"
                     android:visibility="gone"
-                    app:srcCompat="@drawable/ic_fullscreen"
                     app:tint="@color/white"
                     tools:ignore="ContentDescription,RtlHardcoded"
                     tools:visibility="visible" />
@@ -500,7 +500,7 @@
                 android:clickable="true"
                 android:focusable="true"
                 android:scaleType="fitCenter"
-                app:srcCompat="@drawable/ic_previous"
+                android:src="@drawable/ic_previous"
                 app:tint="@color/white"
                 tools:ignore="ContentDescription" />
 
@@ -512,7 +512,7 @@
                 android:layout_weight="1"
                 android:background="?attr/selectableItemBackgroundBorderless"
                 android:scaleType="fitCenter"
-                app:srcCompat="@drawable/ic_pause"
+                android:src="@drawable/ic_pause"
                 app:tint="@color/white"
                 tools:ignore="ContentDescription" />
 
@@ -526,7 +526,7 @@
                 android:clickable="true"
                 android:focusable="true"
                 android:scaleType="fitCenter"
-                app:srcCompat="@drawable/ic_next"
+                android:src="@drawable/ic_next"
                 app:tint="@color/white"
                 tools:ignore="ContentDescription" />
 
@@ -577,8 +577,8 @@
                 android:focusable="true"
                 android:padding="10dp"
                 android:scaleType="fitXY"
+                android:src="@drawable/exo_controls_repeat_off"
                 android:tint="?attr/colorAccent"
-                app:srcCompat="@drawable/exo_controls_repeat_off"
                 tools:ignore="ContentDescription,RtlHardcoded" />
 
             <androidx.appcompat.widget.AppCompatImageButton
@@ -592,8 +592,8 @@
                 android:focusable="true"
                 android:padding="10dp"
                 android:scaleType="fitXY"
+                android:src="@drawable/ic_shuffle"
                 android:tint="?attr/colorAccent"
-                app:srcCompat="@drawable/ic_shuffle"
                 tools:ignore="ContentDescription,RtlHardcoded" />
 
             <androidx.appcompat.widget.AppCompatTextView
@@ -618,8 +618,8 @@
                 android:focusable="true"
                 android:padding="10dp"
                 android:scaleType="fitXY"
+                android:src="@drawable/ic_playlist_add"
                 android:tint="?attr/colorAccent"
-                app:srcCompat="@drawable/ic_playlist_add"
                 tools:ignore="ContentDescription,RtlHardcoded" />
 
             <androidx.appcompat.widget.AppCompatImageButton
@@ -635,7 +635,7 @@
                 android:focusable="true"
                 android:padding="10dp"
                 android:scaleType="fitXY"
-                app:srcCompat="@drawable/ic_close"
+                android:src="@drawable/ic_close"
                 app:tint="@color/white" />
 
         </RelativeLayout>
diff --git a/app/src/main/res/layout/player_fast_seek_seconds_view.xml b/app/src/main/res/layout/player_fast_seek_seconds_view.xml
index 57f5aa787..2946f8449 100644
--- a/app/src/main/res/layout/player_fast_seek_seconds_view.xml
+++ b/app/src/main/res/layout/player_fast_seek_seconds_view.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <merge xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     tools:ignore="ContentDescription"
     tools:layout_height="wrap_content"
@@ -19,21 +18,21 @@
             android:id="@+id/icon_1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            app:srcCompat="@drawable/ic_play_seek_triangle"
+            android:src="@drawable/ic_play_seek_triangle"
             tools:alpha="0.18" />
 
         <androidx.appcompat.widget.AppCompatImageView
             android:id="@+id/icon_2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            app:srcCompat="@drawable/ic_play_seek_triangle"
+            android:src="@drawable/ic_play_seek_triangle"
             tools:alpha="0.5" />
 
         <androidx.appcompat.widget.AppCompatImageView
             android:id="@+id/icon_3"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            app:srcCompat="@drawable/ic_play_seek_triangle"
+            android:src="@drawable/ic_play_seek_triangle"
             tools:alpha="1" />
 
     </LinearLayout>
diff --git a/app/src/main/res/layout/player_popup_close_overlay.xml b/app/src/main/res/layout/player_popup_close_overlay.xml
index b2403583d..10d81d77e 100644
--- a/app/src/main/res/layout/player_popup_close_overlay.xml
+++ b/app/src/main/res/layout/player_popup_close_overlay.xml
@@ -10,8 +10,8 @@
         android:layout_height="wrap_content"
         android:layout_gravity="bottom|center_horizontal"
         android:layout_marginBottom="24dp"
+        android:src="@drawable/ic_close"
         app:backgroundTint="@color/light_youtube_primary_color"
         app:borderWidth="0dp"
-        app:fabSize="normal"
-        app:srcCompat="@drawable/ic_close" />
+        app:fabSize="normal" />
 </FrameLayout>
diff --git a/app/src/main/res/layout/playlist_control.xml b/app/src/main/res/layout/playlist_control.xml
index a5f258f50..5a8856128 100644
--- a/app/src/main/res/layout/playlist_control.xml
+++ b/app/src/main/res/layout/playlist_control.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
@@ -20,13 +19,12 @@
         <org.schabi.newpipe.views.NewPipeTextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:drawableStart="@drawable/ic_headset"
             android:drawablePadding="4dp"
             android:gravity="center_vertical"
             android:text="@string/controls_background_title"
             android:textColor="?attr/colorAccent"
-            android:textSize="@dimen/channel_rss_title_size"
-            app:drawableLeftCompat="@drawable/ic_headset"
-            app:drawableStartCompat="@drawable/ic_headset" />
+            android:textSize="@dimen/channel_rss_title_size" />
     </LinearLayout>
 
     <View
@@ -77,12 +75,11 @@
         <org.schabi.newpipe.views.NewPipeTextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:drawableStart="@drawable/ic_picture_in_picture"
             android:drawablePadding="4dp"
             android:gravity="center_vertical"
             android:text="@string/controls_popup_title"
             android:textColor="?attr/colorAccent"
-            android:textSize="@dimen/channel_rss_title_size"
-            app:drawableLeftCompat="@drawable/ic_picture_in_picture"
-            app:drawableStartCompat="@drawable/ic_picture_in_picture" />
+            android:textSize="@dimen/channel_rss_title_size" />
     </LinearLayout>
 </LinearLayout>
diff --git a/app/src/main/res/layout/statistic_playlist_control.xml b/app/src/main/res/layout/statistic_playlist_control.xml
index 577e94e4b..36540d32e 100644
--- a/app/src/main/res/layout/statistic_playlist_control.xml
+++ b/app/src/main/res/layout/statistic_playlist_control.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
@@ -22,7 +21,7 @@
             android:layout_centerVertical="true"
             android:layout_marginLeft="12dp"
             android:layout_marginRight="12dp"
-            app:srcCompat="@drawable/ic_filter_list"
+            android:src="@drawable/ic_filter_list"
             tools:ignore="ContentDescription,RtlHardcoded" />
 
         <org.schabi.newpipe.views.NewPipeTextView
diff --git a/app/src/main/res/layout/stream_quality_item.xml b/app/src/main/res/layout/stream_quality_item.xml
index 073b0b221..0230b7fa8 100644
--- a/app/src/main/res/layout/stream_quality_item.xml
+++ b/app/src/main/res/layout/stream_quality_item.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="48dp">
@@ -13,7 +12,7 @@
         android:layout_centerVertical="true"
         android:layout_marginLeft="6dp"
         android:scaleType="fitCenter"
-        app:srcCompat="@drawable/ic_volume_off"
+        android:src="@drawable/ic_volume_off"
         tools:ignore="ContentDescription,RtlHardcoded" />
 
     <org.schabi.newpipe.views.NewPipeTextView
diff --git a/app/src/main/res/layout/toolbar_search_layout.xml b/app/src/main/res/layout/toolbar_search_layout.xml
index 4fa40f313..a07ec96a3 100644
--- a/app/src/main/res/layout/toolbar_search_layout.xml
+++ b/app/src/main/res/layout/toolbar_search_layout.xml
@@ -48,8 +48,8 @@
             android:layout_gravity="center"
             android:contentDescription="@string/search"
             android:scaleType="fitCenter"
+            android:src="@drawable/ic_close"
             app:tint="?attr/toolbarSearchColor"
-            app:srcCompat="@drawable/ic_close"
             tools:ignore="RtlHardcoded" />
     </FrameLayout>
 
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 4e9606f48..71d849a2f 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -673,7 +673,6 @@
     <string name="feed_load_error_account_info">تعذر تحميل تغذية لـ\'%s\'.</string>
     <string name="feed_load_error">خطأ في تحميل الخلاصة</string>
     <string name="downloads_storage_use_saf_summary_api_29">بدءًا من Android 10، يتم دعم \"Storage Access Framework\" فقط</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\"Storage Access Framework\" غير مدعوم على Android KitKat والإصدارات الأقدم</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">سيتم سؤالك عن مكان حفظ كل تنزيل</string>
     <string name="no_dir_yet">لم يتم تعيين مجلد التحميل، الرجاء اختيار مجلد التحميل الافتراضي الآن</string>
     <string name="off">إيقاف</string>
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index 95b7b76f4..2d9257e3c 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -463,7 +463,6 @@
     <string name="error_http_no_content">Server məlumat göndərmir</string>
     <string name="error_download_resource_gone">Bu endirməni bərpa etmək mümkün deyil</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Sizdən hər endirmənin harada saxlanacağı soruşulacaq</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Yaddaş Giriş Çərçivəsi\' Android KitKat və ondan aşağı versiyalarda dəstəklənmir</string>
     <string name="downloads_storage_use_saf_summary_api_29">\"Yaddaş Giriş Çərçivəsi\"yalnız Android 10\'dan başlayaraq dəstəklənir</string>
     <string name="detail_sub_channel_thumbnail_view_description">Kanalın avatar miniatürü</string>
     <string name="select_night_theme_toast">Sevdiyiniz gecə mövzusunu aşağıda seçə bilərsiniz</string>
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index a42e68940..099203790 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -675,7 +675,6 @@
         <item quantity="one">S\'ha suprimit %1$s baixada</item>
         <item quantity="other">S\'han suprimit %1$s baixades</item>
     </plurals>
-    <string name="downloads_storage_use_saf_summary_api_19">El \"Sistema d\'Accés a l\'Emmagatzematge\" no està implementat a Android KitKat i a versions anteriors</string>
     <string name="downloads_storage_use_saf_summary_api_29">A partir de l\'Android 10 només s\'admet el \"Sistema d\'Accés a l\'Emmagatzematge\"</string>
     <string name="feed_new_items">Elements de feed nous</string>
     <string name="feed_load_error_fast_unknown">El mode d\'alimentació ràpida no proporciona més informació sobre això.</string>
diff --git a/app/src/main/res/values-ckb/strings.xml b/app/src/main/res/values-ckb/strings.xml
index 9796404b4..8b6c08434 100644
--- a/app/src/main/res/values-ckb/strings.xml
+++ b/app/src/main/res/values-ckb/strings.xml
@@ -625,7 +625,6 @@
     <string name="downloads_storage_ask_summary_no_saf_notice">بۆ دابه‌زاندنی هه‌ر بابه‌تێك پرست پێ ده‌كرێت له‌باره‌ی شوێنی دابه‌زاندنیان</string>
     <string name="disable_media_tunneling_title">ناكاراكردنی تونێلكردنی میدیا</string>
     <string name="show_age_restricted_content_summary">ئه‌و بابه‌تانه‌ی نه‌گونجاون بۆ منداڵان پیشان بدرێن كه‌ سنووری ته‌مه‌ن ده‌یانگرێته‌وه‌ (وه‌ك +18)</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Storage Access Framework\' پشتگیری نه‌كراوه‌ له‌سه‌ر وه‌شانه‌كانی ئه‌ندرۆید كیتكات و نزمتر</string>
     <string name="crash_the_app">كڕاشی به‌رنامه‌كه‌</string>
     <string name="show_memory_leaks">پیشاندانی دزه‌كردنی بیرگه‌</string>
     <string name="enqueued">له‌نۆبه‌ت دانرا</string>
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index ea6d292d8..2e840629d 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -643,7 +643,6 @@
     <string name="feed_load_error_account_info">Feed pro \'%s\' nemohl být načten.</string>
     <string name="feed_load_error">Chyba při načítání feedu</string>
     <string name="downloads_storage_use_saf_summary_api_29">Počínaje Android 10 je podporován pouze \"Storage Access Framework\"</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\"Storage Access Framework\" není podporován na KitKat a níže</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Budete dotázáni, kde uložit každý stažený soubor</string>
     <string name="no_dir_yet">Adresář pro stažené soubory dosud nenastaven, zvolte, prosím, výchozí adresář nyní</string>
     <string name="off">Vypnuto</string>
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index b91fec84a..4c8e9cfe1 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -638,7 +638,6 @@
     <string name="no_dir_yet">Noch kein Downloadordner festgelegt, wähle jetzt den Standard-Downloadordner</string>
     <string name="open_website_license">Webseite öffnen</string>
     <string name="downloads_storage_use_saf_summary_api_29">Ab Android 10 wird nur noch „Storage Access Framework“ unterstützt</string>
-    <string name="downloads_storage_use_saf_summary_api_19">Das „Storage Access Framework“ wird auf Android KitKat und niedriger nicht unterstützt</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Du wirst jedes Mal gefragt werden, wohin der Download gespeichert werden soll</string>
     <string name="feed_load_error">Fehler beim Laden des Feeds</string>
     <string name="feed_load_error_account_info">Konnte Feed für \'%s\' nicht laden.</string>
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 401b2b06b..d9239547b 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -632,7 +632,6 @@
     <string name="feed_load_error_account_info">Αδυναμία φόρτωσης τροφοδοσίας για \'%s\'.</string>
     <string name="feed_load_error">Σφάλμα φόρτωσης τροφοδοσίας</string>
     <string name="downloads_storage_use_saf_summary_api_29">Από το Android 10 και μετά, μόνο το SAF υποστηρίζεται</string>
-    <string name="downloads_storage_use_saf_summary_api_19">Το «Πλαίσιο Πρόσβασης Αποθήκευσης» δεν υποστηρίζεται σε Android KitKat και παλαιότερο</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Θα ερωτηθείτε πού να αποθηκεύσετε κάθε λήψη</string>
     <string name="no_dir_yet">Δεν έχει ορισθεί φάκελος λήψεων ακόμα, eπιλέξτε τον προεπιλεγμένο φάκελο τώρα</string>
     <string name="metadata_host">Host</string>
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 51d61c92d..56d529b04 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -633,7 +633,6 @@
 \n¿Desea desuscribirse de este canal\?</string>
     <string name="feed_load_error">Error al cargar el muro</string>
     <string name="downloads_storage_use_saf_summary_api_29">Desde Android 10 solo el \'Sistema de Acceso al Almacenamiento\' es soportado</string>
-    <string name="downloads_storage_use_saf_summary_api_19">El \'Sistema de Acceso al Almacenamiento\' no es sorportado en Android KitKat o versiones anteriores</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Se le preguntará dónde guardar cada descarga</string>
     <string name="disable_media_tunneling_summary">Deshabilitar el túnel de medios si experimenta una pantalla negra o interrupciones en la reproduccción de videos</string>
     <string name="disable_media_tunneling_title">Deshabilitar el túnel de medios</string>
diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml
index 7cb96405a..11b5266b0 100644
--- a/app/src/main/res/values-et/strings.xml
+++ b/app/src/main/res/values-et/strings.xml
@@ -632,7 +632,6 @@
     <string name="settings_category_feed_title">Voog</string>
     <string name="choose_instance_prompt">Vali eksemplar</string>
     <string name="downloads_storage_use_saf_summary_api_29">Android 10st alates on toetatud ainult salvestusjuurdepääsu raamistik \'Storage Access Framework\'</string>
-    <string name="downloads_storage_use_saf_summary_api_19">Android KitKat ja vanemad versioonid ei toeta salvestusjuurdepääsu raamistikku \'Storage Access Framework\'</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Sinult küsitakse iga kord, kuhu alla laadimine salvestada</string>
     <string name="detail_heart_img_view_description">Südamlik autor</string>
     <string name="feed_use_dedicated_fetch_method_help_text">Kas sinu meelest on voo laadimine aeglane\? Sel juhul proovi lubada kiire laadimine (seda saad muuta seadetes või vajutades allolevat nuppu).
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index 80e2d5a04..8098db146 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -626,7 +626,6 @@
     <string name="feed_load_error_account_info">Ezin izan da \'%s\' jarioa kargatu.</string>
     <string name="feed_load_error">Errorea jarioa kargatzean</string>
     <string name="downloads_storage_use_saf_summary_api_29">Android 10etik aurrera \'Biltegiaren Sarrera Framework\'a soilik onartzen da</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Biltegiaren Sarrera Framework\'a ez da Android KitKat eta aurreko bertsioetan onartzen</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Non gorde galdetuko zaizu deskarga bakoitzean</string>
     <string name="no_dir_yet">Ez da deskargatzeko karpetarik ezarri oraindik, aukeratu lehenetsitako deskargatzeko karpeta orain</string>
     <string name="metadata_privacy">Pribatutasuna</string>
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index a00c64ad0..97fd534f1 100644
--- a/app/src/main/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
@@ -636,7 +636,6 @@
     <string name="description_select_note">اکنون می‌توانید متن درون شرخ را برگزینید. به یاد داشته باشید که در حالت گزینش، ممکن است صفحه چشمک زده و پیوندها قابل کلیک نباشند.</string>
     <string name="no_dir_yet">هنوز شاخهٔ بارگیری‌ای تنظیم نشده. اکنون شاخهٔ بارگیری پیش‌گزیده را برگزینید</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">برای ذخیرهٔ هر بارگیری از شما پرسیده خواهد شد</string>
-    <string name="downloads_storage_use_saf_summary_api_19">«چارچوب دسترسی ذخیره» روی اندروید کیت‌کت و پایین‌تر پشتیبانی نمی‌شود</string>
     <string name="downloads_storage_use_saf_summary_api_29">از اندروید ۱۰، تنها «چارچوب دسترسی ذخیره» پشتیبانی می‌شود</string>
     <string name="feed_load_error_account_info">نتوانست خوراک را برای «%s» بار کند.</string>
     <string name="feed_load_error_terminated">حساب این نگارنده نابود شده است.
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 8eef663b0..af19e4f12 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -638,7 +638,6 @@
 \nHaluatko poistaa kanavan tilauksesta\?</string>
     <string name="feed_load_error_account_info">Ei voitu ladata syötettä hakusanalle \'%s\'.</string>
     <string name="feed_load_error">Virhe syötteen lataamisessa</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Storage Access Framework\' ei ole tuettu Android KitKatissa tai vanhemmissa versioissa</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Sinulta kysytään joka kerta, minne tiedosto ladataan</string>
     <string name="dont_show">Älä näytä</string>
     <string name="low_quality_smaller">Matala laatu (pienempi)</string>
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 327877651..e09f292b0 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -640,7 +640,6 @@
 \nNewPipe ne sera plus en mesure de charger ce flux à l’avenir.
 \nSouhaitez-vous vous désabonner de cette chaîne \?</string>
     <string name="downloads_storage_use_saf_summary_api_29">À partir d’Android 10, seule « l’Infrastructure d’accès au stockage  » est prise en charge</string>
-    <string name="downloads_storage_use_saf_summary_api_19">L’« Infrastructure d’accès au stockage » n’est pas prise en charge par Android KitKat et les versions antérieures</string>
     <string name="feed_load_error_fast_unknown">Le mode flux rapide ne fournit pas plus d’info à ce sujet.</string>
     <string name="comments_are_disabled">Les commentaires sont désactivés</string>
     <string name="dont_show">Ne pas afficher</string>
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 06b35acd3..5cf8abcf0 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -678,7 +678,6 @@
     <string name="processing_may_take_a_moment">Procesando... Pode devagar un momento</string>
     <string name="create_error_notification">Crear unha notificación de erro</string>
     <string name="show_image_indicators_summary">Amosar fitas coloridas de Picasso na cima das imaxes que indican a súa fonte: vermello para a rede, azul para o disco e verde para a memoria</string>
-    <string name="downloads_storage_use_saf_summary_api_19">O \'Sistema de Acceso ao almacenamento\' non está soportado en Android KitKat e anteriores</string>
     <string name="feed_new_items">Novos elementos</string>
     <string name="progressive_load_interval_exoplayer_default">Predefinido do ExoPlayer</string>
     <string name="show_crash_the_player_title">Amosar \"Travar o reprodutor\"</string>
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index b0ece06f1..de5128493 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -653,7 +653,6 @@
     <string name="feed_load_error_account_info">לא ניתן לטעון את ההזנה עבור ‚%s’.</string>
     <string name="feed_load_error">שגיאה בהורדת ההזנה</string>
     <string name="downloads_storage_use_saf_summary_api_29">התמיכה ב‚תשתית גישה לאחסון’ נתמכת מ־Android 10 בלבד</string>
-    <string name="downloads_storage_use_saf_summary_api_19">‚תשתית הגישה לאחסון’ אינה נתמכת על ידי Android KitKat ומטה</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">תופיע שאלה לאן לשמור כל הורדה</string>
     <string name="no_dir_yet">טרם הוגדרה תיקיית הורדה, נא לבחור את תיקיית ההורדה כעת</string>
     <string name="off">כבוי</string>
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 0ca0c75dc..cb7db9f44 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -643,7 +643,6 @@
     <string name="feed_load_error_account_info">Nije moguće učitati feed za \'%s\'.</string>
     <string name="feed_load_error">Pogreška pri učitavanju feeda</string>
     <string name="downloads_storage_use_saf_summary_api_29">Počevši od Androida 10, podržan je samo \'Storage Access Framework\'</string>
-    <string name="downloads_storage_use_saf_summary_api_19">„Storage Access Framework“ nije podržan na Androidu KitKat i starijim</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Od vas će se tražiti gdje spremiti svako preuzimanje</string>
     <string name="dont_show">Ne prikazuj</string>
     <string name="low_quality_smaller">Niska kvaliteta (manji)</string>
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index e5457d3e1..e25183985 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -582,7 +582,6 @@
     <string name="disable_media_tunneling_summary">Tiltsa le a médiacsatornázást, ha fekete képernyőt vagy akadozást tapasztal videólejátszáskor</string>
     <string name="show_image_indicators_summary">Picasso színes szalagok megjelenítése a képek fölött, megjelölve a forrásukat: piros a hálózathoz, kék a lemezhez, zöld a memóriához</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Minden letöltésnél meg fogja kérdezni, hogy hova mentse el</string>
-    <string name="downloads_storage_use_saf_summary_api_19">A „Storage Access Framework” nem támogatott Android KitKaten vagy régebbin</string>
     <string name="choose_instance_prompt">Válasszon egy példányt</string>
     <string name="feed_oldest_subscription_update">Lista legutóbbi frissítése: %s</string>
     <string name="feed_notification_loading">Lista betöltése…</string>
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index c1f296849..e84fb393a 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -623,7 +623,6 @@
     <string name="feed_load_error_account_info">Tidak bisa memuat langganan untuk \'%s\'.</string>
     <string name="feed_load_error">Galat memuat langganan</string>
     <string name="downloads_storage_use_saf_summary_api_29">Mulai Android 10, hanya \'Storage Access Framework\' yang didukung</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Storage Access Framework\' tidak didukung pada Android KitKat dan yang lebih rendah</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Anda akan ditanya lokasi penyimpanan berkas unduhan</string>
     <string name="no_dir_yet">Belum ada folder unduhan, pilih folder unduhan sekarang</string>
     <string name="off">Nonaktif</string>
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index f347eba67..96d541d80 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -633,7 +633,6 @@
     <string name="feed_load_error_account_info">Impossibile caricare feed per \"%s\".</string>
     <string name="feed_load_error">Errore caricamento feed</string>
     <string name="downloads_storage_use_saf_summary_api_29">A partire da Android 10 è supportato solo il Framework di accesso all\'archiviazione</string>
-    <string name="downloads_storage_use_saf_summary_api_19">Il Framework di accesso all\'archiviazione non è supportato su Android KitKat e versioni precedenti</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">È necessario specificare la destinazione di ogni dowload</string>
     <string name="no_dir_yet">Non è impostata alcuna cartella per i file scaricati, scegliere quella predefinita</string>
     <string name="off">Disattivata</string>
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 955912126..e65897de3 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -614,7 +614,6 @@
     <string name="downloads_storage_ask_summary_no_saf_notice">ダウンロードのたびに保存する場所を尋ねます</string>
     <string name="no_dir_yet">ダウンロードフォルダがまだ設定されていません。今すぐデフォルトのフォルダを選択してください</string>
     <string name="downloads_storage_use_saf_summary_api_29">Android 10 以降は \'Storage Access Framework\' のみがサポートされます</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Storage Access Framework\' は Android KitKat 以下ではサポートされていません</string>
     <string name="feed_load_error_fast_unknown">高速モードでこの情報の詳細は提供されません。</string>
     <string name="feed_load_error_account_info">\'%s\' のフィードを読み込めませんでした。</string>
     <string name="feed_load_error">フィードの読み込みエラー</string>
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index e3ffbb03a..01b2e114b 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -647,7 +647,6 @@
 \nAr norite atsisakyti šio kanalo prenumeratos\?</string>
     <string name="feed_load_error">Klaida įkeliant srautą</string>
     <string name="downloads_storage_use_saf_summary_api_29">Pradedant Android 10 palaikoma tik \'Storage Access Framework\'</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Storage Access Framework\' nėra palaikomas Android KitKat ir žemesnėse versijose</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Jūsų bus paklausta, kur išsaugoti kiekvieną atsiuntimą</string>
     <string name="no_dir_yet">Atsiuntimo aplankas dar nenustatytas, pasirinkite numatytąjį atsiuntimų aplanką dabar</string>
     <string name="comments_are_disabled">Komentarai yra išjungti</string>
diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml
index 4db63cf13..ba8d49e57 100644
--- a/app/src/main/res/values-lv/strings.xml
+++ b/app/src/main/res/values-lv/strings.xml
@@ -636,7 +636,6 @@
     <string name="disable_media_tunneling_title">Izslēgt multivides tuneļošanu</string>
     <string name="disable_media_tunneling_summary">Izslēdziet multivides tuneļošanu, ja jums video atskaņošanas laikā parādās melns ekrāns vai aizķeršanās</string>
     <string name="show_image_indicators_summary">Rādīt krāsainas lentes virs attēliem, norādot to avotu: sarkana - tīkls, zila - disks, zaļa - atmiņa</string>
-    <string name="downloads_storage_use_saf_summary_api_19">“Krātuves Piekļuves Sistēma” ir neatbalstīta uz Android KitKat un zemākām versijām</string>
     <string name="description_select_enable">Ieslēgt teksta atlasīšanu video aprakstā</string>
     <string name="no_dir_yet">Lejupielādes mape vēl nav iestatīta, izvēlieties noklusējuma lejupielādes mapi</string>
     <string name="main_page_content_swipe_remove">Pārvelciet objektus, lai tos noņemtu</string>
diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml
index edbc7785e..0e2cf6962 100644
--- a/app/src/main/res/values-ml/strings.xml
+++ b/app/src/main/res/values-ml/strings.xml
@@ -639,7 +639,6 @@
     <string name="feed_load_error">ഫീഡ് ലോഡ് ചെയ്യുന്നതിൽ പിശക് സംഭവിച്ചിരിക്കുന്നു</string>
     <string name="downloads_storage_use_saf_summary_api_29">ആൻഡ്രോയ്ഡ് 10 മുതൽ മാത്രമേ \"സ്റ്റോറേജ് അക്സസ് ഫ്രെയിംവർക്ക്\" പിന്തുണക്കു</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">എവിടെ ആണ് ഡൌൺലോഡ് ചെയ്യ്യപെടുന്ന ഓരോ ഫയൽലും സംരക്ഷിക്കപ്പെടേണ്ടത് എന്ന് തങ്കളോട് ചോദിക്കും</string>
-    <string name="downloads_storage_use_saf_summary_api_19">ആൻഡ്രോയ്ഡ് കിറ്റ് ക്യാറ്റോ അതിനു താഴെക്കോ ഉള്ളതിൽ \"സ്റ്റോറേജ് ആസസ്സ് ഫ്രെയിംവർക്ക് പിന്തുണക്കുന്നില്ല</string>
     <string name="dont_show">കാണിക്കരുത്</string>
     <string name="low_quality_smaller">കുറഞ്ഞ നിലവാരം (ചെറുത് )</string>
     <string name="high_quality_larger">ഉയർന്ന നിലവാരം (വലിയത് )</string>
diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml
index 58b4cb08c..4bd996ede 100644
--- a/app/src/main/res/values-nb-rNO/strings.xml
+++ b/app/src/main/res/values-nb-rNO/strings.xml
@@ -618,7 +618,6 @@
     <string name="feed_load_error_account_info">Kunne ikke laste inn informasjonskanal for «%s».</string>
     <string name="feed_load_error">Kunne ikke laste inn informasjonskanal</string>
     <string name="downloads_storage_use_saf_summary_api_29">Fra Android 10 er kun «lagringstilgangsrammeverk» støttet</string>
-    <string name="downloads_storage_use_saf_summary_api_19">«Lagringstilgangsrammeverket» støttes ikke på Android KitKat og tidligere.</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Du vil bli spurt om hvor du vil lagre hver nedlastning</string>
     <string name="seekbar_preview_thumbnail_title">Miniatyrbildeforhåndsvisning</string>
     <string name="no_dir_yet">Ingen nedlastingsmappe valgt. Velg forvalgt nedlastingsmappe nå.</string>
diff --git a/app/src/main/res/values-night-v21/styles.xml b/app/src/main/res/values-night/styles.xml
similarity index 73%
rename from app/src/main/res/values-night-v21/styles.xml
rename to app/src/main/res/values-night/styles.xml
index eb39dee38..7327ac145 100644
--- a/app/src/main/res/values-night-v21/styles.xml
+++ b/app/src/main/res/values-night/styles.xml
@@ -2,7 +2,7 @@
 <resources>
 
     <!-- Opening Theme -->
-    <style name="Base.V21.OpeningTheme" parent="Base.V19.OpeningTheme">
+    <style name="Base.OpeningTheme" parent="Base.V21.OpeningTheme">
         <item name="android:navigationBarColor">@color/dark_youtube_primary_color</item>
     </style>
 
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 7bdc902a5..fd80a7d54 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -637,7 +637,6 @@
     <string name="feed_load_error_account_info">Kan geen feed laden voor \'%s\'.</string>
     <string name="feed_load_error">Error bij het inladen van de feed</string>
     <string name="downloads_storage_use_saf_summary_api_29">Vanaf Android 10 is enkel \'Storage Access Framework\' ondersteund</string>
-    <string name="downloads_storage_use_saf_summary_api_19">Het \'Storage Access Framework\' is niet ondersteund op Android KitKat en lager</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">U wordt gevraagd waar elk bestand wordt opgeslagen</string>
     <string name="no_dir_yet">Nog geen downloadfolder gekozen, kies de standaard downloadfolder</string>
     <string name="detail_heart_img_view_description">Geliefd door de maker</string>
diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml
index 2b08ebb32..46b33206f 100644
--- a/app/src/main/res/values-pa/strings.xml
+++ b/app/src/main/res/values-pa/strings.xml
@@ -529,7 +529,6 @@
     <string name="app_language_title">ਐਪ ਭਾਸ਼ਾ</string>
     <string name="choose_instance_prompt">ਕੋਈ ਸਥਿਤੀ ਚੁਣੋ</string>
     <string name="downloads_storage_use_saf_summary_api_29">\'ਸਟੋਰੇਜ ਐਕਸੈੱਸ ਫ਼ਰੇਮਵਰਕ\' ਐਂਡਰਾਇਡ 10 ਤੋਂ ਕੰਮ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'ਸਟੋਰੇਜ ਐਕਸੈੱਸ ਫ਼ਰੇਮਵਰਕ\' ਐਂਡਰਾਇਡ ਕਿਟਕੈਟ ਅਤੇ ਇਸਤੋਂ ਹੇਠਾਂ ਦੇ ਵਰਜਨਾਂ \'ਤੇ ਕੰਮ ਨਹੀਂ ਕਰਦਾ</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">ਤੁਹਾਨੂੰ ਹਰ ਵਾਰ ਪੁੱਛਿਆ ਜਾਵੇਗਾ ਕਿ ਡਾਊਨਲੋਡ ਨੂੰ ਕਿੱਥੇ ਸਾਂਭਣਾ ਹੈ</string>
     <string name="delete_downloaded_files">ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਫ਼ਾਈਲਾਂ ਮਿਟਾਓ</string>
     <string name="clear_download_history">ਡਾਊਨਲੋਡ ਇਤਿਹਾਸ ਸਾਫ਼ ਕਰੋ</string>
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index a09549fcf..283c1f223 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -646,7 +646,6 @@
 \nCzy chcesz anulować subskrypcję tego kanału\?</string>
     <string name="feed_load_error_account_info">Nie udało się załadować kanału dla „%s”.</string>
     <string name="downloads_storage_use_saf_summary_api_29">Począwszy od Androida 10 obsługiwany jest tylko systemowy selektor folderów (SAF)</string>
-    <string name="downloads_storage_use_saf_summary_api_19">Systemowy selektor folderów (SAF) nie jest obsługiwany przez system Android KitKat i niższy</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Zostaniesz zapytany(-na), gdzie zapisać każdy pobierany plik</string>
     <string name="no_dir_yet">Nie ustawiono jeszcze folderu zapisywania, wybierz domyślny teraz</string>
     <string name="feed_load_error">Błąd podczas ładowania kanału</string>
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 4b0af0718..0a4b2c2ad 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -633,7 +633,6 @@
     <string name="feed_load_error_account_info">Não foi possível carregar o feed para \'%s\'.</string>
     <string name="feed_load_error">Erro ao carregar o feed</string>
     <string name="downloads_storage_use_saf_summary_api_29">O \'Storage Access Framework\' é compatível apenas com versões a partir do Android 10</string>
-    <string name="downloads_storage_use_saf_summary_api_19">O \'Storage Access Framework\' não é compatível com Android KitKat e versões anteriores</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Você será questionado onde salvar cada download</string>
     <string name="no_dir_yet">Nenhuma pasta de download definida ainda, escolha a pasta de download padrão agora</string>
     <string name="off">Desligado</string>
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index 9a9adad52..4f3559eeb 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -638,7 +638,6 @@
     <string name="feed_load_error_account_info">Não foi possível carregar o feed para \'%s\'.</string>
     <string name="feed_load_error">Erro ao carregar o feed</string>
     <string name="downloads_storage_use_saf_summary_api_29">A partir do Android 10, apenas o \'Storage Access Framework\' é compatível</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Storage Access Framework\' não é compatível com Android KitKat e versões anteriores</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Sempre que descarregar um ficheiro, terá que indicar o local para o guardar</string>
     <string name="dont_show">Não mostrar</string>
     <string name="low_quality_smaller">Baixa qualidade (menor)</string>
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 5453b1fa4..b1f579298 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -619,7 +619,6 @@
     <string name="feed_load_error_account_info">Não foi possível carregar o feed para \'%s\'.</string>
     <string name="feed_load_error">Erro ao carregar o feed</string>
     <string name="downloads_storage_use_saf_summary_api_29">A partir do Android 10, apenas o \'Storage Access Framework\' é compatível</string>
-    <string name="downloads_storage_use_saf_summary_api_19">A \'Framework de acesso ao armazenamento\' não está disponível no Android KitKat e anteriores</string>
     <string name="seekbar_preview_thumbnail_title">Pré-visualização da miniatura da barra de pesquisa</string>
     <string name="mark_as_watched">Marcar como visto</string>
     <string name="off">Desligado</string>
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index fe2292ef7..58a38ea6e 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -649,7 +649,6 @@
     <string name="feed_load_error_account_info">Nu s-a putut încărca fluxul pentru \"%s\".</string>
     <string name="feed_load_error">Eroare la încărcarea fluxului</string>
     <string name="downloads_storage_use_saf_summary_api_29">Începând cu Android 10, este acceptat doar \"Storage Access Framework\"</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\"Storage Access Framework\" nu este acceptat pe Android KitKat și versiunile ulterioare</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Veți fi întrebat unde să salvați fiecare descărcare</string>
     <plurals name="deleted_downloads_toast">
         <item quantity="one">S-a șters %1$s descărcare</item>
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 64351c7d3..c91368c2a 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -651,7 +651,6 @@
     <string name="service_provides_reason">%s указывает следующую причину:</string>
     <string name="account_terminated">Аккаунт отключён</string>
     <string name="downloads_storage_use_saf_summary_api_29">Начиная с Android 10 поддерживается только \"Storage Access Framework\"</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\"Storage Access Framework\" не поддерживается на Android KitKat и ниже</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Спрашивать, куда сохранять каждую загрузку</string>
     <string name="no_dir_yet">Папка для загрузки ещё не выбрана, укажите папку для загрузки сейчас</string>
     <string name="off">Отключить</string>
diff --git a/app/src/main/res/values-sc/strings.xml b/app/src/main/res/values-sc/strings.xml
index 2fc18cb6f..81a71402e 100644
--- a/app/src/main/res/values-sc/strings.xml
+++ b/app/src/main/res/values-sc/strings.xml
@@ -633,7 +633,6 @@
 \nCheres bogare s\'iscritzione a custu canale\?</string>
     <string name="feed_load_error_account_info">Carrigamentu de su flussu pro \'%s\' fallidu.</string>
     <string name="feed_load_error">Errore carrighende su flussu</string>
-    <string name="downloads_storage_use_saf_summary_api_19">Su \'Storage Access Framework\' no est suportadu in Android KitKat e versiones prus betzas</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">T\'at a bènnere pedidu in ue sarvare cada documentu</string>
     <string name="no_dir_yet">Non b\'at galu peruna cartella de iscarrigamentu impostada. Issèbera como sa cartella de iscarrigamentu predefinida</string>
     <string name="off">Istudadu</string>
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index bfba46a5c..4645fcfff 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -643,7 +643,6 @@
     <string name="feed_load_error_account_info">Nemožno načítať informačný kanál \'%s\'.</string>
     <string name="feed_load_error">Chyba pri načítaní kanála</string>
     <string name="downloads_storage_use_saf_summary_api_29">\'Storage Access Framework\' je podporovaný len od Androidu 10 a vyššie</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Storage Access Framework\' nie je podporovaný v systéme Android KitKat a ani v starších verziách</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Pri každom sťahovaní sa zobrazí výzva kam uložiť súbor</string>
     <string name="no_dir_yet">Nie je nastavený adresár na sťahovanie, nastavte ho teraz</string>
     <string name="mark_as_watched">Označiť ako videné</string>
diff --git a/app/src/main/res/values-so/strings.xml b/app/src/main/res/values-so/strings.xml
index f8be2c8a5..d12b1e4d4 100644
--- a/app/src/main/res/values-so/strings.xml
+++ b/app/src/main/res/values-so/strings.xml
@@ -633,7 +633,6 @@
     <string name="feed_load_error_account_info">Lama soo kicin karo bandhigga: \'%s\'.</string>
     <string name="feed_load_error">Khalad ayaa ka dhacay sookicintii</string>
     <string name="downloads_storage_use_saf_summary_api_29">Laga bilaabo Android 10 kaliya waxaa la isticmaali \'SAF\'</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'SAF\' kuma shaqeeyo Android KitKat iyo wixii ka hooseeya</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Dajin walba meeshii lagu kaydin lahaa ayaa lagu waydiin</string>
     <string name="disable_media_tunneling_summary">Iska xidh kala-leexinta muuqaalada/dhagaysiga hadaad lakulanto shaashad madow ama muuqaalka oo isistaaga</string>
     <string name="disable_media_tunneling_title">Xidh kala-leexinta</string>
diff --git a/app/src/main/res/values-sq/strings.xml b/app/src/main/res/values-sq/strings.xml
index c5b016dd4..74d89908b 100644
--- a/app/src/main/res/values-sq/strings.xml
+++ b/app/src/main/res/values-sq/strings.xml
@@ -626,7 +626,6 @@
     <string name="feed_load_error_account_info">Nuk u arrit të ngarkohej feed-i për \'%s\'.</string>
     <string name="feed_load_error">Gabim gjatë ngarkimit të feed-it</string>
     <string name="downloads_storage_use_saf_summary_api_29">Duke nisur nga Android 10 vetëm \'Storage Access Framework\' është i mbështetur</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Storage Access Framework\' nuk është e mbështetur në Android KitKat dhe më poshtë</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Ju do të pyeteni se ku doni të ruani çdo shkarkim</string>
     <string name="crash_the_app">Rrëzoje aplikacionin manualisht</string>
     <string name="disable_media_tunneling_summary">Ç\'aktivizo tunelin e medias nëse po hasni një ekran të zi apo ngecje gjatë luajtjes së një videoje</string>
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index 68981868c..26c3e896f 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -642,7 +642,6 @@
     <string name="feed_load_error_account_info">Не могу да учитам довод за „%s“.</string>
     <string name="feed_load_error">Грешка учитавања довода</string>
     <string name="downloads_storage_use_saf_summary_api_29">Од Андроида 10 само „Storage Access Framework“ је подржан</string>
-    <string name="downloads_storage_use_saf_summary_api_19">„Storage Access Framework“ није подржан на Андроиду 4.4 и старијим</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Питаће вас где да сачувате свако преузимање</string>
     <string name="no_dir_yet">Фасцикла за преузимање није одређена. Изаберите подразумевану фасциклу</string>
     <string name="off">искљ</string>
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 53cd6909b..edcc13b08 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -633,7 +633,6 @@
     <string name="feed_toggle_show_played_items">Visa sedda objekt</string>
     <string name="feed_load_error_fast_unknown">Det snabba flödesläget ger inte mer information om detta.</string>
     <string name="feed_load_error">Fel vid inläsning av flödet</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\"Storage Access Framework\" är inte tillgängligt på Android KitKat och tidigare versioner</string>
     <string name="mark_as_watched">Markera som sedd</string>
     <string name="metadata_privacy_unlisted">Ej listad</string>
     <string name="featured">Aktuellt</string>
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 512790f7c..0986fd74b 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -633,7 +633,6 @@
     <string name="feed_load_error_account_info">\'%s\' için besleme yüklenemedi.</string>
     <string name="feed_load_error">Besleme yüklenirken hata</string>
     <string name="downloads_storage_use_saf_summary_api_29">\'Depolama Erişimi Çerçevesi\' yalnızca Android 10\'dan başlayarak desteklenmektedir</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Depolama Erişimi Çerçevesi\' Android KitKat ve altında desteklenmez</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Her indirmede nereye kaydedileceği sorulacak</string>
     <string name="no_dir_yet">İndirme klasörü belirlenmedi, şimdi öntanımlı indirme klasörünü seçin</string>
     <string name="off">Kapat</string>
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 50e1b00b7..736a49c8e 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -620,7 +620,6 @@
     <string name="disable_media_tunneling_summary">Вимкнення тунелювання медіаданих за наявності чорного екрана або гальмування під час відтворення відео</string>
     <string name="disable_media_tunneling_title">Вимкнути тунелювання медіа</string>
     <string name="downloads_storage_use_saf_summary_api_29">«Фреймворк доступу до сховища» (SAF) підтримується лише починаючи з Android 10</string>
-    <string name="downloads_storage_use_saf_summary_api_19">«Фреймворк доступу до сховища» (SAF) не підтримується в KitKat і нижче</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Вас питатиме, куди зберігати кожне завантаження</string>
     <string name="no_dir_yet">Не вказано теки завантаження, оберіть типову теку завантаження зараз</string>
     <string name="open_website_license">Відкрити вебсайт</string>
diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml
deleted file mode 100644
index 8fa00d0d8..000000000
--- a/app/src/main/res/values-v21/styles.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-
-    <!-- Opening Theme -->
-    <style name="Base.V21.OpeningTheme" parent="Base.V19.OpeningTheme">
-        <item name="android:navigationBarColor">@color/light_youtube_primary_color</item>
-    </style>
-    <style name="Base.OpeningTheme" parent="Base.V21.OpeningTheme" />
-
-    <!-- Base Theme -->
-    <style name="Base.V21" parent="Base.V19"/>
-    <style name="Base" parent="Base.V21"/>
-
-    <!-- Light Theme -->
-    <style name="Base.V21.LightTheme" parent="Base.V19.LightTheme" />
-
-    <style name="Base.LightTheme" parent="Base.V21.LightTheme" />
-
-    <!-- Dark Theme -->
-    <style name="Base.V21.DarkTheme" parent="Base.V19.DarkTheme" />
-
-    <style name="Base.DarkTheme" parent="Base.V21.DarkTheme" />
-
-    <!-- Black Theme -->
-    <style name="Base.V21.BlackTheme" parent="Base.V19.BlackTheme" />
-
-    <style name="Base.BlackTheme" parent="Base.V21.BlackTheme" />
-
-    <!-- Router Activity -->
-    <style name="Base.V21.RouterActivityThemeLight" parent="Base.RouterActivityThemeLight">
-        <item name="android:statusBarColor">@android:color/transparent</item>
-    </style>
-
-    <style name="RouterActivityThemeLight" parent="Base.V21.RouterActivityThemeLight" />
-
-    <style name="Base.V21.RouterActivityThemeDark" parent="Base.RouterActivityThemeDark">
-        <item name="android:statusBarColor">@android:color/transparent</item>
-    </style>
-
-    <style name="RouterActivityThemeDark" parent="Base.V21.RouterActivityThemeDark" />
-
-</resources>
diff --git a/app/src/main/res/values-v21/styles_services.xml b/app/src/main/res/values-v21/styles_services.xml
deleted file mode 100644
index f12bdba6d..000000000
--- a/app/src/main/res/values-v21/styles_services.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources xmlns:tools="http://schemas.android.com/tools">
-    <!-- YouTube -->
-    <style name="LightTheme.YouTube" parent="LightTheme" tools:keep="@style/LightTheme_YouTube">
-        <item name="colorPrimaryDark">@color/light_youtube_statusbar_color</item>
-    </style>
-
-    <style name="DarkTheme.YouTube" parent="DarkTheme" tools:keep="@style/DarkTheme_YouTube">
-        <item name="colorPrimaryDark">@color/dark_youtube_statusbar_color</item>
-    </style>
-
-    <style name="BlackTheme.YouTube" parent="BlackTheme" tools:keep="@style/BlackTheme_YouTube">
-        <item name="colorPrimaryDark">@color/dark_youtube_statusbar_color</item>
-    </style>
-
-    <!-- SoundCloud -->
-    <style name="LightTheme.SoundCloud" parent="LightTheme" tools:keep="@style/LightTheme_SoundCloud">
-        <item name="colorPrimary">@color/light_soundcloud_primary_color</item>
-        <item name="colorPrimaryDark">@color/light_soundcloud_statusbar_color</item>
-        <item name="colorAccent">@color/light_soundcloud_accent_color</item>
-    </style>
-
-    <style name="DarkTheme.SoundCloud" parent="DarkTheme" tools:keep="@style/DarkTheme_SoundCloud">
-        <item name="colorPrimary">@color/dark_soundcloud_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_soundcloud_statusbar_color</item>
-        <item name="colorAccent">@color/dark_soundcloud_accent_color</item>
-    </style>
-
-    <style name="BlackTheme.SoundCloud" parent="BlackTheme" tools:keep="@style/BlackTheme_SoundCloud">
-        <item name="colorPrimary">@color/dark_soundcloud_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_soundcloud_statusbar_color</item>
-        <item name="colorAccent">@color/dark_soundcloud_accent_color</item>
-    </style>
-
-    <!-- PeerTube -->
-    <style name="LightTheme.PeerTube" parent="LightTheme" tools:keep="@style/LightTheme_PeerTube">
-        <item name="colorPrimary">@color/light_peertube_primary_color</item>
-        <item name="colorPrimaryDark">@color/light_peertube_statusbar_color</item>
-        <item name="colorAccent">@color/light_peertube_accent_color</item>
-    </style>
-
-    <style name="DarkTheme.PeerTube" parent="DarkTheme" tools:keep="@style/DarkTheme_PeerTube">
-        <item name="colorPrimary">@color/dark_peertube_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_peertube_statusbar_color</item>
-        <item name="colorAccent">@color/dark_peertube_accent_color</item>
-    </style>
-
-    <style name="BlackTheme.PeerTube" parent="BlackTheme" tools:keep="@style/BlackTheme_PeerTube">
-        <item name="colorPrimary">@color/dark_peertube_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_peertube_statusbar_color</item>
-        <item name="colorAccent">@color/dark_peertube_accent_color</item>
-    </style>
-
-    <!-- media.ccc.de -->
-    <style name="LightTheme.media.ccc.de" parent="LightTheme" tools:keep="@style/LightTheme_media_ccc_de">
-        <item name="colorPrimary">@color/light_media_ccc_primary_color</item>
-        <item name="colorPrimaryDark">@color/light_media_ccc_statusbar_color</item>
-        <item name="colorAccent">@color/light_media_ccc_accent_color</item>
-    </style>
-
-    <style name="DarkTheme.media.ccc.de" parent="DarkTheme" tools:keep="@style/DarkTheme_media_ccc_de">
-        <item name="colorPrimary">@color/dark_media_ccc_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_media_ccc_statusbar_color</item>
-        <item name="colorAccent">@color/dark_media_ccc_accent_color</item>
-    </style>
-
-    <style name="BlackTheme.media.ccc.de" parent="BlackTheme" tools:keep="@style/BlackTheme_media_ccc_de">
-        <item name="colorPrimary">@color/dark_media_ccc_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_media_ccc_statusbar_color</item>
-        <item name="colorAccent">@color/dark_media_ccc_accent_color</item>
-    </style>
-
-    <!-- Bandcamp -->
-    <style name="LightTheme.Bandcamp" parent="LightTheme" tools:keep="@style/LightTheme_Bandcamp">
-        <item name="colorPrimary">@color/light_bandcamp_primary_color</item>
-        <item name="colorPrimaryDark">@color/light_bandcamp_statusbar_color</item>
-        <item name="colorAccent">@color/light_bandcamp_accent_color</item>
-    </style>
-
-    <style name="DarkTheme.Bandcamp" parent="DarkTheme" tools:keep="@style/DarkTheme_Bandcamp">
-        <item name="colorPrimary">@color/dark_bandcamp_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_bandcamp_statusbar_color</item>
-        <item name="colorAccent">@color/dark_bandcamp_accent_color</item>
-    </style>
-
-    <style name="BlackTheme.Bandcamp" parent="BlackTheme" tools:keep="@style/BlackTheme_Bandcamp">
-        <item name="colorPrimary">@color/dark_bandcamp_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_bandcamp_statusbar_color</item>
-        <item name="colorAccent">@color/dark_bandcamp_accent_color</item>
-    </style>
-
-</resources>
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index 658c96b55..2346a4cf9 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -627,7 +627,6 @@
     <string name="feed_load_error_account_info">Không thể tải nguồn dữ liệu cho \'%s\'.</string>
     <string name="feed_load_error">Lỗi khi tải nguồn dữ liệu</string>
     <string name="downloads_storage_use_saf_summary_api_29">\'Storage Access Framework\' chỉ được hỗ trợ từ Android 10 trở đi</string>
-    <string name="downloads_storage_use_saf_summary_api_19">\'Storage Access Framework\' không được hỗ trợ trên Android KitKat và cũ hơn</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">Bạn sẽ được hỏi nơi bạn muốn lưu mỗi mục tải xuống</string>
     <string name="no_dir_yet">Chưa có thư mục tải xuống nào được đặt, hãy chọn thư mục tải xuống mặc định ngay</string>
     <string name="dont_show">Không hiện</string>
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index b3642829c..3c307f195 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -623,7 +623,6 @@
     <string name="feed_load_error_account_info">无法加载“%s”的 Feed。</string>
     <string name="feed_load_error">加载 Feed 时出错</string>
     <string name="downloads_storage_use_saf_summary_api_29">仅 Android 10 及以上版本支持“存储访问框架”</string>
-    <string name="downloads_storage_use_saf_summary_api_19">Android KitKat 及更低版本不支持“存储访问框架”</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">你会被问到在哪里保存每个下载</string>
     <string name="no_dir_yet">尚未设置下载文件夹,现在选择默认下载文件夹</string>
     <string name="tablet_mode_title">平板模式</string>
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 399282f7c..9b142a747 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -563,7 +563,6 @@
     <string name="preferred_open_action_settings_summary">預設開啟內容嘅時候做咩好 — %s</string>
     <string name="unhook_checkbox">脫鈎 (聲音可能會失真)</string>
     <string name="playback_step">飛前一格</string>
-    <string name="downloads_storage_use_saf_summary_api_19">Android KitKat 以及樓下唔支援「儲存空間存取框架」</string>
     <string name="no_playlist_bookmarked_yet">未有收起嘅播放清單</string>
     <string name="play_all">照單全播</string>
     <string name="no_channel_subscribed_yet">未有頻道訂閱</string>
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index db6caf56d..47117ee90 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -623,7 +623,6 @@
     <string name="feed_load_error_account_info">無法載入「%s」。</string>
     <string name="feed_load_error">載入 feed 時發生錯誤</string>
     <string name="downloads_storage_use_saf_summary_api_29">從 Android 10 開始僅支援「儲存空間存取框架」</string>
-    <string name="downloads_storage_use_saf_summary_api_19">Android KitKat 或更舊的版本不支援「儲存空間存取框架」</string>
     <string name="downloads_storage_ask_summary_no_saf_notice">每次下載都會詢問您要下載到哪裡</string>
     <string name="no_dir_yet">尚未設定下載資料夾,立刻選擇預設的下載資料夾</string>
     <string name="off">關閉</string>
diff --git a/app/src/main/res/values/colors_services.xml b/app/src/main/res/values/colors_services.xml
index d6cd73d52..f3487810a 100644
--- a/app/src/main/res/values/colors_services.xml
+++ b/app/src/main/res/values/colors_services.xml
@@ -2,53 +2,37 @@
 <resources>
     <!-- YouTube -->
     <color name="light_youtube_primary_color">#e53935</color>
-    <color name="light_youtube_dark_color">#992722</color>
     <color name="light_youtube_accent_color">#000000</color>
-    <color name="light_youtube_statusbar_color">#e53935</color>
 
     <color name="dark_youtube_primary_color">#992722</color>
-    <color name="dark_youtube_dark_color">#7a1717</color>
     <color name="dark_youtube_accent_color">#FFFFFF</color>
-    <color name="dark_youtube_statusbar_color">#992722</color>
 
     <!-- SoundCloud -->
     <color name="light_soundcloud_primary_color">#f57c00</color>
-    <color name="light_soundcloud_dark_color">#995700</color>
     <color name="light_soundcloud_accent_color">#000000</color>
-    <color name="light_soundcloud_statusbar_color">#f57c00</color>
 
     <color name="dark_soundcloud_primary_color">#a35300</color>
-    <color name="dark_soundcloud_dark_color">#7d4000</color>
     <color name="dark_soundcloud_accent_color">#FFFFFF</color>
-    <color name="dark_soundcloud_statusbar_color">#a35300</color>
 
     <!-- PeerTube -->
     <color name="light_peertube_primary_color">#ff6f00</color>
-    <color name="light_peertube_dark_color">#c43e00</color>
     <color name="light_peertube_accent_color">#000000</color>
-    <color name="light_peertube_statusbar_color">#ff6f00</color>
 
     <color name="dark_peertube_primary_color">#a34700</color>
-    <color name="dark_peertube_dark_color">#942f00</color>
     <color name="dark_peertube_accent_color">#FFFFFF</color>
-    <color name="dark_peertube_statusbar_color">#a34700</color>
 
     <!-- media.ccc.de -->
     <color name="light_media_ccc_primary_color">#9e9e9e</color>
     <color name="light_media_ccc_accent_color">#000000</color>
-    <color name="light_media_ccc_statusbar_color">#9e9e9e</color>
 
     <color name="dark_media_ccc_primary_color">#878787</color>
     <color name="dark_media_ccc_accent_color">#FFFFFF</color>
-    <color name="dark_media_ccc_statusbar_color">#878787</color>
 
     <!-- Bandcamp -->
     <color name="light_bandcamp_primary_color">#17a0c4</color>
     <color name="light_bandcamp_accent_color">#000000</color>
-    <color name="light_bandcamp_statusbar_color">#17a0c4</color>
 
     <color name="dark_bandcamp_primary_color">#1383a1</color>
     <color name="dark_bandcamp_accent_color">#FFFFFF</color>
-    <color name="dark_bandcamp_statusbar_color">#1383a1</color>
 
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cedb01b20..b742f2517 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -615,7 +615,6 @@
     <string name="downloads_storage_ask_summary_no_saf_notice">You will be asked where to save each download</string>
     <string name="downloads_storage_use_saf_title">Use system folder picker (SAF)</string>
     <string name="downloads_storage_use_saf_summary">The \'Storage Access Framework\' allows downloads to an external SD card</string>
-    <string name="downloads_storage_use_saf_summary_api_19">The \'Storage Access Framework\' is not supported on Android KitKat and below</string>
     <string name="downloads_storage_use_saf_summary_api_29">Starting from Android 10 only \'Storage Access Framework\' is supported</string>
     <string name="choose_instance_prompt">Choose an instance</string>
     <string name="app_language_title">App language</string>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index e711b35ab..164f10672 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,27 +1,29 @@
 <resources>
 
     <!-- Opening Theme -->
-    <style name="Base.V19.OpeningTheme" parent="Theme.AppCompat.DayNight.NoActionBar"/>
-    <style name="Base.OpeningTheme" parent="Base.V19.OpeningTheme"/>
-    <style name="OpeningTheme" parent="Base.OpeningTheme">
+    <style name="Base.V21.OpeningTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
         <item name="colorPrimary">@android:color/transparent</item>
         <item name="colorPrimaryDark">@android:color/transparent</item>
         <item name="colorAccent">@android:color/transparent</item>
 
         <item name="android:windowBackground">@drawable/splash_background</item>
     </style>
+    <style name="Base.OpeningTheme" parent="Base.V21.OpeningTheme">
+        <item name="android:navigationBarColor">@color/light_youtube_primary_color</item>
+    </style>
+    <style name="OpeningTheme" parent="Base.OpeningTheme" />
 
     <!-- Base Theme -->
-    <style name="Base.V19" parent="Theme.AppCompat.DayNight.NoActionBar">
+    <style name="Base.V21" parent="Theme.AppCompat.DayNight.NoActionBar">
         <item name="actionColor">@color/white</item>
         <item name="floatingActionButtonStyle">@style/FloatingActionButtonTheme</item>
         <item name="toolbarSearchColor">@color/white</item>
         <item name="colorControlActivated">?attr/colorPrimary</item>
     </style>
-    <style name="Base" parent="Base.V19"/>
+    <style name="Base" parent="Base.V21"/>
 
     <!-- Light Theme -->
-    <style name="Base.V19.LightTheme" parent="Base">
+    <style name="Base.V21.LightTheme" parent="Base">
         <item name="colorPrimary">@color/light_youtube_primary_color</item>
         <item name="colorPrimaryDark">@color/light_youtube_primary_color</item>
         <item name="colorAccent">@color/light_youtube_accent_color</item>
@@ -41,11 +43,11 @@
         <item name="border_color">@color/light_border_color</item>
         <item name="dashed_border">@drawable/dashed_border_light</item>
     </style>
-    <style name="Base.LightTheme" parent="Base.V19.LightTheme" />
+    <style name="Base.LightTheme" parent="Base.V21.LightTheme" />
     <style name="LightTheme" parent="Base.LightTheme"/>
 
     <!-- Dark Theme -->
-    <style name="Base.V19.DarkTheme" parent="Base">
+    <style name="Base.V21.DarkTheme" parent="Base">
         <item name="colorPrimary">@color/dark_youtube_primary_color</item>
         <item name="colorPrimaryDark">@color/dark_youtube_primary_color</item>
         <item name="colorAccent">@color/dark_youtube_accent_color</item>
@@ -65,11 +67,11 @@
         <item name="border_color">@color/dark_border_color</item>
         <item name="dashed_border">@drawable/dashed_border_dark</item>
     </style>
-    <style name="Base.DarkTheme" parent="Base.V19.DarkTheme" />
+    <style name="Base.DarkTheme" parent="Base.V21.DarkTheme" />
     <style name="DarkTheme" parent="Base.DarkTheme"/>
 
     <!-- Black Theme -->
-    <style name="Base.V19.BlackTheme" parent="DarkTheme">
+    <style name="Base.V21.BlackTheme" parent="DarkTheme">
         <item name="android:windowBackground">@color/black_background_color</item>
         <item name="windowBackground">@color/black_background_color</item>
 
@@ -81,7 +83,7 @@
         <item name="border_color">@color/black_border_color</item>
         <item name="dashed_border">@drawable/dashed_border_black</item>
     </style>
-    <style name="Base.BlackTheme" parent="Base.V19.BlackTheme" />
+    <style name="Base.BlackTheme" parent="Base.V21.BlackTheme" />
     <style name="BlackTheme" parent="Base.BlackTheme"/>
 
     <!-- Dialogs -->
@@ -137,6 +139,7 @@
         <item name="android:colorBackgroundCacheHint">@null</item>
         <item name="android:windowIsTranslucent">true</item>
         <item name="android:windowAnimationStyle">@null</item>
+        <item name="android:statusBarColor">@android:color/transparent</item>
     </style>
 
     <style name="RouterActivityThemeLight" parent="Base.RouterActivityThemeLight" />
@@ -147,6 +150,7 @@
         <item name="android:colorBackgroundCacheHint">@null</item>
         <item name="android:windowIsTranslucent">true</item>
         <item name="android:windowAnimationStyle">@null</item>
+        <item name="android:statusBarColor">@android:color/transparent</item>
     </style>
 
     <style name="RouterActivityThemeDark" parent="Base.RouterActivityThemeDark" />
diff --git a/app/src/main/res/values/styles_misc.xml b/app/src/main/res/values/styles_misc.xml
index ca285ae15..06ee2a300 100644
--- a/app/src/main/res/values/styles_misc.xml
+++ b/app/src/main/res/values/styles_misc.xml
@@ -12,7 +12,7 @@
     <!--File picker styles-->
     <style name="FilePickerThemeLight" parent="NNF_BaseTheme.Light">
         <item name="colorPrimary">@color/light_youtube_primary_color</item>
-        <item name="colorPrimaryDark">@color/light_youtube_dark_color</item>
+        <item name="colorPrimaryDark">@color/light_youtube_primary_color</item>
         <item name="colorAccent">@color/light_settings_accent_color</item>
 
         <item name="actionColor">@color/white</item>
@@ -26,7 +26,7 @@
 
     <style name="FilePickerThemeDark" parent="NNF_BaseTheme">
         <item name="colorPrimary">@color/dark_youtube_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_youtube_dark_color</item>
+        <item name="colorPrimaryDark">@color/dark_youtube_primary_color</item>
         <item name="colorAccent">@color/dark_settings_accent_color</item>
 
         <item name="actionColor">@color/white</item>
@@ -40,13 +40,13 @@
 
     <style name="FilePickerAlertDialogThemeLight" parent="Theme.AppCompat.DayNight.Dialog.Alert">
         <item name="colorPrimary">@color/light_youtube_primary_color</item>
-        <item name="colorPrimaryDark">@color/light_youtube_dark_color</item>
+        <item name="colorPrimaryDark">@color/light_youtube_primary_color</item>
         <item name="colorAccent">@color/light_settings_accent_color</item>
     </style>
 
     <style name="FilePickerAlertDialogThemeDark" parent="Theme.AppCompat.DayNight.Dialog.Alert">
         <item name="colorPrimary">@color/dark_youtube_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_youtube_dark_color</item>
+        <item name="colorPrimaryDark">@color/dark_youtube_primary_color</item>
         <item name="colorAccent">@color/dark_settings_accent_color</item>
     </style>
 
diff --git a/app/src/main/res/values/styles_services.xml b/app/src/main/res/values/styles_services.xml
index ce67f468b..db1fba397 100644
--- a/app/src/main/res/values/styles_services.xml
+++ b/app/src/main/res/values/styles_services.xml
@@ -1,16 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources xmlns:tools="http://schemas.android.com/tools">
     <!-- YouTube -->
-    <style name="LightTheme.YouTube" parent="LightTheme" tools:keep="@style/LightTheme_YouTube" />
+    <style name="LightTheme.YouTube" parent="LightTheme" tools:keep="@style/LightTheme_YouTube">
+        <item name="colorPrimaryDark">@color/light_youtube_primary_color</item>
+    </style>
 
-    <style name="DarkTheme.YouTube" parent="DarkTheme" tools:keep="@style/DarkTheme_YouTube" />
+    <style name="DarkTheme.YouTube" parent="DarkTheme" tools:keep="@style/DarkTheme_YouTube">
+        <item name="colorPrimaryDark">@color/dark_youtube_primary_color</item>
+    </style>
 
-    <style name="BlackTheme.YouTube" parent="BlackTheme" tools:keep="@style/BlackTheme_YouTube" />
+    <style name="BlackTheme.YouTube" parent="BlackTheme" tools:keep="@style/BlackTheme_YouTube">
+        <item name="colorPrimaryDark">@color/dark_youtube_primary_color</item>
+    </style>
 
     <!-- SoundCloud -->
     <style name="LightTheme.SoundCloud" parent="LightTheme" tools:keep="@style/LightTheme_SoundCloud">
         <item name="colorPrimary">@color/light_soundcloud_primary_color</item>
-        <item name="colorPrimaryDark">@color/light_soundcloud_dark_color</item>
+        <item name="colorPrimaryDark">@color/light_soundcloud_primary_color</item>
         <item name="colorAccent">@color/light_soundcloud_accent_color</item>
         <item name="progress_horizontal_drawable">@drawable/progress_soundcloud_horizontal_light
         </item>
@@ -18,7 +24,7 @@
 
     <style name="DarkTheme.SoundCloud" parent="DarkTheme" tools:keep="@style/DarkTheme_SoundCloud">
         <item name="colorPrimary">@color/dark_soundcloud_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_soundcloud_dark_color</item>
+        <item name="colorPrimaryDark">@color/dark_soundcloud_primary_color</item>
         <item name="colorAccent">@color/dark_soundcloud_accent_color</item>
         <item name="progress_horizontal_drawable">@drawable/progress_soundcloud_horizontal_dark
         </item>
@@ -26,7 +32,7 @@
 
     <style name="BlackTheme.SoundCloud" parent="BlackTheme" tools:keep="@style/BlackTheme_SoundCloud">
         <item name="colorPrimary">@color/dark_soundcloud_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_soundcloud_dark_color</item>
+        <item name="colorPrimaryDark">@color/dark_soundcloud_primary_color</item>
         <item name="colorAccent">@color/dark_soundcloud_accent_color</item>
         <item name="progress_horizontal_drawable">@drawable/progress_soundcloud_horizontal_dark
         </item>
@@ -35,57 +41,57 @@
     <!-- PeerTube -->
     <style name="LightTheme.PeerTube" parent="LightTheme" tools:keep="@style/LightTheme_PeerTube">
         <item name="colorPrimary">@color/light_peertube_primary_color</item>
-        <item name="colorPrimaryDark">@color/light_peertube_dark_color</item>
+        <item name="colorPrimaryDark">@color/light_peertube_primary_color</item>
         <item name="colorAccent">@color/light_peertube_accent_color</item>
     </style>
 
     <style name="DarkTheme.PeerTube" parent="DarkTheme" tools:keep="@style/DarkTheme_PeerTube">
         <item name="colorPrimary">@color/dark_peertube_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_peertube_dark_color</item>
+        <item name="colorPrimaryDark">@color/dark_peertube_primary_color</item>
         <item name="colorAccent">@color/dark_peertube_accent_color</item>
     </style>
 
     <style name="BlackTheme.PeerTube" parent="BlackTheme" tools:keep="@style/BlackTheme_PeerTube">
         <item name="colorPrimary">@color/dark_peertube_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_peertube_dark_color</item>
+        <item name="colorPrimaryDark">@color/dark_peertube_primary_color</item>
         <item name="colorAccent">@color/dark_peertube_accent_color</item>
     </style>
 
     <!-- media.ccc.de -->
     <style name="LightTheme.media.ccc.de" parent="LightTheme" tools:keep="@style/LightTheme_media_ccc_de">
         <item name="colorPrimary">@color/light_media_ccc_primary_color</item>
-        <item name="colorPrimaryDark">@color/light_media_ccc_statusbar_color</item>
+        <item name="colorPrimaryDark">@color/light_media_ccc_primary_color</item>
         <item name="colorAccent">@color/light_media_ccc_accent_color</item>
     </style>
 
     <style name="DarkTheme.media.ccc.de" parent="DarkTheme" tools:keep="@style/DarkTheme_media_ccc_de">
         <item name="colorPrimary">@color/dark_media_ccc_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_media_ccc_statusbar_color</item>
+        <item name="colorPrimaryDark">@color/dark_media_ccc_primary_color</item>
         <item name="colorAccent">@color/dark_media_ccc_accent_color</item>
     </style>
 
     <style name="BlackTheme.media.ccc.de" parent="BlackTheme" tools:keep="@style/BlackTheme_media_ccc_de">
         <item name="colorPrimary">@color/dark_media_ccc_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_media_ccc_statusbar_color</item>
+        <item name="colorPrimaryDark">@color/dark_media_ccc_primary_color</item>
         <item name="colorAccent">@color/dark_media_ccc_accent_color</item>
     </style>
 
     <!-- Bandcamp -->
     <style name="LightTheme.Bandcamp" parent="LightTheme" tools:keep="@style/LightTheme_Bandcamp">
         <item name="colorPrimary">@color/light_bandcamp_primary_color</item>
-        <item name="colorPrimaryDark">@color/light_bandcamp_statusbar_color</item>
+        <item name="colorPrimaryDark">@color/light_bandcamp_primary_color</item>
         <item name="colorAccent">@color/light_bandcamp_accent_color</item>
     </style>
 
     <style name="DarkTheme.Bandcamp" parent="DarkTheme" tools:keep="@style/DarkTheme_Bandcamp">
         <item name="colorPrimary">@color/dark_bandcamp_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_bandcamp_statusbar_color</item>
+        <item name="colorPrimaryDark">@color/dark_bandcamp_primary_color</item>
         <item name="colorAccent">@color/dark_bandcamp_accent_color</item>
     </style>
 
     <style name="BlackTheme.Bandcamp" parent="BlackTheme" tools:keep="@style/BlackTheme_Bandcamp">
         <item name="colorPrimary">@color/dark_bandcamp_primary_color</item>
-        <item name="colorPrimaryDark">@color/dark_bandcamp_statusbar_color</item>
+        <item name="colorPrimaryDark">@color/dark_bandcamp_primary_color</item>
         <item name="colorAccent">@color/dark_bandcamp_accent_color</item>
     </style>
 
diff --git a/app/src/main/res/xml/download_settings.xml b/app/src/main/res/xml/download_settings.xml
index fa15af406..48e7bbd2e 100644
--- a/app/src/main/res/xml/download_settings.xml
+++ b/app/src/main/res/xml/download_settings.xml
@@ -12,6 +12,7 @@
         app:iconSpaceReserved="false" />
 
     <SwitchPreferenceCompat
+        android:defaultValue="true"
         android:key="@string/storage_use_saf"
         android:summary="@string/downloads_storage_use_saf_summary"
         android:title="@string/downloads_storage_use_saf_title"