diff --git a/.gitignore b/.gitignore index f4f47c5ee..5c6962be1 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,11 @@ *~ .weblate *.class + +# vscode / eclipse files +*.classpath +*.project +*.settings +bin/ +.vscode/ +*.code-workspace diff --git a/.travis.yml b/.travis.yml index d6f97ab55..1714c70d5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,13 +5,13 @@ android: components: # The BuildTools version used by NewPipe - tools - - build-tools-28.0.3 + - build-tools-29.0.3 # The SDK version used to compile NewPipe - - android-28 + - android-29 before_install: - - yes | sdkmanager "platforms;android-28" + - yes | sdkmanager "platforms;android-29" script: ./gradlew -Dorg.gradle.jvmargs=-Xmx1536m assembleDebug lintDebug testDebugUnitTest licenses: diff --git a/app/build.gradle b/app/build.gradle index 65a36bde9..bbfeda390 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,16 +5,16 @@ apply plugin: 'kotlin-kapt' apply plugin: 'checkstyle' android { - compileSdkVersion 28 - buildToolsVersion '28.0.3' + compileSdkVersion 29 + buildToolsVersion '29.0.3' defaultConfig { applicationId "org.schabi.newpipe" resValue "string", "app_name", "NewPipe" minSdkVersion 19 - targetSdkVersion 28 - versionCode 930 - versionName "0.19.3" + targetSdkVersion 29 + versionCode 940 + versionName "0.19.4" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true @@ -66,6 +66,7 @@ android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 + encoding 'utf-8' } // Required and used only by groupie @@ -79,22 +80,22 @@ android { } ext { - androidxLibVersion = '1.0.0' - exoPlayerLibVersion = '2.10.8' - roomDbLibVersion = '2.1.0' - leakCanaryLibVersion = '1.5.4' //1.6.1 - okHttpLibVersion = '3.12.6' - icepickLibVersion = '3.2.0' - stethoLibVersion = '1.5.0' - markwonVersion = '4.2.1' - checkstyleVersion = '8.31' + icepickVersion = '3.2.0' + checkstyleVersion = '8.32' + stethoVersion = '1.5.1' + leakCanaryVersion = '2.2' + exoPlayerVersion = '2.11.4' + androidxLifecycleVersion = '2.2.0' + androidxRoomVersion = '2.2.5' + groupieVersion = '2.8.0' + markwonVersion = '4.3.1' } checkstyle { configFile rootProject.file('checkstyle.xml') ignoreFailures false showViolations true - toolVersion = "${checkstyleVersion}" + toolVersion = checkstyleVersion } task runCheckstyle(type: Checkstyle) { @@ -116,88 +117,96 @@ task runCheckstyle(type: Checkstyle) { } } -tasks.withType(Checkstyle).each { - checkstyleTask -> checkstyleTask.doLast { - reports.all { report -> - def outputFile = report.destination - if (outputFile.exists() && outputFile.text.contains("severity=\"error\"")) { - throw new GradleException("There were checkstyle errors! For more info check $outputFile") - } - } - } +configurations { + ktlint +} + +task runKtlint(type: JavaExec) { + main = "com.pinterest.ktlint.Main" + classpath = configurations.ktlint + args "src/**/*.kt" +} + +task formatKtlint(type: JavaExec) { + main = "com.pinterest.ktlint.Main" + classpath = configurations.ktlint + args "-F", "src/**/*.kt" } afterEvaluate { - preDebugBuild.dependsOn runCheckstyle + preDebugBuild.dependsOn runCheckstyle, runKtlint } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "frankiesardo:icepick:${icepickVersion}" + kapt "frankiesardo:icepick-processor:${icepickVersion}" + debugImplementation "com.puppycrawl.tools:checkstyle:${checkstyleVersion}" + ktlint "com.pinterest:ktlint:0.35.0" - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation "android.arch.persistence.room:testing:1.1.1" - androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', { + debugImplementation "com.facebook.stetho:stetho:${stethoVersion}" + debugImplementation "com.facebook.stetho:stetho-okhttp3:${stethoVersion}" + + debugImplementation "com.squareup.leakcanary:leakcanary-android:${leakCanaryVersion}" + implementation "com.squareup.leakcanary:leakcanary-object-watcher-android:${leakCanaryVersion}" + + debugImplementation "androidx.multidex:multidex:2.0.1" + + testImplementation 'junit:junit:4.13' + testImplementation 'org.mockito:mockito-core:3.3.3' + + androidTestImplementation "androidx.test.ext:junit:1.1.1" + androidTestImplementation "androidx.room:room-testing:${androidxRoomVersion}" + androidTestImplementation "androidx.test.espresso:espresso-core:3.2.0", { exclude module: 'support-annotations' - }) + } - implementation 'com.github.TeamNewPipe:NewPipeExtractor:fc3a69ed54b393e3e4e3a78ae6e89edc1d47c45a' - testImplementation 'junit:junit:4.12' - testImplementation 'org.mockito:mockito-core:2.23.0' + implementation 'com.github.TeamNewPipe:NewPipeExtractor:98055a3c3c17f2543a63d375a44c1d1f557fa76e' - implementation 'androidx.appcompat:appcompat:1.1.0' - implementation "androidx.legacy:legacy-support-v4:${androidxLibVersion}" - implementation "com.google.android.material:material:${androidxLibVersion}" - implementation "androidx.recyclerview:recyclerview:${androidxLibVersion}" - implementation "androidx.legacy:legacy-preference-v14:${androidxLibVersion}" - implementation "androidx.cardview:cardview:${androidxLibVersion}" - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation "com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751" + implementation "org.jsoup:jsoup:1.13.1" - implementation 'com.xwray:groupie:2.7.0' - implementation 'com.xwray:groupie-kotlin-android-extensions:2.7.0' + implementation "com.squareup.okhttp3:okhttp:3.12.11" - implementation 'androidx.lifecycle:lifecycle-livedata:2.0.0' - implementation 'androidx.lifecycle:lifecycle-viewmodel:2.0.0' - implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' + implementation "com.google.android.exoplayer:exoplayer:${exoPlayerVersion}" + implementation "com.google.android.exoplayer:extension-mediasession:${exoPlayerVersion}" - // Originally in NewPipeExtractor - implementation 'com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751' - implementation 'org.jsoup:jsoup:1.9.2' + implementation "com.google.android.material:material:1.1.0" - implementation 'ch.acra:acra:4.9.2' //4.11 + implementation "androidx.appcompat:appcompat:1.1.0" + implementation "androidx.preference:preference:1.1.1" + implementation "androidx.recyclerview:recyclerview:1.1.0" + implementation "androidx.cardview:cardview:1.0.0" + implementation "androidx.constraintlayout:constraintlayout:1.1.3" - implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' - implementation 'de.hdodenhof:circleimageview:2.2.0' - implementation 'com.nononsenseapps:filepicker:4.2.1' + implementation "androidx.lifecycle:lifecycle-livedata:${androidxLifecycleVersion}" + implementation "androidx.lifecycle:lifecycle-viewmodel:${androidxLifecycleVersion}" + implementation "androidx.lifecycle:lifecycle-extensions:${androidxLifecycleVersion}" - implementation "com.google.android.exoplayer:exoplayer:${exoPlayerLibVersion}" - implementation "com.google.android.exoplayer:extension-mediasession:${exoPlayerLibVersion}" + implementation "androidx.room:room-runtime:${androidxRoomVersion}" + implementation "androidx.room:room-rxjava2:${androidxRoomVersion}" + kapt "androidx.room:room-compiler:${androidxRoomVersion}" - debugImplementation "com.facebook.stetho:stetho:${stethoLibVersion}" - debugImplementation "com.facebook.stetho:stetho-urlconnection:${stethoLibVersion}" - debugImplementation 'androidx.multidex:multidex:2.0.1' + implementation "com.xwray:groupie:${groupieVersion}" + implementation "com.xwray:groupie-kotlin-android-extensions:${groupieVersion}" - implementation 'io.reactivex.rxjava2:rxjava:2.2.2' - implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' - implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1' - implementation 'org.ocpsoft.prettytime:prettytime:4.0.3.Final' - - implementation "androidx.room:room-runtime:${roomDbLibVersion}" - implementation "androidx.room:room-rxjava2:${roomDbLibVersion}" - kapt "androidx.room:room-compiler:${roomDbLibVersion}" - - implementation "frankiesardo:icepick:${icepickLibVersion}" - kapt "frankiesardo:icepick-processor:${icepickLibVersion}" - - debugImplementation "com.squareup.leakcanary:leakcanary-android:${leakCanaryLibVersion}" - releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${leakCanaryLibVersion}" - - implementation "com.squareup.okhttp3:okhttp:${okHttpLibVersion}" - debugImplementation "com.facebook.stetho:stetho-okhttp3:${stethoLibVersion}" + implementation "de.hdodenhof:circleimageview:3.1.0" + implementation "com.nostra13.universalimageloader:universal-image-loader:1.9.5" implementation "io.noties.markwon:core:${markwonVersion}" implementation "io.noties.markwon:linkify:${markwonVersion}" + + implementation "com.nononsenseapps:filepicker:4.2.1" + + implementation "ch.acra:acra-core:5.5.0" + + implementation "io.reactivex.rxjava2:rxjava:2.2.19" + implementation "io.reactivex.rxjava2:rxandroid:2.1.1" + implementation "com.jakewharton.rxbinding2:rxbinding:2.2.0" + + implementation "org.ocpsoft.prettytime:prettytime:4.0.5.Final" } static String getGitWorkingBranch() { diff --git a/app/src/androidTest/java/org/schabi/newpipe/database/AppDatabaseTest.kt b/app/src/androidTest/java/org/schabi/newpipe/database/AppDatabaseTest.kt index 917a83bf2..e37eb5db9 100644 --- a/app/src/androidTest/java/org/schabi/newpipe/database/AppDatabaseTest.kt +++ b/app/src/androidTest/java/org/schabi/newpipe/database/AppDatabaseTest.kt @@ -116,4 +116,4 @@ class AppDatabaseTest { testHelper.closeWhenFinished(database) return database } -} \ No newline at end of file +} diff --git a/app/src/debug/java/org/schabi/newpipe/DebugApp.java b/app/src/debug/java/org/schabi/newpipe/DebugApp.java deleted file mode 100644 index 6bcf71035..000000000 --- a/app/src/debug/java/org/schabi/newpipe/DebugApp.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.schabi.newpipe; - -import android.content.Context; -import android.content.SharedPreferences; -import android.preference.PreferenceManager; - -import androidx.annotation.NonNull; -import androidx.multidex.MultiDex; - -import com.facebook.stetho.Stetho; -import com.facebook.stetho.okhttp3.StethoInterceptor; -import com.squareup.leakcanary.AndroidHeapDumper; -import com.squareup.leakcanary.DefaultLeakDirectoryProvider; -import com.squareup.leakcanary.HeapDumper; -import com.squareup.leakcanary.LeakCanary; -import com.squareup.leakcanary.LeakDirectoryProvider; -import com.squareup.leakcanary.RefWatcher; - -import org.schabi.newpipe.extractor.downloader.Downloader; - -import java.io.File; -import java.util.concurrent.TimeUnit; - -import okhttp3.OkHttpClient; - -public class DebugApp extends App { - private static final String TAG = DebugApp.class.toString(); - - @Override - protected void attachBaseContext(final Context base) { - super.attachBaseContext(base); - MultiDex.install(this); - } - - @Override - public void onCreate() { - super.onCreate(); - initStetho(); - } - - @Override - protected Downloader getDownloader() { - DownloaderImpl downloader = DownloaderImpl.init(new OkHttpClient.Builder() - .addNetworkInterceptor(new StethoInterceptor())); - setCookiesToDownloader(downloader); - return downloader; - } - - private void initStetho() { - // Create an InitializerBuilder - Stetho.InitializerBuilder initializerBuilder = - Stetho.newInitializerBuilder(this); - - // Enable Chrome DevTools - initializerBuilder.enableWebKitInspector( - Stetho.defaultInspectorModulesProvider(this) - ); - - // Enable command line interface - initializerBuilder.enableDumpapp( - Stetho.defaultDumperPluginsProvider(getApplicationContext()) - ); - - // Use the InitializerBuilder to generate an Initializer - Stetho.Initializer initializer = initializerBuilder.build(); - - // Initialize Stetho with the Initializer - Stetho.initialize(initializer); - } - - @Override - protected boolean isDisposedRxExceptionsReported() { - return PreferenceManager.getDefaultSharedPreferences(this) - .getBoolean(getString(R.string.allow_disposed_exceptions_key), false); - } - - @Override - protected RefWatcher installLeakCanary() { - return LeakCanary.refWatcher(this) - .heapDumper(new ToggleableHeapDumper(this)) - // give each object 10 seconds to be gc'ed, before leak canary gets nosy on it - .watchDelay(10, TimeUnit.SECONDS) - .buildAndInstall(); - } - - public static class ToggleableHeapDumper implements HeapDumper { - private final HeapDumper dumper; - private final SharedPreferences preferences; - private final String dumpingAllowanceKey; - - ToggleableHeapDumper(@NonNull final Context context) { - LeakDirectoryProvider leakDirectoryProvider = new DefaultLeakDirectoryProvider(context); - this.dumper = new AndroidHeapDumper(context, leakDirectoryProvider); - this.preferences = PreferenceManager.getDefaultSharedPreferences(context); - this.dumpingAllowanceKey = context.getString(R.string.allow_heap_dumping_key); - } - - private boolean isDumpingAllowed() { - return preferences.getBoolean(dumpingAllowanceKey, false); - } - - @Override - public File dumpHeap() { - return isDumpingAllowed() ? dumper.dumpHeap() : HeapDumper.RETRY_LATER; - } - } -} diff --git a/app/src/debug/java/org/schabi/newpipe/DebugApp.kt b/app/src/debug/java/org/schabi/newpipe/DebugApp.kt new file mode 100644 index 000000000..5cfde80b8 --- /dev/null +++ b/app/src/debug/java/org/schabi/newpipe/DebugApp.kt @@ -0,0 +1,59 @@ +package org.schabi.newpipe + +import android.content.Context +import androidx.multidex.MultiDex +import androidx.preference.PreferenceManager +import com.facebook.stetho.Stetho +import com.facebook.stetho.okhttp3.StethoInterceptor +import leakcanary.AppWatcher +import leakcanary.LeakCanary +import okhttp3.OkHttpClient +import org.schabi.newpipe.extractor.downloader.Downloader + +class DebugApp : App() { + override fun attachBaseContext(base: Context) { + super.attachBaseContext(base) + MultiDex.install(this) + } + + override fun onCreate() { + super.onCreate() + initStetho() + + // Give each object 10 seconds to be GC'ed, before LeakCanary gets nosy on it + AppWatcher.config = AppWatcher.config.copy(watchDurationMillis = 10000) + LeakCanary.config = LeakCanary.config.copy(dumpHeap = PreferenceManager + .getDefaultSharedPreferences(this).getBoolean(getString( + R.string.allow_heap_dumping_key), false)) + } + + override fun getDownloader(): Downloader { + val downloader = DownloaderImpl.init(OkHttpClient.Builder() + .addNetworkInterceptor(StethoInterceptor())) + setCookiesToDownloader(downloader) + return downloader + } + + private fun initStetho() { + // Create an InitializerBuilder + val initializerBuilder = Stetho.newInitializerBuilder(this) + + // Enable Chrome DevTools + initializerBuilder.enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this)) + + // Enable command line interface + initializerBuilder.enableDumpapp( + Stetho.defaultDumperPluginsProvider(applicationContext)) + + // Use the InitializerBuilder to generate an Initializer + val initializer = initializerBuilder.build() + + // Initialize Stetho with the Initializer + Stetho.initialize(initializer) + } + + override fun isDisposedRxExceptionsReported(): Boolean { + return PreferenceManager.getDefaultSharedPreferences(this) + .getBoolean(getString(R.string.allow_disposed_exceptions_key), false) + } +} diff --git a/app/src/main/java/org/schabi/newpipe/App.java b/app/src/main/java/org/schabi/newpipe/App.java index 4d05c69cc..531cb5a38 100644 --- a/app/src/main/java/org/schabi/newpipe/App.java +++ b/app/src/main/java/org/schabi/newpipe/App.java @@ -9,19 +9,16 @@ import android.content.SharedPreferences; import android.os.Build; import android.util.Log; -import androidx.annotation.Nullable; import androidx.preference.PreferenceManager; import com.nostra13.universalimageloader.cache.memory.impl.LRULimitedMemoryCache; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; -import com.squareup.leakcanary.LeakCanary; -import com.squareup.leakcanary.RefWatcher; import org.acra.ACRA; -import org.acra.config.ACRAConfiguration; import org.acra.config.ACRAConfigurationException; -import org.acra.config.ConfigurationBuilder; +import org.acra.config.CoreConfiguration; +import org.acra.config.CoreConfigurationBuilder; import org.acra.sender.ReportSenderFactory; import org.schabi.newpipe.extractor.NewPipe; import org.schabi.newpipe.extractor.downloader.Downloader; @@ -72,13 +69,6 @@ public class App extends Application { private static final Class[] REPORT_SENDER_FACTORY_CLASSES = new Class[]{AcraReportSenderFactory.class}; private static App app; - private RefWatcher refWatcher; - - @Nullable - public static RefWatcher getRefWatcher(final Context context) { - final App application = (App) context.getApplicationContext(); - return application.refWatcher; - } public static App getApp() { return app; @@ -95,13 +85,6 @@ public class App extends Application { public void onCreate() { super.onCreate(); - if (LeakCanary.isInAnalyzerProcess(this)) { - // This process is dedicated to LeakCanary for heap analysis. - // You should not init your app in this process. - return; - } - refWatcher = installLeakCanary(); - app = this; // Initialize settings first because others inits can use its values @@ -136,7 +119,8 @@ public class App extends Application { final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences( getApplicationContext()); final String key = getApplicationContext().getString(R.string.recaptcha_cookies_key); - downloader.setCookies(prefs.getString(key, "")); + downloader.setCookie(ReCaptchaActivity.RECAPTCHA_COOKIES_KEY, prefs.getString(key, "")); + downloader.updateYoutubeRestrictedModeCookies(getApplicationContext()); } private void configureRxJavaErrorHandler() { @@ -218,7 +202,7 @@ public class App extends Application { private void initACRA() { try { - final ACRAConfiguration acraConfig = new ConfigurationBuilder(this) + final CoreConfiguration acraConfig = new CoreConfigurationBuilder(this) .setReportSenderFactoryClasses(REPORT_SENDER_FACTORY_CLASSES) .setBuildConfigClass(BuildConfig.class) .build(); @@ -279,10 +263,6 @@ public class App extends Application { appUpdateNotificationManager.createNotificationChannel(appUpdateChannel); } - protected RefWatcher installLeakCanary() { - return RefWatcher.DISABLED; - } - protected boolean isDisposedRxExceptionsReported() { return false; } diff --git a/app/src/main/java/org/schabi/newpipe/BaseFragment.java b/app/src/main/java/org/schabi/newpipe/BaseFragment.java index 9a86fd5ad..54513a0af 100644 --- a/app/src/main/java/org/schabi/newpipe/BaseFragment.java +++ b/app/src/main/java/org/schabi/newpipe/BaseFragment.java @@ -11,10 +11,10 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import com.nostra13.universalimageloader.core.ImageLoader; -import com.squareup.leakcanary.RefWatcher; import icepick.Icepick; import icepick.State; +import leakcanary.AppWatcher; public abstract class BaseFragment extends Fragment { public static final ImageLoader IMAGE_LOADER = ImageLoader.getInstance(); @@ -78,16 +78,14 @@ public abstract class BaseFragment extends Fragment { Icepick.saveInstanceState(this, outState); } - protected void onRestoreInstanceState(@NonNull final Bundle savedInstanceState) { } + protected void onRestoreInstanceState(@NonNull final Bundle savedInstanceState) { + } @Override public void onDestroy() { super.onDestroy(); - RefWatcher refWatcher = App.getRefWatcher(getActivity()); - if (refWatcher != null) { - refWatcher.watch(this); - } + AppWatcher.INSTANCE.getObjectWatcher().watch(this); } @Override @@ -100,9 +98,11 @@ public abstract class BaseFragment extends Fragment { // Init //////////////////////////////////////////////////////////////////////////*/ - protected void initViews(final View rootView, final Bundle savedInstanceState) { } + protected void initViews(final View rootView, final Bundle savedInstanceState) { + } - protected void initListeners() { } + protected void initListeners() { + } /*////////////////////////////////////////////////////////////////////////// // Utils diff --git a/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java b/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java index ed517f160..95d3c2b7c 100644 --- a/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java +++ b/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java @@ -1,7 +1,8 @@ package org.schabi.newpipe; +import android.content.Context; import android.os.Build; -import android.text.TextUtils; +import android.preference.PreferenceManager; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -10,6 +11,8 @@ import org.schabi.newpipe.extractor.downloader.Downloader; import org.schabi.newpipe.extractor.downloader.Request; 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; @@ -20,6 +23,7 @@ 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; @@ -40,9 +44,13 @@ 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; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0"; + public static final String YOUTUBE_RESTRICTED_MODE_COOKIE_KEY + = "youtube_restricted_mode_key"; + public static final String YOUTUBE_RESTRICTED_MODE_COOKIE = "PREF=f2=8000000"; + public static final String YOUTUBE_DOMAIN = "youtube.com"; private static DownloaderImpl instance; - private String mCookies; + private Map mCookies; private OkHttpClient client; private DownloaderImpl(final OkHttpClient.Builder builder) { @@ -54,6 +62,7 @@ public final class DownloaderImpl extends Downloader { // .cache(new Cache(new File(context.getExternalCacheDir(), "okhttp"), // 16 * 1024 * 1024)) .build(); + this.mCookies = new HashMap<>(); } /** @@ -121,12 +130,50 @@ public final class DownloaderImpl extends Downloader { } } - public String getCookies() { - return mCookies; + public String getCookies(final String url) { + List resultCookies = new ArrayList<>(); + if (url.contains(YOUTUBE_DOMAIN)) { + String youtubeCookie = getCookie(YOUTUBE_RESTRICTED_MODE_COOKIE_KEY); + if (youtubeCookie != null) { + resultCookies.add(youtubeCookie); + } + } + // Recaptcha cookie is always added TODO: not sure if this is necessary + String recaptchaCookie = getCookie(ReCaptchaActivity.RECAPTCHA_COOKIES_KEY); + if (recaptchaCookie != null) { + resultCookies.add(recaptchaCookie); + } + return CookieUtils.concatCookies(resultCookies); } - public void setCookies(final String cookies) { - mCookies = cookies; + public String getCookie(final String key) { + return mCookies.get(key); + } + + public void setCookie(final String key, final String cookie) { + mCookies.put(key, cookie); + } + + public void removeCookie(final String key) { + mCookies.remove(key); + } + + public void updateYoutubeRestrictedModeCookies(final Context context) { + String restrictedModeEnabledKey = + context.getString(R.string.youtube_restricted_mode_enabled); + boolean restrictedModeEnabled = PreferenceManager.getDefaultSharedPreferences(context) + .getBoolean(restrictedModeEnabledKey, false); + updateYoutubeRestrictedModeCookies(restrictedModeEnabled); + } + + public void updateYoutubeRestrictedModeCookies(final boolean youtubeRestrictedModeEnabled) { + if (youtubeRestrictedModeEnabled) { + setCookie(YOUTUBE_RESTRICTED_MODE_COOKIE_KEY, + YOUTUBE_RESTRICTED_MODE_COOKIE); + } else { + removeCookie(YOUTUBE_RESTRICTED_MODE_COOKIE_KEY); + } + InfoCache.getInstance().clearCache(); } /** @@ -152,8 +199,9 @@ public final class DownloaderImpl extends Downloader { .method("GET", null).url(siteUrl) .addHeader("User-Agent", USER_AGENT); - if (!TextUtils.isEmpty(mCookies)) { - requestBuilder.addHeader("Cookie", mCookies); + String cookies = getCookies(siteUrl); + if (!cookies.isEmpty()) { + requestBuilder.addHeader("Cookie", cookies); } final okhttp3.Request request = requestBuilder.build(); @@ -192,8 +240,9 @@ public final class DownloaderImpl extends Downloader { .method(httpMethod, requestBody).url(url) .addHeader("User-Agent", USER_AGENT); - if (!TextUtils.isEmpty(mCookies)) { - requestBuilder.addHeader("Cookie", mCookies); + String cookies = getCookies(url); + if (!cookies.isEmpty()) { + requestBuilder.addHeader("Cookie", cookies); } for (Map.Entry> pair : headers.entrySet()) { diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index 6f1862f31..a80ca89ac 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -165,8 +165,7 @@ public class MainActivity extends AppCompatActivity { drawerItems.getMenu() .add(R.id.menu_tabs_group, kioskId, 0, KioskTranslator .getTranslatedKioskName(ks, this)) - .setIcon(KioskTranslator.getKioskIcons(ks, this)); - kioskId++; + .setIcon(KioskTranslator.getKioskIcon(ks, this)); } drawerItems.getMenu() @@ -175,24 +174,24 @@ public class MainActivity extends AppCompatActivity { .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_channel)); drawerItems.getMenu() .add(R.id.menu_tabs_group, ITEM_ID_FEED, ORDER, R.string.fragment_feed_title) - .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.rss)); + .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_rss)); drawerItems.getMenu() .add(R.id.menu_tabs_group, ITEM_ID_BOOKMARKS, ORDER, R.string.tab_bookmarks) .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_bookmark)); drawerItems.getMenu() .add(R.id.menu_tabs_group, ITEM_ID_DOWNLOADS, ORDER, R.string.downloads) - .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.download)); + .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_file_download)); drawerItems.getMenu() .add(R.id.menu_tabs_group, ITEM_ID_HISTORY, ORDER, R.string.action_history) - .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.history)); + .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_history)); //Settings and About drawerItems.getMenu() .add(R.id.menu_options_about_group, ITEM_ID_SETTINGS, ORDER, R.string.settings) - .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.settings)); + .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_settings)); drawerItems.getMenu() .add(R.id.menu_options_about_group, ITEM_ID_ABOUT, ORDER, R.string.tab_about) - .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.info)); + .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_info_outline)); toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.drawer_open, R.string.drawer_close); @@ -420,7 +419,7 @@ public class MainActivity extends AppCompatActivity { drawerItems.getMenu() .add(R.id.menu_tabs_group, kioskId, ORDER, KioskTranslator.getTranslatedKioskName(ks, this)) - .setIcon(KioskTranslator.getKioskIcons(ks, this)); + .setIcon(KioskTranslator.getKioskIcon(ks, this)); kioskId++; } @@ -429,24 +428,24 @@ public class MainActivity extends AppCompatActivity { .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_channel)); drawerItems.getMenu() .add(R.id.menu_tabs_group, ITEM_ID_FEED, ORDER, R.string.fragment_feed_title) - .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.rss)); + .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_rss)); drawerItems.getMenu() .add(R.id.menu_tabs_group, ITEM_ID_BOOKMARKS, ORDER, R.string.tab_bookmarks) .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_bookmark)); drawerItems.getMenu() .add(R.id.menu_tabs_group, ITEM_ID_DOWNLOADS, ORDER, R.string.downloads) - .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.download)); + .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_file_download)); drawerItems.getMenu() .add(R.id.menu_tabs_group, ITEM_ID_HISTORY, ORDER, R.string.action_history) - .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.history)); + .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_history)); //Settings and About drawerItems.getMenu() .add(R.id.menu_options_about_group, ITEM_ID_SETTINGS, ORDER, R.string.settings) - .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.settings)); + .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_settings)); drawerItems.getMenu() .add(R.id.menu_options_about_group, ITEM_ID_ABOUT, ORDER, R.string.tab_about) - .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.info)); + .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_info_outline)); } @Override diff --git a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java index 49fb6b179..40ea4fd58 100644 --- a/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java +++ b/app/src/main/java/org/schabi/newpipe/ReCaptchaActivity.java @@ -51,6 +51,7 @@ public class ReCaptchaActivity extends AppCompatActivity { public static final String RECAPTCHA_URL_EXTRA = "recaptcha_url_extra"; public static final String TAG = ReCaptchaActivity.class.toString(); public static final String YT_URL = "https://www.youtube.com"; + public static final String RECAPTCHA_COOKIES_KEY = "recaptcha_cookies"; private WebView webView; private String foundCookies = ""; @@ -168,7 +169,7 @@ public class ReCaptchaActivity extends AppCompatActivity { prefs.edit().putString(key, foundCookies).apply(); // give cookies to Downloader class - DownloaderImpl.getInstance().setCookies(foundCookies); + DownloaderImpl.getInstance().setCookie(RECAPTCHA_COOKIES_KEY, foundCookies); setResult(RESULT_OK); } diff --git a/app/src/main/java/org/schabi/newpipe/RouterActivity.java b/app/src/main/java/org/schabi/newpipe/RouterActivity.java index c927a910f..39f6b217d 100644 --- a/app/src/main/java/org/schabi/newpipe/RouterActivity.java +++ b/app/src/main/java/org/schabi/newpipe/RouterActivity.java @@ -25,6 +25,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.content.res.AppCompatResources; import androidx.core.app.NotificationCompat; import androidx.fragment.app.FragmentManager; @@ -43,15 +44,15 @@ import org.schabi.newpipe.player.playqueue.PlayQueue; import org.schabi.newpipe.player.playqueue.PlaylistPlayQueue; import org.schabi.newpipe.player.playqueue.SinglePlayQueue; import org.schabi.newpipe.report.UserAction; +import org.schabi.newpipe.util.AndroidTvUtils; import org.schabi.newpipe.util.Constants; import org.schabi.newpipe.util.ExtractorHelper; -import org.schabi.newpipe.util.AndroidTvUtils; import org.schabi.newpipe.util.ListHelper; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.PermissionHelper; import org.schabi.newpipe.util.ThemeHelper; -import org.schabi.newpipe.views.FocusOverlayView; import org.schabi.newpipe.util.urlfinder.UrlFinder; +import org.schabi.newpipe.views.FocusOverlayView; import java.io.Serializable; import java.util.ArrayList; @@ -313,7 +314,9 @@ public class RouterActivity extends AppCompatActivity { final RadioButton radioButton = (RadioButton) inflater.inflate(R.layout.list_radio_icon_item, null); radioButton.setText(item.description); - radioButton.setCompoundDrawablesWithIntrinsicBounds(item.icon, 0, 0, 0); + radioButton.setCompoundDrawablesWithIntrinsicBounds( + AppCompatResources.getDrawable(getApplicationContext(), item.icon), + null, null, null); radioButton.setChecked(false); radioButton.setId(id++); radioButton.setLayoutParams(new RadioGroup.LayoutParams( @@ -366,26 +369,26 @@ public class RouterActivity extends AppCompatActivity { returnList.add(new AdapterChoiceItem(getString(R.string.show_info_key), getString(R.string.show_info), - resolveResourceIdFromAttr(context, R.attr.info))); + resolveResourceIdFromAttr(context, R.attr.ic_info_outline))); if (capabilities.contains(VIDEO) && !(isExtVideoEnabled && linkType != LinkType.STREAM)) { returnList.add(new AdapterChoiceItem(getString(R.string.video_player_key), getString(R.string.video_player), - resolveResourceIdFromAttr(context, R.attr.play))); + resolveResourceIdFromAttr(context, R.attr.ic_play_arrow))); returnList.add(new AdapterChoiceItem(getString(R.string.popup_player_key), getString(R.string.popup_player), - resolveResourceIdFromAttr(context, R.attr.popup))); + resolveResourceIdFromAttr(context, R.attr.ic_popup))); } if (capabilities.contains(AUDIO) && !(isExtAudioEnabled && linkType != LinkType.STREAM)) { returnList.add(new AdapterChoiceItem(getString(R.string.background_player_key), getString(R.string.background_player), - resolveResourceIdFromAttr(context, R.attr.audio))); + resolveResourceIdFromAttr(context, R.attr.ic_headset))); } returnList.add(new AdapterChoiceItem(getString(R.string.download_key), getString(R.string.download), - resolveResourceIdFromAttr(context, R.attr.download))); + resolveResourceIdFromAttr(context, R.attr.ic_file_download))); return returnList; } diff --git a/app/src/main/java/org/schabi/newpipe/about/LicenseFragment.java b/app/src/main/java/org/schabi/newpipe/about/LicenseFragment.java index 0bda79fee..bc6310601 100644 --- a/app/src/main/java/org/schabi/newpipe/about/LicenseFragment.java +++ b/app/src/main/java/org/schabi/newpipe/about/LicenseFragment.java @@ -2,8 +2,6 @@ package org.schabi.newpipe.about; import android.app.Activity; import android.content.Context; -import android.content.Intent; -import android.net.Uri; import android.os.Bundle; import android.view.ContextMenu; import android.view.LayoutInflater; @@ -17,9 +15,9 @@ import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import org.schabi.newpipe.R; +import org.schabi.newpipe.util.ShareUtils; import java.util.Arrays; -import java.util.Comparator; /** * Fragment containing the software licenses. @@ -27,7 +25,7 @@ import java.util.Comparator; public class LicenseFragment extends Fragment { private static final String ARG_COMPONENTS = "components"; private SoftwareComponent[] softwareComponents; - private SoftwareComponent mComponentForContextMenu; + private SoftwareComponent componentForContextMenu; public static LicenseFragment newInstance(final SoftwareComponent[] softwareComponents) { if (softwareComponents == null) { @@ -46,7 +44,7 @@ public class LicenseFragment extends Fragment { * @param context the context to use * @param license the license to show */ - public static void showLicense(final Context context, final License license) { + private static void showLicense(final Context context, final License license) { new LicenseFragmentHelper((Activity) context).execute(license); } @@ -57,45 +55,34 @@ public class LicenseFragment extends Fragment { .getParcelableArray(ARG_COMPONENTS); // Sort components by name - Arrays.sort(softwareComponents, new Comparator() { - @Override - public int compare(final SoftwareComponent o1, final SoftwareComponent o2) { - return o1.getName().compareTo(o2.getName()); - } - }); + Arrays.sort(softwareComponents, (o1, o2) -> o1.getName().compareTo(o2.getName())); } @Nullable @Override public View onCreateView(final LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable final Bundle savedInstanceState) { - View rootView = inflater.inflate(R.layout.fragment_licenses, container, false); - ViewGroup softwareComponentsView = rootView.findViewById(R.id.software_components); + final View rootView = inflater.inflate(R.layout.fragment_licenses, container, false); + final ViewGroup softwareComponentsView = rootView.findViewById(R.id.software_components); - View licenseLink = rootView.findViewById(R.id.app_read_license); - licenseLink.setOnClickListener(new OnReadFullLicenseClickListener()); + final View licenseLink = rootView.findViewById(R.id.app_read_license); + licenseLink.setOnClickListener(v -> + showLicense(getActivity(), StandardLicenses.GPL3)); for (final SoftwareComponent component : softwareComponents) { - View componentView = inflater + final View componentView = inflater .inflate(R.layout.item_software_component, container, false); - TextView softwareName = componentView.findViewById(R.id.name); - TextView copyright = componentView.findViewById(R.id.copyright); + final TextView softwareName = componentView.findViewById(R.id.name); + final TextView copyright = componentView.findViewById(R.id.copyright); softwareName.setText(component.getName()); - copyright.setText(getContext().getString(R.string.copyright, + copyright.setText(getString(R.string.copyright, component.getYears(), component.getCopyrightOwner(), component.getLicense().getAbbreviation())); componentView.setTag(component); - componentView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(final View v) { - Context context = v.getContext(); - if (context != null) { - showLicense(context, component.getLicense()); - } - } - }); + componentView.setOnClickListener(v -> + showLicense(getActivity(), component.getLicense())); softwareComponentsView.addView(componentView); registerForContextMenu(componentView); } @@ -105,40 +92,28 @@ public class LicenseFragment extends Fragment { @Override public void onCreateContextMenu(final ContextMenu menu, final View v, final ContextMenu.ContextMenuInfo menuInfo) { - MenuInflater inflater = getActivity().getMenuInflater(); - SoftwareComponent component = (SoftwareComponent) v.getTag(); + final MenuInflater inflater = getActivity().getMenuInflater(); + final SoftwareComponent component = (SoftwareComponent) v.getTag(); menu.setHeaderTitle(component.getName()); inflater.inflate(R.menu.software_component, menu); super.onCreateContextMenu(menu, v, menuInfo); - mComponentForContextMenu = (SoftwareComponent) v.getTag(); + componentForContextMenu = (SoftwareComponent) v.getTag(); } @Override public boolean onContextItemSelected(final MenuItem item) { // item.getMenuInfo() is null so we use the tag of the view - final SoftwareComponent component = mComponentForContextMenu; + final SoftwareComponent component = componentForContextMenu; if (component == null) { return false; } switch (item.getItemId()) { case R.id.action_website: - openWebsite(component.getLink()); + ShareUtils.openUrlInBrowser(getActivity(), component.getLink()); return true; case R.id.action_show_license: - showLicense(getContext(), component.getLicense()); + showLicense(getActivity(), component.getLicense()); } return false; } - - private void openWebsite(final String componentLink) { - Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(componentLink)); - startActivity(browserIntent); - } - - private static class OnReadFullLicenseClickListener implements View.OnClickListener { - @Override - public void onClick(final View v) { - LicenseFragment.showLicense(v.getContext(), StandardLicenses.GPL3); - } - } } diff --git a/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java b/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java index 94a1532f5..1c425567f 100644 --- a/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java +++ b/app/src/main/java/org/schabi/newpipe/about/LicenseFragmentHelper.java @@ -3,8 +3,10 @@ package org.schabi.newpipe.about; import android.app.Activity; import android.content.Context; import android.os.AsyncTask; +import android.util.Base64; import android.webkit.WebView; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; @@ -12,6 +14,7 @@ import org.schabi.newpipe.R; import org.schabi.newpipe.util.ThemeHelper; import java.io.BufferedReader; +import java.io.IOException; import java.io.InputStreamReader; import java.lang.ref.WeakReference; import java.nio.charset.StandardCharsets; @@ -26,28 +29,18 @@ public class LicenseFragmentHelper extends AsyncTask { weakReference = new WeakReference<>(activity); } - private static String getFinishString(final Activity activity) { - return activity.getApplicationContext().getResources().getString(R.string.finish); - } - /** * @param context the context to use * @param license the license * @return String which contains a HTML formatted license page * styled according to the context's theme */ - public static String getFormattedLicense(final Context context, final License license) { - if (context == null) { - throw new NullPointerException("context is null"); - } - if (license == null) { - throw new NullPointerException("license is null"); - } - - StringBuilder licenseContent = new StringBuilder(); - String webViewData; + private static String getFormattedLicense(@NonNull final Context context, + @NonNull final License license) { + final StringBuilder licenseContent = new StringBuilder(); + final String webViewData; try { - BufferedReader in = new BufferedReader(new InputStreamReader( + final BufferedReader in = new BufferedReader(new InputStreamReader( context.getAssets().open(license.getFilename()), StandardCharsets.UTF_8)); String str; while ((str = in.readLine()) != null) { @@ -56,13 +49,11 @@ public class LicenseFragmentHelper extends AsyncTask { in.close(); // split the HTML file and insert the stylesheet into the HEAD of the file - String[] insert = licenseContent.toString().split(""); - webViewData = insert[0] + "" - + insert[1]; - } catch (Exception e) { - throw new NullPointerException("could not get license file:" - + getLicenseStylesheet(context)); + webViewData = licenseContent.toString().replace("", + ""); + } catch (IOException e) { + throw new IllegalArgumentException( + "Could not get license file: " + license.getFilename(), e); } return webViewData; } @@ -71,21 +62,19 @@ public class LicenseFragmentHelper extends AsyncTask { * @param context * @return String which is a CSS stylesheet according to the context's theme */ - public static String getLicenseStylesheet(final Context context) { - boolean isLightTheme = ThemeHelper.isLightThemeSelected(context); - return "body{padding:12px 15px;margin:0;background:#" - + getHexRGBColor(context, isLightTheme + private static String getLicenseStylesheet(final Context context) { + final boolean isLightTheme = ThemeHelper.isLightThemeSelected(context); + return "body{padding:12px 15px;margin:0;" + + "background:#" + getHexRGBColor(context, isLightTheme ? R.color.light_license_background_color - : R.color.dark_license_background_color) - + ";color:#" - + getHexRGBColor(context, isLightTheme + : R.color.dark_license_background_color) + ";" + + "color:#" + getHexRGBColor(context, isLightTheme ? R.color.light_license_text_color - : R.color.dark_license_text_color) + ";}" - + "a[href]{color:#" - + getHexRGBColor(context, isLightTheme + : R.color.dark_license_text_color) + "}" + + "a[href]{color:#" + getHexRGBColor(context, isLightTheme ? R.color.light_youtube_primary_color - : R.color.dark_youtube_primary_color) + ";}" - + "pre{white-space: pre-wrap;}"; + : R.color.dark_youtube_primary_color) + "}" + + "pre{white-space:pre-wrap}"; } /** @@ -95,13 +84,13 @@ public class LicenseFragmentHelper extends AsyncTask { * @param color the color number from R.color * @return a six characters long String with hexadecimal RGB values */ - public static String getHexRGBColor(final Context context, final int color) { + private static String getHexRGBColor(final Context context, final int color) { return context.getResources().getString(color).substring(3); } @Nullable private Activity getActivity() { - Activity activity = weakReference.get(); + final Activity activity = weakReference.get(); if (activity != null && activity.isFinishing()) { return null; @@ -118,22 +107,22 @@ public class LicenseFragmentHelper extends AsyncTask { @Override protected void onPostExecute(final Integer result) { - Activity activity = getActivity(); + final Activity activity = getActivity(); if (activity == null) { return; } - String webViewData = getFormattedLicense(activity, license); - AlertDialog.Builder alert = new AlertDialog.Builder(activity); + final String webViewData = Base64.encodeToString(getFormattedLicense(activity, license) + .getBytes(StandardCharsets.UTF_8), Base64.NO_PADDING); + final WebView webView = new WebView(activity); + webView.loadData(webViewData, "text/html; charset=UTF-8", "base64"); + + final AlertDialog.Builder alert = new AlertDialog.Builder(activity); alert.setTitle(license.getName()); - - WebView wv = new WebView(activity); - wv.loadData(webViewData, "text/html; charset=UTF-8", null); - - alert.setView(wv); - assureCorrectAppLanguage(activity.getApplicationContext()); - alert.setNegativeButton(getFinishString(activity), (dialog, which) -> dialog.dismiss()); + alert.setView(webView); + assureCorrectAppLanguage(activity); + alert.setNegativeButton(activity.getString(R.string.finish), + (dialog, which) -> dialog.dismiss()); alert.show(); } - } diff --git a/app/src/main/java/org/schabi/newpipe/database/feed/dao/FeedDAO.kt b/app/src/main/java/org/schabi/newpipe/database/feed/dao/FeedDAO.kt index cba834942..74f5b369e 100644 --- a/app/src/main/java/org/schabi/newpipe/database/feed/dao/FeedDAO.kt +++ b/app/src/main/java/org/schabi/newpipe/database/feed/dao/FeedDAO.kt @@ -1,12 +1,17 @@ package org.schabi.newpipe.database.feed.dao -import androidx.room.* +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query +import androidx.room.Transaction +import androidx.room.Update import io.reactivex.Flowable +import java.util.Date import org.schabi.newpipe.database.feed.model.FeedEntity import org.schabi.newpipe.database.feed.model.FeedLastUpdatedEntity import org.schabi.newpipe.database.stream.model.StreamEntity import org.schabi.newpipe.database.subscription.SubscriptionEntity -import java.util.* @Dao abstract class FeedDAO { diff --git a/app/src/main/java/org/schabi/newpipe/database/feed/dao/FeedGroupDAO.kt b/app/src/main/java/org/schabi/newpipe/database/feed/dao/FeedGroupDAO.kt index d2616f7d6..c8700dea2 100644 --- a/app/src/main/java/org/schabi/newpipe/database/feed/dao/FeedGroupDAO.kt +++ b/app/src/main/java/org/schabi/newpipe/database/feed/dao/FeedGroupDAO.kt @@ -1,6 +1,11 @@ package org.schabi.newpipe.database.feed.dao -import androidx.room.* +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query +import androidx.room.Transaction +import androidx.room.Update import io.reactivex.Flowable import io.reactivex.Maybe import org.schabi.newpipe.database.feed.model.FeedGroupEntity diff --git a/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedEntity.kt b/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedEntity.kt index e73af7fcf..8a1eb65d4 100644 --- a/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedEntity.kt +++ b/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedEntity.kt @@ -27,11 +27,11 @@ import org.schabi.newpipe.database.subscription.SubscriptionEntity ] ) data class FeedEntity( - @ColumnInfo(name = STREAM_ID) - var streamId: Long, + @ColumnInfo(name = STREAM_ID) + var streamId: Long, - @ColumnInfo(name = SUBSCRIPTION_ID) - var subscriptionId: Long + @ColumnInfo(name = SUBSCRIPTION_ID) + var subscriptionId: Long ) { companion object { @@ -40,4 +40,4 @@ data class FeedEntity( const val STREAM_ID = "stream_id" const val SUBSCRIPTION_ID = "subscription_id" } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedGroupEntity.kt b/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedGroupEntity.kt index a84568dd6..e772168fd 100644 --- a/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedGroupEntity.kt +++ b/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedGroupEntity.kt @@ -13,18 +13,18 @@ import org.schabi.newpipe.local.subscription.FeedGroupIcon indices = [Index(SORT_ORDER)] ) data class FeedGroupEntity( - @PrimaryKey(autoGenerate = true) - @ColumnInfo(name = ID) - val uid: Long, + @PrimaryKey(autoGenerate = true) + @ColumnInfo(name = ID) + val uid: Long, - @ColumnInfo(name = NAME) - var name: String, + @ColumnInfo(name = NAME) + var name: String, - @ColumnInfo(name = ICON) - var icon: FeedGroupIcon, + @ColumnInfo(name = ICON) + var icon: FeedGroupIcon, - @ColumnInfo(name = SORT_ORDER) - var sortOrder: Long = -1 + @ColumnInfo(name = SORT_ORDER) + var sortOrder: Long = -1 ) { companion object { const val FEED_GROUP_TABLE = "feed_group" @@ -36,4 +36,4 @@ data class FeedGroupEntity( const val GROUP_ALL_ID = -1L } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedGroupSubscriptionEntity.kt b/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedGroupSubscriptionEntity.kt index 55fe5d4df..eac6bddee 100644 --- a/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedGroupSubscriptionEntity.kt +++ b/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedGroupSubscriptionEntity.kt @@ -29,11 +29,11 @@ import org.schabi.newpipe.database.subscription.SubscriptionEntity ] ) data class FeedGroupSubscriptionEntity( - @ColumnInfo(name = GROUP_ID) - var feedGroupId: Long, + @ColumnInfo(name = GROUP_ID) + var feedGroupId: Long, - @ColumnInfo(name = SUBSCRIPTION_ID) - var subscriptionId: Long + @ColumnInfo(name = SUBSCRIPTION_ID) + var subscriptionId: Long ) { companion object { @@ -42,4 +42,4 @@ data class FeedGroupSubscriptionEntity( const val GROUP_ID = "group_id" const val SUBSCRIPTION_ID = "subscription_id" } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedLastUpdatedEntity.kt b/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedLastUpdatedEntity.kt index d6d7e7dec..78b2550a5 100644 --- a/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedLastUpdatedEntity.kt +++ b/app/src/main/java/org/schabi/newpipe/database/feed/model/FeedLastUpdatedEntity.kt @@ -4,10 +4,10 @@ import androidx.room.ColumnInfo import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.PrimaryKey +import java.util.Date import org.schabi.newpipe.database.feed.model.FeedLastUpdatedEntity.Companion.FEED_LAST_UPDATED_TABLE import org.schabi.newpipe.database.feed.model.FeedLastUpdatedEntity.Companion.SUBSCRIPTION_ID import org.schabi.newpipe.database.subscription.SubscriptionEntity -import java.util.* @Entity( tableName = FEED_LAST_UPDATED_TABLE, @@ -20,12 +20,12 @@ import java.util.* ] ) data class FeedLastUpdatedEntity( - @PrimaryKey - @ColumnInfo(name = SUBSCRIPTION_ID) - var subscriptionId: Long, + @PrimaryKey + @ColumnInfo(name = SUBSCRIPTION_ID) + var subscriptionId: Long, - @ColumnInfo(name = LAST_UPDATED) - var lastUpdated: Date? = null + @ColumnInfo(name = LAST_UPDATED) + var lastUpdated: Date? = null ) { companion object { @@ -34,4 +34,4 @@ data class FeedLastUpdatedEntity( const val SUBSCRIPTION_ID = "subscription_id" const val LAST_UPDATED = "last_updated" } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/database/history/model/StreamHistoryEntry.kt b/app/src/main/java/org/schabi/newpipe/database/history/model/StreamHistoryEntry.kt index e06ecee36..c653e6c6f 100644 --- a/app/src/main/java/org/schabi/newpipe/database/history/model/StreamHistoryEntry.kt +++ b/app/src/main/java/org/schabi/newpipe/database/history/model/StreamHistoryEntry.kt @@ -2,21 +2,21 @@ package org.schabi.newpipe.database.history.model import androidx.room.ColumnInfo import androidx.room.Embedded +import java.util.Date import org.schabi.newpipe.database.stream.model.StreamEntity -import java.util.* data class StreamHistoryEntry( - @Embedded - val streamEntity: StreamEntity, + @Embedded + val streamEntity: StreamEntity, - @ColumnInfo(name = StreamHistoryEntity.JOIN_STREAM_ID) - val streamId: Long, + @ColumnInfo(name = StreamHistoryEntity.JOIN_STREAM_ID) + val streamId: Long, - @ColumnInfo(name = StreamHistoryEntity.STREAM_ACCESS_DATE) - val accessDate: Date, + @ColumnInfo(name = StreamHistoryEntity.STREAM_ACCESS_DATE) + val accessDate: Date, - @ColumnInfo(name = StreamHistoryEntity.STREAM_REPEAT_COUNT) - val repeatCount: Long + @ColumnInfo(name = StreamHistoryEntity.STREAM_REPEAT_COUNT) + val repeatCount: Long ) { fun toStreamHistoryEntity(): StreamHistoryEntity { diff --git a/app/src/main/java/org/schabi/newpipe/database/playlist/PlaylistStreamEntry.kt b/app/src/main/java/org/schabi/newpipe/database/playlist/PlaylistStreamEntry.kt index afaf599b9..c349a3761 100644 --- a/app/src/main/java/org/schabi/newpipe/database/playlist/PlaylistStreamEntry.kt +++ b/app/src/main/java/org/schabi/newpipe/database/playlist/PlaylistStreamEntry.kt @@ -8,14 +8,14 @@ import org.schabi.newpipe.database.stream.model.StreamEntity import org.schabi.newpipe.extractor.stream.StreamInfoItem class PlaylistStreamEntry( - @Embedded - val streamEntity: StreamEntity, + @Embedded + val streamEntity: StreamEntity, - @ColumnInfo(name = PlaylistStreamEntity.JOIN_STREAM_ID) - val streamId: Long, + @ColumnInfo(name = PlaylistStreamEntity.JOIN_STREAM_ID) + val streamId: Long, - @ColumnInfo(name = PlaylistStreamEntity.JOIN_INDEX) - val joinIndex: Int + @ColumnInfo(name = PlaylistStreamEntity.JOIN_INDEX) + val joinIndex: Int ) : LocalItem { @Throws(IllegalArgumentException::class) diff --git a/app/src/main/java/org/schabi/newpipe/database/stream/StreamStatisticsEntry.kt b/app/src/main/java/org/schabi/newpipe/database/stream/StreamStatisticsEntry.kt index 70081f8ed..dde1f0392 100644 --- a/app/src/main/java/org/schabi/newpipe/database/stream/StreamStatisticsEntry.kt +++ b/app/src/main/java/org/schabi/newpipe/database/stream/StreamStatisticsEntry.kt @@ -2,24 +2,24 @@ package org.schabi.newpipe.database.stream import androidx.room.ColumnInfo import androidx.room.Embedded +import java.util.Date import org.schabi.newpipe.database.LocalItem import org.schabi.newpipe.database.history.model.StreamHistoryEntity import org.schabi.newpipe.database.stream.model.StreamEntity import org.schabi.newpipe.extractor.stream.StreamInfoItem -import java.util.* class StreamStatisticsEntry( - @Embedded - val streamEntity: StreamEntity, + @Embedded + val streamEntity: StreamEntity, - @ColumnInfo(name = StreamHistoryEntity.JOIN_STREAM_ID) - val streamId: Long, + @ColumnInfo(name = StreamHistoryEntity.JOIN_STREAM_ID) + val streamId: Long, - @ColumnInfo(name = STREAM_LATEST_DATE) - val latestAccessDate: Date, + @ColumnInfo(name = STREAM_LATEST_DATE) + val latestAccessDate: Date, - @ColumnInfo(name = STREAM_WATCH_COUNT) - val watchCount: Long + @ColumnInfo(name = STREAM_WATCH_COUNT) + val watchCount: Long ) : LocalItem { fun toStreamInfoItem(): StreamInfoItem { diff --git a/app/src/main/java/org/schabi/newpipe/database/stream/dao/StreamDAO.kt b/app/src/main/java/org/schabi/newpipe/database/stream/dao/StreamDAO.kt index 517f3cf0b..921c08b46 100644 --- a/app/src/main/java/org/schabi/newpipe/database/stream/dao/StreamDAO.kt +++ b/app/src/main/java/org/schabi/newpipe/database/stream/dao/StreamDAO.kt @@ -1,15 +1,19 @@ package org.schabi.newpipe.database.stream.dao -import androidx.room.* +import androidx.room.ColumnInfo +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query +import androidx.room.Transaction import io.reactivex.Flowable +import java.util.Date import org.schabi.newpipe.database.BasicDAO import org.schabi.newpipe.database.stream.model.StreamEntity import org.schabi.newpipe.database.stream.model.StreamEntity.Companion.STREAM_ID import org.schabi.newpipe.extractor.stream.StreamType import org.schabi.newpipe.extractor.stream.StreamType.AUDIO_LIVE_STREAM import org.schabi.newpipe.extractor.stream.StreamType.LIVE_STREAM -import java.util.* -import kotlin.collections.ArrayList @Dao abstract class StreamDAO : BasicDAO { @@ -94,7 +98,6 @@ abstract class StreamDAO : BasicDAO { if (existentMinimalStream.duration > 0 && newerStream.duration < 0) { newerStream.duration = existentMinimalStream.duration } - } } @@ -116,21 +119,22 @@ abstract class StreamDAO : BasicDAO { * Minimal entry class used when comparing/updating an existent stream. */ internal data class StreamCompareFeed( - @ColumnInfo(name = STREAM_ID) - var uid: Long = 0, + @ColumnInfo(name = STREAM_ID) + var uid: Long = 0, - @ColumnInfo(name = StreamEntity.STREAM_TYPE) - var streamType: StreamType, + @ColumnInfo(name = StreamEntity.STREAM_TYPE) + var streamType: StreamType, - @ColumnInfo(name = StreamEntity.STREAM_TEXTUAL_UPLOAD_DATE) - var textualUploadDate: String? = null, + @ColumnInfo(name = StreamEntity.STREAM_TEXTUAL_UPLOAD_DATE) + var textualUploadDate: String? = null, - @ColumnInfo(name = StreamEntity.STREAM_UPLOAD_DATE) - var uploadDate: Date? = null, + @ColumnInfo(name = StreamEntity.STREAM_UPLOAD_DATE) + var uploadDate: Date? = null, - @ColumnInfo(name = StreamEntity.STREAM_IS_UPLOAD_DATE_APPROXIMATION) - var isUploadDateApproximation: Boolean? = null, + @ColumnInfo(name = StreamEntity.STREAM_IS_UPLOAD_DATE_APPROXIMATION) + var isUploadDateApproximation: Boolean? = null, - @ColumnInfo(name = StreamEntity.STREAM_DURATION) - var duration: Long) + @ColumnInfo(name = StreamEntity.STREAM_DURATION) + var duration: Long + ) } diff --git a/app/src/main/java/org/schabi/newpipe/database/stream/model/StreamEntity.kt b/app/src/main/java/org/schabi/newpipe/database/stream/model/StreamEntity.kt index 5ec2999f4..d13f5cc2d 100644 --- a/app/src/main/java/org/schabi/newpipe/database/stream/model/StreamEntity.kt +++ b/app/src/main/java/org/schabi/newpipe/database/stream/model/StreamEntity.kt @@ -1,6 +1,13 @@ package org.schabi.newpipe.database.stream.model -import androidx.room.* +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.Ignore +import androidx.room.Index +import androidx.room.PrimaryKey +import java.io.Serializable +import java.util.Calendar +import java.util.Date import org.schabi.newpipe.database.stream.model.StreamEntity.Companion.STREAM_SERVICE_ID import org.schabi.newpipe.database.stream.model.StreamEntity.Companion.STREAM_TABLE import org.schabi.newpipe.database.stream.model.StreamEntity.Companion.STREAM_URL @@ -9,8 +16,6 @@ import org.schabi.newpipe.extractor.stream.StreamInfo import org.schabi.newpipe.extractor.stream.StreamInfoItem import org.schabi.newpipe.extractor.stream.StreamType import org.schabi.newpipe.player.playqueue.PlayQueueItem -import java.io.Serializable -import java.util.* @Entity(tableName = STREAM_TABLE, indices = [ @@ -18,42 +23,42 @@ import java.util.* ] ) data class StreamEntity( - @PrimaryKey(autoGenerate = true) - @ColumnInfo(name = STREAM_ID) - var uid: Long = 0, + @PrimaryKey(autoGenerate = true) + @ColumnInfo(name = STREAM_ID) + var uid: Long = 0, - @ColumnInfo(name = STREAM_SERVICE_ID) - var serviceId: Int, + @ColumnInfo(name = STREAM_SERVICE_ID) + var serviceId: Int, - @ColumnInfo(name = STREAM_URL) - var url: String, + @ColumnInfo(name = STREAM_URL) + var url: String, - @ColumnInfo(name = STREAM_TITLE) - var title: String, + @ColumnInfo(name = STREAM_TITLE) + var title: String, - @ColumnInfo(name = STREAM_TYPE) - var streamType: StreamType, + @ColumnInfo(name = STREAM_TYPE) + var streamType: StreamType, - @ColumnInfo(name = STREAM_DURATION) - var duration: Long, + @ColumnInfo(name = STREAM_DURATION) + var duration: Long, - @ColumnInfo(name = STREAM_UPLOADER) - var uploader: String, + @ColumnInfo(name = STREAM_UPLOADER) + var uploader: String, - @ColumnInfo(name = STREAM_THUMBNAIL_URL) - var thumbnailUrl: String? = null, + @ColumnInfo(name = STREAM_THUMBNAIL_URL) + var thumbnailUrl: String? = null, - @ColumnInfo(name = STREAM_VIEWS) - var viewCount: Long? = null, + @ColumnInfo(name = STREAM_VIEWS) + var viewCount: Long? = null, - @ColumnInfo(name = STREAM_TEXTUAL_UPLOAD_DATE) - var textualUploadDate: String? = null, + @ColumnInfo(name = STREAM_TEXTUAL_UPLOAD_DATE) + var textualUploadDate: String? = null, - @ColumnInfo(name = STREAM_UPLOAD_DATE) - var uploadDate: Date? = null, + @ColumnInfo(name = STREAM_UPLOAD_DATE) + var uploadDate: Date? = null, - @ColumnInfo(name = STREAM_IS_UPLOAD_DATE_APPROXIMATION) - var isUploadDateApproximation: Boolean? = null + @ColumnInfo(name = STREAM_IS_UPLOAD_DATE_APPROXIMATION) + var isUploadDateApproximation: Boolean? = null ) : Serializable { @Ignore diff --git a/app/src/main/java/org/schabi/newpipe/database/subscription/SubscriptionDAO.kt b/app/src/main/java/org/schabi/newpipe/database/subscription/SubscriptionDAO.kt index 0269b5b17..573fa4b90 100644 --- a/app/src/main/java/org/schabi/newpipe/database/subscription/SubscriptionDAO.kt +++ b/app/src/main/java/org/schabi/newpipe/database/subscription/SubscriptionDAO.kt @@ -1,6 +1,10 @@ package org.schabi.newpipe.database.subscription -import androidx.room.* +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query +import androidx.room.Transaction import io.reactivex.Flowable import io.reactivex.Maybe import org.schabi.newpipe.database.BasicDAO diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java index ac6ac0717..cad0258da 100644 --- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java +++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java @@ -396,13 +396,11 @@ public class DownloadDialog extends DialogFragment Log.d(TAG, "initToolbar() called with: toolbar = [" + toolbar + "]"); } - boolean isLight = ThemeHelper.isLightThemeSelected(getActivity()); - toolbar.setTitle(R.string.download_dialog_title); - toolbar.setNavigationIcon(isLight ? R.drawable.ic_arrow_back_black_24dp - : R.drawable.ic_arrow_back_white_24dp); + toolbar.setNavigationIcon( + ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_arrow_back)); toolbar.inflateMenu(R.menu.dialog_url); - toolbar.setNavigationOnClickListener(v -> getDialog().dismiss()); + toolbar.setNavigationOnClickListener(v -> requireDialog().dismiss()); toolbar.setNavigationContentDescription(R.string.cancel); okButton = toolbar.findViewById(R.id.okay); diff --git a/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java index 52c1afb93..709dac368 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java @@ -1,7 +1,9 @@ package org.schabi.newpipe.fragments; import android.content.Context; +import android.content.res.ColorStateList; import android.os.Bundle; +import android.preference.PreferenceManager; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -30,6 +32,7 @@ import org.schabi.newpipe.settings.tabs.Tab; import org.schabi.newpipe.settings.tabs.TabsManager; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.ServiceHelper; +import org.schabi.newpipe.util.ThemeHelper; import org.schabi.newpipe.views.ScrollableTabLayout; import java.util.ArrayList; @@ -45,6 +48,9 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte private boolean hasTabsChanged = false; + private boolean previousYoutubeRestrictedModeEnabled; + private String youtubeRestrictedModeEnabledKey; + /*////////////////////////////////////////////////////////////////////////// // Fragment's LifeCycle //////////////////////////////////////////////////////////////////////////*/ @@ -53,7 +59,6 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); - tabsManager = TabsManager.getManager(activity); tabsManager.setSavedTabsListener(() -> { if (DEBUG) { @@ -66,6 +71,11 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte hasTabsChanged = true; } }); + + youtubeRestrictedModeEnabledKey = getString(R.string.youtube_restricted_mode_enabled); + previousYoutubeRestrictedModeEnabled = + PreferenceManager.getDefaultSharedPreferences(getContext()) + .getBoolean(youtubeRestrictedModeEnabledKey, false); } @Override @@ -82,6 +92,8 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte tabLayout = rootView.findViewById(R.id.main_tab_layout); viewPager = rootView.findViewById(R.id.pager); + tabLayout.setTabIconTint(ColorStateList.valueOf( + ThemeHelper.resolveColorFromAttr(requireContext(), R.attr.colorAccent))); tabLayout.setupWithViewPager(viewPager); tabLayout.addOnTabSelectedListener(this); @@ -92,7 +104,13 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte public void onResume() { super.onResume(); - if (hasTabsChanged) { + boolean youtubeRestrictedModeEnabled = + PreferenceManager.getDefaultSharedPreferences(getContext()) + .getBoolean(youtubeRestrictedModeEnabledKey, false); + if (previousYoutubeRestrictedModeEnabled != youtubeRestrictedModeEnabled) { + previousYoutubeRestrictedModeEnabled = youtubeRestrictedModeEnabled; + setupTabs(); + } else if (hasTabsChanged) { setupTabs(); } } 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 35352c013..36e7a206c 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 @@ -4,6 +4,7 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Build; import android.os.Bundle; @@ -35,6 +36,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.content.res.AppCompatResources; import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.viewpager.widget.ViewPager; @@ -85,6 +87,7 @@ import org.schabi.newpipe.util.PermissionHelper; import org.schabi.newpipe.util.ShareUtils; import org.schabi.newpipe.util.StreamItemAdapter; import org.schabi.newpipe.util.StreamItemAdapter.StreamSizeWrapper; +import org.schabi.newpipe.util.ThemeHelper; import org.schabi.newpipe.views.AnimatedProgressBar; import org.schabi.newpipe.views.LargeTextMovementMethod; @@ -175,6 +178,8 @@ public class VideoDetailFragment extends BaseStateFragment private View uploaderRootLayout; private TextView uploaderTextView; private ImageView uploaderThumb; + private TextView subChannelTextView; + private ImageView subChannelThumb; private TextView thumbsUpTextView; private ImageView thumbsUpImageView; @@ -419,18 +424,17 @@ public class VideoDetailFragment extends BaseStateFragment } break; case R.id.detail_uploader_root_layout: - if (TextUtils.isEmpty(currentInfo.getUploaderUrl())) { - Log.w(TAG, "Can't open channel because we got no channel URL"); - } else { - try { - NavigationHelper.openChannelFragment( - getFragmentManager(), - currentInfo.getServiceId(), - currentInfo.getUploaderUrl(), - currentInfo.getUploaderName()); - } catch (Exception e) { - ErrorActivity.reportUiError((AppCompatActivity) getActivity(), e); + if (TextUtils.isEmpty(currentInfo.getSubChannelUrl())) { + if (!TextUtils.isEmpty(currentInfo.getUploaderUrl())) { + openChannel(currentInfo.getUploaderUrl(), currentInfo.getUploaderName()); } + + if (DEBUG) { + Log.i(TAG, "Can't open sub-channel because we got no channel URL"); + } + } else { + openChannel(currentInfo.getSubChannelUrl(), + currentInfo.getSubChannelName()); } break; case R.id.detail_thumbnail_root_layout: @@ -447,6 +451,18 @@ public class VideoDetailFragment extends BaseStateFragment } } + private void openChannel(final String subChannelUrl, final String subChannelName) { + try { + NavigationHelper.openChannelFragment( + getFragmentManager(), + currentInfo.getServiceId(), + subChannelUrl, + subChannelName); + } catch (Exception e) { + ErrorActivity.reportUiError((AppCompatActivity) getActivity(), e); + } + } + @Override public boolean onLongClick(final View v) { if (isLoading.get() || currentInfo == null) { @@ -463,6 +479,15 @@ public class VideoDetailFragment extends BaseStateFragment case R.id.detail_controls_download: NavigationHelper.openDownloads(getActivity()); break; + + case R.id.detail_uploader_root_layout: + if (TextUtils.isEmpty(currentInfo.getSubChannelUrl())) { + Log.w(TAG, + "Can't open parent channel because we got no parent channel URL"); + } else { + openChannel(currentInfo.getUploaderUrl(), currentInfo.getUploaderName()); + } + break; } return true; @@ -473,13 +498,15 @@ public class VideoDetailFragment extends BaseStateFragment videoTitleTextView.setMaxLines(1); videoDescriptionRootLayout.setVisibility(View.GONE); videoDescriptionView.setFocusable(false); - videoTitleToggleArrow.setImageResource(R.drawable.arrow_down); + videoTitleToggleArrow.setImageResource( + ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_expand_more)); } else { videoTitleTextView.setMaxLines(10); videoDescriptionRootLayout.setVisibility(View.VISIBLE); videoDescriptionView.setFocusable(true); videoDescriptionView.setMovementMethod(new LargeTextMovementMethod()); - videoTitleToggleArrow.setImageResource(R.drawable.arrow_up); + videoTitleToggleArrow.setImageResource( + ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_expand_less)); } } @@ -525,6 +552,8 @@ public class VideoDetailFragment extends BaseStateFragment uploaderRootLayout = rootView.findViewById(R.id.detail_uploader_root_layout); uploaderTextView = rootView.findViewById(R.id.detail_uploader_text_view); uploaderThumb = rootView.findViewById(R.id.detail_uploader_thumbnail_view); + subChannelTextView = rootView.findViewById(R.id.detail_sub_channel_text_view); + subChannelThumb = rootView.findViewById(R.id.detail_sub_channel_thumbnail_view); appBarLayout = rootView.findViewById(R.id.appbarlayout); viewPager = rootView.findViewById(R.id.viewpager); @@ -554,8 +583,9 @@ public class VideoDetailFragment extends BaseStateFragment protected void initListeners() { super.initListeners(); - videoTitleRoot.setOnClickListener(this); uploaderRootLayout.setOnClickListener(this); + uploaderRootLayout.setOnLongClickListener(this); + videoTitleRoot.setOnClickListener(this); thumbnailBackgroundButton.setOnClickListener(this); detailControlsBackground.setOnClickListener(this); detailControlsPopup.setOnClickListener(this); @@ -603,6 +633,11 @@ public class VideoDetailFragment extends BaseStateFragment ImageDisplayConstants.DISPLAY_THUMBNAIL_OPTIONS, onFailListener); } + if (!TextUtils.isEmpty(info.getSubChannelAvatarUrl())) { + IMAGE_LOADER.displayImage(info.getSubChannelAvatarUrl(), subChannelThumb, + ImageDisplayConstants.DISPLAY_AVATAR_OPTIONS); + } + if (!TextUtils.isEmpty(info.getUploaderAvatarUrl())) { IMAGE_LOADER.displayImage(info.getUploaderAvatarUrl(), uploaderThumb, ImageDisplayConstants.DISPLAY_AVATAR_OPTIONS); @@ -632,9 +667,10 @@ public class VideoDetailFragment extends BaseStateFragment } private void updateMenuItemVisibility() { - // show kodi if set in settings + // show kodi button if it supports the current service and it is enabled in settings menu.findItem(R.id.action_play_with_kodi).setVisible( - PreferenceManager.getDefaultSharedPreferences(activity).getBoolean( + KoreUtil.isServiceSupportedByKore(serviceId) + && PreferenceManager.getDefaultSharedPreferences(activity).getBoolean( activity.getString(R.string.show_play_with_kodi_key), false)); } @@ -665,8 +701,7 @@ public class VideoDetailFragment extends BaseStateFragment return true; case R.id.action_play_with_kodi: try { - NavigationHelper.playWithKore(activity, Uri.parse( - url.replace("https", "http"))); + NavigationHelper.playWithKore(activity, Uri.parse(currentInfo.getUrl())); } catch (Exception e) { if (DEBUG) { Log.i(TAG, "Failed to start kore", e); @@ -964,7 +999,7 @@ public class VideoDetailFragment extends BaseStateFragment @NonNull final StreamInfo info, @NonNull final Stream selectedStream) { NavigationHelper.playOnExternalPlayer(context, currentInfo.getName(), - currentInfo.getUploaderName(), selectedStream); + currentInfo.getSubChannelName(), selectedStream); final HistoryRecordManager recordManager = new HistoryRecordManager(requireContext()); disposables.add(recordManager.onViewed(info).onErrorComplete() @@ -1043,7 +1078,8 @@ public class VideoDetailFragment extends BaseStateFragment return; } - thumbnailImageView.setImageDrawable(ContextCompat.getDrawable(activity, imageResource)); + thumbnailImageView.setImageDrawable( + AppCompatResources.getDrawable(requireContext(), imageResource)); animateView(thumbnailImageView, false, 0, 0, () -> animateView(thumbnailImageView, true, 500)); } @@ -1084,7 +1120,6 @@ public class VideoDetailFragment extends BaseStateFragment animateView(videoTitleTextView, true, 0); videoDescriptionRootLayout.setVisibility(View.GONE); - videoTitleToggleArrow.setImageResource(R.drawable.arrow_down); videoTitleToggleArrow.setVisibility(View.GONE); videoTitleRoot.setClickable(false); @@ -1097,9 +1132,9 @@ public class VideoDetailFragment extends BaseStateFragment } IMAGE_LOADER.cancelDisplayTask(thumbnailImageView); - IMAGE_LOADER.cancelDisplayTask(uploaderThumb); + IMAGE_LOADER.cancelDisplayTask(subChannelThumb); thumbnailImageView.setImageBitmap(null); - uploaderThumb.setImageBitmap(null); + subChannelThumb.setImageBitmap(null); } @Override @@ -1127,14 +1162,18 @@ public class VideoDetailFragment extends BaseStateFragment animateView(thumbnailPlayButton, true, 200); videoTitleTextView.setText(name); - if (!TextUtils.isEmpty(info.getUploaderName())) { - uploaderTextView.setText(info.getUploaderName()); - uploaderTextView.setVisibility(View.VISIBLE); - uploaderTextView.setSelected(true); + if (!TextUtils.isEmpty(info.getSubChannelName())) { + displayBothUploaderAndSubChannel(info); + } else if (!TextUtils.isEmpty(info.getUploaderName())) { + displayUploaderAsSubChannel(info); } else { uploaderTextView.setVisibility(View.GONE); + uploaderThumb.setVisibility(View.GONE); } - uploaderThumb.setImageDrawable(ContextCompat.getDrawable(activity, R.drawable.buddy)); + + Drawable buddyDrawable = AppCompatResources.getDrawable(activity, R.drawable.buddy); + subChannelThumb.setImageDrawable(buddyDrawable); + uploaderThumb.setImageDrawable(buddyDrawable); if (info.getViewCount() >= 0) { if (info.getStreamType().equals(StreamType.AUDIO_LIVE_STREAM)) { @@ -1196,8 +1235,9 @@ public class VideoDetailFragment extends BaseStateFragment videoDescriptionView.setVisibility(View.GONE); videoTitleRoot.setClickable(true); + videoTitleToggleArrow.setImageResource( + ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_expand_more)); videoTitleToggleArrow.setVisibility(View.VISIBLE); - videoTitleToggleArrow.setImageResource(R.drawable.arrow_down); videoDescriptionRootLayout.setVisibility(View.GONE); if (info.getUploadDate() != null) { @@ -1243,7 +1283,7 @@ public class VideoDetailFragment extends BaseStateFragment detailControlsPopup.setVisibility(View.GONE); spinnerToolbar.setVisibility(View.GONE); - thumbnailPlayButton.setImageResource(R.drawable.ic_headset_white_24dp); + thumbnailPlayButton.setImageResource(R.drawable.ic_headset_shadow); break; } @@ -1265,6 +1305,31 @@ public class VideoDetailFragment extends BaseStateFragment tabLayout.setVisibility(View.GONE); } + private void displayUploaderAsSubChannel(final StreamInfo info) { + subChannelTextView.setText(info.getUploaderName()); + subChannelTextView.setVisibility(View.VISIBLE); + subChannelTextView.setSelected(true); + uploaderTextView.setVisibility(View.GONE); + } + + private void displayBothUploaderAndSubChannel(final StreamInfo info) { + subChannelTextView.setText(info.getSubChannelName()); + subChannelTextView.setVisibility(View.VISIBLE); + subChannelTextView.setSelected(true); + + subChannelThumb.setVisibility(View.VISIBLE); + + if (!TextUtils.isEmpty(info.getUploaderName())) { + uploaderTextView.setText( + String.format(getString(R.string.video_detail_by), info.getUploaderName())); + uploaderTextView.setVisibility(View.VISIBLE); + uploaderTextView.setSelected(true); + } else { + uploaderTextView.setVisibility(View.GONE); + } + } + + public void openDownloadDialog() { try { DownloadDialog downloadDialog = DownloadDialog.newInstance(currentInfo); diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java index ad8d25d3a..b88d375ff 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java @@ -21,6 +21,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; import com.jakewharton.rxbinding2.view.RxView; @@ -38,6 +39,7 @@ import org.schabi.newpipe.fragments.list.BaseListInfoFragment; import org.schabi.newpipe.local.subscription.SubscriptionManager; import org.schabi.newpipe.player.playqueue.ChannelPlayQueue; import org.schabi.newpipe.player.playqueue.PlayQueue; +import org.schabi.newpipe.report.ErrorActivity; import org.schabi.newpipe.report.UserAction; import org.schabi.newpipe.util.AnimationUtils; import org.schabi.newpipe.util.ExtractorHelper; @@ -45,6 +47,7 @@ import org.schabi.newpipe.util.ImageDisplayConstants; import org.schabi.newpipe.util.Localization; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.ShareUtils; +import org.schabi.newpipe.util.ThemeHelper; import java.util.ArrayList; import java.util.Iterator; @@ -65,7 +68,8 @@ import static org.schabi.newpipe.util.AnimationUtils.animateBackgroundColor; import static org.schabi.newpipe.util.AnimationUtils.animateTextColor; import static org.schabi.newpipe.util.AnimationUtils.animateView; -public class ChannelFragment extends BaseListInfoFragment { +public class ChannelFragment extends BaseListInfoFragment + implements View.OnClickListener { private static final int BUTTON_DEBOUNCE_INTERVAL = 100; private final CompositeDisposable disposables = new CompositeDisposable(); private Disposable subscribeButtonMonitor; @@ -79,6 +83,8 @@ public class ChannelFragment extends BaseListInfoFragment { private ImageView headerChannelBanner; private ImageView headerAvatarView; private TextView headerTitleView; + private ImageView headerSubChannelAvatarView; + private TextView headerSubChannelTitleView; private TextView headerSubscribersTextView; private Button headerSubscribeButton; private View playlistCtrl; @@ -156,7 +162,10 @@ public class ChannelFragment extends BaseListInfoFragment { headerSubscribersTextView = headerRootLayout.findViewById(R.id.channel_subscriber_view); headerSubscribeButton = headerRootLayout.findViewById(R.id.channel_subscribe_button); playlistCtrl = headerRootLayout.findViewById(R.id.playlist_control); - + headerSubChannelAvatarView = + headerRootLayout.findViewById(R.id.sub_channel_avatar_view); + headerSubChannelTitleView = + headerRootLayout.findViewById(R.id.sub_channel_title_view); headerPlayAllButton = headerRootLayout.findViewById(R.id.playlist_ctrl_play_all_button); headerPopupButton = headerRootLayout.findViewById(R.id.playlist_ctrl_play_popup_button); @@ -165,6 +174,14 @@ public class ChannelFragment extends BaseListInfoFragment { return headerRootLayout; } + @Override + protected void initListeners() { + super.initListeners(); + + headerSubChannelTitleView.setOnClickListener(this); + headerSubChannelAvatarView.setOnClickListener(this); + } + /*////////////////////////////////////////////////////////////////////////// // Menu //////////////////////////////////////////////////////////////////////////*/ @@ -358,8 +375,8 @@ public class ChannelFragment extends BaseListInfoFragment { int backgroundDuration = isButtonVisible ? 300 : 0; int textDuration = isButtonVisible ? 200 : 0; - int subscribeBackground = ContextCompat - .getColor(activity, R.color.subscribe_background_color); + int subscribeBackground = ThemeHelper + .resolveColorFromAttr(activity, R.attr.colorPrimary); int subscribeText = ContextCompat.getColor(activity, R.color.subscribe_text_color); int subscribedBackground = ContextCompat .getColor(activity, R.color.subscribed_background_color); @@ -394,6 +411,34 @@ public class ChannelFragment extends BaseListInfoFragment { return ExtractorHelper.getChannelInfo(serviceId, url, forceLoad); } + /*////////////////////////////////////////////////////////////////////////// + // OnClick + //////////////////////////////////////////////////////////////////////////*/ + + @Override + public void onClick(final View v) { + if (isLoading.get() || currentInfo == null) { + return; + } + + switch (v.getId()) { + case R.id.sub_channel_avatar_view: + case R.id.sub_channel_title_view: + if (!TextUtils.isEmpty(currentInfo.getParentChannelUrl())) { + try { + NavigationHelper.openChannelFragment(getFragmentManager(), + currentInfo.getServiceId(), currentInfo.getParentChannelUrl(), + currentInfo.getParentChannelName()); + } catch (Exception e) { + ErrorActivity.reportUiError((AppCompatActivity) getActivity(), e); + } + } else if (DEBUG) { + Log.i(TAG, "Can't open parent channel because we got no channel URL"); + } + break; + } + } + /*////////////////////////////////////////////////////////////////////////// // Contract //////////////////////////////////////////////////////////////////////////*/ @@ -404,6 +449,7 @@ public class ChannelFragment extends BaseListInfoFragment { IMAGE_LOADER.cancelDisplayTask(headerChannelBanner); IMAGE_LOADER.cancelDisplayTask(headerAvatarView); + IMAGE_LOADER.cancelDisplayTask(headerSubChannelAvatarView); animateView(headerSubscribeButton, false, 100); } @@ -416,6 +462,8 @@ public class ChannelFragment extends BaseListInfoFragment { ImageDisplayConstants.DISPLAY_BANNER_OPTIONS); IMAGE_LOADER.displayImage(result.getAvatarUrl(), headerAvatarView, ImageDisplayConstants.DISPLAY_AVATAR_OPTIONS); + IMAGE_LOADER.displayImage(result.getParentChannelAvatarUrl(), headerSubChannelAvatarView, + ImageDisplayConstants.DISPLAY_AVATAR_OPTIONS); headerSubscribersTextView.setVisibility(View.VISIBLE); if (result.getSubscriberCount() >= 0) { @@ -425,6 +473,17 @@ public class ChannelFragment extends BaseListInfoFragment { headerSubscribersTextView.setText(R.string.subscribers_count_not_available); } + if (!TextUtils.isEmpty(currentInfo.getParentChannelName())) { + headerSubChannelTitleView.setText(String.format( + getString(R.string.channel_created_by), + currentInfo.getParentChannelName()) + ); + headerSubChannelTitleView.setVisibility(View.VISIBLE); + headerSubChannelAvatarView.setVisibility(View.VISIBLE); + } else { + headerSubChannelTitleView.setVisibility(View.GONE); + } + if (menuRssButton != null) { menuRssButton.setVisible(!TextUtils.isEmpty(result.getFeedUrl())); } 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 ffce053b0..5e36d81a2 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 @@ -41,12 +41,12 @@ import org.schabi.newpipe.extractor.StreamingService; import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.search.SearchExtractor; import org.schabi.newpipe.extractor.search.SearchInfo; -import org.schabi.newpipe.util.AndroidTvUtils; import org.schabi.newpipe.fragments.BackPressable; import org.schabi.newpipe.fragments.list.BaseListFragment; import org.schabi.newpipe.local.history.HistoryRecordManager; import org.schabi.newpipe.report.ErrorActivity; import org.schabi.newpipe.report.UserAction; +import org.schabi.newpipe.util.AndroidTvUtils; import org.schabi.newpipe.util.AnimationUtils; import org.schabi.newpipe.util.Constants; import org.schabi.newpipe.util.ExtractorHelper; diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/search/SuggestionListAdapter.java b/app/src/main/java/org/schabi/newpipe/fragments/list/search/SuggestionListAdapter.java index 9b7aa8fdf..608ea77d2 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/list/search/SuggestionListAdapter.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/list/search/SuggestionListAdapter.java @@ -117,8 +117,8 @@ public class SuggestionListAdapter queryView = rootView.findViewById(R.id.suggestion_search); insertView = rootView.findViewById(R.id.suggestion_insert); - historyResId = resolveResourceIdFromAttr(rootView.getContext(), R.attr.history); - searchResId = resolveResourceIdFromAttr(rootView.getContext(), R.attr.search); + historyResId = resolveResourceIdFromAttr(rootView.getContext(), R.attr.ic_history); + searchResId = resolveResourceIdFromAttr(rootView.getContext(), R.attr.ic_search); } private static int resolveResourceIdFromAttr(final Context context, diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsInfoItemHolder.java index 4e74bad79..842d9c455 100644 --- a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsInfoItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsInfoItemHolder.java @@ -48,6 +48,6 @@ public class CommentsInfoItemHolder extends CommentsMiniInfoItemHolder { } final CommentsInfoItem item = (CommentsInfoItem) infoItem; - itemTitleView.setText(item.getAuthorName()); + itemTitleView.setText(item.getUploaderName()); } } diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java index 7214a05d6..69f08f340 100644 --- a/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/CommentsMiniInfoItemHolder.java @@ -3,6 +3,7 @@ package org.schabi.newpipe.info_list.holder; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; +import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.text.style.URLSpan; import android.text.util.Linkify; @@ -12,7 +13,6 @@ import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; -import org.jsoup.helper.StringUtil; import org.schabi.newpipe.R; import org.schabi.newpipe.extractor.InfoItem; import org.schabi.newpipe.extractor.comments.CommentsInfoItem; @@ -89,7 +89,7 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { final CommentsInfoItem item = (CommentsInfoItem) infoItem; itemBuilder.getImageLoader() - .displayImage(item.getAuthorThumbnail(), + .displayImage(item.getUploaderAvatarUrl(), itemThumbnailView, ImageDisplayConstants.DISPLAY_THUMBNAIL_OPTIONS); @@ -114,10 +114,10 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { itemLikesCountView.setText("-"); } - if (item.getPublishedTime() != null) { - itemPublishedTime.setText(Localization.relativeTime(item.getPublishedTime().date())); + if (item.getUploadDate() != null) { + itemPublishedTime.setText(Localization.relativeTime(item.getUploadDate().date())); } else { - itemPublishedTime.setText(item.getTextualPublishedTime()); + itemPublishedTime.setText(item.getTextualUploadDate()); } itemView.setOnClickListener(view -> { @@ -143,7 +143,7 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { } private void openCommentAuthor(final CommentsInfoItem item) { - if (StringUtil.isBlank(item.getAuthorEndpoint())) { + if (TextUtils.isEmpty(item.getUploaderUrl())) { return; } try { @@ -151,8 +151,8 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder { NavigationHelper.openChannelFragment( activity.getSupportFragmentManager(), item.getServiceId(), - item.getAuthorEndpoint(), - item.getAuthorName()); + item.getUploaderUrl(), + item.getUploaderName()); } catch (Exception e) { ErrorActivity.reportUiError((AppCompatActivity) itemBuilder.getContext(), e); } diff --git a/app/src/main/java/org/schabi/newpipe/local/feed/FeedDatabaseManager.kt b/app/src/main/java/org/schabi/newpipe/local/feed/FeedDatabaseManager.kt index 5231e16c6..d319c9fa3 100644 --- a/app/src/main/java/org/schabi/newpipe/local/feed/FeedDatabaseManager.kt +++ b/app/src/main/java/org/schabi/newpipe/local/feed/FeedDatabaseManager.kt @@ -7,6 +7,8 @@ import io.reactivex.Flowable import io.reactivex.Maybe import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.schedulers.Schedulers +import java.util.Calendar +import java.util.Date import org.schabi.newpipe.MainActivity.DEBUG import org.schabi.newpipe.NewPipeDatabase import org.schabi.newpipe.database.feed.model.FeedEntity @@ -16,8 +18,6 @@ import org.schabi.newpipe.database.stream.model.StreamEntity import org.schabi.newpipe.extractor.stream.StreamInfoItem import org.schabi.newpipe.extractor.stream.StreamType import org.schabi.newpipe.local.subscription.FeedGroupIcon -import java.util.* -import kotlin.collections.ArrayList class FeedDatabaseManager(context: Context) { private val database = NewPipeDatabase.getInstance(context) @@ -70,8 +70,11 @@ class FeedDatabaseManager(context: Context) { fun markAsOutdated(subscriptionId: Long) = feedTable .setLastUpdatedForSubscription(FeedLastUpdatedEntity(subscriptionId, null)) - fun upsertAll(subscriptionId: Long, items: List, - oldestAllowedDate: Date = FEED_OLDEST_ALLOWED_DATE.time) { + fun upsertAll( + subscriptionId: Long, + items: List, + oldestAllowedDate: Date = FEED_OLDEST_ALLOWED_DATE.time + ) { val itemsToInsert = ArrayList() loop@ for (streamItem in items) { val uploadDate = streamItem.uploadDate @@ -107,9 +110,9 @@ class FeedDatabaseManager(context: Context) { if (DEBUG) Log.d(this::class.java.simpleName, "clear() → streamTable.deleteOrphans() → $deletedOrphans") } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Feed Groups - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// fun subscriptionIdsForGroup(groupId: Long): Flowable> { return feedGroupTable.getSubscriptionIdsFor(groupId) @@ -161,6 +164,5 @@ class FeedDatabaseManager(context: Context) { FeedGroupEntity.GROUP_ALL_ID -> feedTable.oldestSubscriptionUpdateFromAll() else -> feedTable.oldestSubscriptionUpdate(groupId) } - } } diff --git a/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt b/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt index e7ff8b86a..8018e2cd8 100644 --- a/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt +++ b/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt @@ -22,14 +22,28 @@ package org.schabi.newpipe.local.feed import android.content.Intent import android.os.Bundle import android.os.Parcelable -import android.view.* +import android.view.LayoutInflater +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem +import android.view.View +import android.view.ViewGroup import androidx.appcompat.app.AlertDialog import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProviders import androidx.preference.PreferenceManager import icepick.State -import kotlinx.android.synthetic.main.error_retry.* -import kotlinx.android.synthetic.main.fragment_feed.* +import java.util.Calendar +import kotlinx.android.synthetic.main.error_retry.error_button_retry +import kotlinx.android.synthetic.main.error_retry.error_message_view +import kotlinx.android.synthetic.main.fragment_feed.empty_state_view +import kotlinx.android.synthetic.main.fragment_feed.error_panel +import kotlinx.android.synthetic.main.fragment_feed.items_list +import kotlinx.android.synthetic.main.fragment_feed.loading_progress_bar +import kotlinx.android.synthetic.main.fragment_feed.loading_progress_text +import kotlinx.android.synthetic.main.fragment_feed.refresh_root_view +import kotlinx.android.synthetic.main.fragment_feed.refresh_subtitle_text +import kotlinx.android.synthetic.main.fragment_feed.refresh_text import org.schabi.newpipe.R import org.schabi.newpipe.database.feed.model.FeedGroupEntity import org.schabi.newpipe.fragments.list.BaseListFragment @@ -37,7 +51,6 @@ import org.schabi.newpipe.local.feed.service.FeedLoadService import org.schabi.newpipe.report.UserAction import org.schabi.newpipe.util.AnimationUtils.animateView import org.schabi.newpipe.util.Localization -import java.util.* class FeedFragment : BaseListFragment() { private lateinit var viewModel: FeedViewModel @@ -98,9 +111,9 @@ class FeedFragment : BaseListFragment() { } } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Menu - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { super.onCreateOptionsMenu(menu, inflater) @@ -150,9 +163,9 @@ class FeedFragment : BaseListFragment() { activity?.supportActionBar?.subtitle = null } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Handling - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// override fun showLoading() { animateView(refresh_root_view, false, 0) @@ -259,7 +272,6 @@ class FeedFragment : BaseListFragment() { } } - private fun handleErrorState(errorState: FeedState.ErrorState): Boolean { hideLoading() errorState.error?.let { @@ -283,9 +295,9 @@ class FeedFragment : BaseListFragment() { refresh_text?.text = getString(R.string.feed_oldest_subscription_update, oldestSubscriptionUpdateText) } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Load Service Handling - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// override fun doInitialLoadLogic() {} override fun reloadContent() = triggerUpdate() diff --git a/app/src/main/java/org/schabi/newpipe/local/feed/FeedState.kt b/app/src/main/java/org/schabi/newpipe/local/feed/FeedState.kt index c37d6a0b3..de3dd3113 100644 --- a/app/src/main/java/org/schabi/newpipe/local/feed/FeedState.kt +++ b/app/src/main/java/org/schabi/newpipe/local/feed/FeedState.kt @@ -1,24 +1,24 @@ package org.schabi.newpipe.local.feed import androidx.annotation.StringRes +import java.util.Calendar import org.schabi.newpipe.extractor.stream.StreamInfoItem -import java.util.* sealed class FeedState { data class ProgressState( - val currentProgress: Int = -1, - val maxProgress: Int = -1, - @StringRes val progressMessage: Int = 0 + val currentProgress: Int = -1, + val maxProgress: Int = -1, + @StringRes val progressMessage: Int = 0 ) : FeedState() data class LoadedState( - val items: List, - val oldestUpdate: Calendar? = null, - val notLoadedCount: Long, - val itemsErrors: List = emptyList() + val items: List, + val oldestUpdate: Calendar? = null, + val notLoadedCount: Long, + val itemsErrors: List = emptyList() ) : FeedState() data class ErrorState( - val error: Throwable? = null + val error: Throwable? = null ) : FeedState() -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/feed/FeedViewModel.kt b/app/src/main/java/org/schabi/newpipe/local/feed/FeedViewModel.kt index adc262ecb..da2b5ffa4 100644 --- a/app/src/main/java/org/schabi/newpipe/local/feed/FeedViewModel.kt +++ b/app/src/main/java/org/schabi/newpipe/local/feed/FeedViewModel.kt @@ -9,13 +9,17 @@ import io.reactivex.Flowable import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.functions.Function4 import io.reactivex.schedulers.Schedulers +import java.util.Calendar +import java.util.Date +import java.util.concurrent.TimeUnit import org.schabi.newpipe.database.feed.model.FeedGroupEntity import org.schabi.newpipe.extractor.stream.StreamInfoItem import org.schabi.newpipe.local.feed.service.FeedEventManager -import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.* +import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.ErrorResultEvent +import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.IdleEvent +import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.ProgressEvent +import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.SuccessResultEvent import org.schabi.newpipe.util.DEFAULT_THROTTLE_TIMEOUT -import java.util.* -import java.util.concurrent.TimeUnit class FeedViewModel(applicationContext: Context, val groupId: Long = FeedGroupEntity.GROUP_ALL_ID) : ViewModel() { class Factory(val context: Context, val groupId: Long = FeedGroupEntity.GROUP_ALL_ID) : ViewModelProvider.Factory { @@ -68,4 +72,4 @@ class FeedViewModel(applicationContext: Context, val groupId: Long = FeedGroupEn } private data class CombineResultHolder(val t1: FeedEventManager.Event, val t2: List, val t3: Long, val t4: Date?) -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/feed/service/FeedEventManager.kt b/app/src/main/java/org/schabi/newpipe/local/feed/service/FeedEventManager.kt index e9012ff37..b72098345 100644 --- a/app/src/main/java/org/schabi/newpipe/local/feed/service/FeedEventManager.kt +++ b/app/src/main/java/org/schabi/newpipe/local/feed/service/FeedEventManager.kt @@ -3,8 +3,8 @@ package org.schabi.newpipe.local.feed.service import androidx.annotation.StringRes import io.reactivex.Flowable import io.reactivex.processors.BehaviorProcessor -import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.IdleEvent import java.util.concurrent.atomic.AtomicBoolean +import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.IdleEvent object FeedEventManager { private var processor: BehaviorProcessor = BehaviorProcessor.create() @@ -34,5 +34,4 @@ object FeedEventManager { data class SuccessResultEvent(val itemsErrors: List = emptyList()) : Event() data class ErrorResultEvent(val error: Throwable) : Event() } - } diff --git a/app/src/main/java/org/schabi/newpipe/local/feed/service/FeedLoadService.kt b/app/src/main/java/org/schabi/newpipe/local/feed/service/FeedLoadService.kt index 8b33add32..65860096c 100644 --- a/app/src/main/java/org/schabi/newpipe/local/feed/service/FeedLoadService.kt +++ b/app/src/main/java/org/schabi/newpipe/local/feed/service/FeedLoadService.kt @@ -40,6 +40,11 @@ import io.reactivex.functions.Consumer import io.reactivex.functions.Function import io.reactivex.processors.PublishProcessor import io.reactivex.schedulers.Schedulers +import java.io.IOException +import java.util.Calendar +import java.util.concurrent.TimeUnit +import java.util.concurrent.atomic.AtomicBoolean +import java.util.concurrent.atomic.AtomicInteger import org.reactivestreams.Subscriber import org.reactivestreams.Subscription import org.schabi.newpipe.MainActivity.DEBUG @@ -49,17 +54,14 @@ import org.schabi.newpipe.extractor.ListInfo import org.schabi.newpipe.extractor.exceptions.ReCaptchaException import org.schabi.newpipe.extractor.stream.StreamInfoItem import org.schabi.newpipe.local.feed.FeedDatabaseManager -import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.* +import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.ErrorResultEvent +import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.IdleEvent +import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.ProgressEvent +import org.schabi.newpipe.local.feed.service.FeedEventManager.Event.SuccessResultEvent import org.schabi.newpipe.local.feed.service.FeedEventManager.postEvent import org.schabi.newpipe.local.subscription.SubscriptionManager import org.schabi.newpipe.util.ExceptionUtils import org.schabi.newpipe.util.ExtractorHelper -import java.io.IOException -import java.util.* -import java.util.concurrent.TimeUnit -import java.util.concurrent.atomic.AtomicBoolean -import java.util.concurrent.atomic.AtomicInteger -import kotlin.collections.ArrayList class FeedLoadService : Service() { companion object { @@ -94,9 +96,9 @@ class FeedLoadService : Service() { private var disposables = CompositeDisposable() private var notificationUpdater = PublishProcessor.create() - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Lifecycle - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// override fun onCreate() { super.onCreate() @@ -151,9 +153,9 @@ class FeedLoadService : Service() { return null } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Loading & Handling - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// private class RequestException(val subscriptionId: Long, message: String, cause: Throwable) : Exception(message, cause) { companion object { @@ -312,7 +314,6 @@ class FeedLoadService : Service() { feedResultsHolder.addErrors(RequestException.wrapList(subscriptionId, info)) feedDatabaseManager.markAsOutdated(subscriptionId) } - } else if (notification.isOnError) { val error = notification.error!! feedResultsHolder.addError(error) @@ -325,7 +326,6 @@ class FeedLoadService : Service() { } } - private val errorHandlingConsumer: Consumer>>> get() = Consumer { if (it.isOnError) { @@ -354,9 +354,9 @@ class FeedLoadService : Service() { broadcastProgress() } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Notification - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// private lateinit var notificationManager: NotificationManagerCompat private lateinit var notificationBuilder: NotificationCompat.Builder @@ -412,9 +412,9 @@ class FeedLoadService : Service() { notificationManager.notify(NOTIFICATION_ID, notificationBuilder.build()) } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Notification Actions - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// private lateinit var broadcastReceiver: BroadcastReceiver private val cancelSignal = AtomicBoolean() @@ -430,18 +430,18 @@ class FeedLoadService : Service() { registerReceiver(broadcastReceiver, IntentFilter(ACTION_CANCEL)) } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Error handling - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// private fun handleError(error: Throwable) { postEvent(ErrorResultEvent(error)) stopService() } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Results Holder - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// class ResultsHolder { /** @@ -463,4 +463,4 @@ class FeedLoadService : Service() { itemsErrors = itemsErrorsHolder.toList() } } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/history/StatisticsPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/local/history/StatisticsPlaylistFragment.java index 18d832453..582be00d9 100644 --- a/app/src/main/java/org/schabi/newpipe/local/history/StatisticsPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/local/history/StatisticsPlaylistFragment.java @@ -362,14 +362,14 @@ public class StatisticsPlaylistFragment if (sortMode == StatisticSortMode.LAST_PLAYED) { sortMode = StatisticSortMode.MOST_PLAYED; setTitle(getString(R.string.title_most_played)); - sortButtonIcon - .setImageResource(ThemeHelper.getIconByAttr(R.attr.history, getContext())); + sortButtonIcon.setImageResource( + ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_history)); sortButtonText.setText(R.string.title_last_played); } else { sortMode = StatisticSortMode.LAST_PLAYED; setTitle(getString(R.string.title_last_played)); - sortButtonIcon - .setImageResource(ThemeHelper.getIconByAttr(R.attr.filter, getContext())); + sortButtonIcon.setImageResource( + ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_filter_list)); sortButtonText.setText(R.string.title_most_played); } startLoading(true); diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/FeedGroupIcon.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/FeedGroupIcon.kt index 9ff08c32c..19038be93 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/FeedGroupIcon.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/FeedGroupIcon.kt @@ -7,23 +7,23 @@ import org.schabi.newpipe.R import org.schabi.newpipe.util.ThemeHelper enum class FeedGroupIcon( - /** - * The id that will be used to store and retrieve icons from some persistent storage (e.g. DB). - */ - val id: Int, + /** + * The id that will be used to store and retrieve icons from some persistent storage (e.g. DB). + */ + val id: Int, - /** - * The attribute that points to a drawable resource. "R.attr" is used here to support multiple themes. - */ - @AttrRes val drawableResourceAttr: Int + /** + * The attribute that points to a drawable resource. "R.attr" is used here to support multiple themes. + */ + @AttrRes val drawableResourceAttr: Int ) { ALL(0, R.attr.ic_asterisk), MUSIC(1, R.attr.ic_music_note), EDUCATION(2, R.attr.ic_school), - FITNESS(3, R.attr.ic_fitness), + FITNESS(3, R.attr.ic_fitness_center), SPACE(4, R.attr.ic_telescope), COMPUTER(5, R.attr.ic_computer), - GAMING(6, R.attr.ic_videogame), + GAMING(6, R.attr.ic_videogame_asset), SPORTS(7, R.attr.ic_sports), NEWS(8, R.attr.ic_megaphone), FAVORITES(9, R.attr.ic_heart), @@ -32,32 +32,32 @@ enum class FeedGroupIcon( TREND(12, R.attr.ic_trending_up), MOVIE(13, R.attr.ic_movie), BACKUP(14, R.attr.ic_backup), - ART(15, R.attr.palette), + ART(15, R.attr.ic_palette), PERSON(16, R.attr.ic_person), PEOPLE(17, R.attr.ic_people), MONEY(18, R.attr.ic_money), - KIDS(19, R.attr.ic_kids), + KIDS(19, R.attr.ic_child_care), FOOD(20, R.attr.ic_fastfood), SMILE(21, R.attr.ic_smile), EXPLORE(22, R.attr.ic_explore), RESTAURANT(23, R.attr.ic_restaurant), MIC(24, R.attr.ic_mic), - HEADSET(25, R.attr.audio), + HEADSET(25, R.attr.ic_headset), RADIO(26, R.attr.ic_radio), SHOPPING_CART(27, R.attr.ic_shopping_cart), WATCH_LATER(28, R.attr.ic_watch_later), WORK(29, R.attr.ic_work), - HOT(30, R.attr.ic_hot), + HOT(30, R.attr.ic_kiosk_hot), CHANNEL(31, R.attr.ic_channel), BOOKMARK(32, R.attr.ic_bookmark), PETS(33, R.attr.ic_pets), WORLD(34, R.attr.ic_world), STAR(35, R.attr.ic_stars), SUN(36, R.attr.ic_sunny), - RSS(37, R.attr.rss); + RSS(37, R.attr.ic_rss); @DrawableRes fun getDrawableRes(context: Context): Int { return ThemeHelper.resolveResourceIdFromAttr(context, drawableResourceAttr) } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionFragment.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionFragment.kt index eae406ed2..7fea3b5d8 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionFragment.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionFragment.kt @@ -2,13 +2,21 @@ package org.schabi.newpipe.local.subscription import android.app.Activity import android.app.AlertDialog -import android.content.* +import android.content.BroadcastReceiver +import android.content.Context +import android.content.DialogInterface +import android.content.Intent +import android.content.IntentFilter import android.content.res.Configuration import android.os.Bundle import android.os.Environment import android.os.Parcelable import android.preference.PreferenceManager -import android.view.* +import android.view.LayoutInflater +import android.view.Menu +import android.view.MenuInflater +import android.view.View +import android.view.ViewGroup import android.widget.Toast import androidx.lifecycle.ViewModelProviders import androidx.localbroadcastmanager.content.LocalBroadcastManager @@ -21,8 +29,15 @@ import com.xwray.groupie.Section import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import icepick.State import io.reactivex.disposables.CompositeDisposable -import kotlinx.android.synthetic.main.dialog_title.view.* -import kotlinx.android.synthetic.main.fragment_subscription.* +import java.io.File +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale +import kotlin.math.floor +import kotlin.math.max +import kotlinx.android.synthetic.main.dialog_title.view.itemAdditionalDetails +import kotlinx.android.synthetic.main.dialog_title.view.itemTitleView +import kotlinx.android.synthetic.main.fragment_subscription.items_list import org.schabi.newpipe.R import org.schabi.newpipe.database.feed.model.FeedGroupEntity import org.schabi.newpipe.extractor.channel.ChannelInfoItem @@ -30,21 +45,29 @@ import org.schabi.newpipe.fragments.BaseStateFragment import org.schabi.newpipe.local.subscription.SubscriptionViewModel.SubscriptionState import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog import org.schabi.newpipe.local.subscription.dialog.FeedGroupReorderDialog -import org.schabi.newpipe.local.subscription.item.* +import org.schabi.newpipe.local.subscription.item.ChannelItem +import org.schabi.newpipe.local.subscription.item.EmptyPlaceholderItem +import org.schabi.newpipe.local.subscription.item.FeedGroupAddItem +import org.schabi.newpipe.local.subscription.item.FeedGroupCardItem +import org.schabi.newpipe.local.subscription.item.FeedGroupCarouselItem +import org.schabi.newpipe.local.subscription.item.FeedImportExportItem +import org.schabi.newpipe.local.subscription.item.HeaderWithMenuItem import org.schabi.newpipe.local.subscription.item.HeaderWithMenuItem.Companion.PAYLOAD_UPDATE_VISIBILITY_MENU_ITEM import org.schabi.newpipe.local.subscription.services.SubscriptionsExportService import org.schabi.newpipe.local.subscription.services.SubscriptionsExportService.EXPORT_COMPLETE_ACTION import org.schabi.newpipe.local.subscription.services.SubscriptionsExportService.KEY_FILE_PATH import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService -import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.* +import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.IMPORT_COMPLETE_ACTION +import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.KEY_MODE +import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.KEY_VALUE +import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.PREVIOUS_EXPORT_MODE import org.schabi.newpipe.report.UserAction -import org.schabi.newpipe.util.* import org.schabi.newpipe.util.AnimationUtils.animateView -import java.io.File -import java.text.SimpleDateFormat -import java.util.* -import kotlin.math.floor -import kotlin.math.max +import org.schabi.newpipe.util.FilePickerActivityHelper +import org.schabi.newpipe.util.NavigationHelper +import org.schabi.newpipe.util.OnClickGesture +import org.schabi.newpipe.util.ShareUtils +import org.schabi.newpipe.util.ThemeHelper class SubscriptionFragment : BaseStateFragment() { private lateinit var viewModel: SubscriptionViewModel @@ -74,9 +97,9 @@ class SubscriptionFragment : BaseStateFragment() { setHasOptionsMenu(true) } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Fragment LifeCycle - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -120,9 +143,9 @@ class SubscriptionFragment : BaseStateFragment() { disposables.dispose() } - ////////////////////////////////////////////////////////////////////////// + // //////////////////////////////////////////////////////////////////////// // Menu - ////////////////////////////////////////////////////////////////////////// + // //////////////////////////////////////////////////////////////////////// override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { super.onCreateOptionsMenu(menu, inflater) @@ -150,7 +173,6 @@ class SubscriptionFragment : BaseStateFragment() { importExportItem.isExpanded = false importExportItem.notifyChanged(FeedImportExportItem.REFRESH_EXPANDED_STATUS) } - } } @@ -198,9 +220,9 @@ class SubscriptionFragment : BaseStateFragment() { } } - ////////////////////////////////////////////////////////////////////////// + // //////////////////////////////////////////////////////////////////////// // Fragment Views - ////////////////////////////////////////////////////////////////////////// + // //////////////////////////////////////////////////////////////////////// private fun setupInitialLayout() { Section().apply { @@ -243,7 +265,6 @@ class SubscriptionFragment : BaseStateFragment() { { onExportSelected() }, importExportItemExpandedState ?: false) groupAdapter.add(Section(importExportItem, listOf(subscriptionsSection))) - } override fun initViews(rootView: View, savedInstanceState: Bundle?) { @@ -366,9 +387,9 @@ class SubscriptionFragment : BaseStateFragment() { items_list.post { feedGroupsSortMenuItem.notifyChanged(PAYLOAD_UPDATE_VISIBILITY_MENU_ITEM) } } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Contract - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// override fun showLoading() { super.showLoading() @@ -380,9 +401,9 @@ class SubscriptionFragment : BaseStateFragment() { animateView(items_list, true, 200) } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Fragment Error Handling - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// override fun onError(exception: Throwable): Boolean { if (super.onError(exception)) return true @@ -391,9 +412,9 @@ class SubscriptionFragment : BaseStateFragment() { return true } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Grid Mode - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // TODO: Move these out of this class, as it can be reused @@ -405,8 +426,8 @@ class SubscriptionFragment : BaseStateFragment() { getString(R.string.list_view_mode_auto_key) -> { val configuration = resources.configuration - (configuration.orientation == Configuration.ORIENTATION_LANDSCAPE - && configuration.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_LARGE)) + (configuration.orientation == Configuration.ORIENTATION_LANDSCAPE && + configuration.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_LARGE)) } getString(R.string.list_view_mode_grid_key) -> true else -> false diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionViewModel.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionViewModel.kt index 6454cc912..b7f16c319 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionViewModel.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/SubscriptionViewModel.kt @@ -6,11 +6,11 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.xwray.groupie.Group import io.reactivex.schedulers.Schedulers +import java.util.concurrent.TimeUnit import org.schabi.newpipe.local.feed.FeedDatabaseManager import org.schabi.newpipe.local.subscription.item.ChannelItem import org.schabi.newpipe.local.subscription.item.FeedGroupCardItem import org.schabi.newpipe.util.DEFAULT_THROTTLE_TIMEOUT -import java.util.concurrent.TimeUnit class SubscriptionViewModel(application: Application) : AndroidViewModel(application) { private var feedDatabaseManager: FeedDatabaseManager = FeedDatabaseManager(application) diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/decoration/FeedGroupCarouselDecoration.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/decoration/FeedGroupCarouselDecoration.kt index 24c8d9cb8..7b7490eaa 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/decoration/FeedGroupCarouselDecoration.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/decoration/FeedGroupCarouselDecoration.kt @@ -32,4 +32,4 @@ class FeedGroupCarouselDecoration(context: Context) : RecyclerView.ItemDecoratio outRect.right = marginStartEnd } } -} \ No newline at end of file +} 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 8fd0b0e31..e9d9ac5b3 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 @@ -22,19 +22,36 @@ import com.xwray.groupie.Section import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import icepick.Icepick import icepick.State -import kotlinx.android.synthetic.main.dialog_feed_group_create.* +import java.io.Serializable +import kotlinx.android.synthetic.main.dialog_feed_group_create.cancel_button +import kotlinx.android.synthetic.main.dialog_feed_group_create.confirm_button +import kotlinx.android.synthetic.main.dialog_feed_group_create.delete_button +import kotlinx.android.synthetic.main.dialog_feed_group_create.delete_screen_message +import kotlinx.android.synthetic.main.dialog_feed_group_create.group_name_input +import kotlinx.android.synthetic.main.dialog_feed_group_create.group_name_input_container +import kotlinx.android.synthetic.main.dialog_feed_group_create.icon_preview +import kotlinx.android.synthetic.main.dialog_feed_group_create.icon_selector +import kotlinx.android.synthetic.main.dialog_feed_group_create.options_root +import kotlinx.android.synthetic.main.dialog_feed_group_create.select_channel_button +import kotlinx.android.synthetic.main.dialog_feed_group_create.selected_subscription_count_view +import kotlinx.android.synthetic.main.dialog_feed_group_create.separator +import kotlinx.android.synthetic.main.dialog_feed_group_create.subscriptions_selector +import kotlinx.android.synthetic.main.dialog_feed_group_create.subscriptions_selector_header_info +import kotlinx.android.synthetic.main.dialog_feed_group_create.subscriptions_selector_list import org.schabi.newpipe.R import org.schabi.newpipe.database.feed.model.FeedGroupEntity import org.schabi.newpipe.database.subscription.SubscriptionEntity import org.schabi.newpipe.local.subscription.FeedGroupIcon -import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog.ScreenState.* +import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog.ScreenState.DeleteScreen +import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog.ScreenState.IconPickerScreen +import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog.ScreenState.InitialScreen +import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialog.ScreenState.SubscriptionsPickerScreen import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialogViewModel.DialogEvent.ProcessingEvent import org.schabi.newpipe.local.subscription.dialog.FeedGroupDialogViewModel.DialogEvent.SuccessEvent import org.schabi.newpipe.local.subscription.item.EmptyPlaceholderItem import org.schabi.newpipe.local.subscription.item.PickerIconItem import org.schabi.newpipe.local.subscription.item.PickerSubscriptionItem import org.schabi.newpipe.util.ThemeHelper -import java.io.Serializable class FeedGroupDialog : DialogFragment() { private lateinit var viewModel: FeedGroupDialogViewModel @@ -120,9 +137,9 @@ class FeedGroupDialog : DialogFragment() { showScreen(currentScreen) } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Setup - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// private fun setupListeners() { delete_button.setOnClickListener { showScreen(DeleteScreen) } @@ -294,9 +311,9 @@ class FeedGroupDialog : DialogFragment() { } } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Screen Selector - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// private fun showScreen(screen: ScreenState) { currentScreen = screen @@ -330,9 +347,9 @@ class FeedGroupDialog : DialogFragment() { } } - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// // Utils - /////////////////////////////////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////////////////// private fun hideKeyboard() { val inputMethodManager = requireActivity().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager @@ -363,4 +380,4 @@ class FeedGroupDialog : DialogFragment() { return dialog } } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialogViewModel.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialogViewModel.kt index bd57a2639..ac00245e6 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialogViewModel.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialogViewModel.kt @@ -16,7 +16,6 @@ import org.schabi.newpipe.local.feed.FeedDatabaseManager import org.schabi.newpipe.local.subscription.FeedGroupIcon import org.schabi.newpipe.local.subscription.SubscriptionManager - class FeedGroupDialogViewModel(applicationContext: Context, val groupId: Long = FeedGroupEntity.GROUP_ALL_ID) : ViewModel() { class Factory(val context: Context, val groupId: Long = FeedGroupEntity.GROUP_ALL_ID) : ViewModelProvider.Factory { @Suppress("UNCHECKED_CAST") @@ -84,4 +83,4 @@ class FeedGroupDialogViewModel(applicationContext: Context, val groupId: Long = object ProcessingEvent : DialogEvent() object SuccessEvent : DialogEvent() } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialog.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialog.kt index 090a59f13..92c063b4b 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialog.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialog.kt @@ -16,15 +16,15 @@ import com.xwray.groupie.TouchCallback import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import icepick.Icepick import icepick.State -import kotlinx.android.synthetic.main.dialog_feed_group_reorder.* +import java.util.Collections +import kotlinx.android.synthetic.main.dialog_feed_group_reorder.confirm_button +import kotlinx.android.synthetic.main.dialog_feed_group_reorder.feed_groups_list import org.schabi.newpipe.R import org.schabi.newpipe.database.feed.model.FeedGroupEntity import org.schabi.newpipe.local.subscription.dialog.FeedGroupReorderDialogViewModel.DialogEvent.ProcessingEvent import org.schabi.newpipe.local.subscription.dialog.FeedGroupReorderDialogViewModel.DialogEvent.SuccessEvent import org.schabi.newpipe.local.subscription.item.FeedGroupReorderItem import org.schabi.newpipe.util.ThemeHelper -import java.util.* -import kotlin.collections.ArrayList class FeedGroupReorderDialog : DialogFragment() { private lateinit var viewModel: FeedGroupReorderDialogViewModel @@ -93,8 +93,11 @@ class FeedGroupReorderDialog : DialogFragment() { private fun getItemTouchCallback(): SimpleCallback { return object : TouchCallback() { - override fun onMove(recyclerView: RecyclerView, source: RecyclerView.ViewHolder, - target: RecyclerView.ViewHolder): Boolean { + override fun onMove( + recyclerView: RecyclerView, + source: RecyclerView.ViewHolder, + target: RecyclerView.ViewHolder + ): Boolean { val sourceIndex = source.adapterPosition val targetIndex = target.adapterPosition @@ -109,4 +112,4 @@ class FeedGroupReorderDialog : DialogFragment() { override fun onSwiped(viewHolder: RecyclerView.ViewHolder, swipeDir: Int) {} } } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialogViewModel.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialogViewModel.kt index 8ef5bb55c..ea2cbe98f 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialogViewModel.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupReorderDialogViewModel.kt @@ -49,4 +49,4 @@ class FeedGroupReorderDialogViewModel(application: Application) : AndroidViewMod object ProcessingEvent : DialogEvent() object SuccessEvent : DialogEvent() } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/ChannelItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/ChannelItem.kt index d1988dc29..f33c58f43 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/ChannelItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/ChannelItem.kt @@ -4,19 +4,21 @@ import android.content.Context import com.nostra13.universalimageloader.core.ImageLoader import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item -import kotlinx.android.synthetic.main.list_channel_item.* +import kotlinx.android.synthetic.main.list_channel_item.itemAdditionalDetails +import kotlinx.android.synthetic.main.list_channel_item.itemChannelDescriptionView +import kotlinx.android.synthetic.main.list_channel_item.itemThumbnailView +import kotlinx.android.synthetic.main.list_channel_item.itemTitleView import org.schabi.newpipe.R import org.schabi.newpipe.extractor.channel.ChannelInfoItem import org.schabi.newpipe.util.ImageDisplayConstants import org.schabi.newpipe.util.Localization import org.schabi.newpipe.util.OnClickGesture - class ChannelItem( - private val infoItem: ChannelInfoItem, - private val subscriptionId: Long = -1L, - var itemVersion: ItemVersion = ItemVersion.NORMAL, - var gesturesListener: OnClickGesture? = null + private val infoItem: ChannelInfoItem, + private val subscriptionId: Long = -1L, + var itemVersion: ItemVersion = ItemVersion.NORMAL, + var gesturesListener: OnClickGesture? = null ) : Item() { override fun getId(): Long = if (subscriptionId == -1L) super.getId() else subscriptionId @@ -62,4 +64,4 @@ class ChannelItem( override fun getSpanSize(spanCount: Int, position: Int): Int { return if (itemVersion == ItemVersion.GRID) 1 else spanCount } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/EmptyPlaceholderItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/EmptyPlaceholderItem.kt index 38151774b..c806277ee 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/EmptyPlaceholderItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/EmptyPlaceholderItem.kt @@ -7,4 +7,4 @@ import org.schabi.newpipe.R class EmptyPlaceholderItem : Item() { override fun getLayout(): Int = R.layout.list_empty_view override fun bind(viewHolder: GroupieViewHolder, position: Int) {} -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupAddItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupAddItem.kt index 2190bed76..1bc4d1673 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupAddItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupAddItem.kt @@ -7,4 +7,4 @@ import org.schabi.newpipe.R class FeedGroupAddItem : Item() { override fun getLayout(): Int = R.layout.feed_group_add_new_item override fun bind(viewHolder: GroupieViewHolder, position: Int) {} -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupCardItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupCardItem.kt index e6f0e0807..12ff47b3f 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupCardItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupCardItem.kt @@ -2,15 +2,16 @@ package org.schabi.newpipe.local.subscription.item import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item -import kotlinx.android.synthetic.main.feed_group_card_item.* +import kotlinx.android.synthetic.main.feed_group_card_item.icon +import kotlinx.android.synthetic.main.feed_group_card_item.title import org.schabi.newpipe.R import org.schabi.newpipe.database.feed.model.FeedGroupEntity import org.schabi.newpipe.local.subscription.FeedGroupIcon data class FeedGroupCardItem( - val groupId: Long = FeedGroupEntity.GROUP_ALL_ID, - val name: String, - val icon: FeedGroupIcon + val groupId: Long = FeedGroupEntity.GROUP_ALL_ID, + val name: String, + val icon: FeedGroupIcon ) : Item() { constructor (feedGroupEntity: FeedGroupEntity) : this(feedGroupEntity.uid, feedGroupEntity.name, feedGroupEntity.icon) @@ -27,4 +28,4 @@ data class FeedGroupCardItem( viewHolder.title.text = name viewHolder.icon.setImageResource(icon.getDrawableRes(viewHolder.containerView.context)) } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupCarouselItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupCarouselItem.kt index ae93d149d..dfffce59c 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupCarouselItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupCarouselItem.kt @@ -8,7 +8,7 @@ import androidx.recyclerview.widget.RecyclerView import com.xwray.groupie.GroupAdapter import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item -import kotlinx.android.synthetic.main.feed_item_carousel.* +import kotlinx.android.synthetic.main.feed_item_carousel.recycler_view import org.schabi.newpipe.R import org.schabi.newpipe.local.subscription.decoration.FeedGroupCarouselDecoration @@ -54,4 +54,4 @@ class FeedGroupCarouselItem(context: Context, private val carouselAdapter: Group listState = linearLayoutManager?.onSaveInstanceState() } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupReorderItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupReorderItem.kt index cf010af7f..717e2410a 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupReorderItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedGroupReorderItem.kt @@ -6,19 +6,21 @@ import androidx.recyclerview.widget.ItemTouchHelper.DOWN import androidx.recyclerview.widget.ItemTouchHelper.UP import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item -import kotlinx.android.synthetic.main.feed_group_reorder_item.* +import kotlinx.android.synthetic.main.feed_group_reorder_item.group_icon +import kotlinx.android.synthetic.main.feed_group_reorder_item.group_name +import kotlinx.android.synthetic.main.feed_group_reorder_item.handle import org.schabi.newpipe.R import org.schabi.newpipe.database.feed.model.FeedGroupEntity import org.schabi.newpipe.local.subscription.FeedGroupIcon data class FeedGroupReorderItem( - val groupId: Long = FeedGroupEntity.GROUP_ALL_ID, - val name: String, - val icon: FeedGroupIcon, - val dragCallback: ItemTouchHelper + val groupId: Long = FeedGroupEntity.GROUP_ALL_ID, + val name: String, + val icon: FeedGroupIcon, + val dragCallback: ItemTouchHelper ) : Item() { - constructor (feedGroupEntity: FeedGroupEntity, dragCallback: ItemTouchHelper) - : this(feedGroupEntity.uid, feedGroupEntity.name, feedGroupEntity.icon, dragCallback) + constructor (feedGroupEntity: FeedGroupEntity, dragCallback: ItemTouchHelper) : + this(feedGroupEntity.uid, feedGroupEntity.name, feedGroupEntity.icon, dragCallback) override fun getId(): Long { return when (groupId) { @@ -45,4 +47,4 @@ data class FeedGroupReorderItem( override fun getDragDirs(): Int { return UP or DOWN } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedImportExportItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedImportExportItem.kt index ab47564ce..5478dcac4 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedImportExportItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedImportExportItem.kt @@ -9,7 +9,11 @@ import android.widget.TextView import androidx.annotation.DrawableRes import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item -import kotlinx.android.synthetic.main.feed_import_export_group.* +import kotlinx.android.synthetic.main.feed_import_export_group.export_to_options +import kotlinx.android.synthetic.main.feed_import_export_group.import_export +import kotlinx.android.synthetic.main.feed_import_export_group.import_export_expand_icon +import kotlinx.android.synthetic.main.feed_import_export_group.import_export_options +import kotlinx.android.synthetic.main.feed_import_export_group.import_from_options import org.schabi.newpipe.R import org.schabi.newpipe.extractor.NewPipe import org.schabi.newpipe.extractor.exceptions.ExtractionException @@ -19,10 +23,10 @@ import org.schabi.newpipe.util.ThemeHelper import org.schabi.newpipe.views.CollapsibleView class FeedImportExportItem( - val onImportPreviousSelected: () -> Unit, - val onImportFromServiceSelected: (Int) -> Unit, - val onExportSelected: () -> Unit, - var isExpanded: Boolean = false + val onImportPreviousSelected: () -> Unit, + val onImportFromServiceSelected: (Int) -> Unit, + val onExportSelected: () -> Unit, + var isExpanded: Boolean = false ) : Item() { companion object { const val REFRESH_EXPANDED_STATUS = 123 @@ -104,7 +108,6 @@ class FeedImportExportItem( } catch (e: ExtractionException) { throw RuntimeException("Services array contains an entry that it's not a valid service name ($serviceName)", e) } - } } @@ -113,4 +116,4 @@ class FeedImportExportItem( ThemeHelper.resolveResourceIdFromAttr(listHolder.context, R.attr.ic_save), listHolder) previousBackupItem.setOnClickListener { onExportSelected() } } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderItem.kt index bbbc57f62..9798dac1b 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderItem.kt @@ -3,7 +3,7 @@ package org.schabi.newpipe.local.subscription.item import android.view.View.OnClickListener import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item -import kotlinx.android.synthetic.main.header_item.* +import kotlinx.android.synthetic.main.header_item.header_title import org.schabi.newpipe.R class HeaderItem(val title: String, private val onClickListener: (() -> Unit)? = null) : Item() { @@ -16,4 +16,4 @@ class HeaderItem(val title: String, private val onClickListener: (() -> Unit)? = val listener: OnClickListener? = if (onClickListener != null) OnClickListener { onClickListener.invoke() } else null viewHolder.root.setOnClickListener(listener) } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderWithMenuItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderWithMenuItem.kt index cf7a4c01c..324932256 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderWithMenuItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/HeaderWithMenuItem.kt @@ -1,18 +1,21 @@ package org.schabi.newpipe.local.subscription.item -import android.view.View.* +import android.view.View.GONE +import android.view.View.OnClickListener +import android.view.View.VISIBLE import androidx.annotation.DrawableRes import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item -import kotlinx.android.synthetic.main.header_with_menu_item.* +import kotlinx.android.synthetic.main.header_with_menu_item.header_menu_item +import kotlinx.android.synthetic.main.header_with_menu_item.header_title import org.schabi.newpipe.R class HeaderWithMenuItem( - val title: String, - @DrawableRes val itemIcon: Int = 0, - var showMenuItem: Boolean = true, - private val onClickListener: (() -> Unit)? = null, - private val menuItemOnClickListener: (() -> Unit)? = null + val title: String, + @DrawableRes val itemIcon: Int = 0, + var showMenuItem: Boolean = true, + private val onClickListener: (() -> Unit)? = null, + private val menuItemOnClickListener: (() -> Unit)? = null ) : Item() { companion object { const val PAYLOAD_UPDATE_VISIBILITY_MENU_ITEM = 1 @@ -46,4 +49,4 @@ class HeaderWithMenuItem( private fun updateMenuItemVisibility(viewHolder: GroupieViewHolder) { viewHolder.header_menu_item.visibility = if (showMenuItem) VISIBLE else GONE } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerIconItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerIconItem.kt index 546441669..4f3678e95 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerIconItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerIconItem.kt @@ -4,7 +4,7 @@ import android.content.Context import androidx.annotation.DrawableRes import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item -import kotlinx.android.synthetic.main.picker_icon_item.* +import kotlinx.android.synthetic.main.picker_icon_item.icon_view import org.schabi.newpipe.R import org.schabi.newpipe.local.subscription.FeedGroupIcon @@ -17,4 +17,4 @@ class PickerIconItem(context: Context, val icon: FeedGroupIcon) : Item() { override fun bind(viewHolder: GroupieViewHolder, position: Int) { viewHolder.icon_view.setImageResource(iconRes) } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerSubscriptionItem.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerSubscriptionItem.kt index e0754e078..d90ac0d82 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerSubscriptionItem.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/item/PickerSubscriptionItem.kt @@ -5,7 +5,9 @@ import com.nostra13.universalimageloader.core.DisplayImageOptions import com.nostra13.universalimageloader.core.ImageLoader import com.xwray.groupie.kotlinandroidextensions.GroupieViewHolder import com.xwray.groupie.kotlinandroidextensions.Item -import kotlinx.android.synthetic.main.picker_subscription_item.* +import kotlinx.android.synthetic.main.picker_subscription_item.selected_highlight +import kotlinx.android.synthetic.main.picker_subscription_item.thumbnail_view +import kotlinx.android.synthetic.main.picker_subscription_item.title_view import org.schabi.newpipe.R import org.schabi.newpipe.database.subscription.SubscriptionEntity import org.schabi.newpipe.util.AnimationUtils @@ -48,4 +50,4 @@ data class PickerSubscriptionItem(val subscriptionEntity: SubscriptionEntity, va override fun getId(): Long { return subscriptionEntity.uid } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java index 72cc75a66..943d685b1 100644 --- a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java @@ -49,7 +49,6 @@ import org.schabi.newpipe.BuildConfig; import org.schabi.newpipe.R; import org.schabi.newpipe.extractor.stream.StreamInfo; import org.schabi.newpipe.player.event.PlayerEventListener; -import org.schabi.newpipe.player.helper.LockManager; import org.schabi.newpipe.player.playqueue.PlayQueueItem; import org.schabi.newpipe.player.resolver.AudioPlaybackResolver; import org.schabi.newpipe.player.resolver.MediaSourceTag; @@ -91,7 +90,6 @@ public final class BackgroundPlayer extends Service { /*////////////////////////////////////////////////////////////////////////// // Service-Activity Binder //////////////////////////////////////////////////////////////////////////*/ - private LockManager lockManager; private SharedPreferences sharedPreferences; /*////////////////////////////////////////////////////////////////////////// @@ -116,7 +114,6 @@ public final class BackgroundPlayer extends Service { Log.d(TAG, "onCreate() called"); } notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)); - lockManager = new LockManager(this); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); assureCorrectAppLanguage(this); ThemeHelper.setTheme(this); @@ -166,9 +163,6 @@ public final class BackgroundPlayer extends Service { Log.d(TAG, "onClose() called"); } - if (lockManager != null) { - lockManager.releaseWifiAndCpu(); - } if (basePlayerImpl != null) { basePlayerImpl.savePlaybackState(); basePlayerImpl.stopActivityBinding(); @@ -179,7 +173,6 @@ public final class BackgroundPlayer extends Service { } mBinder = null; basePlayerImpl = null; - lockManager = null; stopForeground(true); stopSelf(); @@ -208,9 +201,10 @@ public final class BackgroundPlayer extends Service { } private NotificationCompat.Builder createNotification() { - notRemoteView = new RemoteViews(BuildConfig.APPLICATION_ID, R.layout.player_notification); + notRemoteView = new RemoteViews(BuildConfig.APPLICATION_ID, + R.layout.player_background_notification); bigNotRemoteView = new RemoteViews(BuildConfig.APPLICATION_ID, - R.layout.player_notification_expanded); + R.layout.player_background_notification_expanded); setupNotification(notRemoteView); setupNotification(bigNotRemoteView); @@ -662,8 +656,7 @@ public final class BackgroundPlayer extends Service { super.onPlaying(); resetNotification(); updateNotificationThumbnail(); - updateNotification(R.drawable.ic_pause_white); - lockManager.acquireWifiAndCpu(); + updateNotification(R.drawable.exo_controls_pause); } @Override @@ -671,8 +664,7 @@ public final class BackgroundPlayer extends Service { super.onPaused(); resetNotification(); updateNotificationThumbnail(); - updateNotification(R.drawable.ic_play_arrow_white); - lockManager.releaseWifiAndCpu(); + updateNotification(R.drawable.exo_controls_play); } @Override @@ -686,8 +678,7 @@ public final class BackgroundPlayer extends Service { notRemoteView.setProgressBar(R.id.notificationProgressBar, 100, 100, false); } updateNotificationThumbnail(); - updateNotification(R.drawable.ic_replay_white); - lockManager.releaseWifiAndCpu(); + updateNotification(R.drawable.ic_replay_white_24dp); } } } diff --git a/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java b/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java index 1b8d0ccf6..f5a669788 100644 --- a/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/BasePlayer.java @@ -35,9 +35,9 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.DefaultRenderersFactory; import com.google.android.exoplayer2.ExoPlaybackException; -import com.google.android.exoplayer2.ExoPlayerFactory; import com.google.android.exoplayer2.LoadControl; import com.google.android.exoplayer2.PlaybackParameters; import com.google.android.exoplayer2.Player; @@ -232,14 +232,18 @@ public abstract class BasePlayer implements public void initPlayer(final boolean playOnReady) { if (DEBUG) { - Log.d(TAG, "initPlayer() called with: context = [" + context + "]"); + Log.d(TAG, "initPlayer() called with: playOnReady = [" + playOnReady + "]"); } - simpleExoPlayer = ExoPlayerFactory - .newSimpleInstance(context, renderFactory, trackSelector, loadControl); + simpleExoPlayer = new SimpleExoPlayer.Builder(context, renderFactory) + .setTrackSelector(trackSelector) + .setLoadControl(loadControl) + .build(); simpleExoPlayer.addListener(this); simpleExoPlayer.setPlayWhenReady(playOnReady); simpleExoPlayer.setSeekParameters(PlayerHelper.getSeekParameters(context)); + simpleExoPlayer.setWakeMode(C.WAKE_MODE_NETWORK); + simpleExoPlayer.setHandleAudioBecomingNoisy(true); audioReactor = new AudioReactor(context, simpleExoPlayer); mediaSessionManager = new MediaSessionManager(context, simpleExoPlayer, @@ -666,11 +670,9 @@ public abstract class BasePlayer implements //////////////////////////////////////////////////////////////////////////*/ @Override - public void onTimelineChanged(final Timeline timeline, final Object manifest, - @Player.TimelineChangeReason final int reason) { + public void onTimelineChanged(final Timeline timeline, final int reason) { if (DEBUG) { Log.d(TAG, "ExoPlayer - onTimelineChanged() called with " - + (manifest == null ? "no manifest" : "available manifest") + ", " + "timeline size = [" + timeline.getWindowCount() + "], " + "reason = [" + reason + "]"); } diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java index 570819433..56744d858 100644 --- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java @@ -80,8 +80,8 @@ import org.schabi.newpipe.player.playqueue.PlayQueueItemHolder; import org.schabi.newpipe.player.playqueue.PlayQueueItemTouchCallback; import org.schabi.newpipe.player.resolver.MediaSourceTag; import org.schabi.newpipe.player.resolver.VideoPlaybackResolver; -import org.schabi.newpipe.util.AnimationUtils; import org.schabi.newpipe.util.AndroidTvUtils; +import org.schabi.newpipe.util.AnimationUtils; import org.schabi.newpipe.util.KoreUtil; import org.schabi.newpipe.util.ListHelper; import org.schabi.newpipe.util.NavigationHelper; @@ -491,7 +491,7 @@ public final class MainVideoPlayer extends AppCompatActivity protected void setMuteButton(final ImageButton muteButton, final boolean isMuted) { muteButton.setImageDrawable(AppCompatResources.getDrawable(getApplicationContext(), isMuted - ? R.drawable.ic_volume_off_white_72dp : R.drawable.ic_volume_up_white_72dp)); + ? R.drawable.ic_volume_off_white_24dp : R.drawable.ic_volume_up_white_24dp)); } @@ -593,9 +593,6 @@ public final class MainVideoPlayer extends AppCompatActivity titleTextView.setSelected(true); channelTextView.setSelected(true); - boolean showKodiButton = PreferenceManager.getDefaultSharedPreferences(this.context) - .getBoolean(this.context.getString(R.string.show_play_with_kodi_key), false); - kodiButton.setVisibility(showKodiButton ? View.VISIBLE : View.GONE); getRootView().setKeepScreenOn(true); } @@ -712,6 +709,13 @@ public final class MainVideoPlayer extends AppCompatActivity protected void onMetadataChanged(@NonNull final MediaSourceTag tag) { super.onMetadataChanged(tag); + // show kodi button if it supports the current service and it is enabled in settings + final boolean showKodiButton = + KoreUtil.isServiceSupportedByKore(tag.getMetadata().getServiceId()) + && PreferenceManager.getDefaultSharedPreferences(context) + .getBoolean(context.getString(R.string.show_play_with_kodi_key), false); + kodiButton.setVisibility(showKodiButton ? View.VISIBLE : View.GONE); + titleTextView.setText(tag.getMetadata().getName()); channelTextView.setText(tag.getMetadata().getUploaderName()); } @@ -725,13 +729,12 @@ public final class MainVideoPlayer extends AppCompatActivity public void onKodiShare() { onPause(); try { - NavigationHelper.playWithKore(this.context, - Uri.parse(playerImpl.getVideoUrl().replace("https", "http"))); + NavigationHelper.playWithKore(context, Uri.parse(playerImpl.getVideoUrl())); } catch (Exception e) { if (DEBUG) { Log.i(TAG, "Failed to start kore", e); } - KoreUtil.showInstallKoreDialog(this.context); + KoreUtil.showInstallKoreDialog(context); } } @@ -986,7 +989,7 @@ public final class MainVideoPlayer extends AppCompatActivity @Override public void onBlocked() { super.onBlocked(); - playPauseButton.setImageResource(R.drawable.ic_pause_white); + playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp); animatePlayButtons(false, 100); animateView(closeButton, false, DEFAULT_CONTROLS_DURATION); getRootView().setKeepScreenOn(true); @@ -1002,7 +1005,7 @@ public final class MainVideoPlayer extends AppCompatActivity public void onPlaying() { super.onPlaying(); animateView(playPauseButton, AnimationUtils.Type.SCALE_AND_ALPHA, false, 80, 0, () -> { - playPauseButton.setImageResource(R.drawable.ic_pause_white); + playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp); animatePlayButtons(true, 200); playPauseButton.requestFocus(); animateView(closeButton, false, DEFAULT_CONTROLS_DURATION); @@ -1015,7 +1018,7 @@ public final class MainVideoPlayer extends AppCompatActivity public void onPaused() { super.onPaused(); animateView(playPauseButton, AnimationUtils.Type.SCALE_AND_ALPHA, false, 80, 0, () -> { - playPauseButton.setImageResource(R.drawable.ic_play_arrow_white); + playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_24dp); animatePlayButtons(true, 200); playPauseButton.requestFocus(); animateView(closeButton, false, DEFAULT_CONTROLS_DURATION); @@ -1036,7 +1039,7 @@ public final class MainVideoPlayer extends AppCompatActivity @Override public void onCompleted() { animateView(playPauseButton, AnimationUtils.Type.SCALE_AND_ALPHA, false, 0, 0, () -> { - playPauseButton.setImageResource(R.drawable.ic_replay_white); + playPauseButton.setImageResource(R.drawable.ic_replay_white_24dp); animatePlayButtons(true, DEFAULT_CONTROLS_DURATION); animateView(closeButton, true, DEFAULT_CONTROLS_DURATION); }); @@ -1322,6 +1325,13 @@ public final class MainVideoPlayer extends AppCompatActivity return false; } + final boolean isTouchingStatusBar = initialEvent.getY() < getStatusBarHeight(); + final boolean isTouchingNavigationBar = initialEvent.getY() + > playerImpl.getRootView().getHeight() - getNavigationBarHeight(); + if (isTouchingStatusBar || isTouchingNavigationBar) { + return false; + } + // if (DEBUG) { // Log.d(TAG, "MainVideoPlayer.onScroll = " + // "e1.getRaw = [" + initialEvent.getRawX() + ", " @@ -1358,12 +1368,12 @@ public final class MainVideoPlayer extends AppCompatActivity } final int resId = currentProgressPercent <= 0 - ? R.drawable.ic_volume_off_white_72dp + ? R.drawable.ic_volume_off_white_24dp : currentProgressPercent < 0.25 - ? R.drawable.ic_volume_mute_white_72dp + ? R.drawable.ic_volume_mute_white_24dp : currentProgressPercent < 0.75 - ? R.drawable.ic_volume_down_white_72dp - : R.drawable.ic_volume_up_white_72dp; + ? R.drawable.ic_volume_down_white_24dp + : R.drawable.ic_volume_up_white_24dp; playerImpl.getVolumeImageView().setImageDrawable( AppCompatResources.getDrawable(getApplicationContext(), resId) @@ -1390,10 +1400,10 @@ public final class MainVideoPlayer extends AppCompatActivity } final int resId = currentProgressPercent < 0.25 - ? R.drawable.ic_brightness_low_white_72dp + ? R.drawable.ic_brightness_low_white_24dp : currentProgressPercent < 0.75 - ? R.drawable.ic_brightness_medium_white_72dp - : R.drawable.ic_brightness_high_white_72dp; + ? R.drawable.ic_brightness_medium_white_24dp + : R.drawable.ic_brightness_high_white_24dp; playerImpl.getBrightnessImageView().setImageDrawable( AppCompatResources.getDrawable(getApplicationContext(), resId) @@ -1410,6 +1420,22 @@ public final class MainVideoPlayer extends AppCompatActivity return true; } + private int getNavigationBarHeight() { + int resId = getResources().getIdentifier("navigation_bar_height", "dimen", "android"); + if (resId > 0) { + return getResources().getDimensionPixelSize(resId); + } + return 0; + } + + private int getStatusBarHeight() { + int resId = getResources().getIdentifier("status_bar_height", "dimen", "android"); + if (resId > 0) { + return getResources().getDimensionPixelSize(resId); + } + return 0; + } + private void onScrollEnd() { if (DEBUG) { Log.d(TAG, "onScrollEnd() called"); diff --git a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java index de9e9b746..7a5faf31d 100644 --- a/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/PopupVideoPlayer.java @@ -68,7 +68,6 @@ import org.schabi.newpipe.BuildConfig; import org.schabi.newpipe.R; import org.schabi.newpipe.extractor.stream.VideoStream; import org.schabi.newpipe.player.event.PlayerEventListener; -import org.schabi.newpipe.player.helper.LockManager; import org.schabi.newpipe.player.helper.PlayerHelper; import org.schabi.newpipe.player.resolver.MediaSourceTag; import org.schabi.newpipe.player.resolver.VideoPlaybackResolver; @@ -132,7 +131,6 @@ public final class PopupVideoPlayer extends Service { private RemoteViews notRemoteView; private VideoPlayerImpl playerImpl; - private LockManager lockManager; private boolean isPopupClosing = false; /*////////////////////////////////////////////////////////////////////////// @@ -152,7 +150,6 @@ public final class PopupVideoPlayer extends Service { windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); notificationManager = ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)); - lockManager = new LockManager(this); playerImpl = new VideoPlayerImpl(this); ThemeHelper.setTheme(this); @@ -378,9 +375,6 @@ public final class PopupVideoPlayer extends Service { } mBinder = null; - if (lockManager != null) { - lockManager.releaseWifiAndCpu(); - } if (notificationManager != null) { notificationManager.cancel(NOTIFICATION_ID); } @@ -898,7 +892,7 @@ public final class PopupVideoPlayer extends Service { public void onBlocked() { super.onBlocked(); resetNotification(); - updateNotification(R.drawable.ic_play_arrow_white); + updateNotification(R.drawable.exo_controls_play); } @Override @@ -908,20 +902,19 @@ public final class PopupVideoPlayer extends Service { updateWindowFlags(ONGOING_PLAYBACK_WINDOW_FLAGS); resetNotification(); - updateNotification(R.drawable.ic_pause_white); + updateNotification(R.drawable.exo_controls_pause); - videoPlayPause.setBackgroundResource(R.drawable.ic_pause_white); + videoPlayPause.setBackgroundResource(R.drawable.exo_controls_pause); hideControls(DEFAULT_CONTROLS_DURATION, DEFAULT_CONTROLS_HIDE_TIME); startForeground(NOTIFICATION_ID, notBuilder.build()); - lockManager.acquireWifiAndCpu(); } @Override public void onBuffering() { super.onBuffering(); resetNotification(); - updateNotification(R.drawable.ic_play_arrow_white); + updateNotification(R.drawable.exo_controls_play); } @Override @@ -931,10 +924,8 @@ public final class PopupVideoPlayer extends Service { updateWindowFlags(IDLE_WINDOW_FLAGS); resetNotification(); - updateNotification(R.drawable.ic_play_arrow_white); - - videoPlayPause.setBackgroundResource(R.drawable.ic_play_arrow_white); - lockManager.releaseWifiAndCpu(); + updateNotification(R.drawable.exo_controls_play); + videoPlayPause.setBackgroundResource(R.drawable.exo_controls_play); stopForeground(false); } @@ -943,9 +934,9 @@ public final class PopupVideoPlayer extends Service { public void onPausedSeek() { super.onPausedSeek(); resetNotification(); - updateNotification(R.drawable.ic_play_arrow_white); + updateNotification(R.drawable.exo_controls_play); - videoPlayPause.setBackgroundResource(R.drawable.ic_pause_white); + videoPlayPause.setBackgroundResource(R.drawable.exo_controls_play); } @Override @@ -955,10 +946,8 @@ public final class PopupVideoPlayer extends Service { updateWindowFlags(IDLE_WINDOW_FLAGS); resetNotification(); - updateNotification(R.drawable.ic_replay_white); - - videoPlayPause.setBackgroundResource(R.drawable.ic_replay_white); - lockManager.releaseWifiAndCpu(); + updateNotification(R.drawable.ic_replay_white_24dp); + videoPlayPause.setBackgroundResource(R.drawable.ic_replay_white_24dp); stopForeground(false); } diff --git a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java index 6841389f4..2c9c4a425 100644 --- a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java +++ b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java @@ -643,13 +643,13 @@ public abstract class ServicePlayerActivity extends AppCompatActivity private void onStateChanged(final int state) { switch (state) { case BasePlayer.STATE_PAUSED: - playPauseButton.setImageResource(R.drawable.ic_play_arrow_white); + playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_24dp); break; case BasePlayer.STATE_PLAYING: - playPauseButton.setImageResource(R.drawable.ic_pause_white); + playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp); break; case BasePlayer.STATE_COMPLETED: - playPauseButton.setImageResource(R.drawable.ic_replay_white); + playPauseButton.setImageResource(R.drawable.ic_replay_white_24dp); break; default: break; @@ -717,9 +717,9 @@ public abstract class ServicePlayerActivity extends AppCompatActivity // using rootView.getContext() because getApplicationContext() didn't work item.setIcon(player.isMuted() ? ThemeHelper.resolveResourceIdFromAttr(rootView.getContext(), - R.attr.volume_off) + R.attr.ic_volume_off) : ThemeHelper.resolveResourceIdFromAttr(rootView.getContext(), - R.attr.volume_on)); + R.attr.ic_volume_up)); } } } diff --git a/app/src/main/java/org/schabi/newpipe/player/VideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/VideoPlayer.java index 5fb94e6c5..576d42a00 100644 --- a/app/src/main/java/org/schabi/newpipe/player/VideoPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/VideoPlayer.java @@ -46,7 +46,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; +import androidx.appcompat.content.res.AppCompatResources; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.PlaybackParameters; @@ -682,13 +682,13 @@ public abstract class VideoPlayer extends BasePlayer @Override public void onFastRewind() { super.onFastRewind(); - showAndAnimateControl(R.drawable.ic_action_av_fast_rewind, true); + showAndAnimateControl(R.drawable.ic_fast_rewind_white_24dp, true); } @Override public void onFastForward() { super.onFastForward(); - showAndAnimateControl(R.drawable.ic_action_av_fast_forward, true); + showAndAnimateControl(R.drawable.ic_fast_forward_white_24dp, true); } /*////////////////////////////////////////////////////////////////////////// @@ -956,7 +956,7 @@ public abstract class VideoPlayer extends BasePlayer controlAnimationView.setVisibility(View.VISIBLE); - controlAnimationView.setImageDrawable(ContextCompat.getDrawable(context, drawableId)); + controlAnimationView.setImageDrawable(AppCompatResources.getDrawable(context, drawableId)); controlViewAnimator.start(); } diff --git a/app/src/main/java/org/schabi/newpipe/player/mediasource/LoadedMediaSource.java b/app/src/main/java/org/schabi/newpipe/player/mediasource/LoadedMediaSource.java index a4a6eb2ce..cdbf8609b 100644 --- a/app/src/main/java/org/schabi/newpipe/player/mediasource/LoadedMediaSource.java +++ b/app/src/main/java/org/schabi/newpipe/player/mediasource/LoadedMediaSource.java @@ -36,9 +36,9 @@ public class LoadedMediaSource implements ManagedMediaSource { } @Override - public void prepareSource(final SourceInfoRefreshListener listener, + public void prepareSource(final MediaSourceCaller mediaSourceCaller, @Nullable final TransferListener mediaTransferListener) { - source.prepareSource(listener, mediaTransferListener); + source.prepareSource(mediaSourceCaller, mediaTransferListener); } @Override @@ -46,6 +46,11 @@ public class LoadedMediaSource implements ManagedMediaSource { source.maybeThrowSourceInfoRefreshError(); } + @Override + public void enable(final MediaSourceCaller caller) { + source.enable(caller); + } + @Override public MediaPeriod createPeriod(final MediaPeriodId id, final Allocator allocator, final long startPositionUs) { @@ -58,8 +63,13 @@ public class LoadedMediaSource implements ManagedMediaSource { } @Override - public void releaseSource(final SourceInfoRefreshListener listener) { - source.releaseSource(listener); + public void disable(final MediaSourceCaller caller) { + source.disable(caller); + } + + @Override + public void releaseSource(final MediaSourceCaller mediaSourceCaller) { + source.releaseSource(mediaSourceCaller); } @Override diff --git a/app/src/main/java/org/schabi/newpipe/player/mediasource/ManagedMediaSource.java b/app/src/main/java/org/schabi/newpipe/player/mediasource/ManagedMediaSource.java index 9d6b94893..21fddbe86 100644 --- a/app/src/main/java/org/schabi/newpipe/player/mediasource/ManagedMediaSource.java +++ b/app/src/main/java/org/schabi/newpipe/player/mediasource/ManagedMediaSource.java @@ -1,6 +1,7 @@ package org.schabi.newpipe.player.mediasource; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.google.android.exoplayer2.source.MediaSource; @@ -27,4 +28,10 @@ public interface ManagedMediaSource extends MediaSource { * @return whether this source is for the specified stream */ boolean isStreamEqual(@NonNull PlayQueueItem stream); + + @Nullable + @Override + default Object getTag() { + return this; + } } diff --git a/app/src/main/java/org/schabi/newpipe/player/mediasource/ManagedMediaSourcePlaylist.java b/app/src/main/java/org/schabi/newpipe/player/mediasource/ManagedMediaSourcePlaylist.java index 582eb31ca..ff0cf21fa 100644 --- a/app/src/main/java/org/schabi/newpipe/player/mediasource/ManagedMediaSourcePlaylist.java +++ b/app/src/main/java/org/schabi/newpipe/player/mediasource/ManagedMediaSourcePlaylist.java @@ -35,7 +35,7 @@ public class ManagedMediaSourcePlaylist { @Nullable public ManagedMediaSource get(final int index) { return (index < 0 || index >= size()) - ? null : (ManagedMediaSource) internalSource.getMediaSource(index); + ? null : (ManagedMediaSource) internalSource.getMediaSource(index).getTag(); } @NonNull diff --git a/app/src/main/java/org/schabi/newpipe/player/playback/CustomTrackSelector.java b/app/src/main/java/org/schabi/newpipe/player/playback/CustomTrackSelector.java index 0c4e7b2d0..2ba05b443 100644 --- a/app/src/main/java/org/schabi/newpipe/player/playback/CustomTrackSelector.java +++ b/app/src/main/java/org/schabi/newpipe/player/playback/CustomTrackSelector.java @@ -8,6 +8,7 @@ import androidx.annotation.Nullable; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; +import com.google.android.exoplayer2.RendererCapabilities.Capabilities; import com.google.android.exoplayer2.source.TrackGroup; import com.google.android.exoplayer2.source.TrackGroupArray; import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; @@ -48,27 +49,31 @@ public class CustomTrackSelector extends DefaultTrackSelector { @Override @Nullable protected Pair selectTextTrack( - final TrackGroupArray groups, final int[][] formatSupport, final Parameters params, + final TrackGroupArray groups, + @NonNull final int[][] formatSupport, + @NonNull final Parameters params, @Nullable final String selectedAudioLanguage) { TrackGroup selectedGroup = null; int selectedTrackIndex = C.INDEX_UNSET; - int newPipeTrackScore = 0; TextTrackScore selectedTrackScore = null; + for (int groupIndex = 0; groupIndex < groups.length; groupIndex++) { TrackGroup trackGroup = groups.get(groupIndex); - int[] trackFormatSupport = formatSupport[groupIndex]; + @Capabilities int[] trackFormatSupport = formatSupport[groupIndex]; + for (int trackIndex = 0; trackIndex < trackGroup.length; trackIndex++) { if (isSupported(trackFormatSupport[trackIndex], params.exceedRendererCapabilitiesIfNecessary)) { Format format = trackGroup.getFormat(trackIndex); TextTrackScore trackScore = new TextTrackScore(format, params, trackFormatSupport[trackIndex], selectedAudioLanguage); + if (formatHasLanguage(format, preferredTextLanguage)) { selectedGroup = trackGroup; selectedTrackIndex = trackIndex; selectedTrackScore = trackScore; - // found user selected match (perfect!) - break; + break; // found user selected match (perfect!) + } else if (trackScore.isWithinConstraints && (selectedTrackScore == null || trackScore.compareTo(selectedTrackScore) > 0)) { selectedGroup = trackGroup; diff --git a/app/src/main/java/org/schabi/newpipe/report/AcraReportSender.java b/app/src/main/java/org/schabi/newpipe/report/AcraReportSender.java index a6559d54d..b31e3a31e 100644 --- a/app/src/main/java/org/schabi/newpipe/report/AcraReportSender.java +++ b/app/src/main/java/org/schabi/newpipe/report/AcraReportSender.java @@ -4,7 +4,7 @@ import android.content.Context; import androidx.annotation.NonNull; -import org.acra.collector.CrashReportData; +import org.acra.data.CrashReportData; import org.acra.sender.ReportSender; import org.schabi.newpipe.R; diff --git a/app/src/main/java/org/schabi/newpipe/report/AcraReportSenderFactory.java b/app/src/main/java/org/schabi/newpipe/report/AcraReportSenderFactory.java index 9428df0cb..f4c1c4ac8 100644 --- a/app/src/main/java/org/schabi/newpipe/report/AcraReportSenderFactory.java +++ b/app/src/main/java/org/schabi/newpipe/report/AcraReportSenderFactory.java @@ -4,7 +4,7 @@ import android.content.Context; import androidx.annotation.NonNull; -import org.acra.config.ACRAConfiguration; +import org.acra.config.CoreConfiguration; import org.acra.sender.ReportSender; import org.acra.sender.ReportSenderFactory; @@ -31,7 +31,7 @@ import org.acra.sender.ReportSenderFactory; public class AcraReportSenderFactory implements ReportSenderFactory { @NonNull public ReportSender create(@NonNull final Context context, - @NonNull final ACRAConfiguration config) { + @NonNull final CoreConfiguration config) { return new AcraReportSender(); } } diff --git a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java index e1fd9d1d4..20724c02b 100644 --- a/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java +++ b/app/src/main/java/org/schabi/newpipe/report/ErrorActivity.java @@ -32,7 +32,7 @@ import com.google.android.material.snackbar.Snackbar; import com.grack.nanojson.JsonWriter; import org.acra.ReportField; -import org.acra.collector.CrashReportData; +import org.acra.data.CrashReportData; import org.schabi.newpipe.ActivityCommunicator; import org.schabi.newpipe.BuildConfig; import org.schabi.newpipe.MainActivity; @@ -149,14 +149,7 @@ public class ErrorActivity extends AppCompatActivity { public static void reportError(final Context context, final CrashReportData report, final ErrorInfo errorInfo) { - // get key first (don't ask about this solution) - ReportField key = null; - for (ReportField k : report.keySet()) { - if (k.toString().equals("STACK_TRACE")) { - key = k; - } - } - String[] el = new String[]{report.get(key).toString()}; + String[] el = new String[]{report.getString(ReportField.STACK_TRACE)}; Intent intent = new Intent(context, ErrorActivity.class); intent.putExtra(ERROR_INFO, errorInfo); @@ -229,12 +222,15 @@ public class ErrorActivity extends AppCompatActivity { context.startActivity(webIntent); }) .setPositiveButton(R.string.accept, (dialog, which) -> { - Intent i = new Intent(Intent.ACTION_SENDTO); - i.setData(Uri.parse("mailto:" + ERROR_EMAIL_ADDRESS)) + final Intent i = new Intent(Intent.ACTION_SENDTO) + .setData(Uri.parse("mailto:")) // only email apps should handle this + .putExtra(Intent.EXTRA_EMAIL, new String[]{ERROR_EMAIL_ADDRESS}) .putExtra(Intent.EXTRA_SUBJECT, ERROR_EMAIL_SUBJECT) .putExtra(Intent.EXTRA_TEXT, buildJson()); + if (i.resolveActivity(getPackageManager()) != null) { + startActivity(i); + } - startActivity(Intent.createChooser(i, "Send Email")); }) .setNegativeButton(R.string.decline, (dialog, which) -> { // do nothing diff --git a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java index bc2765387..b0bb30aa7 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/ContentSettingsFragment.java @@ -2,6 +2,7 @@ package org.schabi.newpipe.settings; import android.app.Activity; import android.app.AlertDialog; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; @@ -17,6 +18,7 @@ import androidx.preference.Preference; import com.nononsenseapps.filepicker.Utils; import com.nostra13.universalimageloader.core.ImageLoader; +import org.schabi.newpipe.DownloaderImpl; import org.schabi.newpipe.NewPipeDatabase; import org.schabi.newpipe.R; import org.schabi.newpipe.extractor.NewPipe; @@ -56,6 +58,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { private File newpipeSettings; private String thumbnailLoadToggleKey; + private String youtubeRestrictedModeEnabledKey; private Localization initialSelectedLocalization; private ContentCountry initialSelectedContentCountry; @@ -65,6 +68,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment { public void onCreate(@Nullable final Bundle savedInstanceState) { super.onCreate(savedInstanceState); thumbnailLoadToggleKey = getString(R.string.download_thumbnail_key); + youtubeRestrictedModeEnabledKey = getString(R.string.youtube_restricted_mode_enabled); initialSelectedLocalization = org.schabi.newpipe.util.Localization .getPreferredLocalization(requireContext()); @@ -86,6 +90,15 @@ public class ContentSettingsFragment extends BasePreferenceFragment { Toast.LENGTH_SHORT).show(); } + if (preference.getKey().equals(youtubeRestrictedModeEnabledKey)) { + Context context = getContext(); + if (context != null) { + DownloaderImpl.getInstance().updateYoutubeRestrictedModeCookies(context); + } else { + Log.w(TAG, "onPreferenceTreeClick: null context"); + } + } + return super.onPreferenceTreeClick(preference); } diff --git a/app/src/main/java/org/schabi/newpipe/settings/SelectChannelFragment.java b/app/src/main/java/org/schabi/newpipe/settings/SelectChannelFragment.java index 9ac3e2eda..5b452430b 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/SelectChannelFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/SelectChannelFragment.java @@ -10,6 +10,7 @@ import android.widget.ProgressBar; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.fragment.app.DialogFragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -22,6 +23,7 @@ import org.schabi.newpipe.database.subscription.SubscriptionEntity; import org.schabi.newpipe.local.subscription.SubscriptionManager; import org.schabi.newpipe.report.ErrorActivity; import org.schabi.newpipe.report.UserAction; +import org.schabi.newpipe.util.ThemeHelper; import java.util.List; import java.util.Vector; @@ -83,6 +85,12 @@ public class SelectChannelFragment extends DialogFragment { // Init //////////////////////////////////////////////////////////////////////////*/ + @Override + public void onCreate(@Nullable final Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setStyle(STYLE_NO_TITLE, ThemeHelper.getMinWidthDialogTheme(requireContext())); + } + @Override public View onCreateView(@NonNull final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) { diff --git a/app/src/main/java/org/schabi/newpipe/settings/SelectKioskFragment.java b/app/src/main/java/org/schabi/newpipe/settings/SelectKioskFragment.java index cb148c843..4df70ccec 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/SelectKioskFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/SelectKioskFragment.java @@ -9,7 +9,8 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; -import androidx.core.content.ContextCompat; +import androidx.annotation.Nullable; +import androidx.appcompat.content.res.AppCompatResources; import androidx.fragment.app.DialogFragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -21,6 +22,7 @@ import org.schabi.newpipe.report.ErrorActivity; import org.schabi.newpipe.report.UserAction; import org.schabi.newpipe.util.KioskTranslator; import org.schabi.newpipe.util.ServiceHelper; +import org.schabi.newpipe.util.ThemeHelper; import java.util.List; import java.util.Vector; @@ -61,6 +63,16 @@ public class SelectKioskFragment extends DialogFragment { onCancelListener = listener; } + /*////////////////////////////////////////////////////////////////////////// + // Init + //////////////////////////////////////////////////////////////////////////*/ + + @Override + public void onCreate(@Nullable final Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setStyle(STYLE_NO_TITLE, ThemeHelper.getMinWidthDialogTheme(requireContext())); + } + @Override public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) { @@ -148,13 +160,8 @@ public class SelectKioskFragment extends DialogFragment { final Entry entry = kioskList.get(position); holder.titleView.setText(entry.kioskName); holder.thumbnailView - .setImageDrawable(ContextCompat.getDrawable(getContext(), entry.icon)); - holder.view.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(final View view) { - clickedItem(entry); - } - }); + .setImageDrawable(AppCompatResources.getDrawable(requireContext(), entry.icon)); + holder.view.setOnClickListener(view -> clickedItem(entry)); } class Entry { diff --git a/app/src/main/java/org/schabi/newpipe/settings/custom/DurationListPreference.kt b/app/src/main/java/org/schabi/newpipe/settings/custom/DurationListPreference.kt index 4bc59fcee..14801c01c 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/custom/DurationListPreference.kt +++ b/app/src/main/java/org/schabi/newpipe/settings/custom/DurationListPreference.kt @@ -43,4 +43,4 @@ class DurationListPreference : ListPreference { entries = newEntryTitles } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/settings/tabs/AddTabDialog.java b/app/src/main/java/org/schabi/newpipe/settings/tabs/AddTabDialog.java index f03348890..52e50fbba 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/tabs/AddTabDialog.java +++ b/app/src/main/java/org/schabi/newpipe/settings/tabs/AddTabDialog.java @@ -60,7 +60,7 @@ public final class AddTabDialog { private DialogListAdapter(final Context context, final ChooseTabListItem[] items) { this.inflater = LayoutInflater.from(context); this.items = items; - this.fallbackIcon = ThemeHelper.resolveResourceIdFromAttr(context, R.attr.ic_hot); + this.fallbackIcon = ThemeHelper.resolveResourceIdFromAttr(context, R.attr.ic_kiosk_hot); } @Override diff --git a/app/src/main/java/org/schabi/newpipe/settings/tabs/ChooseTabsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/tabs/ChooseTabsFragment.java index 8a3a7f67e..6ebfbd73c 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/tabs/ChooseTabsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/tabs/ChooseTabsFragment.java @@ -233,7 +233,7 @@ public class ChooseTabsFragment extends Fragment { case KIOSK: returnList.add(new ChooseTabListItem(tab.getTabId(), getString(R.string.kiosk_page_summary), - ThemeHelper.resolveResourceIdFromAttr(context, R.attr.ic_hot))); + ThemeHelper.resolveResourceIdFromAttr(context, R.attr.ic_kiosk_hot))); break; case CHANNEL: returnList.add(new ChooseTabListItem(tab.getTabId(), @@ -244,7 +244,8 @@ public class ChooseTabsFragment extends Fragment { if (!tabList.contains(tab)) { returnList.add(new ChooseTabListItem(tab.getTabId(), getString(R.string.default_kiosk_page_summary), - ThemeHelper.resolveResourceIdFromAttr(context, R.attr.ic_hot))); + ThemeHelper.resolveResourceIdFromAttr(context, + R.attr.ic_kiosk_hot))); } break; default: diff --git a/app/src/main/java/org/schabi/newpipe/settings/tabs/Tab.java b/app/src/main/java/org/schabi/newpipe/settings/tabs/Tab.java index 07e1c1cc3..d06b4b14e 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/tabs/Tab.java +++ b/app/src/main/java/org/schabi/newpipe/settings/tabs/Tab.java @@ -231,7 +231,7 @@ public abstract class Tab { @DrawableRes @Override public int getTabIconRes(final Context context) { - return ThemeHelper.resolveResourceIdFromAttr(context, R.attr.rss); + return ThemeHelper.resolveResourceIdFromAttr(context, R.attr.ic_rss); } @Override @@ -281,7 +281,7 @@ public abstract class Tab { @DrawableRes @Override public int getTabIconRes(final Context context) { - return ThemeHelper.resolveResourceIdFromAttr(context, R.attr.history); + return ThemeHelper.resolveResourceIdFromAttr(context, R.attr.ic_history); } @Override @@ -323,7 +323,7 @@ public abstract class Tab { @DrawableRes @Override public int getTabIconRes(final Context context) { - final int kioskIcon = KioskTranslator.getKioskIcons(kioskId, context); + final int kioskIcon = KioskTranslator.getKioskIcon(kioskId, context); if (kioskIcon <= 0) { throw new IllegalStateException("Kiosk ID is not valid: \"" + kioskId + "\""); @@ -459,7 +459,7 @@ public abstract class Tab { @DrawableRes @Override public int getTabIconRes(final Context context) { - return KioskTranslator.getKioskIcons(getDefaultKioskId(context), context); + return KioskTranslator.getKioskIcon(getDefaultKioskId(context), context); } @Override diff --git a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java index 41a2331ba..eb208280e 100644 --- a/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java +++ b/app/src/main/java/org/schabi/newpipe/streams/Mp4FromDashWriter.java @@ -5,8 +5,8 @@ import org.schabi.newpipe.streams.Mp4DashReader.Mdia; import org.schabi.newpipe.streams.Mp4DashReader.Mp4DashChunk; import org.schabi.newpipe.streams.Mp4DashReader.Mp4DashSample; import org.schabi.newpipe.streams.Mp4DashReader.Mp4Track; -import org.schabi.newpipe.streams.Mp4DashReader.TrunEntry; import org.schabi.newpipe.streams.Mp4DashReader.TrackKind; +import org.schabi.newpipe.streams.Mp4DashReader.TrunEntry; import org.schabi.newpipe.streams.io.SharpStream; import java.io.IOException; @@ -711,7 +711,8 @@ public class Mp4FromDashWriter { for (int i = 0; i < tracks.length; i++) { if (tracks[i].trak.tkhd.matrix.length != 36) { - throw new RuntimeException("bad track matrix length (expected 36) in track n°" + i); + throw + new RuntimeException("bad track matrix length (expected 36) in track n°" + i); } makeTrak(i, durations[i], defaultMediaTime[i], tablesInfo[i], is64); } diff --git a/app/src/main/java/org/schabi/newpipe/util/CookieUtils.java b/app/src/main/java/org/schabi/newpipe/util/CookieUtils.java new file mode 100644 index 000000000..d8b81b4ce --- /dev/null +++ b/app/src/main/java/org/schabi/newpipe/util/CookieUtils.java @@ -0,0 +1,25 @@ +package org.schabi.newpipe.util; + +import android.text.TextUtils; + +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; + +public final class CookieUtils { + private CookieUtils() { + } + + public static String concatCookies(final Collection cookieStrings) { + Set cookieSet = new HashSet<>(); + for (String cookies : cookieStrings) { + cookieSet.addAll(splitCookies(cookies)); + } + return TextUtils.join("; ", cookieSet).trim(); + } + + public static Set splitCookies(final String cookies) { + return new HashSet<>(Arrays.asList(cookies.split("; *"))); + } +} diff --git a/app/src/main/java/org/schabi/newpipe/util/ExceptionUtils.kt b/app/src/main/java/org/schabi/newpipe/util/ExceptionUtils.kt index 163d1bc4f..528912ceb 100644 --- a/app/src/main/java/org/schabi/newpipe/util/ExceptionUtils.kt +++ b/app/src/main/java/org/schabi/newpipe/util/ExceptionUtils.kt @@ -79,4 +79,4 @@ class ExceptionUtils { return false } } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java b/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java index 15d4bf22f..b676a1a88 100644 --- a/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java +++ b/app/src/main/java/org/schabi/newpipe/util/KioskTranslator.java @@ -49,19 +49,19 @@ public final class KioskTranslator { } } - public static int getKioskIcons(final String kioskId, final Context c) { + public static int getKioskIcon(final String kioskId, final Context c) { switch (kioskId) { case "Trending": case "Top 50": case "New & hot": case "conferences": - return ThemeHelper.resolveResourceIdFromAttr(c, R.attr.ic_hot); + return ThemeHelper.resolveResourceIdFromAttr(c, R.attr.ic_kiosk_hot); case "Local": return ThemeHelper.resolveResourceIdFromAttr(c, R.attr.ic_kiosk_local); case "Recently added": return ThemeHelper.resolveResourceIdFromAttr(c, R.attr.ic_kiosk_recent); case "Most liked": - return ThemeHelper.resolveResourceIdFromAttr(c, R.attr.thumbs_up); + return ThemeHelper.resolveResourceIdFromAttr(c, R.attr.ic_thumb_up); default: return 0; } diff --git a/app/src/main/java/org/schabi/newpipe/util/KoreUtil.java b/app/src/main/java/org/schabi/newpipe/util/KoreUtil.java index 85cf82db1..983fe689b 100644 --- a/app/src/main/java/org/schabi/newpipe/util/KoreUtil.java +++ b/app/src/main/java/org/schabi/newpipe/util/KoreUtil.java @@ -7,10 +7,16 @@ import android.content.DialogInterface; import androidx.appcompat.app.AlertDialog; import org.schabi.newpipe.R; +import org.schabi.newpipe.extractor.ServiceList; public final class KoreUtil { private KoreUtil() { } + public static boolean isServiceSupportedByKore(final int serviceId) { + return (serviceId == ServiceList.YouTube.getServiceId() + || serviceId == ServiceList.SoundCloud.getServiceId()); + } + public static void showInstallKoreDialog(final Context context) { final AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setMessage(R.string.kore_not_found) diff --git a/app/src/main/java/org/schabi/newpipe/util/ListHelper.java b/app/src/main/java/org/schabi/newpipe/util/ListHelper.java index 1b2b74c6f..189b6823e 100644 --- a/app/src/main/java/org/schabi/newpipe/util/ListHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/ListHelper.java @@ -5,6 +5,7 @@ import android.content.SharedPreferences; import android.net.ConnectivityManager; import android.preference.PreferenceManager; +import androidx.annotation.Nullable; import androidx.annotation.StringRes; import org.schabi.newpipe.R; @@ -267,23 +268,22 @@ public final class ListHelper { } /** - * Get the audio from the list with the highest quality. Format will be ignored if it yields - * no results. + * Get the audio from the list with the highest quality. + * Format will be ignored if it yields no results. * - * @param format the format to look for - * @param audioStreams list the audio streams - * @return index of the audio with the highest average bitrate of the default format + * @param format The target format type or null if it doesn't matter + * @param audioStreams List of audio streams + * @return Index of audio stream that produces the most compact results or -1 if not found */ - static int getHighestQualityAudioIndex(final MediaFormat format, + static int getHighestQualityAudioIndex(@Nullable MediaFormat format, final List audioStreams) { int result = -1; - boolean hasOneFormat = false; if (audioStreams != null) { while (result == -1) { AudioStream prevStream = null; for (int idx = 0; idx < audioStreams.size(); idx++) { AudioStream stream = audioStreams.get(idx); - if ((format == null || stream.getFormat() == format || hasOneFormat) + if ((format == null || stream.getFormat() == format) && (prevStream == null || compareAudioStreamBitrate(prevStream, stream, AUDIO_FORMAT_QUALITY_RANKING) < 0)) { prevStream = stream; @@ -293,30 +293,29 @@ public final class ListHelper { if (result == -1 && format == null) { break; } - hasOneFormat = true; + format = null; } } return result; } /** - * Get the audio from the list with the lowest bitrate and efficient format. Format will be - * ignored if it yields no results. + * Get the audio from the list with the lowest bitrate and most efficient format. + * Format will be ignored if it yields no results. * * @param format The target format type or null if it doesn't matter * @param audioStreams List of audio streams - * @return Index of audio stream that can produce the most compact results or -1 if not found + * @return Index of audio stream that produces the most compact results or -1 if not found */ - static int getMostCompactAudioIndex(final MediaFormat format, + static int getMostCompactAudioIndex(@Nullable MediaFormat format, final List audioStreams) { int result = -1; - boolean hasOneFormat = false; if (audioStreams != null) { while (result == -1) { AudioStream prevStream = null; for (int idx = 0; idx < audioStreams.size(); idx++) { AudioStream stream = audioStreams.get(idx); - if ((format == null || stream.getFormat() == format || hasOneFormat) + if ((format == null || stream.getFormat() == format) && (prevStream == null || compareAudioStreamBitrate(prevStream, stream, AUDIO_FORMAT_EFFICIENCY_RANKING) > 0)) { prevStream = stream; @@ -326,7 +325,7 @@ public final class ListHelper { if (result == -1 && format == null) { break; } - hasOneFormat = true; + format = null; } } return result; diff --git a/app/src/main/java/org/schabi/newpipe/util/ShareUtils.java b/app/src/main/java/org/schabi/newpipe/util/ShareUtils.java index 8cefa08eb..0bf731a98 100644 --- a/app/src/main/java/org/schabi/newpipe/util/ShareUtils.java +++ b/app/src/main/java/org/schabi/newpipe/util/ShareUtils.java @@ -2,19 +2,74 @@ package org.schabi.newpipe.util; import android.content.Context; import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; import android.net.Uri; import org.schabi.newpipe.R; public final class ShareUtils { - private ShareUtils() { } + private ShareUtils() { + } + /** + * Open the url with the system default browser. + *

+ * If no browser is set as default, fallbacks to + * {@link ShareUtils#openInDefaultApp(Context, String)} + * + * @param context the context to use + * @param url the url to browse + */ public static void openUrlInBrowser(final Context context, final String url) { - Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + final String defaultBrowserPackageName = getDefaultBrowserPackageName(context); + + if (defaultBrowserPackageName.equals("android")) { + // no browser set as default + openInDefaultApp(context, url); + } else { + final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + intent.setPackage(defaultBrowserPackageName); + context.startActivity(intent); + } + } + + /** + * Open the url in the default app set to open this type of link. + *

+ * If no app is set as default, it will open a chooser + * + * @param context the context to use + * @param url the url to browse + */ + private static void openInDefaultApp(final Context context, final String url) { + final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); context.startActivity(Intent.createChooser( intent, context.getString(R.string.share_dialog_title))); } + /** + * Get the default browser package name. + *

+ * If no browser is set as default, it will return "android" + * + * @param context the context to use + * @return the package name of the default browser, or "android" if there's no default + */ + private static String getDefaultBrowserPackageName(final Context context) { + final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://")); + final ResolveInfo resolveInfo = context.getPackageManager().resolveActivity( + intent, PackageManager.MATCH_DEFAULT_ONLY); + return resolveInfo.activityInfo.packageName; + } + + /** + * Open the android share menu to share the current url. + * + * @param context the context to use + * @param subject the url subject, typically the title + * @param url the url to share + */ public static void shareUrl(final Context context, final String subject, final String url) { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); diff --git a/app/src/main/java/org/schabi/newpipe/util/ThemeHelper.java b/app/src/main/java/org/schabi/newpipe/util/ThemeHelper.java index 51dd0fd78..74ea34fcc 100644 --- a/app/src/main/java/org/schabi/newpipe/util/ThemeHelper.java +++ b/app/src/main/java/org/schabi/newpipe/util/ThemeHelper.java @@ -231,16 +231,4 @@ public final class ThemeHelper { return PreferenceManager.getDefaultSharedPreferences(context) .getString(themeKey, defaultTheme); } - - /** - * This will get the R.drawable.* resource to which attr is currently pointing to. - * - * @param attr a R.attribute.* resource value - * @param context the context to use - * @return a R.drawable.* resource value - */ - public static int getIconByAttr(final int attr, final Context context) { - return context.obtainStyledAttributes(new int[]{attr}) - .getResourceId(0, -1); - } } diff --git a/app/src/main/java/org/schabi/newpipe/util/urlfinder/UrlFinder.kt b/app/src/main/java/org/schabi/newpipe/util/urlfinder/UrlFinder.kt index f9090d1b5..503fa2094 100644 --- a/app/src/main/java/org/schabi/newpipe/util/urlfinder/UrlFinder.kt +++ b/app/src/main/java/org/schabi/newpipe/util/urlfinder/UrlFinder.kt @@ -24,4 +24,4 @@ class UrlFinder { return null } } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/schabi/newpipe/views/FocusAwareSeekBar.java b/app/src/main/java/org/schabi/newpipe/views/FocusAwareSeekBar.java index 179e32e4c..6dbcded48 100644 --- a/app/src/main/java/org/schabi/newpipe/views/FocusAwareSeekBar.java +++ b/app/src/main/java/org/schabi/newpipe/views/FocusAwareSeekBar.java @@ -25,6 +25,7 @@ import android.view.ViewTreeObserver; import android.widget.SeekBar; import androidx.appcompat.widget.AppCompatSeekBar; + import org.schabi.newpipe.util.AndroidTvUtils; /** 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 9ad73050b..3f651d2ee 100644 --- a/app/src/main/java/us/shandian/giga/get/DownloadMission.java +++ b/app/src/main/java/us/shandian/giga/get/DownloadMission.java @@ -6,8 +6,8 @@ import android.system.ErrnoException; import android.system.OsConstants; import android.util.Log; -import androidx.annotation.Nullable; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import org.schabi.newpipe.DownloaderImpl; diff --git a/app/src/main/java/us/shandian/giga/get/sqlite/FinishedMissionStore.java b/app/src/main/java/us/shandian/giga/get/sqlite/FinishedMissionStore.java index 1fa987c88..bf9460b3d 100644 --- a/app/src/main/java/us/shandian/giga/get/sqlite/FinishedMissionStore.java +++ b/app/src/main/java/us/shandian/giga/get/sqlite/FinishedMissionStore.java @@ -6,9 +6,10 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.net.Uri; -import androidx.annotation.NonNull; import android.util.Log; +import androidx.annotation.NonNull; + import java.io.File; import java.util.ArrayList; diff --git a/app/src/main/java/us/shandian/giga/io/FileStreamSAF.java b/app/src/main/java/us/shandian/giga/io/FileStreamSAF.java index fc716b4f9..000900918 100644 --- a/app/src/main/java/us/shandian/giga/io/FileStreamSAF.java +++ b/app/src/main/java/us/shandian/giga/io/FileStreamSAF.java @@ -3,9 +3,10 @@ package us.shandian.giga.io; import android.content.ContentResolver; import android.net.Uri; import android.os.ParcelFileDescriptor; -import androidx.annotation.NonNull; import android.util.Log; +import androidx.annotation.NonNull; + import org.schabi.newpipe.streams.io.SharpStream; import java.io.FileInputStream; diff --git a/app/src/main/java/us/shandian/giga/io/StoredDirectoryHelper.java b/app/src/main/java/us/shandian/giga/io/StoredDirectoryHelper.java index c1a63bb6a..8f6070ff4 100644 --- a/app/src/main/java/us/shandian/giga/io/StoredDirectoryHelper.java +++ b/app/src/main/java/us/shandian/giga/io/StoredDirectoryHelper.java @@ -8,6 +8,7 @@ import android.database.Cursor; import android.net.Uri; import android.os.Build; import android.provider.DocumentsContract; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.documentfile.provider.DocumentFile; diff --git a/app/src/main/java/us/shandian/giga/io/StoredFileHelper.java b/app/src/main/java/us/shandian/giga/io/StoredFileHelper.java index 463c3ce5f..ad3ceec3d 100644 --- a/app/src/main/java/us/shandian/giga/io/StoredFileHelper.java +++ b/app/src/main/java/us/shandian/giga/io/StoredFileHelper.java @@ -7,10 +7,11 @@ import android.content.Intent; import android.net.Uri; import android.os.Build; import android.provider.DocumentsContract; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; import androidx.documentfile.provider.DocumentFile; +import androidx.fragment.app.Fragment; import org.schabi.newpipe.streams.io.SharpStream; diff --git a/app/src/main/java/us/shandian/giga/ui/common/ToolbarActivity.java b/app/src/main/java/us/shandian/giga/ui/common/ToolbarActivity.java index 2ba091573..1542d3ff0 100644 --- a/app/src/main/java/us/shandian/giga/ui/common/ToolbarActivity.java +++ b/app/src/main/java/us/shandian/giga/ui/common/ToolbarActivity.java @@ -1,6 +1,7 @@ package us.shandian.giga.ui.common; import android.os.Bundle; + import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; diff --git a/app/src/main/java/us/shandian/giga/ui/fragment/MissionsFragment.java b/app/src/main/java/us/shandian/giga/ui/fragment/MissionsFragment.java index be0b0bb25..09f4d0c79 100644 --- a/app/src/main/java/us/shandian/giga/ui/fragment/MissionsFragment.java +++ b/app/src/main/java/us/shandian/giga/ui/fragment/MissionsFragment.java @@ -17,7 +17,6 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; -import android.widget.CheckBox; import android.widget.Toast; import androidx.annotation.NonNull; @@ -225,15 +224,9 @@ public class MissionsFragment extends Fragment { mList.setAdapter(mAdapter); if (mSwitch != null) { - boolean isLight = ThemeHelper.isLightThemeSelected(mContext); - int icon; - - if (mLinear) - icon = isLight ? R.drawable.ic_grid_black_24dp : R.drawable.ic_grid_white_24dp; - else - icon = isLight ? R.drawable.ic_list_black_24dp : R.drawable.ic_list_white_24dp; - - mSwitch.setIcon(icon); + mSwitch.setIcon(mLinear + ? ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_grid) + : ThemeHelper.resolveResourceIdFromAttr(requireContext(), R.attr.ic_list)); mSwitch.setTitle(mLinear ? R.string.grid : R.string.list); mPrefs.edit().putBoolean("linear", mLinear).apply(); } diff --git a/app/src/main/java/us/shandian/giga/util/Utility.java b/app/src/main/java/us/shandian/giga/util/Utility.java index 46207777a..551e80a3e 100644 --- a/app/src/main/java/us/shandian/giga/util/Utility.java +++ b/app/src/main/java/us/shandian/giga/util/Utility.java @@ -191,12 +191,12 @@ public class Utility { public static int getIconForFileType(FileType type) { switch (type) { case MUSIC: - return R.drawable.music; + return R.drawable.ic_headset_white_24dp; default: case VIDEO: - return R.drawable.video; + return R.drawable.ic_movie_white_24dp; case SUBTITLE: - return R.drawable.subtitle; + return R.drawable.ic_subtitles_white_24dp; } } diff --git a/app/src/main/res/drawable-hdpi/ic_action_av_fast_forward.png b/app/src/main/res/drawable-hdpi/ic_action_av_fast_forward.png deleted file mode 100644 index 672ee37bc..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_av_fast_forward.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_action_av_fast_rewind.png b/app/src/main/res/drawable-hdpi/ic_action_av_fast_rewind.png deleted file mode 100644 index 8d49992eb..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_action_av_fast_rewind.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_add.png b/app/src/main/res/drawable-hdpi/ic_add.png deleted file mode 100644 index 1ae5b2dc4..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_add.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_arrow_back_white_24dp.png deleted file mode 100644 index cd1972677..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_arrow_back_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_arrow_top_left_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_arrow_top_left_black_24dp.png deleted file mode 100644 index da5605741..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_arrow_top_left_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_arrow_top_left_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_arrow_top_left_white_24dp.png deleted file mode 100644 index 24376b637..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_arrow_top_left_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_backup_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_backup_black_24dp.png deleted file mode 100644 index e0938f1dc..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_backup_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_backup_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_backup_white_24dp.png deleted file mode 100644 index 5e0b464cf..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_backup_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_bookmark_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_bookmark_black_24dp.png deleted file mode 100644 index 7ad39da3a..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_bookmark_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_bookmark_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_bookmark_white_24dp.png deleted file mode 100644 index 9de15c51a..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_bookmark_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_bug_report_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_bug_report_black_24dp.png deleted file mode 100644 index 1bccb1d11..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_bug_report_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_bug_report_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_bug_report_white_24dp.png deleted file mode 100644 index 0c963e1ca..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_bug_report_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_cast_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_cast_black_24dp.png deleted file mode 100644 index a35e1c672..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_cast_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_cast_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_cast_white_24dp.png deleted file mode 100644 index 60d3915ed..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_cast_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_channel_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_channel_black_24dp.png deleted file mode 100644 index ac66a3b86..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_channel_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_channel_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_channel_white_24dp.png deleted file mode 100644 index e0ef2a1a8..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_channel_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_close_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_close_black_24dp.png deleted file mode 100644 index 1a9cd75a0..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_close_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_delete_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_delete_black_24dp.png deleted file mode 100644 index ba8820363..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_delete_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png deleted file mode 100644 index be2850b3d..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_drag_handle_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_drag_handle_black_24dp.png deleted file mode 100644 index 7ebc39358..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_drag_handle_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_drag_handle_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_drag_handle_white_24dp.png deleted file mode 100644 index 8747b9ecb..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_drag_handle_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_expand_less_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_expand_less_black_24dp.png deleted file mode 100644 index 57139a78a..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_expand_less_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_expand_less_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_expand_less_white_24dp.png deleted file mode 100644 index dea898838..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_expand_less_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_expand_more_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_expand_more_black_24dp.png deleted file mode 100644 index 9625f148f..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_expand_more_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_expand_more_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_expand_more_white_24dp.png deleted file mode 100644 index 022e05799..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_expand_more_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_fiber_manual_record_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_fiber_manual_record_black_24dp.png deleted file mode 100644 index 459eec3fe..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_fiber_manual_record_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_fiber_manual_record_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_fiber_manual_record_white_24dp.png deleted file mode 100644 index 2c476010b..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_fiber_manual_record_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_file_download_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_file_download_black_24dp.png deleted file mode 100644 index d9aacea4c..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_file_download_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_file_download_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_file_download_white_24dp.png deleted file mode 100644 index c8a2039c5..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_file_download_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_filter_list_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_filter_list_black_24dp.png deleted file mode 100644 index a966cb9bd..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_filter_list_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_filter_list_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_filter_list_white_24dp.png deleted file mode 100644 index 7e8a6b536..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_filter_list_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_fullscreen_exit_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_fullscreen_exit_black_24dp.png deleted file mode 100644 index 8328e2efe..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_fullscreen_exit_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_fullscreen_exit_white.png b/app/src/main/res/drawable-hdpi/ic_fullscreen_exit_white.png deleted file mode 100644 index 159bea7fd..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_fullscreen_exit_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_fullscreen_white.png b/app/src/main/res/drawable-hdpi/ic_fullscreen_white.png deleted file mode 100644 index 9b8131124..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_fullscreen_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_grid_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_grid_black_24dp.png deleted file mode 100644 index 2db18582c..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_grid_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_grid_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_grid_white_24dp.png deleted file mode 100644 index 5cc4722f6..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_grid_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_headset_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_headset_black_24dp.png deleted file mode 100644 index 38eb219ef..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_headset_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_headset_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_headset_white_24dp.png deleted file mode 100644 index d25d3888e..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_headset_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_history_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_history_black_24dp.png deleted file mode 100644 index 9abddaa50..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_history_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_history_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_history_white_24dp.png deleted file mode 100644 index 485c826fd..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_history_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_import_export_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_import_export_black_24dp.png deleted file mode 100644 index b4466c849..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_import_export_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_import_export_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_import_export_white_24dp.png deleted file mode 100644 index 5b6c02010..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_import_export_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_info_outline_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_info_outline_black_24dp.png deleted file mode 100644 index 4b5ab06e1..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_info_outline_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_info_outline_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_info_outline_white_24dp.png deleted file mode 100644 index c7b1113cf..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_info_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_kiosk_local_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_kiosk_local_black_24dp.png deleted file mode 100755 index a9e2993eb..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_kiosk_local_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_kiosk_local_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_kiosk_local_white_24dp.png deleted file mode 100755 index a9af000b4..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_kiosk_local_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_kiosk_recent_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_kiosk_recent_black_24dp.png deleted file mode 100755 index 13813ff82..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_kiosk_recent_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_kiosk_recent_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_kiosk_recent_white_24dp.png deleted file mode 100755 index 9054e0042..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_kiosk_recent_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_language_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_language_black_24dp.png deleted file mode 100644 index 36125569b..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_language_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_language_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_language_white_24dp.png deleted file mode 100644 index b7c8248fb..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_language_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_list_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_list_black_24dp.png deleted file mode 100644 index cc7b7a091..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_list_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_list_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_list_white_24dp.png deleted file mode 100644 index 5e6e304e3..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_list_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_menu_more.png b/app/src/main/res/drawable-hdpi/ic_menu_more.png deleted file mode 100644 index 928fcab8f..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_menu_more.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_more_vert_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_more_vert_black_24dp.png deleted file mode 100644 index 22acc5500..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_more_vert_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_more_vert_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_more_vert_white_24dp.png deleted file mode 100644 index 67f07e473..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_more_vert_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_palette_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_palette_black_24dp.png deleted file mode 100644 index 8362e21a0..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_palette_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_palette_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_palette_white_24dp.png deleted file mode 100644 index 9470e79e1..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_palette_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_pause_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_pause_black_24dp.png deleted file mode 100644 index 3770b9124..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_pause_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_pause_white.png b/app/src/main/res/drawable-hdpi/ic_pause_white.png deleted file mode 100644 index 7192ad487..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_pause_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_pause_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_pause_white_24dp.png deleted file mode 100644 index 3e3de2dce..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_pause_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_picture_in_picture_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_picture_in_picture_black_24dp.png deleted file mode 100644 index 54f824410..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_picture_in_picture_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_picture_in_picture_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_picture_in_picture_white_24dp.png deleted file mode 100644 index b4ec6bb70..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_picture_in_picture_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_play_arrow_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_play_arrow_black_24dp.png deleted file mode 100644 index e9c288c99..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_play_arrow_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_play_arrow_white.png b/app/src/main/res/drawable-hdpi/ic_play_arrow_white.png deleted file mode 100644 index 547ef30aa..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_play_arrow_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_play_arrow_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_play_arrow_white_24dp.png deleted file mode 100644 index 57c9fa546..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_play_arrow_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_play_circle_filled_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_play_circle_filled_white_24dp.png deleted file mode 100644 index f8c7bc9f8..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_play_circle_filled_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_play_circle_transparent.png b/app/src/main/res/drawable-hdpi/ic_play_circle_transparent.png deleted file mode 100644 index 4290e2346..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_play_circle_transparent.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_playlist_add_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_playlist_add_black_24dp.png deleted file mode 100644 index 731b42590..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_playlist_add_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_playlist_add_check_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_playlist_add_check_black_24dp.png deleted file mode 100644 index 92448842b..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_playlist_add_check_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_playlist_add_check_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_playlist_add_check_white_24dp.png deleted file mode 100644 index bd23b9c48..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_playlist_add_check_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_playlist_add_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_playlist_add_white_24dp.png deleted file mode 100644 index 4fb76e178..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_playlist_add_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_playlist_play_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_playlist_play_white_24dp.png deleted file mode 100644 index 34dc90f11..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_playlist_play_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_remove.png b/app/src/main/res/drawable-hdpi/ic_remove.png deleted file mode 100644 index 75e65bc9c..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_remove.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_repeat_white.png b/app/src/main/res/drawable-hdpi/ic_repeat_white.png deleted file mode 100644 index 5de7a2951..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_repeat_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_replay_white.png b/app/src/main/res/drawable-hdpi/ic_replay_white_24dp.png similarity index 100% rename from app/src/main/res/drawable-hdpi/ic_replay_white.png rename to app/src/main/res/drawable-hdpi/ic_replay_white_24dp.png diff --git a/app/src/main/res/drawable-hdpi/ic_rss_feed_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_rss_feed_black_24dp.png deleted file mode 100644 index b0adc2912..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_rss_feed_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_rss_feed_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_rss_feed_white_24dp.png deleted file mode 100644 index c966a6e0a..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_rss_feed_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_save_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_save_black_24dp.png deleted file mode 100644 index b959dc4a8..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_save_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_save_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_save_white_24dp.png deleted file mode 100644 index dd3f10664..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_save_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_screen_rotation_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_screen_rotation_black_24dp.png deleted file mode 100644 index 9a55a65b7..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_screen_rotation_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_screen_rotation_white.png b/app/src/main/res/drawable-hdpi/ic_screen_rotation_white.png deleted file mode 100644 index b81f22246..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_screen_rotation_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_search_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_search_black_24dp.png deleted file mode 100644 index c593e7ad8..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_search_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_search_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_search_white_24dp.png deleted file mode 100644 index bbfbc96cb..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_search_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png deleted file mode 100644 index acf1ddf85..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_settings_update_black.png b/app/src/main/res/drawable-hdpi/ic_settings_update_black.png deleted file mode 100755 index cdd51d35f..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_settings_update_black.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_settings_update_white.png b/app/src/main/res/drawable-hdpi/ic_settings_update_white.png deleted file mode 100755 index 544a85c9d..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_settings_update_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png deleted file mode 100644 index 97ded33b5..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_share_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_share_black_24dp.png deleted file mode 100644 index 20ba48063..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_share_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png deleted file mode 100644 index b09a6926d..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_shuffle_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_shuffle_white_24dp.png deleted file mode 100644 index ab55a83f4..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_shuffle_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_thumb_down_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_thumb_down_black_24dp.png deleted file mode 100644 index c7807e4d6..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_thumb_down_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_thumb_down_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_thumb_down_white_24dp.png deleted file mode 100644 index 3be775a52..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_thumb_down_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_thumb_up_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_thumb_up_black_24dp.png deleted file mode 100644 index 7ffe4fa78..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_thumb_up_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_thumb_up_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_thumb_up_white_24dp.png deleted file mode 100644 index c21a4643d..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_thumb_up_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_volume_off_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_volume_off_black_24dp.png deleted file mode 100644 index f1326ba7c..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_volume_off_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_volume_off_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_volume_off_white_24dp.png deleted file mode 100644 index ce0c21427..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_volume_off_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_whatshot_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_whatshot_black_24dp.png deleted file mode 100644 index b2db5994c..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_whatshot_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_whatshot_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_whatshot_white_24dp.png deleted file mode 100644 index 46ed1f8b6..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_whatshot_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/new_play_arrow.png b/app/src/main/res/drawable-hdpi/new_play_arrow.png deleted file mode 100644 index 1e2bafcc0..000000000 Binary files a/app/src/main/res/drawable-hdpi/new_play_arrow.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldrtl-hdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/drawable-ldrtl-hdpi/ic_arrow_back_white_24dp.png deleted file mode 100644 index f51755762..000000000 Binary files a/app/src/main/res/drawable-ldrtl-hdpi/ic_arrow_back_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldrtl-mdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/drawable-ldrtl-mdpi/ic_arrow_back_white_24dp.png deleted file mode 100644 index 22a1140ae..000000000 Binary files a/app/src/main/res/drawable-ldrtl-mdpi/ic_arrow_back_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldrtl-mdpi/ic_settings_update_black.png b/app/src/main/res/drawable-ldrtl-mdpi/ic_settings_update_black.png deleted file mode 100755 index d85ec5975..000000000 Binary files a/app/src/main/res/drawable-ldrtl-mdpi/ic_settings_update_black.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldrtl-xhdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/drawable-ldrtl-xhdpi/ic_arrow_back_white_24dp.png deleted file mode 100644 index d858f18e6..000000000 Binary files a/app/src/main/res/drawable-ldrtl-xhdpi/ic_arrow_back_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldrtl-xxhdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/drawable-ldrtl-xxhdpi/ic_arrow_back_white_24dp.png deleted file mode 100644 index 614ad49a3..000000000 Binary files a/app/src/main/res/drawable-ldrtl-xxhdpi/ic_arrow_back_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-ldrtl-xxxhdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/drawable-ldrtl-xxxhdpi/ic_arrow_back_white_24dp.png deleted file mode 100644 index d409b544b..000000000 Binary files a/app/src/main/res/drawable-ldrtl-xxxhdpi/ic_arrow_back_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_av_fast_forward.png b/app/src/main/res/drawable-mdpi/ic_action_av_fast_forward.png deleted file mode 100644 index f266f3efd..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_av_fast_forward.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_action_av_fast_rewind.png b/app/src/main/res/drawable-mdpi/ic_action_av_fast_rewind.png deleted file mode 100644 index e280bd470..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_action_av_fast_rewind.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_add.png b/app/src/main/res/drawable-mdpi/ic_add.png deleted file mode 100644 index d51f0ddad..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_add.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_arrow_back_white_24dp.png deleted file mode 100644 index 4ef72eec9..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_arrow_back_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_arrow_top_left_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_arrow_top_left_black_24dp.png deleted file mode 100644 index 056a0ff28..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_arrow_top_left_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_arrow_top_left_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_arrow_top_left_white_24dp.png deleted file mode 100644 index a2e73369c..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_arrow_top_left_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_backup_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_backup_black_24dp.png deleted file mode 100644 index 4cd6741c0..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_backup_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_backup_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_backup_white_24dp.png deleted file mode 100644 index aa640629a..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_backup_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_bookmark_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_bookmark_black_24dp.png deleted file mode 100644 index 0a10c2494..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_bookmark_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_bookmark_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_bookmark_white_24dp.png deleted file mode 100644 index 84f16627d..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_bookmark_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_bug_report_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_bug_report_black_24dp.png deleted file mode 100644 index 58aef662d..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_bug_report_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_bug_report_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_bug_report_white_24dp.png deleted file mode 100644 index 86e15f0d7..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_bug_report_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_cast_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_cast_black_24dp.png deleted file mode 100644 index aa5d6cd2a..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_cast_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_cast_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_cast_white_24dp.png deleted file mode 100644 index d62923f16..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_cast_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_channel_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_channel_black_24dp.png deleted file mode 100644 index 984ff498e..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_channel_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_channel_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_channel_white_24dp.png deleted file mode 100644 index 68f6ffd7f..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_channel_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_close_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_close_black_24dp.png deleted file mode 100644 index 40a1a84e3..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_close_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_delete_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_delete_black_24dp.png deleted file mode 100644 index 65bc6817d..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_delete_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_delete_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_delete_white_24dp.png deleted file mode 100644 index 8f10392ca..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_delete_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_drag_handle_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_drag_handle_black_24dp.png deleted file mode 100644 index e09d492fc..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_drag_handle_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_drag_handle_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_drag_handle_white_24dp.png deleted file mode 100644 index e509264d3..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_drag_handle_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_expand_less_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_expand_less_black_24dp.png deleted file mode 100644 index 08c16a328..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_expand_less_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_expand_less_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_expand_less_white_24dp.png deleted file mode 100644 index a2e4baad0..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_expand_less_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_expand_more_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_expand_more_black_24dp.png deleted file mode 100644 index feb85a775..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_expand_more_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_expand_more_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_expand_more_white_24dp.png deleted file mode 100644 index 910bb2a0a..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_expand_more_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_fiber_manual_record_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_fiber_manual_record_black_24dp.png deleted file mode 100644 index cfc8b4e60..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_fiber_manual_record_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_fiber_manual_record_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_fiber_manual_record_white_24dp.png deleted file mode 100644 index f6f53a154..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_fiber_manual_record_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_file_download_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_file_download_black_24dp.png deleted file mode 100644 index c2c845e84..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_file_download_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_file_download_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_file_download_white_24dp.png deleted file mode 100644 index d400472fd..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_file_download_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_filter_list_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_filter_list_black_24dp.png deleted file mode 100644 index d86492b42..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_filter_list_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_filter_list_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_filter_list_white_24dp.png deleted file mode 100644 index 59a2ec755..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_filter_list_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_fullscreen_exit_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_fullscreen_exit_black_24dp.png deleted file mode 100644 index c8394487c..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_fullscreen_exit_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_fullscreen_exit_white.png b/app/src/main/res/drawable-mdpi/ic_fullscreen_exit_white.png deleted file mode 100644 index 364bad0b8..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_fullscreen_exit_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_fullscreen_white.png b/app/src/main/res/drawable-mdpi/ic_fullscreen_white.png deleted file mode 100644 index 4423c7ce9..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_fullscreen_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_grid_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_grid_black_24dp.png deleted file mode 100644 index 0f878e4ed..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_grid_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_grid_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_grid_white_24dp.png deleted file mode 100644 index 0096c9f11..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_grid_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_headset_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_headset_black_24dp.png deleted file mode 100644 index d872b05d5..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_headset_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_headset_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_headset_white_24dp.png deleted file mode 100644 index df063799d..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_headset_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_history_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_history_black_24dp.png deleted file mode 100644 index 9fade8bb5..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_history_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_history_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_history_white_24dp.png deleted file mode 100644 index d67647c56..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_history_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_import_export_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_import_export_black_24dp.png deleted file mode 100644 index 90f8c4567..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_import_export_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_import_export_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_import_export_white_24dp.png deleted file mode 100644 index 151188cf8..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_import_export_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_info_outline_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_info_outline_black_24dp.png deleted file mode 100644 index e0c9fe0eb..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_info_outline_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_info_outline_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_info_outline_white_24dp.png deleted file mode 100644 index 353e06495..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_info_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_kiosk_local_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_kiosk_local_black_24dp.png deleted file mode 100755 index 1eba63792..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_kiosk_local_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_kiosk_local_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_kiosk_local_white_24dp.png deleted file mode 100755 index 23d8145f5..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_kiosk_local_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_kiosk_recent_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_kiosk_recent_black_24dp.png deleted file mode 100755 index adc36b227..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_kiosk_recent_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_kiosk_recent_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_kiosk_recent_white_24dp.png deleted file mode 100755 index c19bfe964..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_kiosk_recent_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_language_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_language_black_24dp.png deleted file mode 100644 index 62ef88c67..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_language_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_language_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_language_white_24dp.png deleted file mode 100644 index 0bc7dfd48..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_language_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_list_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_list_black_24dp.png deleted file mode 100644 index 6fa4e5034..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_list_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_list_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_list_white_24dp.png deleted file mode 100644 index f0d3f5f7c..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_list_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_more_vert_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_more_vert_black_24dp.png deleted file mode 100644 index 0e4f2f6ea..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_more_vert_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_more_vert_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_more_vert_white_24dp.png deleted file mode 100644 index 017e45ede..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_more_vert_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_palette_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_palette_black_24dp.png deleted file mode 100644 index f7491eb79..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_palette_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_palette_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_palette_white_24dp.png deleted file mode 100644 index 6ce59523d..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_palette_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_pause_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_pause_black_24dp.png deleted file mode 100644 index 6e81d3ad4..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_pause_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_pause_white.png b/app/src/main/res/drawable-mdpi/ic_pause_white.png deleted file mode 100644 index f49aed757..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_pause_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_pause_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_pause_white_24dp.png deleted file mode 100644 index f5236e8aa..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_pause_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_picture_in_picture_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_picture_in_picture_black_24dp.png deleted file mode 100644 index e7a9be944..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_picture_in_picture_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_picture_in_picture_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_picture_in_picture_white_24dp.png deleted file mode 100644 index 96b5ed3f4..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_picture_in_picture_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_play_arrow_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_play_arrow_black_24dp.png deleted file mode 100644 index d78c57bad..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_play_arrow_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_play_arrow_white.png b/app/src/main/res/drawable-mdpi/ic_play_arrow_white.png deleted file mode 100644 index a3c80e73d..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_play_arrow_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_play_arrow_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_play_arrow_white_24dp.png deleted file mode 100644 index c61e948bb..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_play_arrow_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_play_circle_filled_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_play_circle_filled_white_24dp.png deleted file mode 100644 index 9681bf5a5..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_play_circle_filled_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_play_circle_transparent.png b/app/src/main/res/drawable-mdpi/ic_play_circle_transparent.png deleted file mode 100644 index 743e4e810..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_play_circle_transparent.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_playlist_add_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_playlist_add_black_24dp.png deleted file mode 100644 index d7a7514a8..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_playlist_add_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_playlist_add_check_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_playlist_add_check_black_24dp.png deleted file mode 100644 index 416490774..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_playlist_add_check_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_playlist_add_check_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_playlist_add_check_white_24dp.png deleted file mode 100644 index 0e35fe739..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_playlist_add_check_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_playlist_add_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_playlist_add_white_24dp.png deleted file mode 100644 index 73c981285..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_playlist_add_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_playlist_play_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_playlist_play_white_24dp.png deleted file mode 100644 index 1be3cdbd6..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_playlist_play_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_remove.png b/app/src/main/res/drawable-mdpi/ic_remove.png deleted file mode 100644 index a1816d4c6..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_remove.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_repeat_white.png b/app/src/main/res/drawable-mdpi/ic_repeat_white.png deleted file mode 100644 index ad8b8c0df..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_repeat_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_replay_white.png b/app/src/main/res/drawable-mdpi/ic_replay_white_24dp.png similarity index 100% rename from app/src/main/res/drawable-mdpi/ic_replay_white.png rename to app/src/main/res/drawable-mdpi/ic_replay_white_24dp.png diff --git a/app/src/main/res/drawable-mdpi/ic_rss_feed_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_rss_feed_black_24dp.png deleted file mode 100644 index 7fb28d5c5..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_rss_feed_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_rss_feed_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_rss_feed_white_24dp.png deleted file mode 100644 index 067b10752..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_rss_feed_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_save_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_save_black_24dp.png deleted file mode 100644 index 663479b73..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_save_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_save_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_save_white_24dp.png deleted file mode 100644 index 015062ed3..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_save_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_screen_rotation_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_screen_rotation_black_24dp.png deleted file mode 100644 index 012a32d4f..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_screen_rotation_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_screen_rotation_white.png b/app/src/main/res/drawable-mdpi/ic_screen_rotation_white.png deleted file mode 100644 index bb36eef34..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_screen_rotation_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_search_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_search_black_24dp.png deleted file mode 100644 index 6b1634323..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_search_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_search_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_search_white_24dp.png deleted file mode 100644 index faefc59c8..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_search_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png deleted file mode 100644 index c59419c02..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_settings_update_black.png b/app/src/main/res/drawable-mdpi/ic_settings_update_black.png deleted file mode 100755 index 964553137..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_settings_update_black.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_settings_update_white.png b/app/src/main/res/drawable-mdpi/ic_settings_update_white.png deleted file mode 100755 index cf4642f97..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_settings_update_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png deleted file mode 100644 index 8909c3553..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_share_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_share_black_24dp.png deleted file mode 100644 index f02d360aa..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_share_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_share_white_24dp.png deleted file mode 100644 index e944fd70c..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_share_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_shuffle_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_shuffle_white_24dp.png deleted file mode 100644 index d13a258a3..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_shuffle_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_thumb_down_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_thumb_down_black_24dp.png deleted file mode 100644 index fa4d6ff7e..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_thumb_down_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_thumb_down_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_thumb_down_white_24dp.png deleted file mode 100644 index ccb7bb76b..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_thumb_down_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_thumb_up_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_thumb_up_black_24dp.png deleted file mode 100644 index 04162adc8..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_thumb_up_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_thumb_up_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_thumb_up_white_24dp.png deleted file mode 100644 index 10a6de71f..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_thumb_up_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_volume_off_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_volume_off_black_24dp.png deleted file mode 100644 index a629cfff5..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_volume_off_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_volume_off_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_volume_off_white_24dp.png deleted file mode 100644 index 4681ec141..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_volume_off_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_whatshot_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_whatshot_black_24dp.png deleted file mode 100644 index 31b1981f0..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_whatshot_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_whatshot_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_whatshot_white_24dp.png deleted file mode 100644 index 4cf6f85f8..000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_whatshot_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/new_play_arrow.png b/app/src/main/res/drawable-mdpi/new_play_arrow.png deleted file mode 100644 index 96103be9d..000000000 Binary files a/app/src/main/res/drawable-mdpi/new_play_arrow.png and /dev/null differ diff --git a/app/src/main/res/drawable-nodpi/arrow_down.png b/app/src/main/res/drawable-nodpi/arrow_down.png deleted file mode 100644 index f968ab32b..000000000 Binary files a/app/src/main/res/drawable-nodpi/arrow_down.png and /dev/null differ diff --git a/app/src/main/res/drawable-nodpi/arrow_up.png b/app/src/main/res/drawable-nodpi/arrow_up.png deleted file mode 100644 index e5081691a..000000000 Binary files a/app/src/main/res/drawable-nodpi/arrow_up.png and /dev/null differ diff --git a/app/src/main/res/drawable-nodpi/gruese_die_gema.png b/app/src/main/res/drawable-nodpi/gruese_die_gema.png deleted file mode 100644 index d6e2af3d5..000000000 Binary files a/app/src/main/res/drawable-nodpi/gruese_die_gema.png and /dev/null differ diff --git a/app/src/main/res/drawable-nodpi/np_logo_nude_shadow.png b/app/src/main/res/drawable-nodpi/newpipe_logo_nude_shadow.png similarity index 100% rename from app/src/main/res/drawable-nodpi/np_logo_nude_shadow.png rename to app/src/main/res/drawable-nodpi/newpipe_logo_nude_shadow.png diff --git a/app/src/main/res/drawable-nodpi/service.png b/app/src/main/res/drawable-nodpi/service.png deleted file mode 100644 index cfaff19e2..000000000 Binary files a/app/src/main/res/drawable-nodpi/service.png and /dev/null differ diff --git a/app/src/main/res/drawable-nodpi/soundcloud.png b/app/src/main/res/drawable-nodpi/soundcloud.png deleted file mode 100644 index 0fa6045d5..000000000 Binary files a/app/src/main/res/drawable-nodpi/soundcloud.png and /dev/null differ diff --git a/app/src/main/res/drawable-nodpi/youtube.png b/app/src/main/res/drawable-nodpi/youtube.png deleted file mode 100644 index 82aa58ff1..000000000 Binary files a/app/src/main/res/drawable-nodpi/youtube.png and /dev/null differ diff --git a/app/src/main/res/drawable-v23/splash_background.xml b/app/src/main/res/drawable-v23/splash_background.xml index a67fbc4a6..a11787c8a 100644 --- a/app/src/main/res/drawable-v23/splash_background.xml +++ b/app/src/main/res/drawable-v23/splash_background.xml @@ -8,5 +8,5 @@ android:width="80dp" android:height="80dp" android:gravity="center" - android:drawable="@drawable/splash_forground"/> + android:drawable="@drawable/splash_foreground"/> \ No newline at end of file diff --git a/app/src/main/res/drawable-xhdpi/ic_action_av_fast_forward.png b/app/src/main/res/drawable-xhdpi/ic_action_av_fast_forward.png deleted file mode 100644 index 2e6f43cae..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_av_fast_forward.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_action_av_fast_rewind.png b/app/src/main/res/drawable-xhdpi/ic_action_av_fast_rewind.png deleted file mode 100644 index 1e804aafc..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_action_av_fast_rewind.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_add.png b/app/src/main/res/drawable-xhdpi/ic_add.png deleted file mode 100644 index 9ea0eeb7e..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_add.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_arrow_back_white_24dp.png deleted file mode 100644 index 832f5a361..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_arrow_back_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_arrow_top_left_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_arrow_top_left_black_24dp.png deleted file mode 100644 index e4255a18a..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_arrow_top_left_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_arrow_top_left_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_arrow_top_left_white_24dp.png deleted file mode 100644 index db578cab9..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_arrow_top_left_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_backup_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_backup_black_24dp.png deleted file mode 100644 index 81155da52..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_backup_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_backup_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_backup_white_24dp.png deleted file mode 100644 index a9602d11b..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_backup_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_bookmark_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_bookmark_black_24dp.png deleted file mode 100644 index 5d71bf213..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_bookmark_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_bookmark_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_bookmark_white_24dp.png deleted file mode 100644 index 872349cca..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_bookmark_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_bug_report_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_bug_report_black_24dp.png deleted file mode 100644 index 107f74a20..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_bug_report_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_bug_report_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_bug_report_white_24dp.png deleted file mode 100644 index 36b826bb8..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_bug_report_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_cast_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_cast_black_24dp.png deleted file mode 100644 index 1fe4879df..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_cast_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_cast_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_cast_white_24dp.png deleted file mode 100644 index f5f7c14b3..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_cast_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_channel_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_channel_black_24dp.png deleted file mode 100644 index 0851f1738..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_channel_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_channel_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_channel_white_24dp.png deleted file mode 100644 index 2f0f6c5fd..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_channel_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_close_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_close_black_24dp.png deleted file mode 100644 index 6bc437298..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_close_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_delete_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_delete_black_24dp.png deleted file mode 100644 index f080aa9e8..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_delete_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png deleted file mode 100644 index a1b828bf9..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_drag_handle_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_drag_handle_black_24dp.png deleted file mode 100644 index 906f5eee0..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_drag_handle_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_drag_handle_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_drag_handle_white_24dp.png deleted file mode 100644 index aa1547b04..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_drag_handle_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_expand_less_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_expand_less_black_24dp.png deleted file mode 100644 index 323360ead..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_expand_less_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_expand_less_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_expand_less_white_24dp.png deleted file mode 100644 index ae36d91e1..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_expand_less_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_expand_more_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_expand_more_black_24dp.png deleted file mode 100644 index d3ee65e9a..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_expand_more_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_expand_more_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_expand_more_white_24dp.png deleted file mode 100644 index c42e2a049..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_expand_more_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_fiber_manual_record_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_fiber_manual_record_black_24dp.png deleted file mode 100644 index 3eb79e4c1..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_fiber_manual_record_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_fiber_manual_record_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_fiber_manual_record_white_24dp.png deleted file mode 100644 index 0fa16b016..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_fiber_manual_record_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_file_download_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_file_download_black_24dp.png deleted file mode 100644 index f5afb24dc..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_file_download_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_file_download_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_file_download_white_24dp.png deleted file mode 100644 index f53cc0c62..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_file_download_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_filter_list_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_filter_list_black_24dp.png deleted file mode 100644 index b64df3612..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_filter_list_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_filter_list_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_filter_list_white_24dp.png deleted file mode 100644 index 9416c70ec..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_filter_list_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_fullscreen_exit_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_fullscreen_exit_black_24dp.png deleted file mode 100644 index 5fc3166ac..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_fullscreen_exit_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_fullscreen_exit_white.png b/app/src/main/res/drawable-xhdpi/ic_fullscreen_exit_white.png deleted file mode 100644 index ef360fe40..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_fullscreen_exit_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_fullscreen_white.png b/app/src/main/res/drawable-xhdpi/ic_fullscreen_white.png deleted file mode 100644 index c1dcfb290..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_fullscreen_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_grid_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_grid_black_24dp.png deleted file mode 100644 index bcefc5221..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_grid_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_grid_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_grid_white_24dp.png deleted file mode 100644 index 745cb6cb8..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_grid_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_headset_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_headset_black_24dp.png deleted file mode 100644 index f2664dcde..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_headset_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_headset_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_headset_white_24dp.png deleted file mode 100644 index d7a741b61..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_headset_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_history_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_history_black_24dp.png deleted file mode 100644 index f6096cab3..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_history_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_history_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_history_white_24dp.png deleted file mode 100644 index 3e73b49ee..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_history_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_import_export_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_import_export_black_24dp.png deleted file mode 100644 index 9b643bd3b..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_import_export_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_import_export_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_import_export_white_24dp.png deleted file mode 100644 index e22e18866..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_import_export_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_info_outline_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_info_outline_black_24dp.png deleted file mode 100644 index b706f0d06..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_info_outline_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_info_outline_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_info_outline_white_24dp.png deleted file mode 100644 index c571b2e3e..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_info_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_kiosk_local_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_kiosk_local_black_24dp.png deleted file mode 100755 index e20865ab0..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_kiosk_local_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_kiosk_local_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_kiosk_local_white_24dp.png deleted file mode 100755 index 2d3474832..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_kiosk_local_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_kiosk_recent_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_kiosk_recent_black_24dp.png deleted file mode 100755 index 54e815980..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_kiosk_recent_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_kiosk_recent_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_kiosk_recent_white_24dp.png deleted file mode 100755 index 3141a790d..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_kiosk_recent_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_language_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_language_black_24dp.png deleted file mode 100644 index 5ed4a9252..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_language_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_language_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_language_white_24dp.png deleted file mode 100644 index eeaab46c0..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_language_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_list_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_list_black_24dp.png deleted file mode 100644 index 0f7327fad..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_list_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png deleted file mode 100644 index 1de314a57..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_menu_more.png b/app/src/main/res/drawable-xhdpi/ic_menu_more.png deleted file mode 100644 index 13596f594..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_menu_more.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_more_vert_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_more_vert_black_24dp.png deleted file mode 100644 index 9f10aa275..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_more_vert_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_more_vert_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_more_vert_white_24dp.png deleted file mode 100644 index efab8a74f..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_more_vert_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_palette_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_palette_black_24dp.png deleted file mode 100644 index ce3a94c3c..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_palette_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_palette_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_palette_white_24dp.png deleted file mode 100644 index 4af10a4d0..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_palette_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_pause_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_pause_black_24dp.png deleted file mode 100644 index e6de3973a..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_pause_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_pause_white.png b/app/src/main/res/drawable-xhdpi/ic_pause_white.png deleted file mode 100644 index 660ac6585..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_pause_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_pause_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_pause_white_24dp.png deleted file mode 100644 index b94b2ae40..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_pause_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_picture_in_picture_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_picture_in_picture_black_24dp.png deleted file mode 100644 index d85b80f84..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_picture_in_picture_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_picture_in_picture_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_picture_in_picture_white_24dp.png deleted file mode 100644 index 8039bebcf..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_picture_in_picture_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_play_arrow_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_play_arrow_black_24dp.png deleted file mode 100644 index f208795fc..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_play_arrow_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_play_arrow_white.png b/app/src/main/res/drawable-xhdpi/ic_play_arrow_white.png deleted file mode 100644 index be5c062b5..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_play_arrow_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_play_arrow_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_play_arrow_white_24dp.png deleted file mode 100644 index a3c80e73d..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_play_arrow_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_play_circle_filled_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_play_circle_filled_white_24dp.png deleted file mode 100644 index 5dcdf0d7a..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_play_circle_filled_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_play_circle_transparent.png b/app/src/main/res/drawable-xhdpi/ic_play_circle_transparent.png deleted file mode 100644 index afb9a7bf6..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_play_circle_transparent.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_playlist_add_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_playlist_add_black_24dp.png deleted file mode 100644 index dc4ebe9f3..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_playlist_add_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_playlist_add_check_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_playlist_add_check_black_24dp.png deleted file mode 100644 index 24855e94f..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_playlist_add_check_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_playlist_add_check_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_playlist_add_check_white_24dp.png deleted file mode 100644 index a94c5d035..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_playlist_add_check_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_playlist_add_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_playlist_add_white_24dp.png deleted file mode 100644 index 52ccba0b2..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_playlist_add_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_playlist_play_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_playlist_play_white_24dp.png deleted file mode 100644 index e7d2159c5..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_playlist_play_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_remove.png b/app/src/main/res/drawable-xhdpi/ic_remove.png deleted file mode 100644 index ffbdaa6ed..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_remove.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_repeat_white.png b/app/src/main/res/drawable-xhdpi/ic_repeat_white.png deleted file mode 100644 index c13d00242..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_repeat_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_replay_white.png b/app/src/main/res/drawable-xhdpi/ic_replay_white_24dp.png similarity index 100% rename from app/src/main/res/drawable-xhdpi/ic_replay_white.png rename to app/src/main/res/drawable-xhdpi/ic_replay_white_24dp.png diff --git a/app/src/main/res/drawable-xhdpi/ic_rss_feed_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_rss_feed_black_24dp.png deleted file mode 100644 index 7eb9897d8..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_rss_feed_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_rss_feed_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_rss_feed_white_24dp.png deleted file mode 100644 index 650627286..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_rss_feed_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_save_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_save_black_24dp.png deleted file mode 100644 index eca2d92ec..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_save_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_save_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_save_white_24dp.png deleted file mode 100644 index adda09575..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_save_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_screen_rotation_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_screen_rotation_black_24dp.png deleted file mode 100644 index ae2be1fa8..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_screen_rotation_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_screen_rotation_white.png b/app/src/main/res/drawable-xhdpi/ic_screen_rotation_white.png deleted file mode 100644 index 449b6725f..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_screen_rotation_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_search_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_search_black_24dp.png deleted file mode 100644 index 638190268..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_search_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_search_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_search_white_24dp.png deleted file mode 100644 index bfc3e3939..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_search_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png deleted file mode 100644 index e84e188a1..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_settings_update_black.png b/app/src/main/res/drawable-xhdpi/ic_settings_update_black.png deleted file mode 100755 index 0304e6fd1..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_settings_update_black.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_settings_update_white.png b/app/src/main/res/drawable-xhdpi/ic_settings_update_white.png deleted file mode 100755 index 9c71b13f7..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_settings_update_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png deleted file mode 100644 index 5caedc8e5..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_share_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_share_black_24dp.png deleted file mode 100644 index 81c80b700..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_share_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png deleted file mode 100644 index 22a8783e7..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_shuffle_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_shuffle_white_24dp.png deleted file mode 100644 index 66c15ce62..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_shuffle_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_thumb_down_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_thumb_down_black_24dp.png deleted file mode 100644 index a5679f360..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_thumb_down_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_thumb_down_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_thumb_down_white_24dp.png deleted file mode 100644 index 709b89291..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_thumb_down_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_thumb_up_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_thumb_up_black_24dp.png deleted file mode 100644 index 76ccf695a..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_thumb_up_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_thumb_up_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_thumb_up_white_24dp.png deleted file mode 100644 index 75ae1f5f1..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_thumb_up_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_volume_off_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_volume_off_black_24dp.png deleted file mode 100644 index 52c9cc1de..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_volume_off_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_volume_off_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_volume_off_white_24dp.png deleted file mode 100644 index 732a1c0f4..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_volume_off_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_whatshot_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_whatshot_black_24dp.png deleted file mode 100644 index e9ae82670..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_whatshot_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_whatshot_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_whatshot_white_24dp.png deleted file mode 100644 index 3651d061a..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_whatshot_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/music.png b/app/src/main/res/drawable-xhdpi/music.png deleted file mode 100644 index 130f5da30..000000000 Binary files a/app/src/main/res/drawable-xhdpi/music.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/new_play_arrow.png b/app/src/main/res/drawable-xhdpi/new_play_arrow.png deleted file mode 100644 index 1a6b8d568..000000000 Binary files a/app/src/main/res/drawable-xhdpi/new_play_arrow.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/subtitle.png b/app/src/main/res/drawable-xhdpi/subtitle.png deleted file mode 100644 index 7f535288e..000000000 Binary files a/app/src/main/res/drawable-xhdpi/subtitle.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/video.png b/app/src/main/res/drawable-xhdpi/video.png deleted file mode 100644 index fefb72d9c..000000000 Binary files a/app/src/main/res/drawable-xhdpi/video.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_av_fast_forward.png b/app/src/main/res/drawable-xxhdpi/ic_action_av_fast_forward.png deleted file mode 100644 index 3012145f0..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_av_fast_forward.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_av_fast_rewind.png b/app/src/main/res/drawable-xxhdpi/ic_action_av_fast_rewind.png deleted file mode 100644 index a04b8433a..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_av_fast_rewind.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_add.png b/app/src/main/res/drawable-xxhdpi/ic_add.png deleted file mode 100644 index 75f192aab..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_add.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_arrow_back_white_24dp.png deleted file mode 100644 index 32a6d91ce..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_arrow_back_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_arrow_top_left_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_arrow_top_left_black_24dp.png deleted file mode 100644 index 566b5c5d3..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_arrow_top_left_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_arrow_top_left_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_arrow_top_left_white_24dp.png deleted file mode 100644 index 89d726f6c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_arrow_top_left_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_backup_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_backup_black_24dp.png deleted file mode 100644 index 6506c7236..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_backup_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_backup_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_backup_white_24dp.png deleted file mode 100644 index 3ff57ad3e..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_backup_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_bookmark_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_bookmark_black_24dp.png deleted file mode 100644 index 2189be346..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_bookmark_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_bookmark_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_bookmark_white_24dp.png deleted file mode 100644 index 3faff90bb..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_bookmark_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_bug_report_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_bug_report_black_24dp.png deleted file mode 100644 index af8c82e6e..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_bug_report_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_bug_report_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_bug_report_white_24dp.png deleted file mode 100644 index 766bac447..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_bug_report_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_cast_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_cast_black_24dp.png deleted file mode 100644 index 454b66b62..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_cast_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_cast_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_cast_white_24dp.png deleted file mode 100644 index 7a7673fb9..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_cast_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_channel_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_channel_black_24dp.png deleted file mode 100644 index 4861728c4..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_channel_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_channel_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_channel_white_24dp.png deleted file mode 100644 index 2fd740ee8..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_channel_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_close_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_close_black_24dp.png deleted file mode 100644 index 51b4401ca..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_close_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_delete_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_delete_black_24dp.png deleted file mode 100644 index 4cb4c08e2..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_delete_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png deleted file mode 100644 index bd11b4c66..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_drag_handle_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_drag_handle_black_24dp.png deleted file mode 100644 index 71da19a59..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_drag_handle_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_drag_handle_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_drag_handle_white_24dp.png deleted file mode 100644 index e91ef07e9..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_drag_handle_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_expand_less_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_expand_less_black_24dp.png deleted file mode 100644 index ee92f4ecd..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_expand_less_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_expand_less_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_expand_less_white_24dp.png deleted file mode 100644 index 62fc386c1..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_expand_less_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_expand_more_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_expand_more_black_24dp.png deleted file mode 100644 index 5cd142c1d..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_expand_more_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_expand_more_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_expand_more_white_24dp.png deleted file mode 100644 index dbc0b2032..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_expand_more_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_fiber_manual_record_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_fiber_manual_record_black_24dp.png deleted file mode 100644 index b53beb106..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_fiber_manual_record_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_fiber_manual_record_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_fiber_manual_record_white_24dp.png deleted file mode 100644 index 422487473..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_fiber_manual_record_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_file_download_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_file_download_black_24dp.png deleted file mode 100644 index ce97c85df..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_file_download_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_file_download_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_file_download_white_24dp.png deleted file mode 100644 index 78aa59166..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_file_download_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_filter_list_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_filter_list_black_24dp.png deleted file mode 100644 index 2314642f9..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_filter_list_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_filter_list_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_filter_list_white_24dp.png deleted file mode 100644 index 1263ae82e..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_filter_list_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_fullscreen_exit_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_fullscreen_exit_black_24dp.png deleted file mode 100644 index 5691b5541..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_fullscreen_exit_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_fullscreen_exit_white.png b/app/src/main/res/drawable-xxhdpi/ic_fullscreen_exit_white.png deleted file mode 100644 index b7f4133fd..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_fullscreen_exit_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_fullscreen_white.png b/app/src/main/res/drawable-xxhdpi/ic_fullscreen_white.png deleted file mode 100644 index a0a1b4d4f..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_fullscreen_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_grid_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_grid_black_24dp.png deleted file mode 100644 index 31cd3dc83..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_grid_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_grid_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_grid_white_24dp.png deleted file mode 100644 index ebe059481..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_grid_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_headset_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_headset_black_24dp.png deleted file mode 100644 index baf3ee295..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_headset_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_headset_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_headset_white_24dp.png deleted file mode 100644 index 82db5427b..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_headset_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_history_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_history_black_24dp.png deleted file mode 100644 index f837fda0e..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_history_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_history_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_history_white_24dp.png deleted file mode 100644 index 1358a129c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_history_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_import_export_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_import_export_black_24dp.png deleted file mode 100644 index 78e865dfa..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_import_export_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_import_export_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_import_export_white_24dp.png deleted file mode 100644 index 33c21c5c4..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_import_export_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_info_outline_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_info_outline_black_24dp.png deleted file mode 100644 index 3847a9fe7..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_info_outline_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_info_outline_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_info_outline_white_24dp.png deleted file mode 100644 index c41a5fcff..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_info_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_kiosk_local_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_kiosk_local_black_24dp.png deleted file mode 100755 index bcbeb199c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_kiosk_local_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_kiosk_local_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_kiosk_local_white_24dp.png deleted file mode 100755 index 6b27fb23c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_kiosk_local_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_kiosk_recent_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_kiosk_recent_black_24dp.png deleted file mode 100755 index 92fc748ec..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_kiosk_recent_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_kiosk_recent_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_kiosk_recent_white_24dp.png deleted file mode 100755 index 5b0aa6ae2..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_kiosk_recent_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_language_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_language_black_24dp.png deleted file mode 100644 index 68608c70c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_language_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_language_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_language_white_24dp.png deleted file mode 100644 index d4b55183c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_language_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_list_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_list_black_24dp.png deleted file mode 100644 index 52d0c00a1..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_list_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png deleted file mode 100644 index e5f698298..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_more_vert_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_more_vert_black_24dp.png deleted file mode 100644 index 94d5ab98c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_more_vert_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_more_vert_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_more_vert_white_24dp.png deleted file mode 100644 index d32281307..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_more_vert_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_palette_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_palette_black_24dp.png deleted file mode 100644 index d93fe2e0c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_palette_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_palette_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_palette_white_24dp.png deleted file mode 100644 index 119b1fd8c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_palette_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_pause_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_pause_black_24dp.png deleted file mode 100644 index 2691adeb3..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_pause_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_pause_white.png b/app/src/main/res/drawable-xxhdpi/ic_pause_white.png deleted file mode 100644 index 3ea7e03e5..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_pause_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_pause_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_pause_white_24dp.png deleted file mode 100644 index 15cb0b51c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_pause_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_picture_in_picture_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_picture_in_picture_black_24dp.png deleted file mode 100644 index c3892ff23..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_picture_in_picture_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_picture_in_picture_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_picture_in_picture_white_24dp.png deleted file mode 100644 index 719a3fef8..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_picture_in_picture_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_play_arrow_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_play_arrow_black_24dp.png deleted file mode 100644 index 5345ee3c4..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_play_arrow_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white.png b/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white.png deleted file mode 100644 index 2745c3ab9..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white_24dp.png deleted file mode 100644 index 547ef30aa..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_play_circle_filled_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_play_circle_filled_white_24dp.png deleted file mode 100644 index 30330cfad..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_play_circle_filled_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_play_circle_transparent.png b/app/src/main/res/drawable-xxhdpi/ic_play_circle_transparent.png deleted file mode 100644 index 5d7afaef4..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_play_circle_transparent.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_playlist_add_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_playlist_add_black_24dp.png deleted file mode 100644 index af0bae3f0..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_playlist_add_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_playlist_add_check_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_playlist_add_check_black_24dp.png deleted file mode 100644 index ac03e19ab..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_playlist_add_check_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_playlist_add_check_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_playlist_add_check_white_24dp.png deleted file mode 100644 index 290088718..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_playlist_add_check_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_playlist_add_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_playlist_add_white_24dp.png deleted file mode 100644 index 3f652366d..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_playlist_add_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_playlist_play_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_playlist_play_white_24dp.png deleted file mode 100644 index 7f3b00168..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_playlist_play_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_remove.png b/app/src/main/res/drawable-xxhdpi/ic_remove.png deleted file mode 100644 index d35469d3c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_remove.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_repeat_white.png b/app/src/main/res/drawable-xxhdpi/ic_repeat_white.png deleted file mode 100644 index bf7607966..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_repeat_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_replay_white.png b/app/src/main/res/drawable-xxhdpi/ic_replay_white_24dp.png similarity index 100% rename from app/src/main/res/drawable-xxhdpi/ic_replay_white.png rename to app/src/main/res/drawable-xxhdpi/ic_replay_white_24dp.png diff --git a/app/src/main/res/drawable-xxhdpi/ic_rss_feed_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_rss_feed_black_24dp.png deleted file mode 100644 index 3e3d4d97a..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_rss_feed_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_rss_feed_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_rss_feed_white_24dp.png deleted file mode 100644 index 2267aad8f..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_rss_feed_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_save_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_save_black_24dp.png deleted file mode 100644 index 871291b4e..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_save_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_save_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_save_white_24dp.png deleted file mode 100644 index 3e0ce1a5f..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_save_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_screen_rotation_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_screen_rotation_black_24dp.png deleted file mode 100644 index bfd31c55a..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_screen_rotation_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_screen_rotation_white.png b/app/src/main/res/drawable-xxhdpi/ic_screen_rotation_white.png deleted file mode 100644 index a160572a4..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_screen_rotation_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_search_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_search_black_24dp.png deleted file mode 100644 index 3ae490ef9..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_search_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_search_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_search_white_24dp.png deleted file mode 100644 index abbb98951..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_search_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png deleted file mode 100644 index 3023ff8da..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_settings_update_black.png b/app/src/main/res/drawable-xxhdpi/ic_settings_update_black.png deleted file mode 100755 index 7316dbc88..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_settings_update_black.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_settings_update_white.png b/app/src/main/res/drawable-xxhdpi/ic_settings_update_white.png deleted file mode 100755 index 07b1f712d..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_settings_update_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png deleted file mode 100644 index eabb0a2ba..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_share_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_share_black_24dp.png deleted file mode 100644 index 784933ad5..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_share_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png deleted file mode 100644 index a35b3cd14..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_shuffle_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_shuffle_white_24dp.png deleted file mode 100644 index dc8e5341b..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_shuffle_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_thumb_down_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_thumb_down_black_24dp.png deleted file mode 100644 index 37ce6c909..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_thumb_down_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_thumb_down_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_thumb_down_white_24dp.png deleted file mode 100644 index a6e0b10c6..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_thumb_down_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_thumb_up_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_thumb_up_black_24dp.png deleted file mode 100644 index d7004fe5b..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_thumb_up_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_thumb_up_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_thumb_up_white_24dp.png deleted file mode 100644 index cedf001de..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_thumb_up_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_volume_off_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_volume_off_black_24dp.png deleted file mode 100644 index 2d57c8674..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_volume_off_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_volume_off_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_volume_off_white_24dp.png deleted file mode 100644 index 474aae51e..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_volume_off_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_whatshot_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_whatshot_black_24dp.png deleted file mode 100644 index a14dcd695..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_whatshot_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_whatshot_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_whatshot_white_24dp.png deleted file mode 100644 index 8eaf3755d..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_whatshot_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/new_play_arrow.png b/app/src/main/res/drawable-xxhdpi/new_play_arrow.png deleted file mode 100644 index c32a818c5..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/new_play_arrow.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_action_av_fast_forward.png b/app/src/main/res/drawable-xxxhdpi/ic_action_av_fast_forward.png deleted file mode 100644 index 599c66f70..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_action_av_fast_forward.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_action_av_fast_rewind.png b/app/src/main/res/drawable-xxxhdpi/ic_action_av_fast_rewind.png deleted file mode 100644 index 5a9fa3de0..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_action_av_fast_rewind.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_24dp.png deleted file mode 100644 index e27034d67..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_arrow_top_left_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_arrow_top_left_black_24dp.png deleted file mode 100644 index d536127b5..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_arrow_top_left_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_arrow_top_left_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_arrow_top_left_white_24dp.png deleted file mode 100644 index 0ddd5a8fa..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_arrow_top_left_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_backup_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_backup_black_24dp.png deleted file mode 100644 index 248289e97..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_backup_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_backup_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_backup_white_24dp.png deleted file mode 100644 index 2180f73e8..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_backup_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_bookmark_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_bookmark_black_24dp.png deleted file mode 100644 index 2b90acd74..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_bookmark_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_bookmark_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_bookmark_white_24dp.png deleted file mode 100644 index 370cf8af5..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_bookmark_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_bug_report_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_bug_report_black_24dp.png deleted file mode 100644 index 6eb1474e3..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_bug_report_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_bug_report_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_bug_report_white_24dp.png deleted file mode 100644 index e0b5b1964..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_bug_report_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_cast_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_cast_black_24dp.png deleted file mode 100644 index 9dbfcd941..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_cast_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_cast_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_cast_white_24dp.png deleted file mode 100644 index bb3539c64..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_cast_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_channel_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_channel_black_24dp.png deleted file mode 100644 index 2ff64b449..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_channel_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_channel_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_channel_white_24dp.png deleted file mode 100644 index 9384592d6..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_channel_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_close_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_close_black_24dp.png deleted file mode 100644 index df42feecb..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_close_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_delete_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_delete_black_24dp.png deleted file mode 100644 index ab07ea2ae..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_delete_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png deleted file mode 100644 index a8358eb71..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_drag_handle_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_drag_handle_black_24dp.png deleted file mode 100644 index d102adeb2..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_drag_handle_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_drag_handle_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_drag_handle_white_24dp.png deleted file mode 100644 index 122690738..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_drag_handle_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_expand_less_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_expand_less_black_24dp.png deleted file mode 100644 index 99c6e3e1c..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_expand_less_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_expand_less_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_expand_less_white_24dp.png deleted file mode 100644 index 42615516b..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_expand_less_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_expand_more_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_expand_more_black_24dp.png deleted file mode 100644 index ad852e3e6..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_expand_more_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_expand_more_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_expand_more_white_24dp.png deleted file mode 100644 index 2859a6fec..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_expand_more_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_fiber_manual_record_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_fiber_manual_record_black_24dp.png deleted file mode 100644 index eff1e3594..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_fiber_manual_record_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_fiber_manual_record_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_fiber_manual_record_white_24dp.png deleted file mode 100644 index 591b54a57..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_fiber_manual_record_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_file_download_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_file_download_black_24dp.png deleted file mode 100644 index 8c83bffa7..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_file_download_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_file_download_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_file_download_white_24dp.png deleted file mode 100644 index ded5652e4..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_file_download_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_filter_list_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_filter_list_black_24dp.png deleted file mode 100644 index 9319c4bb4..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_filter_list_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_filter_list_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_filter_list_white_24dp.png deleted file mode 100644 index cb2207f11..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_filter_list_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_fullscreen_exit_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_fullscreen_exit_black_24dp.png deleted file mode 100644 index 2221235df..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_fullscreen_exit_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_fullscreen_exit_white.png b/app/src/main/res/drawable-xxxhdpi/ic_fullscreen_exit_white.png deleted file mode 100644 index b47b3f8bd..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_fullscreen_exit_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_fullscreen_white.png b/app/src/main/res/drawable-xxxhdpi/ic_fullscreen_white.png deleted file mode 100644 index ea9f18ae6..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_fullscreen_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_grid_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_grid_black_24dp.png deleted file mode 100644 index fe78d853e..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_grid_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_grid_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_grid_white_24dp.png deleted file mode 100644 index d52610ec8..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_grid_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_headset_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_headset_black_24dp.png deleted file mode 100644 index 974457ee1..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_headset_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_headset_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_headset_white_24dp.png deleted file mode 100644 index 0f0b2e154..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_headset_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_history_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_history_black_24dp.png deleted file mode 100644 index c7153092e..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_history_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_history_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_history_white_24dp.png deleted file mode 100644 index 5b99ef655..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_history_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_import_export_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_import_export_black_24dp.png deleted file mode 100644 index 36aa872e5..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_import_export_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_import_export_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_import_export_white_24dp.png deleted file mode 100644 index a5e55a470..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_import_export_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_info_outline_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_info_outline_black_24dp.png deleted file mode 100644 index c1e2a03a4..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_info_outline_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_info_outline_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_info_outline_white_24dp.png deleted file mode 100644 index 3a82cab3b..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_info_outline_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_kiosk_local_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_kiosk_local_black_24dp.png deleted file mode 100755 index e208010a2..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_kiosk_local_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_kiosk_local_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_kiosk_local_white_24dp.png deleted file mode 100755 index b04fd7a88..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_kiosk_local_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_kiosk_recent_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_kiosk_recent_black_24dp.png deleted file mode 100755 index 152259fab..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_kiosk_recent_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_kiosk_recent_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_kiosk_recent_white_24dp.png deleted file mode 100755 index 1aac3b986..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_kiosk_recent_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_language_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_language_black_24dp.png deleted file mode 100644 index 48997bab8..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_language_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_language_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_language_white_24dp.png deleted file mode 100644 index a576ac7a5..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_language_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_list_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_list_black_24dp.png deleted file mode 100644 index b165df44d..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_list_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png deleted file mode 100644 index 053a1a0da..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_more_vert_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_more_vert_black_24dp.png deleted file mode 100644 index 4642a3b66..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_more_vert_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_more_vert_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_more_vert_white_24dp.png deleted file mode 100644 index 2f2cb3d00..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_more_vert_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_palette_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_palette_black_24dp.png deleted file mode 100644 index 79360b16d..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_palette_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_palette_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_palette_white_24dp.png deleted file mode 100644 index dba40d4eb..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_palette_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_pause_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_pause_black_24dp.png deleted file mode 100644 index 3fbcd0326..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_pause_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_pause_white.png b/app/src/main/res/drawable-xxxhdpi/ic_pause_white.png deleted file mode 100644 index 76482b1fd..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_pause_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_pause_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_pause_white_24dp.png deleted file mode 100644 index 12a49bc12..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_pause_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_picture_in_picture_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_picture_in_picture_black_24dp.png deleted file mode 100644 index bb43aa64a..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_picture_in_picture_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_picture_in_picture_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_picture_in_picture_white_24dp.png deleted file mode 100644 index b9d101119..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_picture_in_picture_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_black_24dp.png deleted file mode 100644 index d12d49562..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white.png b/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white.png deleted file mode 100644 index 8dbc4ea7c..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white_24dp.png deleted file mode 100644 index be5c062b5..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_play_circle_filled_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_play_circle_filled_white_24dp.png deleted file mode 100644 index 9dc082586..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_play_circle_filled_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_play_circle_transparent.png b/app/src/main/res/drawable-xxxhdpi/ic_play_circle_transparent.png deleted file mode 100644 index 5bc515bf2..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_play_circle_transparent.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_black_24dp.png deleted file mode 100644 index 46020a7e0..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_check_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_check_black_24dp.png deleted file mode 100644 index 068c596a3..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_check_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_check_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_check_white_24dp.png deleted file mode 100644 index 767d066de..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_check_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_white_24dp.png deleted file mode 100644 index 70e74e4a2..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_playlist_add_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_playlist_play_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_playlist_play_white_24dp.png deleted file mode 100644 index c88d9c8e3..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_playlist_play_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_repeat_white.png b/app/src/main/res/drawable-xxxhdpi/ic_repeat_white.png deleted file mode 100644 index a59db47ee..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_repeat_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_replay_white.png b/app/src/main/res/drawable-xxxhdpi/ic_replay_white_24dp.png similarity index 100% rename from app/src/main/res/drawable-xxxhdpi/ic_replay_white.png rename to app/src/main/res/drawable-xxxhdpi/ic_replay_white_24dp.png diff --git a/app/src/main/res/drawable-xxxhdpi/ic_rss_feed_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_rss_feed_black_24dp.png deleted file mode 100644 index d2cc96ac7..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_rss_feed_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_rss_feed_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_rss_feed_white_24dp.png deleted file mode 100644 index 209688dc5..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_rss_feed_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_save_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_save_black_24dp.png deleted file mode 100644 index ba001835a..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_save_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_save_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_save_white_24dp.png deleted file mode 100644 index bd80bf1f7..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_save_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_screen_rotation_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_screen_rotation_black_24dp.png deleted file mode 100644 index 29fef9a47..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_screen_rotation_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_screen_rotation_white.png b/app/src/main/res/drawable-xxxhdpi/ic_screen_rotation_white.png deleted file mode 100644 index 3cde2bfef..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_screen_rotation_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_search_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_search_black_24dp.png deleted file mode 100644 index 21be57299..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_search_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_search_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_search_white_24dp.png deleted file mode 100644 index dd5adfc7f..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_search_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png deleted file mode 100644 index 476d5c978..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_settings_update_black.png b/app/src/main/res/drawable-xxxhdpi/ic_settings_update_black.png deleted file mode 100755 index 8186c6f5f..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_settings_update_black.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_settings_update_white.png b/app/src/main/res/drawable-xxxhdpi/ic_settings_update_white.png deleted file mode 100755 index 8b5e6fa38..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_settings_update_white.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png deleted file mode 100644 index 507c5edd4..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_share_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_share_black_24dp.png deleted file mode 100644 index 5a8544ce5..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_share_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png deleted file mode 100644 index e351c7beb..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_share_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_shuffle_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_shuffle_white_24dp.png deleted file mode 100644 index e24dfa3b0..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_shuffle_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_thumb_down_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_thumb_down_black_24dp.png deleted file mode 100644 index cea7381b5..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_thumb_down_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_thumb_down_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_thumb_down_white_24dp.png deleted file mode 100644 index afecc66b7..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_thumb_down_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_thumb_up_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_thumb_up_black_24dp.png deleted file mode 100644 index 8d9682036..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_thumb_up_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_thumb_up_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_thumb_up_white_24dp.png deleted file mode 100644 index f43cef8ec..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_thumb_up_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_volume_off_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_volume_off_black_24dp.png deleted file mode 100644 index 6d9b35584..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_volume_off_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_volume_off_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_volume_off_white_24dp.png deleted file mode 100644 index df06b06b5..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_volume_off_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_whatshot_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_whatshot_black_24dp.png deleted file mode 100644 index 8f03a95c7..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_whatshot_black_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_whatshot_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_whatshot_white_24dp.png deleted file mode 100644 index 5c5d86873..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_whatshot_white_24dp.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/new_play_arrow.png b/app/src/main/res/drawable-xxxhdpi/new_play_arrow.png deleted file mode 100644 index 39559b221..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/new_play_arrow.png and /dev/null differ diff --git a/app/src/main/res/drawable/default_dot.xml b/app/src/main/res/drawable/dot_default.xml similarity index 100% rename from app/src/main/res/drawable/default_dot.xml rename to app/src/main/res/drawable/dot_default.xml diff --git a/app/src/main/res/drawable/selected_dot.xml b/app/src/main/res/drawable/dot_selected.xml similarity index 100% rename from app/src/main/res/drawable/selected_dot.xml rename to app/src/main/res/drawable/dot_selected.xml diff --git a/app/src/main/res/drawable/ic_add_circle_outline_black_24dp.xml b/app/src/main/res/drawable/ic_add_circle_outline_black_24dp.xml new file mode 100644 index 000000000..900f2275e --- /dev/null +++ b/app/src/main/res/drawable/ic_add_circle_outline_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_add_circle_outline_white_24dp.xml b/app/src/main/res/drawable/ic_add_circle_outline_white_24dp.xml new file mode 100644 index 000000000..66d3247ae --- /dev/null +++ b/app/src/main/res/drawable/ic_add_circle_outline_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_apps_black_24dp.xml b/app/src/main/res/drawable/ic_apps_black_24dp.xml new file mode 100644 index 000000000..ff485cf1a --- /dev/null +++ b/app/src/main/res/drawable/ic_apps_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_apps_white_24dp.xml b/app/src/main/res/drawable/ic_apps_white_24dp.xml new file mode 100644 index 000000000..373f7752b --- /dev/null +++ b/app/src/main/res/drawable/ic_apps_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml b/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml index 8d8acb883..beafea395 100644 --- a/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml +++ b/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml @@ -1,10 +1,9 @@ - + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> - \ No newline at end of file + diff --git a/app/src/main/res/drawable/ic_arrow_back_white_24dp.xml b/app/src/main/res/drawable/ic_arrow_back_white_24dp.xml new file mode 100644 index 000000000..71d5bbd29 --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_back_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml b/app/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml index 588d26403..65e1e4228 100644 --- a/app/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml +++ b/app/src/main/res/drawable/ic_arrow_drop_down_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_arrow_drop_up_white_24dp.xml b/app/src/main/res/drawable/ic_arrow_drop_up_white_24dp.xml index 2a2ceba52..1d266cecc 100644 --- a/app/src/main/res/drawable/ic_arrow_drop_up_white_24dp.xml +++ b/app/src/main/res/drawable/ic_arrow_drop_up_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_money_black_24dp.xml b/app/src/main/res/drawable/ic_attach_money_black_24dp.xml similarity index 88% rename from app/src/main/res/drawable/ic_money_black_24dp.xml rename to app/src/main/res/drawable/ic_attach_money_black_24dp.xml index 4019c2e46..b520fc98d 100644 --- a/app/src/main/res/drawable/ic_money_black_24dp.xml +++ b/app/src/main/res/drawable/ic_attach_money_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_attach_money_white_24dp.xml b/app/src/main/res/drawable/ic_attach_money_white_24dp.xml new file mode 100644 index 000000000..d198dd14d --- /dev/null +++ b/app/src/main/res/drawable/ic_attach_money_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_backup_black_24dp.xml b/app/src/main/res/drawable/ic_backup_black_24dp.xml new file mode 100644 index 000000000..086281669 --- /dev/null +++ b/app/src/main/res/drawable/ic_backup_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_backup_white_24dp.xml b/app/src/main/res/drawable/ic_backup_white_24dp.xml new file mode 100644 index 000000000..55dbbae85 --- /dev/null +++ b/app/src/main/res/drawable/ic_backup_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_delete_sweep_black_24dp.xml b/app/src/main/res/drawable/ic_bookmark_black_24dp.xml similarity index 62% rename from app/src/main/res/drawable/ic_delete_sweep_black_24dp.xml rename to app/src/main/res/drawable/ic_bookmark_black_24dp.xml index bfa31fc9d..6a6a1b39d 100644 --- a/app/src/main/res/drawable/ic_delete_sweep_black_24dp.xml +++ b/app/src/main/res/drawable/ic_bookmark_black_24dp.xml @@ -5,5 +5,5 @@ android:viewportHeight="24.0"> + android:pathData="M17,3H7c-1.1,0 -1.99,0.9 -1.99,2L5,21l7,-3 7,3V5c0,-1.1 -0.9,-2 -2,-2z"/> diff --git a/app/src/main/res/drawable/ic_bookmark_white_24dp.xml b/app/src/main/res/drawable/ic_bookmark_white_24dp.xml new file mode 100644 index 000000000..feb16ed63 --- /dev/null +++ b/app/src/main/res/drawable/ic_bookmark_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_brightness_high_white_24dp.xml b/app/src/main/res/drawable/ic_brightness_high_white_24dp.xml new file mode 100644 index 000000000..9ed0b086c --- /dev/null +++ b/app/src/main/res/drawable/ic_brightness_high_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_brightness_high_white_72dp.xml b/app/src/main/res/drawable/ic_brightness_high_white_72dp.xml deleted file mode 100644 index 12d0084a8..000000000 --- a/app/src/main/res/drawable/ic_brightness_high_white_72dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_brightness_low_white_24dp.xml b/app/src/main/res/drawable/ic_brightness_low_white_24dp.xml new file mode 100644 index 000000000..da4e0ca30 --- /dev/null +++ b/app/src/main/res/drawable/ic_brightness_low_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_brightness_low_white_72dp.xml b/app/src/main/res/drawable/ic_brightness_low_white_72dp.xml deleted file mode 100644 index 9c4f2f71e..000000000 --- a/app/src/main/res/drawable/ic_brightness_low_white_72dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_brightness_medium_white_24dp.xml b/app/src/main/res/drawable/ic_brightness_medium_white_24dp.xml new file mode 100644 index 000000000..c522453f1 --- /dev/null +++ b/app/src/main/res/drawable/ic_brightness_medium_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_brightness_medium_white_72dp.xml b/app/src/main/res/drawable/ic_brightness_medium_white_72dp.xml deleted file mode 100644 index fc100086f..000000000 --- a/app/src/main/res/drawable/ic_brightness_medium_white_72dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_bug_report_black_24dp.xml b/app/src/main/res/drawable/ic_bug_report_black_24dp.xml new file mode 100644 index 000000000..4d83902b8 --- /dev/null +++ b/app/src/main/res/drawable/ic_bug_report_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_bug_report_white_24dp.xml b/app/src/main/res/drawable/ic_bug_report_white_24dp.xml new file mode 100644 index 000000000..5c8f5bc16 --- /dev/null +++ b/app/src/main/res/drawable/ic_bug_report_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_car_white_24dp.xml b/app/src/main/res/drawable/ic_car_white_24dp.xml deleted file mode 100644 index 7ad263933..000000000 --- a/app/src/main/res/drawable/ic_car_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_cast_black_24dp.xml b/app/src/main/res/drawable/ic_cast_black_24dp.xml new file mode 100644 index 000000000..7b143de9f --- /dev/null +++ b/app/src/main/res/drawable/ic_cast_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_cast_white_24dp.xml b/app/src/main/res/drawable/ic_cast_white_24dp.xml new file mode 100644 index 000000000..434c64416 --- /dev/null +++ b/app/src/main/res/drawable/ic_cast_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_kids_black_24dp.xml b/app/src/main/res/drawable/ic_child_care_black_24dp.xml similarity index 94% rename from app/src/main/res/drawable/ic_kids_black_24dp.xml rename to app/src/main/res/drawable/ic_child_care_black_24dp.xml index d1d8e01e7..5af39255e 100644 --- a/app/src/main/res/drawable/ic_kids_black_24dp.xml +++ b/app/src/main/res/drawable/ic_child_care_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_child_care_white_24dp.xml b/app/src/main/res/drawable/ic_child_care_white_24dp.xml new file mode 100644 index 000000000..81fa2ddc1 --- /dev/null +++ b/app/src/main/res/drawable/ic_child_care_white_24dp.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_blank_page_white_24dp.xml b/app/src/main/res/drawable/ic_close_black_24dp.xml similarity index 54% rename from app/src/main/res/drawable/ic_blank_page_white_24dp.xml rename to app/src/main/res/drawable/ic_close_black_24dp.xml index 86a68484f..ede4b7108 100644 --- a/app/src/main/res/drawable/ic_blank_page_white_24dp.xml +++ b/app/src/main/res/drawable/ic_close_black_24dp.xml @@ -4,6 +4,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> + android:fillColor="#FF000000" + android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/> diff --git a/app/src/main/res/drawable/ic_cloud_download_black_24dp.xml b/app/src/main/res/drawable/ic_cloud_download_black_24dp.xml new file mode 100644 index 000000000..261c31217 --- /dev/null +++ b/app/src/main/res/drawable/ic_cloud_download_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_cloud_download_white_24dp.xml b/app/src/main/res/drawable/ic_cloud_download_white_24dp.xml new file mode 100644 index 000000000..0feb270af --- /dev/null +++ b/app/src/main/res/drawable/ic_cloud_download_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_computer_black_24dp.xml b/app/src/main/res/drawable/ic_computer_black_24dp.xml index b03d9c0ce..4599f98cd 100644 --- a/app/src/main/res/drawable/ic_computer_black_24dp.xml +++ b/app/src/main/res/drawable/ic_computer_black_24dp.xml @@ -1,9 +1,9 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M20,18c1.1,0 1.99,-0.9 1.99,-2L22,6c0,-1.1 -0.9,-2 -2,-2H4c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2H0v2h24v-2h-4zM4,6h16v10H4V6z"/> diff --git a/app/src/main/res/drawable/ic_computer_white_24dp.xml b/app/src/main/res/drawable/ic_computer_white_24dp.xml index c4bdad688..9569b7747 100644 --- a/app/src/main/res/drawable/ic_computer_white_24dp.xml +++ b/app/src/main/res/drawable/ic_computer_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_blank_page_black_24dp.xml b/app/src/main/res/drawable/ic_crop_portrait_black_24dp.xml similarity index 100% rename from app/src/main/res/drawable/ic_blank_page_black_24dp.xml rename to app/src/main/res/drawable/ic_crop_portrait_black_24dp.xml diff --git a/app/src/main/res/drawable/ic_crop_portrait_white_24dp.xml b/app/src/main/res/drawable/ic_crop_portrait_white_24dp.xml new file mode 100644 index 000000000..caba925a1 --- /dev/null +++ b/app/src/main/res/drawable/ic_crop_portrait_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_delete_sweep_white_24dp.xml b/app/src/main/res/drawable/ic_delete_black_24dp.xml similarity index 53% rename from app/src/main/res/drawable/ic_delete_sweep_white_24dp.xml rename to app/src/main/res/drawable/ic_delete_black_24dp.xml index 121b7ed8d..39e64d698 100644 --- a/app/src/main/res/drawable/ic_delete_sweep_white_24dp.xml +++ b/app/src/main/res/drawable/ic_delete_black_24dp.xml @@ -4,6 +4,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> + android:fillColor="#FF000000" + android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/> diff --git a/app/src/main/res/drawable/ic_delete_white_24dp.xml b/app/src/main/res/drawable/ic_delete_white_24dp.xml new file mode 100644 index 000000000..8bed121aa --- /dev/null +++ b/app/src/main/res/drawable/ic_delete_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_sports_black_24dp.xml b/app/src/main/res/drawable/ic_directions_bike_black_24dp.xml similarity index 91% rename from app/src/main/res/drawable/ic_sports_black_24dp.xml rename to app/src/main/res/drawable/ic_directions_bike_black_24dp.xml index 5a54580c1..ded5e3359 100644 --- a/app/src/main/res/drawable/ic_sports_black_24dp.xml +++ b/app/src/main/res/drawable/ic_directions_bike_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_directions_bike_white_24dp.xml b/app/src/main/res/drawable/ic_directions_bike_white_24dp.xml new file mode 100644 index 000000000..f165cea9c --- /dev/null +++ b/app/src/main/res/drawable/ic_directions_bike_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_car_black_24dp.xml b/app/src/main/res/drawable/ic_directions_car_black_24dp.xml similarity index 88% rename from app/src/main/res/drawable/ic_car_black_24dp.xml rename to app/src/main/res/drawable/ic_directions_car_black_24dp.xml index 6aa8cdd82..6d6337c3a 100644 --- a/app/src/main/res/drawable/ic_car_black_24dp.xml +++ b/app/src/main/res/drawable/ic_directions_car_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_directions_car_white_24dp.xml b/app/src/main/res/drawable/ic_directions_car_white_24dp.xml new file mode 100644 index 000000000..981334c17 --- /dev/null +++ b/app/src/main/res/drawable/ic_directions_car_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_drag_handle_black_24dp.xml b/app/src/main/res/drawable/ic_drag_handle_black_24dp.xml new file mode 100644 index 000000000..68a719052 --- /dev/null +++ b/app/src/main/res/drawable/ic_drag_handle_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_drag_handle_white_24dp.xml b/app/src/main/res/drawable/ic_drag_handle_white_24dp.xml new file mode 100644 index 000000000..50f9e6c29 --- /dev/null +++ b/app/src/main/res/drawable/ic_drag_handle_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_emoticon_white_24dp.xml b/app/src/main/res/drawable/ic_emoticon_white_24dp.xml deleted file mode 100644 index 89ca90fb5..000000000 --- a/app/src/main/res/drawable/ic_emoticon_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_expand_less_black_24dp.xml b/app/src/main/res/drawable/ic_expand_less_black_24dp.xml new file mode 100644 index 000000000..3afdf9682 --- /dev/null +++ b/app/src/main/res/drawable/ic_expand_less_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_expand_less_white_24dp.xml b/app/src/main/res/drawable/ic_expand_less_white_24dp.xml new file mode 100644 index 000000000..5042d801a --- /dev/null +++ b/app/src/main/res/drawable/ic_expand_less_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_expand_more_black_24dp.xml b/app/src/main/res/drawable/ic_expand_more_black_24dp.xml new file mode 100644 index 000000000..8d57dbc10 --- /dev/null +++ b/app/src/main/res/drawable/ic_expand_more_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_expand_more_white_24dp.xml b/app/src/main/res/drawable/ic_expand_more_white_24dp.xml new file mode 100644 index 000000000..bc72bdce0 --- /dev/null +++ b/app/src/main/res/drawable/ic_expand_more_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_fast_forward_white_24dp.xml b/app/src/main/res/drawable/ic_fast_forward_white_24dp.xml new file mode 100644 index 000000000..da7c3fb1e --- /dev/null +++ b/app/src/main/res/drawable/ic_fast_forward_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_fast_rewind_white_24dp.xml b/app/src/main/res/drawable/ic_fast_rewind_white_24dp.xml new file mode 100644 index 000000000..4bab93ecb --- /dev/null +++ b/app/src/main/res/drawable/ic_fast_rewind_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_fastfood_black_24dp.xml b/app/src/main/res/drawable/ic_fastfood_black_24dp.xml index fac047550..4de2eb9af 100644 --- a/app/src/main/res/drawable/ic_fastfood_black_24dp.xml +++ b/app/src/main/res/drawable/ic_fastfood_black_24dp.xml @@ -1,9 +1,9 @@ - + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + diff --git a/app/src/main/res/drawable/ic_fastfood_white_24dp.xml b/app/src/main/res/drawable/ic_fastfood_white_24dp.xml index 39bbee49a..517b92573 100644 --- a/app/src/main/res/drawable/ic_fastfood_white_24dp.xml +++ b/app/src/main/res/drawable/ic_fastfood_white_24dp.xml @@ -1,9 +1,9 @@ - + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + diff --git a/app/src/main/res/drawable/ic_heart_black_24dp.xml b/app/src/main/res/drawable/ic_favorite_black_24dp.xml similarity index 83% rename from app/src/main/res/drawable/ic_heart_black_24dp.xml rename to app/src/main/res/drawable/ic_favorite_black_24dp.xml index 25cb46e83..cfba5d846 100644 --- a/app/src/main/res/drawable/ic_heart_black_24dp.xml +++ b/app/src/main/res/drawable/ic_favorite_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_favorite_white_24dp.xml b/app/src/main/res/drawable/ic_favorite_white_24dp.xml new file mode 100644 index 000000000..67a25e713 --- /dev/null +++ b/app/src/main/res/drawable/ic_favorite_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_file_download_black_24dp.xml b/app/src/main/res/drawable/ic_file_download_black_24dp.xml new file mode 100644 index 000000000..492b41d34 --- /dev/null +++ b/app/src/main/res/drawable/ic_file_download_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_file_download_white_24dp.xml b/app/src/main/res/drawable/ic_file_download_white_24dp.xml new file mode 100644 index 000000000..b8e836142 --- /dev/null +++ b/app/src/main/res/drawable/ic_file_download_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_filter_list_black_24dp.xml b/app/src/main/res/drawable/ic_filter_list_black_24dp.xml new file mode 100644 index 000000000..b99b672f4 --- /dev/null +++ b/app/src/main/res/drawable/ic_filter_list_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_filter_list_white_24dp.xml b/app/src/main/res/drawable/ic_filter_list_white_24dp.xml new file mode 100644 index 000000000..5d4ec18ee --- /dev/null +++ b/app/src/main/res/drawable/ic_filter_list_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_fitness_black_24dp.xml b/app/src/main/res/drawable/ic_fitness_center_black_24dp.xml similarity index 86% rename from app/src/main/res/drawable/ic_fitness_black_24dp.xml rename to app/src/main/res/drawable/ic_fitness_center_black_24dp.xml index 40a1cf9c1..846deb431 100644 --- a/app/src/main/res/drawable/ic_fitness_black_24dp.xml +++ b/app/src/main/res/drawable/ic_fitness_center_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_fitness_center_white_24dp.xml b/app/src/main/res/drawable/ic_fitness_center_white_24dp.xml new file mode 100644 index 000000000..fec3c955c --- /dev/null +++ b/app/src/main/res/drawable/ic_fitness_center_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_fitness_white_24dp.xml b/app/src/main/res/drawable/ic_fitness_white_24dp.xml deleted file mode 100644 index 1b2d3b4be..000000000 --- a/app/src/main/res/drawable/ic_fitness_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_fullscreen_exit_white_24dp.xml b/app/src/main/res/drawable/ic_fullscreen_exit_white_24dp.xml new file mode 100644 index 000000000..bb7140f29 --- /dev/null +++ b/app/src/main/res/drawable/ic_fullscreen_exit_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_fullscreen_white_24dp.xml b/app/src/main/res/drawable/ic_fullscreen_white_24dp.xml new file mode 100644 index 000000000..86b7649b6 --- /dev/null +++ b/app/src/main/res/drawable/ic_fullscreen_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_headset_black_24dp.xml b/app/src/main/res/drawable/ic_headset_black_24dp.xml new file mode 100644 index 000000000..d4503ce60 --- /dev/null +++ b/app/src/main/res/drawable/ic_headset_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_headset_shadow.xml b/app/src/main/res/drawable/ic_headset_shadow.xml new file mode 100644 index 000000000..53a3ec31a --- /dev/null +++ b/app/src/main/res/drawable/ic_headset_shadow.xml @@ -0,0 +1,14 @@ + + + + diff --git a/app/src/main/res/drawable/ic_headset_white_24dp.xml b/app/src/main/res/drawable/ic_headset_white_24dp.xml new file mode 100644 index 000000000..2027245b3 --- /dev/null +++ b/app/src/main/res/drawable/ic_headset_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_heart_white_24dp.xml b/app/src/main/res/drawable/ic_heart_white_24dp.xml deleted file mode 100644 index 02c6396ee..000000000 --- a/app/src/main/res/drawable/ic_heart_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_history_black_24dp.xml b/app/src/main/res/drawable/ic_history_black_24dp.xml new file mode 100644 index 000000000..a61de1bc9 --- /dev/null +++ b/app/src/main/res/drawable/ic_history_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_history_white_24dp.xml b/app/src/main/res/drawable/ic_history_white_24dp.xml new file mode 100644 index 000000000..de25eb445 --- /dev/null +++ b/app/src/main/res/drawable/ic_history_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_home_black_24dp.xml b/app/src/main/res/drawable/ic_home_black_24dp.xml new file mode 100644 index 000000000..70fb2910c --- /dev/null +++ b/app/src/main/res/drawable/ic_home_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_home_white_24dp.xml b/app/src/main/res/drawable/ic_home_white_24dp.xml new file mode 100644 index 000000000..30296ba99 --- /dev/null +++ b/app/src/main/res/drawable/ic_home_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_import_export_black_24dp.xml b/app/src/main/res/drawable/ic_import_export_black_24dp.xml new file mode 100644 index 000000000..a2d1fa99f --- /dev/null +++ b/app/src/main/res/drawable/ic_import_export_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_import_export_white_24dp.xml b/app/src/main/res/drawable/ic_import_export_white_24dp.xml new file mode 100644 index 000000000..4c6fc6ef6 --- /dev/null +++ b/app/src/main/res/drawable/ic_import_export_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_info_outline_black_24dp.xml b/app/src/main/res/drawable/ic_info_outline_black_24dp.xml new file mode 100644 index 000000000..cf53e145c --- /dev/null +++ b/app/src/main/res/drawable/ic_info_outline_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_info_outline_white_24dp.xml b/app/src/main/res/drawable/ic_info_outline_white_24dp.xml new file mode 100644 index 000000000..af0d4d067 --- /dev/null +++ b/app/src/main/res/drawable/ic_info_outline_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_emoticon_black_24dp.xml b/app/src/main/res/drawable/ic_insert_emoticon_black_24dp.xml similarity index 88% rename from app/src/main/res/drawable/ic_emoticon_black_24dp.xml rename to app/src/main/res/drawable/ic_insert_emoticon_black_24dp.xml index 45f489d80..43d5552cd 100644 --- a/app/src/main/res/drawable/ic_emoticon_black_24dp.xml +++ b/app/src/main/res/drawable/ic_insert_emoticon_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_insert_emoticon_white_24dp.xml b/app/src/main/res/drawable/ic_insert_emoticon_white_24dp.xml new file mode 100644 index 000000000..a438c34ef --- /dev/null +++ b/app/src/main/res/drawable/ic_insert_emoticon_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_kids_white_24dp.xml b/app/src/main/res/drawable/ic_kids_white_24dp.xml deleted file mode 100644 index c5dda16c8..000000000 --- a/app/src/main/res/drawable/ic_kids_white_24dp.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_language_black_24dp.xml b/app/src/main/res/drawable/ic_language_black_24dp.xml new file mode 100644 index 000000000..d07324c87 --- /dev/null +++ b/app/src/main/res/drawable/ic_language_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_language_white_24dp.xml b/app/src/main/res/drawable/ic_language_white_24dp.xml new file mode 100644 index 000000000..74bc27903 --- /dev/null +++ b/app/src/main/res/drawable/ic_language_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_list_black_24dp.xml b/app/src/main/res/drawable/ic_list_black_24dp.xml new file mode 100644 index 000000000..4c2fb8834 --- /dev/null +++ b/app/src/main/res/drawable/ic_list_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_list_white_24dp.xml b/app/src/main/res/drawable/ic_list_white_24dp.xml new file mode 100644 index 000000000..f47037629 --- /dev/null +++ b/app/src/main/res/drawable/ic_list_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_money_white_24dp.xml b/app/src/main/res/drawable/ic_money_white_24dp.xml deleted file mode 100644 index 2407a2b73..000000000 --- a/app/src/main/res/drawable/ic_money_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_more_vert_black_24dp.xml b/app/src/main/res/drawable/ic_more_vert_black_24dp.xml new file mode 100644 index 000000000..5176d8a4b --- /dev/null +++ b/app/src/main/res/drawable/ic_more_vert_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_more_vert_white_24dp.xml b/app/src/main/res/drawable/ic_more_vert_white_24dp.xml new file mode 100644 index 000000000..c097d3e40 --- /dev/null +++ b/app/src/main/res/drawable/ic_more_vert_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_motorcycle_black_24dp.xml b/app/src/main/res/drawable/ic_motorcycle_black_24dp.xml index 6009979dd..539182f83 100644 --- a/app/src/main/res/drawable/ic_motorcycle_black_24dp.xml +++ b/app/src/main/res/drawable/ic_motorcycle_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_motorcycle_white_24dp.xml b/app/src/main/res/drawable/ic_motorcycle_white_24dp.xml index b94c29f8f..d5f2519d7 100644 --- a/app/src/main/res/drawable/ic_motorcycle_white_24dp.xml +++ b/app/src/main/res/drawable/ic_motorcycle_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_movie_white_24dp.xml b/app/src/main/res/drawable/ic_movie_white_24dp.xml index f73e76774..a1d539a3f 100644 --- a/app/src/main/res/drawable/ic_movie_white_24dp.xml +++ b/app/src/main/res/drawable/ic_movie_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_music_note_black_24dp.xml b/app/src/main/res/drawable/ic_music_note_black_24dp.xml index 698159295..736c004ef 100644 --- a/app/src/main/res/drawable/ic_music_note_black_24dp.xml +++ b/app/src/main/res/drawable/ic_music_note_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_music_note_white_24dp.xml b/app/src/main/res/drawable/ic_music_note_white_24dp.xml index 1d38e6e22..69f0a3a4d 100644 --- a/app/src/main/res/drawable/ic_music_note_white_24dp.xml +++ b/app/src/main/res/drawable/ic_music_note_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_palette_black_24dp.xml b/app/src/main/res/drawable/ic_palette_black_24dp.xml new file mode 100644 index 000000000..f75e2fbe3 --- /dev/null +++ b/app/src/main/res/drawable/ic_palette_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_palette_white_24dp.xml b/app/src/main/res/drawable/ic_palette_white_24dp.xml new file mode 100644 index 000000000..4abeea58f --- /dev/null +++ b/app/src/main/res/drawable/ic_palette_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_pause_black_24dp.xml b/app/src/main/res/drawable/ic_pause_black_24dp.xml new file mode 100644 index 000000000..bb28a6c41 --- /dev/null +++ b/app/src/main/res/drawable/ic_pause_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_pause_white_24dp.xml b/app/src/main/res/drawable/ic_pause_white_24dp.xml new file mode 100644 index 000000000..08b34c2da --- /dev/null +++ b/app/src/main/res/drawable/ic_pause_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_people_black_24dp.xml b/app/src/main/res/drawable/ic_people_black_24dp.xml index d0fe31838..4cfd86960 100644 --- a/app/src/main/res/drawable/ic_people_black_24dp.xml +++ b/app/src/main/res/drawable/ic_people_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_people_white_24dp.xml b/app/src/main/res/drawable/ic_people_white_24dp.xml index e6fa4c583..23afe2270 100644 --- a/app/src/main/res/drawable/ic_people_white_24dp.xml +++ b/app/src/main/res/drawable/ic_people_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_person_black_24dp.xml b/app/src/main/res/drawable/ic_person_black_24dp.xml index f0ff6a871..b2cb337b0 100644 --- a/app/src/main/res/drawable/ic_person_black_24dp.xml +++ b/app/src/main/res/drawable/ic_person_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_person_white_24dp.xml b/app/src/main/res/drawable/ic_person_white_24dp.xml index 99f299963..d7366bda0 100644 --- a/app/src/main/res/drawable/ic_person_white_24dp.xml +++ b/app/src/main/res/drawable/ic_person_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_picture_in_picture_black_24dp.xml b/app/src/main/res/drawable/ic_picture_in_picture_black_24dp.xml new file mode 100644 index 000000000..b61c5218b --- /dev/null +++ b/app/src/main/res/drawable/ic_picture_in_picture_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_picture_in_picture_white_24dp.xml b/app/src/main/res/drawable/ic_picture_in_picture_white_24dp.xml new file mode 100644 index 000000000..db1b46f81 --- /dev/null +++ b/app/src/main/res/drawable/ic_picture_in_picture_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_play_arrow_black_24dp.xml b/app/src/main/res/drawable/ic_play_arrow_black_24dp.xml new file mode 100644 index 000000000..bf9b895ac --- /dev/null +++ b/app/src/main/res/drawable/ic_play_arrow_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_play_arrow_shadow.xml b/app/src/main/res/drawable/ic_play_arrow_shadow.xml new file mode 100644 index 000000000..8d5871fad --- /dev/null +++ b/app/src/main/res/drawable/ic_play_arrow_shadow.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_play_arrow_white_24dp.xml b/app/src/main/res/drawable/ic_play_arrow_white_24dp.xml new file mode 100644 index 000000000..e135a55b7 --- /dev/null +++ b/app/src/main/res/drawable/ic_play_arrow_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_playlist_add_black_24dp.xml b/app/src/main/res/drawable/ic_playlist_add_black_24dp.xml new file mode 100644 index 000000000..905d86e64 --- /dev/null +++ b/app/src/main/res/drawable/ic_playlist_add_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_playlist_add_check_black_24dp.xml b/app/src/main/res/drawable/ic_playlist_add_check_black_24dp.xml new file mode 100644 index 000000000..4f7a1c13f --- /dev/null +++ b/app/src/main/res/drawable/ic_playlist_add_check_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_playlist_add_check_white_24dp.xml b/app/src/main/res/drawable/ic_playlist_add_check_white_24dp.xml new file mode 100644 index 000000000..04b4b7855 --- /dev/null +++ b/app/src/main/res/drawable/ic_playlist_add_check_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_playlist_add_white_24dp.xml b/app/src/main/res/drawable/ic_playlist_add_white_24dp.xml new file mode 100644 index 000000000..ed27c167e --- /dev/null +++ b/app/src/main/res/drawable/ic_playlist_add_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_playlist_play_white_24dp.xml b/app/src/main/res/drawable/ic_playlist_play_white_24dp.xml new file mode 100644 index 000000000..06ccbb8eb --- /dev/null +++ b/app/src/main/res/drawable/ic_playlist_play_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_world_black_24dp.xml b/app/src/main/res/drawable/ic_public_black_24dp.xml similarity index 88% rename from app/src/main/res/drawable/ic_world_black_24dp.xml rename to app/src/main/res/drawable/ic_public_black_24dp.xml index 48785e7d7..d976b4244 100644 --- a/app/src/main/res/drawable/ic_world_black_24dp.xml +++ b/app/src/main/res/drawable/ic_public_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_public_white_24dp.xml b/app/src/main/res/drawable/ic_public_white_24dp.xml new file mode 100644 index 000000000..880e42770 --- /dev/null +++ b/app/src/main/res/drawable/ic_public_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_refresh_white_24dp.xml b/app/src/main/res/drawable/ic_refresh_white_24dp.xml index a8175c316..cc2d1e04f 100644 --- a/app/src/main/res/drawable/ic_refresh_white_24dp.xml +++ b/app/src/main/res/drawable/ic_refresh_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_repeat_white_24dp.xml b/app/src/main/res/drawable/ic_repeat_white_24dp.xml new file mode 100644 index 000000000..f4e1a4f39 --- /dev/null +++ b/app/src/main/res/drawable/ic_repeat_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_restaurant_black_24dp.xml b/app/src/main/res/drawable/ic_restaurant_black_24dp.xml index 0a8c6bde9..e14429d09 100644 --- a/app/src/main/res/drawable/ic_restaurant_black_24dp.xml +++ b/app/src/main/res/drawable/ic_restaurant_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_restaurant_white_24dp.xml b/app/src/main/res/drawable/ic_restaurant_white_24dp.xml index c81618bb7..1e2d89c0f 100644 --- a/app/src/main/res/drawable/ic_restaurant_white_24dp.xml +++ b/app/src/main/res/drawable/ic_restaurant_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_rss_feed_black_24dp.xml b/app/src/main/res/drawable/ic_rss_feed_black_24dp.xml new file mode 100644 index 000000000..4da9b623b --- /dev/null +++ b/app/src/main/res/drawable/ic_rss_feed_black_24dp.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_rss_feed_white_24dp.xml b/app/src/main/res/drawable/ic_rss_feed_white_24dp.xml new file mode 100644 index 000000000..42a802c7e --- /dev/null +++ b/app/src/main/res/drawable/ic_rss_feed_white_24dp.xml @@ -0,0 +1,6 @@ + + + + diff --git a/app/src/main/res/drawable/ic_save_black_24dp.xml b/app/src/main/res/drawable/ic_save_black_24dp.xml new file mode 100644 index 000000000..a561d632a --- /dev/null +++ b/app/src/main/res/drawable/ic_save_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_save_white_24dp.xml b/app/src/main/res/drawable/ic_save_white_24dp.xml new file mode 100644 index 000000000..74ca299c3 --- /dev/null +++ b/app/src/main/res/drawable/ic_save_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_school_black_24dp.xml b/app/src/main/res/drawable/ic_school_black_24dp.xml index 8f52f0dde..30d83f840 100644 --- a/app/src/main/res/drawable/ic_school_black_24dp.xml +++ b/app/src/main/res/drawable/ic_school_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_school_white_24dp.xml b/app/src/main/res/drawable/ic_school_white_24dp.xml index e3888411a..e9fbe5931 100644 --- a/app/src/main/res/drawable/ic_school_white_24dp.xml +++ b/app/src/main/res/drawable/ic_school_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_screen_rotation_white_24dp.xml b/app/src/main/res/drawable/ic_screen_rotation_white_24dp.xml new file mode 100644 index 000000000..1372f04a0 --- /dev/null +++ b/app/src/main/res/drawable/ic_screen_rotation_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_search_add_black_24dp.xml b/app/src/main/res/drawable/ic_search_add_black_24dp.xml new file mode 100644 index 000000000..a5264a6a3 --- /dev/null +++ b/app/src/main/res/drawable/ic_search_add_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_search_add_white_24dp.xml b/app/src/main/res/drawable/ic_search_add_white_24dp.xml new file mode 100644 index 000000000..9341522df --- /dev/null +++ b/app/src/main/res/drawable/ic_search_add_white_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_search_black_24dp.xml b/app/src/main/res/drawable/ic_search_black_24dp.xml new file mode 100644 index 000000000..affc7ba26 --- /dev/null +++ b/app/src/main/res/drawable/ic_search_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_search_white_24dp.xml b/app/src/main/res/drawable/ic_search_white_24dp.xml new file mode 100644 index 000000000..be5ad99c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_search_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_settings_backup_restore_white_24dp.xml b/app/src/main/res/drawable/ic_settings_backup_restore_white_24dp.xml index 03a26f550..e3e6530bf 100644 --- a/app/src/main/res/drawable/ic_settings_backup_restore_white_24dp.xml +++ b/app/src/main/res/drawable/ic_settings_backup_restore_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_settings_black_24dp.xml b/app/src/main/res/drawable/ic_settings_black_24dp.xml new file mode 100644 index 000000000..24a5623cd --- /dev/null +++ b/app/src/main/res/drawable/ic_settings_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_settings_white_24dp.xml b/app/src/main/res/drawable/ic_settings_white_24dp.xml new file mode 100644 index 000000000..1397d370e --- /dev/null +++ b/app/src/main/res/drawable/ic_settings_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_share_black_24dp.xml b/app/src/main/res/drawable/ic_share_black_24dp.xml new file mode 100644 index 000000000..e3fe874d6 --- /dev/null +++ b/app/src/main/res/drawable/ic_share_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_share_white_24dp.xml b/app/src/main/res/drawable/ic_share_white_24dp.xml new file mode 100644 index 000000000..045bbc0c0 --- /dev/null +++ b/app/src/main/res/drawable/ic_share_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_shuffle_white_24dp.xml b/app/src/main/res/drawable/ic_shuffle_white_24dp.xml new file mode 100644 index 000000000..9ab22017b --- /dev/null +++ b/app/src/main/res/drawable/ic_shuffle_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_sports_white_24dp.xml b/app/src/main/res/drawable/ic_sports_white_24dp.xml deleted file mode 100644 index 611852728..000000000 --- a/app/src/main/res/drawable/ic_sports_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_stars_black_24dp.xml b/app/src/main/res/drawable/ic_stars_black_24dp.xml index 66a89110e..61c5d7ace 100644 --- a/app/src/main/res/drawable/ic_stars_black_24dp.xml +++ b/app/src/main/res/drawable/ic_stars_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_stars_white_24dp.xml b/app/src/main/res/drawable/ic_stars_white_24dp.xml index 2de1fd808..926e5a106 100644 --- a/app/src/main/res/drawable/ic_stars_white_24dp.xml +++ b/app/src/main/res/drawable/ic_stars_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_subtitles_white_24dp.xml b/app/src/main/res/drawable/ic_subtitles_white_24dp.xml new file mode 100644 index 000000000..1052d1475 --- /dev/null +++ b/app/src/main/res/drawable/ic_subtitles_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_sunny_white_24dp.xml b/app/src/main/res/drawable/ic_sunny_white_24dp.xml deleted file mode 100644 index c6cb469ef..000000000 --- a/app/src/main/res/drawable/ic_sunny_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_thumb_down_black_24dp.xml b/app/src/main/res/drawable/ic_thumb_down_black_24dp.xml new file mode 100644 index 000000000..26ba95c85 --- /dev/null +++ b/app/src/main/res/drawable/ic_thumb_down_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_thumb_down_white_24dp.xml b/app/src/main/res/drawable/ic_thumb_down_white_24dp.xml new file mode 100644 index 000000000..72a99e6b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_thumb_down_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_thumb_up_black_24dp.xml b/app/src/main/res/drawable/ic_thumb_up_black_24dp.xml new file mode 100644 index 000000000..34fb51ab3 --- /dev/null +++ b/app/src/main/res/drawable/ic_thumb_up_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_thumb_up_white_24dp.xml b/app/src/main/res/drawable/ic_thumb_up_white_24dp.xml new file mode 100644 index 000000000..d9acf7500 --- /dev/null +++ b/app/src/main/res/drawable/ic_thumb_up_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_trending_up_black_24dp.xml b/app/src/main/res/drawable/ic_trending_up_black_24dp.xml index 706af95a4..4c9da94b9 100644 --- a/app/src/main/res/drawable/ic_trending_up_black_24dp.xml +++ b/app/src/main/res/drawable/ic_trending_up_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_trending_up_white_24dp.xml b/app/src/main/res/drawable/ic_trending_up_white_24dp.xml index 403674223..4d3859d53 100644 --- a/app/src/main/res/drawable/ic_trending_up_white_24dp.xml +++ b/app/src/main/res/drawable/ic_trending_up_white_24dp.xml @@ -1,9 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/ic_tv_black_24dp.xml b/app/src/main/res/drawable/ic_tv_black_24dp.xml new file mode 100644 index 000000000..771363883 --- /dev/null +++ b/app/src/main/res/drawable/ic_tv_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_tv_white_24dp.xml b/app/src/main/res/drawable/ic_tv_white_24dp.xml new file mode 100644 index 000000000..0286ef16e --- /dev/null +++ b/app/src/main/res/drawable/ic_tv_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_videogame_black_24dp.xml b/app/src/main/res/drawable/ic_videogame_asset_black_24dp.xml similarity index 87% rename from app/src/main/res/drawable/ic_videogame_black_24dp.xml rename to app/src/main/res/drawable/ic_videogame_asset_black_24dp.xml index df872c96c..52658f650 100644 --- a/app/src/main/res/drawable/ic_videogame_black_24dp.xml +++ b/app/src/main/res/drawable/ic_videogame_asset_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_videogame_asset_white_24dp.xml b/app/src/main/res/drawable/ic_videogame_asset_white_24dp.xml new file mode 100644 index 000000000..46ec002cb --- /dev/null +++ b/app/src/main/res/drawable/ic_videogame_asset_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_videogame_white_24dp.xml b/app/src/main/res/drawable/ic_videogame_white_24dp.xml deleted file mode 100644 index 593e49e14..000000000 --- a/app/src/main/res/drawable/ic_videogame_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_volume_down_white_24dp.xml b/app/src/main/res/drawable/ic_volume_down_white_24dp.xml new file mode 100644 index 000000000..3a769637b --- /dev/null +++ b/app/src/main/res/drawable/ic_volume_down_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_volume_down_white_72dp.xml b/app/src/main/res/drawable/ic_volume_down_white_72dp.xml deleted file mode 100644 index a7fafb3a5..000000000 --- a/app/src/main/res/drawable/ic_volume_down_white_72dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_volume_mute_white_24dp.xml b/app/src/main/res/drawable/ic_volume_mute_white_24dp.xml new file mode 100644 index 000000000..dac85f981 --- /dev/null +++ b/app/src/main/res/drawable/ic_volume_mute_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_volume_mute_white_72dp.xml b/app/src/main/res/drawable/ic_volume_mute_white_72dp.xml deleted file mode 100644 index 1a8ab7e86..000000000 --- a/app/src/main/res/drawable/ic_volume_mute_white_72dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_volume_off_white_72dp.xml b/app/src/main/res/drawable/ic_volume_off_black_24dp.xml similarity index 72% rename from app/src/main/res/drawable/ic_volume_off_white_72dp.xml rename to app/src/main/res/drawable/ic_volume_off_black_24dp.xml index 07f24d7aa..3aed66ddc 100644 --- a/app/src/main/res/drawable/ic_volume_off_white_72dp.xml +++ b/app/src/main/res/drawable/ic_volume_off_black_24dp.xml @@ -1,10 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M16.5,12c0,-1.77 -1.02,-3.29 -2.5,-4.03v2.21l2.45,2.45c0.03,-0.2 0.05,-0.41 0.05,-0.63zM19,12c0,0.94 -0.2,1.82 -0.54,2.64l1.51,1.51C20.63,14.91 21,13.5 21,12c0,-4.28 -2.99,-7.86 -7,-8.77v2.06c2.89,0.86 5,3.54 5,6.71zM4.27,3L3,4.27 7.73,9L3,9v6h4l5,5v-6.73l4.25,4.25c-0.67,0.52 -1.42,0.93 -2.25,1.18v2.06c1.38,-0.31 2.63,-0.95 3.69,-1.81L19.73,21 21,19.73l-9,-9L4.27,3zM12,4L9.91,6.09 12,8.18L12,4z"/> diff --git a/app/src/main/res/drawable/ic_volume_off_gray_24dp.xml b/app/src/main/res/drawable/ic_volume_off_gray_24dp.xml deleted file mode 100644 index ade6bfec2..000000000 --- a/app/src/main/res/drawable/ic_volume_off_gray_24dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_volume_off_white_24dp.xml b/app/src/main/res/drawable/ic_volume_off_white_24dp.xml new file mode 100644 index 000000000..a266d9731 --- /dev/null +++ b/app/src/main/res/drawable/ic_volume_off_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_volume_up_white_72dp.xml b/app/src/main/res/drawable/ic_volume_up_white_72dp.xml deleted file mode 100644 index b2fb235a6..000000000 --- a/app/src/main/res/drawable/ic_volume_up_white_72dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_sunny_black_24dp.xml b/app/src/main/res/drawable/ic_wb_sunny_black_24dp.xml similarity index 88% rename from app/src/main/res/drawable/ic_sunny_black_24dp.xml rename to app/src/main/res/drawable/ic_wb_sunny_black_24dp.xml index fee59df13..a56fb5049 100644 --- a/app/src/main/res/drawable/ic_sunny_black_24dp.xml +++ b/app/src/main/res/drawable/ic_wb_sunny_black_24dp.xml @@ -1,8 +1,8 @@ + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_wb_sunny_white_24dp.xml b/app/src/main/res/drawable/ic_wb_sunny_white_24dp.xml new file mode 100644 index 000000000..5d22bab00 --- /dev/null +++ b/app/src/main/res/drawable/ic_wb_sunny_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_whatshot_black_24dp.xml b/app/src/main/res/drawable/ic_whatshot_black_24dp.xml new file mode 100644 index 000000000..1cbc037f7 --- /dev/null +++ b/app/src/main/res/drawable/ic_whatshot_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_whatshot_white_24dp.xml b/app/src/main/res/drawable/ic_whatshot_white_24dp.xml new file mode 100644 index 000000000..9aa2124f3 --- /dev/null +++ b/app/src/main/res/drawable/ic_whatshot_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_world_white_24dp.xml b/app/src/main/res/drawable/ic_world_white_24dp.xml deleted file mode 100644 index 01583e467..000000000 --- a/app/src/main/res/drawable/ic_world_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/player_controls_bg.xml b/app/src/main/res/drawable/player_controls_background.xml similarity index 100% rename from app/src/main/res/drawable/player_controls_bg.xml rename to app/src/main/res/drawable/player_controls_background.xml diff --git a/app/src/main/res/drawable/player_top_controls_bg.xml b/app/src/main/res/drawable/player_controls_top_background.xml similarity index 100% rename from app/src/main/res/drawable/player_top_controls_bg.xml rename to app/src/main/res/drawable/player_controls_top_background.xml diff --git a/app/src/main/res/drawable/progress_circular_white.xml b/app/src/main/res/drawable/progress_circular_white.xml index daa6649bc..0de71afec 100644 --- a/app/src/main/res/drawable/progress_circular_white.xml +++ b/app/src/main/res/drawable/progress_circular_white.xml @@ -2,7 +2,7 @@ - - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/progress_soundcloud_horizontal_light.xml b/app/src/main/res/drawable/progress_soundcloud_horizontal_light.xml index c326c5c04..0b3000de0 100644 --- a/app/src/main/res/drawable/progress_soundcloud_horizontal_light.xml +++ b/app/src/main/res/drawable/progress_soundcloud_horizontal_light.xml @@ -1,15 +1,15 @@ - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/progress_youtube_horizontal_dark.xml b/app/src/main/res/drawable/progress_youtube_horizontal_dark.xml index 404410f98..7f4520eb8 100644 --- a/app/src/main/res/drawable/progress_youtube_horizontal_dark.xml +++ b/app/src/main/res/drawable/progress_youtube_horizontal_dark.xml @@ -1,15 +1,15 @@ - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/progress_youtube_horizontal_light.xml b/app/src/main/res/drawable/progress_youtube_horizontal_light.xml index 120a6e5fb..d1556de91 100644 --- a/app/src/main/res/drawable/progress_youtube_horizontal_light.xml +++ b/app/src/main/res/drawable/progress_youtube_horizontal_light.xml @@ -1,15 +1,15 @@ - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/dark_checked_selector.xml b/app/src/main/res/drawable/selector_checked_dark.xml similarity index 100% rename from app/src/main/res/drawable/dark_checked_selector.xml rename to app/src/main/res/drawable/selector_checked_dark.xml diff --git a/app/src/main/res/drawable/light_checked_selector.xml b/app/src/main/res/drawable/selector_checked_light.xml similarity index 100% rename from app/src/main/res/drawable/light_checked_selector.xml rename to app/src/main/res/drawable/selector_checked_light.xml diff --git a/app/src/main/res/drawable/dark_selector.xml b/app/src/main/res/drawable/selector_dark.xml similarity index 100% rename from app/src/main/res/drawable/dark_selector.xml rename to app/src/main/res/drawable/selector_dark.xml diff --git a/app/src/main/res/drawable/dark_focused_selector.xml b/app/src/main/res/drawable/selector_focused_dark.xml similarity index 100% rename from app/src/main/res/drawable/dark_focused_selector.xml rename to app/src/main/res/drawable/selector_focused_dark.xml diff --git a/app/src/main/res/drawable/light_focused_selector.xml b/app/src/main/res/drawable/selector_focused_light.xml similarity index 100% rename from app/src/main/res/drawable/light_focused_selector.xml rename to app/src/main/res/drawable/selector_focused_light.xml diff --git a/app/src/main/res/drawable/light_selector.xml b/app/src/main/res/drawable/selector_light.xml similarity index 100% rename from app/src/main/res/drawable/light_selector.xml rename to app/src/main/res/drawable/selector_light.xml diff --git a/app/src/main/res/drawable/splash_forground.xml b/app/src/main/res/drawable/splash_foreground.xml similarity index 100% rename from app/src/main/res/drawable/splash_forground.xml rename to app/src/main/res/drawable/splash_foreground.xml diff --git a/app/src/main/res/drawable/tab_selector.xml b/app/src/main/res/drawable/tab_selector.xml index b7307674b..dc472133f 100644 --- a/app/src/main/res/drawable/tab_selector.xml +++ b/app/src/main/res/drawable/tab_selector.xml @@ -1,8 +1,8 @@ - - + \ No newline at end of file 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 6468c6784..c852da65e 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 @@ -139,7 +139,7 @@ android:focusable="true" android:scaleType="fitCenter" android:tint="?attr/colorAccent" - android:src="@drawable/ic_pause_white" + app:srcCompat="@drawable/ic_pause_white_24dp" tools:ignore="ContentDescription"/> @@ -108,7 +108,7 @@ android:focusable="true" android:scaleType="fitXY" android:tint="?attr/colorAccent" - android:src="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle_white_24dp" android:background="?android:selectableItemBackground" tools:ignore="ContentDescription,RtlHardcoded"/> @@ -144,7 +144,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" - android:background="@drawable/player_top_controls_bg" + android:background="@drawable/player_controls_top_background" android:gravity="top" android:paddingTop="10dp" android:paddingBottom="10dp" @@ -241,7 +241,7 @@ android:focusable="true" android:padding="5dp" android:scaleType="fitXY" - android:src="@drawable/ic_list_white_24dp" + app:srcCompat="@drawable/ic_list_white_24dp" android:background="?attr/selectableItemBackground" tools:ignore="ContentDescription,RtlHardcoded"/> @@ -255,7 +255,7 @@ android:clickable="true" android:focusable="true" android:scaleType="fitXY" - android:src="@drawable/ic_expand_more_white_24dp" + app:srcCompat="@drawable/ic_expand_more_white_24dp" android:background="?attr/selectableItemBackgroundBorderless" tools:ignore="ContentDescription,RtlHardcoded"/> @@ -322,11 +322,12 @@ android:focusable="true" android:padding="5dp" android:scaleType="fitXY" - android:src="@drawable/ic_cast_white_24dp" + app:srcCompat="@drawable/ic_cast_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/play_with_kodi_title" + android:visibility="gone" tools:ignore="RtlHardcoded" - android:visibility="visible"/> + tools:visibility="visible"/> @@ -358,7 +359,7 @@ android:focusable="true" android:padding="5dp" android:scaleType="fitXY" - android:src="@drawable/ic_screen_rotation_white" + app:srcCompat="@drawable/ic_screen_rotation_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/toggle_orientation" tools:ignore="RtlHardcoded"/> @@ -374,7 +375,7 @@ android:clickable="true" android:focusable="true" android:scaleType="fitXY" - android:src="@drawable/ic_fullscreen_exit_white" + app:srcCompat="@drawable/ic_fullscreen_exit_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/switch_to_popup" tools:ignore="RtlHardcoded"/> @@ -391,7 +392,7 @@ android:focusable="true" android:padding="5dp" android:scaleType="fitXY" - android:src="@drawable/ic_headset_white_24dp" + app:srcCompat="@drawable/ic_headset_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/switch_to_background" tools:ignore="RtlHardcoded"/> @@ -408,7 +409,7 @@ android:focusable="true" android:padding="5dp" android:scaleType="fitXY" - android:src="@drawable/ic_volume_off_white_24dp" + app:srcCompat="@drawable/ic_volume_off_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/switch_to_background" tools:ignore="RtlHardcoded" /> @@ -419,7 +420,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" - android:background="@drawable/player_controls_bg" + android:background="@drawable/player_controls_background" android:gravity="center" android:orientation="horizontal" android:paddingLeft="16dp" @@ -483,17 +484,15 @@ android:focusable="true" android:background="?attr/selectableItemBackgroundBorderless" android:scaleType="fitXY" - android:src="@drawable/ic_pause_white" + app:srcCompat="@drawable/ic_pause_white_24dp" tools:ignore="ContentDescription"/> @@ -599,11 +597,11 @@ + tools:src="@drawable/ic_volume_up_white_24dp" /> + tools:src="@drawable/ic_brightness_high_white_24dp" /> + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/video_item_detail" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:baselineAligned="false" + android:focusableInTouchMode="true" + android:orientation="horizontal" + tools:ignore="RtlHardcoded"> - + - + - + - - + + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - + - - + + - - + + - - + + - - + + - - + + - + - + - - + - - + + - + - + - + - + - + - - - + + + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - + - + diff --git a/app/src/main/res/layout/activity_main_player.xml b/app/src/main/res/layout/activity_main_player.xml index 2b643ec76..4bae123ee 100644 --- a/app/src/main/res/layout/activity_main_player.xml +++ b/app/src/main/res/layout/activity_main_player.xml @@ -73,7 +73,7 @@ android:focusable="true" android:scaleType="fitXY" android:tint="?attr/colorAccent" - android:src="@drawable/ic_close_white_24dp" + app:srcCompat="@drawable/ic_close_white_24dp" android:background="?android:selectableItemBackground" tools:ignore="ContentDescription"/> @@ -106,7 +106,7 @@ android:focusable="true" android:scaleType="fitXY" android:tint="?attr/colorAccent" - android:src="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle_white_24dp" android:background="?android:selectableItemBackground" tools:ignore="ContentDescription,RtlHardcoded"/> @@ -142,7 +142,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" - android:background="@drawable/player_top_controls_bg" + android:background="@drawable/player_controls_top_background" android:gravity="top" android:paddingTop="10dp" android:paddingBottom="10dp" @@ -237,7 +237,7 @@ android:focusable="true" android:padding="5dp" android:scaleType="fitXY" - android:src="@drawable/ic_list_white_24dp" + app:srcCompat="@drawable/ic_list_white_24dp" android:background="?attr/selectableItemBackground" tools:ignore="ContentDescription,RtlHardcoded"/> @@ -251,7 +251,7 @@ android:clickable="true" android:focusable="true" android:scaleType="fitXY" - android:src="@drawable/ic_expand_more_white_24dp" + app:srcCompat="@drawable/ic_expand_more_white_24dp" android:background="?attr/selectableItemBackgroundBorderless" tools:ignore="ContentDescription,RtlHardcoded"/> @@ -314,11 +314,12 @@ android:focusable="true" android:padding="5dp" android:scaleType="fitXY" - android:src="@drawable/ic_cast_white_24dp" + app:srcCompat="@drawable/ic_cast_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/play_with_kodi_title" + android:visibility="gone" tools:ignore="RtlHardcoded" - android:visibility="visible"/> + tools:visibility="visible"/> @@ -350,7 +351,7 @@ android:focusable="true" android:padding="5dp" android:scaleType="fitXY" - android:src="@drawable/ic_screen_rotation_white" + app:srcCompat="@drawable/ic_screen_rotation_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/toggle_orientation" tools:ignore="RtlHardcoded"/> @@ -366,7 +367,7 @@ android:clickable="true" android:focusable="true" android:scaleType="fitXY" - android:src="@drawable/ic_fullscreen_exit_white" + app:srcCompat="@drawable/ic_fullscreen_exit_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/switch_to_popup" tools:ignore="RtlHardcoded"/> @@ -383,7 +384,7 @@ android:focusable="true" android:padding="5dp" android:scaleType="fitXY" - android:src="@drawable/ic_headset_white_24dp" + app:srcCompat="@drawable/ic_headset_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/switch_to_background" tools:ignore="RtlHardcoded"/> @@ -400,7 +401,7 @@ android:focusable="true" android:padding="5dp" android:scaleType="fitXY" - app:srcCompat="@drawable/ic_volume_off_white_72dp" + app:srcCompat="@drawable/ic_volume_off_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/switch_to_background" tools:ignore="RtlHardcoded" /> @@ -412,7 +413,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" - android:background="@drawable/player_controls_bg" + android:background="@drawable/player_controls_background" android:gravity="center" android:orientation="horizontal" android:paddingLeft="16dp" @@ -476,17 +477,15 @@ android:focusable="true" android:background="?attr/selectableItemBackgroundBorderless" android:scaleType="fitXY" - android:src="@drawable/ic_pause_white" + app:srcCompat="@drawable/ic_pause_white_24dp" tools:ignore="ContentDescription"/> @@ -592,11 +590,11 @@ + tools:src="@drawable/ic_volume_up_white_24dp" /> + tools:src="@drawable/ic_brightness_high_white_24dp" /> + android:background="@drawable/player_controls_background"> - + tools:ignore="ContentDescription" /> - + android:layout_marginTop="50dp"> + + + + + + tools:text="Lorem ipsum dolor" /> + + + tools:visibility="visible" /> + tools:visibility="visible" /> - \ No newline at end of file + 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 364a6c891..2bd0e1141 100644 --- a/app/src/main/res/layout/dialog_feed_group_create.xml +++ b/app/src/main/res/layout/dialog_feed_group_create.xml @@ -182,7 +182,7 @@ android:layout_centerVertical="true" android:minWidth="0dp" android:scaleType="centerInside" - android:src="?attr/ic_delete" + app:srcCompat="?attr/ic_delete" android:visibility="gone" tools:ignore="ContentDescription" tools:visibility="visible" /> diff --git a/app/src/main/res/layout/dialog_playlists.xml b/app/src/main/res/layout/dialog_playlists.xml index 0c691ed6a..eebeb2951 100644 --- a/app/src/main/res/layout/dialog_playlists.xml +++ b/app/src/main/res/layout/dialog_playlists.xml @@ -1,8 +1,8 @@ - + android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto"> + tools:srcCompat="@drawable/place_holder_youtube" /> + android:theme="@style/ServiceColoredButton"/> \ No newline at end of file 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 3424762e2..e95d8cd60 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 @@ -14,7 +14,7 @@ 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 d3bbf8005..04327e500 100644 --- a/app/src/main/res/layout/feed_group_reorder_item.xml +++ b/app/src/main/res/layout/feed_group_reorder_item.xml @@ -28,7 +28,7 @@ android:layout_centerVertical="true" android:layout_marginLeft="16dp" tools:ignore="ContentDescription,RtlHardcoded" - tools:src="?attr/ic_hot" /> + tools:src="?attr/ic_kiosk_hot" /> \ No newline at end of file diff --git a/app/src/main/res/layout/feed_import_export_group.xml b/app/src/main/res/layout/feed_import_export_group.xml index 2049db65e..5699b571a 100644 --- a/app/src/main/res/layout/feed_import_export_group.xml +++ b/app/src/main/res/layout/feed_import_export_group.xml @@ -16,7 +16,7 @@ + android:background="?attr/toolbar_shadow"/> diff --git a/app/src/main/res/layout/fragment_blank.xml b/app/src/main/res/layout/fragment_blank.xml index d1167d722..f8a5431c4 100644 --- a/app/src/main/res/layout/fragment_blank.xml +++ b/app/src/main/res/layout/fragment_blank.xml @@ -19,7 +19,7 @@ \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_bookmarks.xml b/app/src/main/res/layout/fragment_bookmarks.xml index fd2729f12..896679c34 100644 --- a/app/src/main/res/layout/fragment_bookmarks.xml +++ b/app/src/main/res/layout/fragment_bookmarks.xml @@ -38,7 +38,7 @@ \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_channel.xml b/app/src/main/res/layout/fragment_channel.xml index 898440db6..9d5d70535 100644 --- a/app/src/main/res/layout/fragment_channel.xml +++ b/app/src/main/res/layout/fragment_channel.xml @@ -75,7 +75,7 @@ diff --git a/app/src/main/res/layout/fragment_comments.xml b/app/src/main/res/layout/fragment_comments.xml index 4ced11d35..7159dd5b9 100644 --- a/app/src/main/res/layout/fragment_comments.xml +++ b/app/src/main/res/layout/fragment_comments.xml @@ -64,7 +64,7 @@ diff --git a/app/src/main/res/layout/fragment_empty.xml b/app/src/main/res/layout/fragment_empty.xml index fb831d8ff..8ce25d2ae 100644 --- a/app/src/main/res/layout/fragment_empty.xml +++ b/app/src/main/res/layout/fragment_empty.xml @@ -23,7 +23,7 @@ android:layout_width="match_parent" android:layout_height="4dp" android:layout_alignParentTop="true" - android:background="?attr/toolbar_shadow_drawable" + android:background="?attr/toolbar_shadow" android:visibility="gone" /> diff --git a/app/src/main/res/layout/fragment_feed.xml b/app/src/main/res/layout/fragment_feed.xml index 7d166a3f5..8d5c64f8d 100644 --- a/app/src/main/res/layout/fragment_feed.xml +++ b/app/src/main/res/layout/fragment_feed.xml @@ -136,5 +136,5 @@ android:layout_width="match_parent" android:layout_height="4dp" android:layout_alignParentTop="true" - android:background="?attr/toolbar_shadow_drawable" /> + android:background="?attr/toolbar_shadow" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_import.xml b/app/src/main/res/layout/fragment_import.xml index b75a5d487..dd45bcc74 100644 --- a/app/src/main/res/layout/fragment_import.xml +++ b/app/src/main/res/layout/fragment_import.xml @@ -50,6 +50,6 @@ android:layout_width="match_parent" android:layout_height="4dp" android:layout_alignParentTop="true" - android:background="?attr/toolbar_shadow_drawable"/> + android:background="?attr/toolbar_shadow"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_kiosk.xml b/app/src/main/res/layout/fragment_kiosk.xml index 643d7d4f0..5617c2581 100644 --- a/app/src/main/res/layout/fragment_kiosk.xml +++ b/app/src/main/res/layout/fragment_kiosk.xml @@ -64,7 +64,7 @@ \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_playlist.xml b/app/src/main/res/layout/fragment_playlist.xml index aa8710fe4..49edaecfb 100644 --- a/app/src/main/res/layout/fragment_playlist.xml +++ b/app/src/main/res/layout/fragment_playlist.xml @@ -64,7 +64,7 @@ diff --git a/app/src/main/res/layout/fragment_related_streams.xml b/app/src/main/res/layout/fragment_related_streams.xml index 30d340041..6e9fc2588 100644 --- a/app/src/main/res/layout/fragment_related_streams.xml +++ b/app/src/main/res/layout/fragment_related_streams.xml @@ -64,7 +64,7 @@ diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index a4d68d493..651229f10 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -85,7 +85,7 @@ diff --git a/app/src/main/res/layout/fragment_subscription.xml b/app/src/main/res/layout/fragment_subscription.xml index d1281f462..60a8fb334 100644 --- a/app/src/main/res/layout/fragment_subscription.xml +++ b/app/src/main/res/layout/fragment_subscription.xml @@ -39,7 +39,7 @@ \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_video_detail.xml b/app/src/main/res/layout/fragment_video_detail.xml index cc57e09d4..474c89d32 100644 --- a/app/src/main/res/layout/fragment_video_detail.xml +++ b/app/src/main/res/layout/fragment_video_detail.xml @@ -1,528 +1,567 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/video_item_detail" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:focusableInTouchMode="true"> - + - + - + - - + + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - + - - + + - - + + - - + + - - + + - - + + - + - + - - + - - + - + - + - + - + - + + - - - + + - + - - + - + - + - + - + + + - + - - + + - + - + - + - + - - + - + + + + + + + + + + + + + + + - + - + - + - + diff --git a/app/src/main/res/layout/item_instance.xml b/app/src/main/res/layout/item_instance.xml index b0e4e25bd..587712e61 100644 --- a/app/src/main/res/layout/item_instance.xml +++ b/app/src/main/res/layout/item_instance.xml @@ -77,7 +77,7 @@ android:paddingLeft="16dp" android:paddingRight="10dp" android:paddingTop="12dp" - android:src="?attr/drag_handle" + app:srcCompat="?attr/ic_drag_handle" tools:ignore="ContentDescription,RtlHardcoded"/> \ No newline at end of file diff --git a/app/src/main/res/layout/item_search_suggestion.xml b/app/src/main/res/layout/item_search_suggestion.xml index bffc3ce89..d93032cc5 100644 --- a/app/src/main/res/layout/item_search_suggestion.xml +++ b/app/src/main/res/layout/item_search_suggestion.xml @@ -1,9 +1,9 @@ - + tools:src="?attr/ic_history"/> diff --git a/app/src/main/res/layout/list_choose_tabs.xml b/app/src/main/res/layout/list_choose_tabs.xml index 82c9dd081..d09f887ea 100644 --- a/app/src/main/res/layout/list_choose_tabs.xml +++ b/app/src/main/res/layout/list_choose_tabs.xml @@ -29,7 +29,7 @@ android:layout_centerVertical="true" android:layout_marginLeft="16dp" tools:ignore="ContentDescription,RtlHardcoded" - tools:src="?attr/ic_hot"/> + tools:src="?attr/ic_kiosk_hot"/> \ No newline at end of file diff --git a/app/src/main/res/layout/list_choose_tabs_dialog.xml b/app/src/main/res/layout/list_choose_tabs_dialog.xml index 1798c16a0..9f5033368 100644 --- a/app/src/main/res/layout/list_choose_tabs_dialog.xml +++ b/app/src/main/res/layout/list_choose_tabs_dialog.xml @@ -15,7 +15,7 @@ android:layout_centerVertical="true" android:layout_marginLeft="?dialogPreferredPadding" tools:ignore="ContentDescription,RtlHardcoded" - tools:src="?attr/ic_hot"/> + tools:src="?attr/ic_kiosk_hot"/> + app:srcCompat="?attr/ic_thumb_up" /> - + app:srcCompat="?attr/ic_thumb_up" /> - + - + - + - + - + \ No newline at end of file diff --git a/app/src/main/res/layout/list_playlist_item.xml b/app/src/main/res/layout/list_playlist_item.xml index 57a3cbef9..2aeefef38 100644 --- a/app/src/main/res/layout/list_playlist_item.xml +++ b/app/src/main/res/layout/list_playlist_item.xml @@ -1,7 +1,7 @@ - - diff --git a/app/src/main/res/layout/list_stream_grid_item.xml b/app/src/main/res/layout/list_stream_grid_item.xml index 2850c6125..27c69aee8 100644 --- a/app/src/main/res/layout/list_stream_grid_item.xml +++ b/app/src/main/res/layout/list_stream_grid_item.xml @@ -1,94 +1,94 @@ + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/itemRoot" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?attr/selectableItemBackground" + android:clickable="true" + android:focusable="true" + android:padding="@dimen/video_item_search_padding"> - + - + - + - + - + - + \ No newline at end of file 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 1b2ad5dd2..2b578e2f2 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,95 +1,96 @@ + xmlns:tools="http://schemas.android.com/tools" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/itemRoot" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?attr/selectableItemBackground" + android:clickable="true" + android:focusable="true" + android:padding="@dimen/video_item_search_padding"> - + - + - + - + - + - + \ No newline at end of file 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 00b431cc6..a36d6f0d8 100644 --- a/app/src/main/res/layout/list_stream_playlist_item.xml +++ b/app/src/main/res/layout/list_stream_playlist_item.xml @@ -1,7 +1,7 @@ - diff --git a/app/src/main/res/layout/mission_item.xml b/app/src/main/res/layout/mission_item.xml index 45e4d44e2..781fd036b 100644 --- a/app/src/main/res/layout/mission_item.xml +++ b/app/src/main/res/layout/mission_item.xml @@ -1,85 +1,86 @@ - - - - - - - - + + + + + + + + - - - - + + - - - - - - + + + + + + diff --git a/app/src/main/res/layout/mission_item_linear.xml b/app/src/main/res/layout/mission_item_linear.xml index 7fff76235..0916fc5e1 100644 --- a/app/src/main/res/layout/mission_item_linear.xml +++ b/app/src/main/res/layout/mission_item_linear.xml @@ -1,78 +1,79 @@ - - + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_height="wrap_content" + android:layout_width="match_parent"> - + + - + - + - + - - + diff --git a/app/src/main/res/layout/missions.xml b/app/src/main/res/layout/missions.xml index b99824a22..81eaeb9b3 100644 --- a/app/src/main/res/layout/missions.xml +++ b/app/src/main/res/layout/missions.xml @@ -1,17 +1,17 @@ + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical"> - + - + diff --git a/app/src/main/res/layout/picker_icon_item.xml b/app/src/main/res/layout/picker_icon_item.xml index f156772b6..e95abeca2 100644 --- a/app/src/main/res/layout/picker_icon_item.xml +++ b/app/src/main/res/layout/picker_icon_item.xml @@ -12,4 +12,4 @@ android:padding="8dp" android:scaleType="centerInside" tools:ignore="ContentDescription" - tools:src="?attr/rss"/> \ No newline at end of file + tools:src="?attr/ic_rss"/> \ No newline at end of file diff --git a/app/src/main/res/layout/picker_subscription_item.xml b/app/src/main/res/layout/picker_subscription_item.xml index 474f068df..3f9b0bd2c 100644 --- a/app/src/main/res/layout/picker_subscription_item.xml +++ b/app/src/main/res/layout/picker_subscription_item.xml @@ -8,7 +8,7 @@ android:layout_margin="2dp" android:clickable="true" android:focusable="true" - android:background="?attr/focused_selector_drawable"> + android:background="?attr/focused_selector"> - - @@ -156,7 +157,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" - android:background="@drawable/player_controls_bg" + android:background="@drawable/player_controls_background" android:orientation="horizontal" android:paddingTop="50dp"/> @@ -230,7 +231,7 @@ android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" - android:src="@drawable/ic_action_av_fast_rewind" + app:srcCompat="@drawable/ic_fast_rewind_white_24dp" android:visibility="gone" tools:ignore="ContentDescription" tools:visibility="visible"/> 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 2cc04ec09..cba06874e 100644 --- a/app/src/main/res/layout/player_popup_close_overlay.xml +++ b/app/src/main/res/layout/player_popup_close_overlay.xml @@ -11,7 +11,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|center_horizontal" android:layout_marginBottom="24dp" - android:src="@drawable/ic_close_white_24dp" + app:srcCompat="@drawable/ic_close_white_24dp" app:backgroundTint="@color/light_youtube_primary_color" app:borderWidth="0dp" app:fabSize="normal"/> diff --git a/app/src/main/res/layout/player_popup_notification.xml b/app/src/main/res/layout/player_popup_notification.xml index c8a06db47..e8b077ecc 100644 --- a/app/src/main/res/layout/player_popup_notification.xml +++ b/app/src/main/res/layout/player_popup_notification.xml @@ -1,6 +1,7 @@ - @@ -26,8 +26,8 @@ android:textSize="@dimen/channel_rss_title_size" android:textColor="?attr/colorAccent" android:drawablePadding="4dp" - android:drawableLeft="?attr/audio" - android:drawableStart="?attr/audio"/> + app:drawableLeftCompat="?attr/ic_headset" + app:drawableStartCompat="?attr/ic_headset"/> + app:drawableLeftCompat="?attr/ic_popup" + app:drawableStartCompat="?attr/ic_popup"/> diff --git a/app/src/main/res/layout/select_kiosk_item.xml b/app/src/main/res/layout/select_kiosk_item.xml index de2685afe..9d073c7bd 100644 --- a/app/src/main/res/layout/select_kiosk_item.xml +++ b/app/src/main/res/layout/select_kiosk_item.xml @@ -17,7 +17,6 @@ android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginRight="5dp" - android:src="@drawable/service" tools:ignore="RtlHardcoded" android:contentDescription="TODO" /> diff --git a/app/src/main/res/layout/settings_category_header_layout.xml b/app/src/main/res/layout/settings_category_header_layout.xml index 3265ec4f3..4873d9677 100644 --- a/app/src/main/res/layout/settings_category_header_layout.xml +++ b/app/src/main/res/layout/settings_category_header_layout.xml @@ -13,7 +13,7 @@ + android:background="?attr/toolbar_shadow"/> - - + android:layout_height="48dp" + xmlns:app="http://schemas.android.com/apk/res-auto"> - diff --git a/app/src/main/res/menu/dialog_url.xml b/app/src/main/res/menu/dialog_url.xml index 919ddf368..2fb210b56 100644 --- a/app/src/main/res/menu/dialog_url.xml +++ b/app/src/main/res/menu/dialog_url.xml @@ -1,10 +1,10 @@

- - - + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> + + + diff --git a/app/src/main/res/menu/download_menu.xml b/app/src/main/res/menu/download_menu.xml index d41434711..ced932bcc 100644 --- a/app/src/main/res/menu/download_menu.xml +++ b/app/src/main/res/menu/download_menu.xml @@ -11,13 +11,13 @@ diff --git a/app/src/main/res/menu/error_menu.xml b/app/src/main/res/menu/error_menu.xml index 79c3f6393..b024a9f9f 100644 --- a/app/src/main/res/menu/error_menu.xml +++ b/app/src/main/res/menu/error_menu.xml @@ -5,5 +5,5 @@ + android:icon="?attr/ic_share"/> \ No newline at end of file diff --git a/app/src/main/res/menu/main_fragment_menu.xml b/app/src/main/res/menu/main_fragment_menu.xml index acb992ebd..88aa80f31 100644 --- a/app/src/main/res/menu/main_fragment_menu.xml +++ b/app/src/main/res/menu/main_fragment_menu.xml @@ -4,7 +4,7 @@ diff --git a/app/src/main/res/menu/menu_channel.xml b/app/src/main/res/menu/menu_channel.xml index f8449d8b5..692b7ca1a 100644 --- a/app/src/main/res/menu/menu_channel.xml +++ b/app/src/main/res/menu/menu_channel.xml @@ -6,7 +6,7 @@ diff --git a/app/src/main/res/menu/menu_local_playlist.xml b/app/src/main/res/menu/menu_local_playlist.xml index fdca9b31f..a955e9539 100644 --- a/app/src/main/res/menu/menu_local_playlist.xml +++ b/app/src/main/res/menu/menu_local_playlist.xml @@ -1,10 +1,9 @@ + xmlns:app="http://schemas.android.com/apk/res-auto"> - \ No newline at end of file + diff --git a/app/src/main/res/menu/menu_play_queue.xml b/app/src/main/res/menu/menu_play_queue.xml index fc3fd07a8..cdbc43e80 100644 --- a/app/src/main/res/menu/menu_play_queue.xml +++ b/app/src/main/res/menu/menu_play_queue.xml @@ -12,7 +12,7 @@ diff --git a/app/src/main/res/menu/menu_playlist.xml b/app/src/main/res/menu/menu_playlist.xml index 5e62d40a3..9a60caf54 100644 --- a/app/src/main/res/menu/menu_playlist.xml +++ b/app/src/main/res/menu/menu_playlist.xml @@ -5,7 +5,7 @@ diff --git a/app/src/main/res/menu/menu_search.xml b/app/src/main/res/menu/menu_search.xml index 57f5f95fc..e0dcd7153 100644 --- a/app/src/main/res/menu/menu_search.xml +++ b/app/src/main/res/menu/menu_search.xml @@ -4,7 +4,7 @@ diff --git a/app/src/main/res/menu/menu_videooptions.xml b/app/src/main/res/menu/menu_videooptions.xml index 9a3262148..f153ad31c 100644 --- a/app/src/main/res/menu/menu_videooptions.xml +++ b/app/src/main/res/menu/menu_videooptions.xml @@ -5,17 +5,17 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/menu/video_detail_menu.xml b/app/src/main/res/menu/video_detail_menu.xml index 65e7bc4da..609b5a08c 100644 --- a/app/src/main/res/menu/video_detail_menu.xml +++ b/app/src/main/res/menu/video_detail_menu.xml @@ -4,13 +4,13 @@ diff --git a/app/src/main/res/menu/video_player.xml b/app/src/main/res/menu/video_player.xml deleted file mode 100644 index c79217adc..000000000 --- a/app/src/main/res/menu/video_player.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 6cb83dc28..5d2fe413a 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -27,7 +27,7 @@ صور معاينة الفيديو خطأ في الشبكة التالي - لا يوجد مشغل فيديو. هل تريد تنصيب VLC؟ + لم يتم العثور على مشغل بث. تثبيت VLC؟ افتح في المتصفح الصوت تشغيل @@ -45,19 +45,19 @@ اعرض خيار لتشغيل الفيديو عبر مركز وسائط Kodi عرض خيار التشغيل بواسطة كودي السمة - تم النشر يوم %1$s + تم النشر بتاريخ %1$s رابط URL غير معتمد استخدام مشغل صوت خارجي استخدام مشغل فيديو خارجي (إختبارية) إجراء التنزيلات من خلال استخدام بروكسي Tor لزيادة الخصوصية ( تشغيل الفيديو المباشر غير مدعوم حتى الأن ). استخدام تور - مشاهدات %1$s + %1$s من المشاهدات محتوى غير متوفر تعذرت عملية تحميل كافة صور المعاينة خطأ تعذرت عملية تحليل الموقع تعذر فك تشفير توقيع رابط الفيديو - انقر فوق \"بحث\" للبدء + انقر على \"بحث\" للبدء اشتراك مشترك الرئيسية @@ -187,7 +187,6 @@ يرجى تحديد مجلد التنزيل لاحقا في الإعدادات هذا الإذن مطلوب \nللفتح في وضع النافذة المنبثقة - اختبار reCAPTCHA السماح بالرموز في أسماء الملفات يتم استبدال الرموز غير المسموح بها بهذه القيمة استبدال الحرف @@ -272,7 +271,7 @@ دائماً مرة واحدة فقط العنوان خاطئ - لم يتم العثور على مشغل الفديو (يمكنك تثبيت VLC لتشغيله). + لم يتم العثور على مشغل دفق (يمكنك تثبيت VLC لتشغيله). استيراد قاعدة البيانات تصدير قاعدة البيانات "الكتابة فوق سجل التاريخ والاشتراكات الحالية " @@ -477,14 +476,6 @@ إظهار التعليقات عطّله لإخفاء التعليقات تشغيل تلقائي - - %s تعليق - %s تعليقات - %s تعليقات - %s تعليقات - %s تعليقات - %s تعليقات - لا توجد تعليقات تعذر تحميل التعليقات إغلاق @@ -638,7 +629,6 @@ بسبب قيود ExoPlayer تم تعيين مدة البحث على %d ثانية إلغاء كتم الصوت كتم الصوت - \@السلسلة/تطبيق _اسم مساعدة هذا المحتوى ليس مدعوم من قبل NewPipe. \n @@ -656,4 +646,10 @@ \nهل أنت واثق؟ هذا لا يمكن التراجع عنها! إزالة مقاطع الفيديو التي تمت مشاهدتها؟ إزالة ماتمت مشاهدته + ستكون النصوص الأصلية من الخدمات مرئية في عناصر البث + عرض الوقت الأصلي على العناصر + وضع مقيد يوتيوب + لـ %s + أنشأها %s + الصورة الرمزية للقناة \ No newline at end of file diff --git a/app/src/main/res/values-b+ast/strings.xml b/app/src/main/res/values-b+ast/strings.xml index bd6e09584..247c76b3f 100644 --- a/app/src/main/res/values-b+ast/strings.xml +++ b/app/src/main/res/values-b+ast/strings.xml @@ -264,10 +264,6 @@ ¿Desaniciar tol historial de guetes\? ¡Hai un anovamientu disponible pa NewPipe! Toca pa baxar la versión - - %s comentariu - %s comentarios - Perdióse\'l progresu porque se desanició\'l ficheru Instancies de PeerTube La instancia yá esiste diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml index f84346109..fa6f9fe25 100644 --- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml +++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml @@ -463,9 +463,6 @@ 近期大会 显示评论 禁用,以停止显示评论 - - %s 条评论 - 无法加载评论 关闭 恢复播放 @@ -596,4 +593,15 @@ 该视频有年龄限制。 \n \n如果您想要观看,请在设置中启用“年龄限制内容”。 + 由 %s + 由%s创建 + 频道的头像缩略图 + 是的,包括没看完的视频 + 已经看过且在之后被加入播放列表的视频将被移除。 +\n您确定吗?这不能被撤消! + 移除看过的视频? + 移除看过的视频 + 来自服务的原始文本将在流项目中可见 + 在项目上显示原始时间 + YouTube受限模式 \ No newline at end of file diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 4b1531def..fbd7a99c0 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -247,7 +247,6 @@ Гэтае разрозненне трэба для \nпрайгравання ў акне 1 элемент выдалены. - reCAPTCHA Запыт reCAPTCHA Запытаны ўвод reCAPTCHA Загрузкі @@ -467,11 +466,6 @@ Паказаць каментарыі Адключыце, каб схаваць каментарыі Аўтазапуск - - Каментарый - - - Каментарыі адсутнічаюць Каментарыі не атрымалася загрузіць Зачыніць diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 26d394254..400c8d280 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -269,7 +269,6 @@ Това разрешение се изисква за \nвъзпроизвеждане в отделен прозорец 1 елемент е изтрит. - преКАПЧА reCAPTCHA заявка Изисква се въвеждане на reCAPTCHA Изтегляне @@ -411,10 +410,6 @@ Показвай коментари Деактивиране за скриване на коментарите Автоматично пускане - - Коментари - - Нов раздел Избери раздел Промени diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml index a24e4802c..6ad5e7ad0 100644 --- a/app/src/main/res/values-bn-rBD/strings.xml +++ b/app/src/main/res/values-bn-rBD/strings.xml @@ -137,7 +137,6 @@ ক্লিপবোর্ডে অনুলিপি করা হয়েছে। অনুগ্রহ করে একটি উপলব্ধ ডাউনলোড ডিরেক্টরি নির্বাচন করো। এই অনুমতিটি পপআপ মোডে খুলতে প্রয়োজন - রিক্যাপচা reCAPTCHA চ্যালেঞ্জ reCAPTCHA চ্যালেঞ্জ অনুরোধ করা হয়েছে @@ -185,5 +184,9 @@ মতামত প্রদর্শন করুন থাম্বনেইল লোড করুন থাম্বনেইল প্রদর্শন বন্ধ করার মাধ্যমে, ডাটা এবং মেমোরি সংরক্ষণ করুন। অপশনটি‌ পরিবর্তনে ইন-মেমোরি এবং অন-ডিস্ক ইমেজ ক্যাশ উভয়ই মুছে যাবে। - ইমেজ ক্যাশে মুছে ফেলা হয়েছে + ছবির ক্যাশ মুছে ফেলা হয়েছে + ওয়েবপৃষ্ঠার সকল ক্যাশড তথ্য মুছুন + ক্যাশড মেটাডেটা মুছুন + মেটাডেটা ক্যাশ মুছে ফেলা হয়েছে + পরবর্তী স্ট্রিম স্বয়ংক্রিয়ংভাবে সংযোজন করুন \ No newline at end of file diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index dc8c7f9e1..d77c6a63a 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -67,7 +67,6 @@ D\'acord Nom de fitxer Error - reCAPTCHA Baixades Paràmetres Quant a @@ -311,7 +310,7 @@ Se substituiran els caràcters no vàlids amb aquest valor Caràcter de substitució Principals caràcters especials - Idees, traduccions, canvis en el disseny, neteja del codi, canvis importants de programació... La vostra ajuda sempre és benvinguda. Com més feina feta hi hagi, millor! + Idees, traduccions, canvis en el disseny, neteja del codi, canvis importants de programació… La vostra ajuda sempre és benvinguda. Com més feina feta hi hagi, millor! El NewPipe està desenvolupat per voluntaris que fan servir el seu temps lliure per oferir-vos la millor experiència possible. Feu una aportació per assegurar que els nostres desenvolupadors puguin millorar encara més el NewPipe mentre fan un cafè. Feu la vostra aportació Cerques @@ -463,10 +462,6 @@ Mostra una notificació per demanar l\'actualització de l\'aplicació si hi ha una versió nova disponible Toqueu per baixar El servidor no està enviant dades - - Comentaris - - Notificació d\'actualització de l\'aplicació Reprèn la reproducció No es pot sobreescriure el fitxer diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index e398ebed5..20b9a8bc4 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -102,7 +102,6 @@ Přehrát Nová mise OK - reCAPTCHA Výzva reCAPTCHA Požadována výzva reCAPTCHA Černé @@ -243,10 +242,10 @@ otevření ve vyskakovacím okně
Podrž pro zařazení do fronty [Neznámý] Do fronty na pozadí - Do fronty v okně + Do fronty v pop-upu Začne hrát zde Začít přehrávat na pozadí - Začít přehrávat v okně + Začít přehrávat v pop-upu Donate NewPipe je vyvíjen dobrovolníky, kteří tráví svůj volný čas, aby vaše zkušenost s aplikací byla co nejlepší. Vraťte vývojářům něco zpět, aby mohli NewPipe dále zlepšovat a zároveň si vychutnat šálek kávy. Daruj @@ -471,11 +470,6 @@ otevření ve vyskakovacím okně
Zobrazit komentáře Deaktivovat zobrazování komentářů Automatické přehrávání - - %s komentář - %s komentáře - %s komentářů - Žádné komentáře Nelze načíst komentáře Zavřít @@ -626,4 +620,10 @@ otevření ve vyskakovacím okně
Odstranit shlédnutá Videa, která jste shlédli před a po jejich doplnění do playlistu, budou odstraněna. \nJste se jisti\? Nelze zvrátit! + Původní texty služeb budou viditelné u položek streamů + U položek ukázat původní čas \"před\" + Omezený režim YouTube + %s + Založil %s + Miniatura avatara kanálu \ No newline at end of file diff --git a/app/src/main/res/values-cv/strings.xml b/app/src/main/res/values-cv/strings.xml deleted file mode 100644 index a6b3daec9..000000000 --- a/app/src/main/res/values-cv/strings.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index ef8dc032d..91ca1040f 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -249,7 +249,6 @@ Vælg venligst en tilgængelig downloadmappe Denne tilladelse er nødvendig for at kunne åbne i pop op-tilstand 1 element slettet. - reCAPTCHA reCAPTCHA-udfordring Der blev anmodet om en reCAPTCHA-udfordring Download diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c53f9d310..4f5c6e018 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -33,7 +33,7 @@ Bevorzugte Sprache des Inhalts Video-Vorschaubild Video abspielen, Dauer: - Nutzerbild + Avatarbild des Uploaders Gefällt nicht Gefällt Externen Video-Player verwenden @@ -110,7 +110,6 @@ NewPipe lädt herunter Für Details antippen Ungültige URL oder Internet nicht verfügbar - reCAPTCHA Schwarz reCAPTCHA-Aufgabe reCAPTCHA-Aufgabe angefordert @@ -244,7 +243,7 @@ In Warteschlange in neuem Pop-up Ab hier wiedergeben Wiedergabe im Hintergrund starten - Wiedergabe in einem neuen Pop-up starten + Wiedergabe in einem Pop-up starten Spenden Zurückgeben Website @@ -467,10 +466,6 @@ Kommentare anzeigen Ausschalten, um Kommentare auszublenden Automatische Wiedergabe - - %s Kommentar - %s Kommentare - Keine Kommentare Kommentare konnten nicht geladen werden Schließen @@ -572,7 +567,7 @@ Möchtest du diese Gruppe löschen\? Neu Immer aktualisieren - Channel-Gruppen + Kanalgruppen Nicht geladen: %d Feed laden… Feed verarbeiten… @@ -613,4 +608,10 @@ Ja, und teilweise gesehene Videos Gesehene entfernen Gesehene Videos entfernen\? + Originalzeit vor Elementen anzeigen + Originaltexte von Diensten werden in Stream-Elementen sichtbar sein + Eingeschränkter YouTube-Modus + Avatarbild des Kanals + Erstellt von %s + Von %s \ No newline at end of file diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 66f2e7aed..ed5a6b299 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -2,7 +2,7 @@ %1$s προβολές Ανέβηκε στις %1$s - Δεν βρέθηκε πρόγραμμα αναπαραγωγής. Θα θέλατε να εγκαταστήσετε το VLC; + Δεν βρέθηκε πρόγραμμα αναπαραγωγής. Εγκατάσταση του VLC; Εγκατάσταση Ακύρωση Άνοιγμα στο πρόγραμμα περιήγησης ιστού @@ -18,13 +18,13 @@ Χρήση εξωτερικής συσκευής αναπαραγωγής ήχου Φάκελος λήψης βίντεο Τα ληφθέντα αρχεία βίντεο αποθηκεύονται εδώ - Επιλέξτε το φάκελο λήψης για αρχεία βίντεο + Επιλέξτε φάκελο λήψης για αρχεία βίντεο Διαδρομή λήψης αρχείων ήχου Τα ληφθέντα αρχεία ήχου αποθηκεύονται εδώ - Επιλέξτε το φάκελο λήψης για αρχεία ήχου + Επιλέξτε φάκελο λήψης για αρχεία ήχου Προεπιλεγμένη ανάλυση Αναπαραγωγή με το Kodi - Η εφαρμογή Kore δεν βρέθηκε. Εγκατάσταση της; + Εγκατάσταση της εφαρμογής Kore; Εμφάνιση της επιλογής \"Αναπαραγωγή με το Kodi\" Προβολή μιας επιλογής για αναπαραγωγή με το Kodi media center Ήχος @@ -56,7 +56,7 @@ Άνοιγμα σε αναδυόμενο παράθυρο Εγγραφή Εγγεγραμμένος - Μόνο μερικές συσκευές υποστηρίζουν την αναπαραγωγή 2K/4K βίντεο + Μόνο μερικές συσκευές υποστηρίζουν αναπαραγωγή 2K/4K βίντεο Μαύρο Προτάσεις αναζήτησης Ιστορικό αναζήτησης @@ -89,11 +89,11 @@ Ιστορικό Ιστορικό Εμφάνιση πληροφοριών - Πατήστε αναζήτηση για να ξεκινήσετε + Πατήστε \"Αναζήτηση\" για να ξεκινήσετε Δε βρέθηκε πρόγραμμα αναπαραγωγής ροής δεδομένων (μπορείτε να εγκαταστήσετε το VLC για να κάνετε αναπαραγωγή). Κατέβασμα του αρχείου ροής Αφαίρεση του ήχου από κάποιες αναλύσεις - NewPipe σε λειτουργία αναδυόμενου παραθύρου + Λειτουργία αναδυόμενου παραθύρου Έγινε διαγραφή από το κανάλι Αδύνατη η αλλαγή της εγγραφής Αδύνατη η ενημέρωση της εγγραφής @@ -112,7 +112,7 @@ Ενθύμιση του μεγέθους και της θέσης του αναδυόμενου παραθύρου Ενθύμιση του τελευταίου μεγέθους και θέσης του παραθύρου Χρήση γρήγορης μη-ακριβούς αναζήτησης - Η μη-ακριβής αναζήτηση επιτρέπει στην εφαρμογή να αναζητεί θέσεις στο βίντεο γρηγορότερα με μειωμένη ακρίβεια + Η μη ακριβής αναζήτηση επιτρέπει στην εφαρμογή να αναζητεί θέσεις στο βίντεο γρηγορότερα με μειωμένη ακρίβεια. Δε λειτουργεί για διαστήματα των 5, 15 ή 25 δευτερολέπτων. Φόρτωση thumbnails Με την απενεργοποίηση δεν φορτώνονται οι μικρογραφίες, χρησιμοποιώντας λιγότερα δεδομένα και μνήμη. Οι αλλαγές σβήνουν τις προσωρινά αποθηκευμένες εικόνες στην μνήμη. Εκκαθαρίστηκε η προσωρινή μνήμη εικονών @@ -251,7 +251,6 @@ Αυτή η άδεια είναι απαραίτητη για \nτο άνοιγμα αναδυόμενων παραθύρων 1 αντικείμενο διαγράφηκε. - Αυτόματο τεστ Πρόκληση reCAPTCHA Ζητήθηκε πρόκληση reCAPTCHA Επιτρεπόμενοι χαρακτήρες σε ονόματα αρχείων @@ -466,10 +465,6 @@ Προβολή σχολίων Απενεργοποίηση για διακοπή της εμφάνιση σχολίων Αυτόματη αναπαραγωγή - - Σχόλια - - Χωρίς σχόλια Δεν ήταν δυνατή η φόρτωση σχολίων Κλείσιμο @@ -521,6 +516,7 @@ Δημιουργήθηκε αυτόματα (δεν βρέθηκε χρήστης μεταφόρτωσης) Ανάκτηση Δεν είναι δυνατή η ανάκτηση αυτής της λήψης - Ενεργοποίηση μικρογραφίας βίντεο στην οθόνη κλειδώματος - Όταν χρησιμοποιείται αναπαραγωγή παρασκηνίου μια μικρογραφία βίντεο θα εμφανίζεται στην οθόνη κλειδώματος + Μικρογραφίας βίντεο στην οθόνη κλειδώματος + Χρήση μικρογραφίας βίντεο στην οθόνη κλειδώματος + Διάρκεια fastforward και rewind \ No newline at end of file diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index f985931e5..c7ea0df18 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -109,7 +109,6 @@ Erarosignalo Ne povis ŝarĝi bildon Apo kraŝis - reCAPTCHA reCAPTCHA defio reCAPTCHA defio petita Ĉiuj @@ -266,10 +265,6 @@ Montri komentojn Malŝati por malvidigi komentojn Aŭtoludo - - %s komento - %s komentoj - Ne povis ŝarĝi komentojn Fermi Repreni la ludon diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 65682ddb1..db9c65046 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -115,7 +115,6 @@ k M MM - reCAPTCHA Abrir en modo emergente Se necesita este permiso \npara abrir en modo emergente @@ -238,10 +237,10 @@ Configuración de audio [Desconocido] Añadir a cola en segundo plano - Añadir a cola en reproductor emergente + Añadir al reproductor emergente Comenzar a reproducir aquí Comenzar a reproducir en segundo plano - Comenzar a reproducir en modo emergente + Reproducir en modo emergente Mostrar consejo «Mantener presionado para agregar» Novedades Mantener presionado para agregar a la cola @@ -489,10 +488,6 @@ Mostrar comentarios Desactivar para ocultar comentarios Reproducción automática - - %s comentario - %s comentarios - Sin comentarios No se pudo cargar comentarios Cerrar @@ -613,4 +608,10 @@ \n¿Estás seguro\? ¡Esta acción no se puede deshacer!
¿Borrar videos ya vistos\? Borrar videos ya vistos + Por %s + Creado por %s + Miniatura de avatar del canal + Los textos originales de los servicios serán visibles en los ítems de transmisiones + Mostrar tiempo atrás original en ítems + Modo restringido de YouTube \ No newline at end of file diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index aa9444a0a..a32d26af2 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -238,7 +238,6 @@ Need õigused on vajalikud \nhüpikakna avamiseks Kustutati 1 element. - "reCAPTCHA " Laadi alla Lubatud tähemärgid failinimedes Vigased tähemärgid asendatakse selle väärtusega diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 2452cc2be..635e89d95 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -139,7 +139,6 @@ Ezarri deskargetarako karpeta bat ezarpenetan geroago Baimen hau beharrezkoa da \nlaster-leiho moduan irekitzeko - reCAPTCHA reCAPTCHA erronka reCAPTCHA erronka eskatu da NewPipe aplikazioari buruz @@ -466,10 +465,6 @@ Erakutsi iruzkinak Desgaitu iruzkinak ezkutatzeko Erreprodukzio automatikoa - - Iruzkin %s - %s iruzkin - Iruzkinik ez Ezin izan dira iruzkinak kargatu Itxi @@ -595,7 +590,6 @@ Aktibatu audioa Isilarazi - \@string/app_name Laguntza Eduki hau ez dago oraindik NewPipengatik onatuta. \n diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 0e0195833..ca78bc8dd 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -296,7 +296,6 @@ زمان فعلی پخش کننده را به صورت تقریبی و سریع جلو ببر این گزینه باعث می شود هنگام جلو/عقب کردن زمان تصویر، به جای زمان دقیق انتخاب شده، به زمان غیر دقیق و نزدیک به مکان انتخاب شده برود که این کار سریع تر انجام می شود. کاره یا رابط کاربری با خطا مواجه شد - ریکپچا بارگیری تغییر جهت تغییر وضعیت به پس‌زمینه @@ -332,10 +331,6 @@ نمایش نظرات خاموش کنید تا نظرات پنهان شوند پخش خودکار - - نظر - نظر - بدون نظر ناتوانی در دریافت نظرات پخش ادامه یابد diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 46a47c6b5..44ffc5126 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -17,7 +17,7 @@ Valitse selain kierto Käytä ulkoista videosoitinta - Poistaa äänen JOILLAIN resoluutioilla + Poistaa äänen joillakin resoluutioilla Käytä ulkoista äänisoitinta NewPipe ponnahdusikkuna Tilaa @@ -32,8 +32,8 @@ Ikkuna Videolatausten sijainti Sijainti ladatuille videoille - Aseta sijainti minne videot tallennetaan - Äänilatausten sijainti + Aseta videoiden tallennussijainti + Äänilatausten sijaintikansio Sijainti ladatuille äänitiedostoille Aseta sijainti minne äänitiedostot tallennetaan Automaattitoisto @@ -173,7 +173,6 @@ Kopioitu leikepöydälle Valitse saatavilla oleva latauskansio Tämä käyttöoikeus tarvitaan ponnahdusikkunan käytölle - reCAPTCHA reCAPTCHA Haaste reCAPTCHA Haaste pyydetty Lataus @@ -251,7 +250,7 @@ Soitinta ei löytynyt (voit asentaa VLC:n toistaaksesi). Lataa toistotiedosto Näytä lisätietoja - Kirjanmerkit + Kirjamerkityt soittolistat Lisää soittolistaan Käytä nopeampaa epätarkkaa pikakelausta Epätarkka kelaus mahdollistaa videon kelauksen nopeammin, huonommalla tarkkuudella diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index fdf06727b..dc4ca619e 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -105,7 +105,6 @@ Veuillez définir ultérieurement un dossier de téléchargement dans les paramètres Impossible de charger l’image L’application a planté - reCAPTCHA Noir Tout Chaîne @@ -239,10 +238,10 @@ Kiosque Maintenir pour mettre en liste de lecture Mettre en liste du lecteur en arrière-plan - Mettre en liste d’une nouvelle fenêtre flottante + Mettre en liste d’une fenêtre flottante Démarrer la lecture ici Démarrer la lecture en arrière-plan - Démarrer la lecture dans une nouvelle fenêtre flottante + Démarrer la lecture dans une fenêtre flottante Donner NewPipe est développé par des volontaires sur leur temps libre afin de vous proposer la meilleure expérience possible. Vous pouvez leur offrir un café pour les soutenir dans leurs efforts et rendre NewPipe encore meilleur. Site Web @@ -466,10 +465,6 @@ Afficher les commentaires Désactiver pour masquer les commentaires Lecture automatique - - %s commentaire - %s commentaires - Aucun commentaire Impossible de charger les commentaires Fermer @@ -537,7 +532,7 @@ %1$s téléchargements supprimés Autoriser l’affichage au-dessus d’autres applications Langue de l’application - Langue du système + Prédéfini par le système Appuyez sur « Terminé » une fois résolu Terminé Vidéos @@ -612,4 +607,10 @@ Les vidéos qui ont été regardées avant et après avoir été ajoutées à la liste de lecture seront supprimées. \nVous êtes sûr \? C\'est irréversible ! Supprimer les vidéos regardées \? + Miniature de la chaine + De %s + Créé par %s + Les textes originaux des services vont être visibles dans les items + Afficher la date originelle sur les items + Mode restreint de YouTube \ No newline at end of file diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index af1066152..8450d60c8 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -266,7 +266,6 @@ \npara abrir o vídeo no modo «popup» 1 elemento foi eliminado. - reCAPTCHA Desafío reCAPTCHA Desafío reCAPTCHA solicitado diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 59fb3018c..512c46ad3 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -192,7 +192,6 @@ נא לציין תיקיית הורדה בהגדרות בהמשך הרשאה זו נדרשת לטובת \nפתיחה בחלון צף - reCAPTCHA אתגר reCAPTCHA התקבלה בקשה לאתגר reCAPTCHA הורדה @@ -251,10 +250,10 @@ אפשרויות שמע להחזיק כדי להוסיף לרשימת נגינה להוסיף לרשימת הנגינה ברקע - הוספה לתור בנגן צף חדש + הוספה לתור בנגן צף להתחיל לנגן מכאן להתחיל לנגן ברקע - להתחיל לנגן בנגן צף חדש + להתחיל לנגן בנגן צף הורדת קובץ הזרמה הצגת מידע רשימות נגינה מסומנות @@ -470,12 +469,6 @@ הצגת תגובות יש להשבית כדי להפסיק הסתרת תגובות ניגון אוטומטי - - תגובה %s - %s תגובות - %s תגובות - %s תגובות - אין תגובות לא ניתן לטעון תגובות סגירה @@ -584,7 +577,7 @@ קבוצות ערוצים עדכון ההזנה האחרון: %s - לא נטען: %s + לא נטען: %d ההזנה נטענת… ההזנה בהליכי עיבוד… בחירת מינויים @@ -634,4 +627,10 @@ \nלהמשיך\? זאת פעולה בלתי הפיכה!
הסרת נצפו להסיר סרטונים שנצפו\? + הטקסט המקורי משירותים יופיע בפריטי התזרים + הצגת לפני כמה זמן מקורי על פריטים + מצב מוגבל של YouTube + מאת %s + נוצר ע״י %s + תמונה ממוזערת של הערוץ \ No newline at end of file diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index b1a54570f..ad1f3f5fc 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -12,7 +12,7 @@ सेटिंग्स ब्राउज़र चुनें स्क्रीन रोटेशन - नयूपाइप पॉपअप मोड + नयूपाइप पॉपअप प्रकार सदस्य बनें सदस्यता ली चैनल सदस्यता रद्द करी गयी @@ -52,12 +52,12 @@ Item हटा दिया गया है फ़िलहाल चर्चा में है ऑडियो सेटिंग - आरंम्भ करने के लिए खोज चिह्न दबाएं + शुरू करने के लिए खोज चिह्न दबाएं रद्द करें क्या आप का मतलब %1$s है? शेयर करें अन्य वीडियो प्लेयर उपयोग करें - कुछ प्रस्तावों पर ऑडियो निकालता है + कुछ प्रस्तावों पर ऑडियो निकाल है अन्य ऑडियो प्लेयर उपयोग करें मुख्य सदस्यता नहीं बदला जा सका @@ -73,9 +73,9 @@ वीडियो का डिफ़ॉल्ट रिज़ॉल्यूशन विडियो पॉपअप का डिफ़ॉल्ट रिज़ॉल्यूशन उच्च रिज़ॉल्यूशन दिखाएं - केवल कुछ ही फ़ोन है जो 2K/4K विडियो प्ले कर सकते हैं + केवल कुछ ही यंत्र है जो 2K/4K विडियो चला सकते हैं Kodi से चलाये - Kore एप्प नहीं मिला, इसे इनस्टॉल करें? + Kore एप्प नहीं मिली, इसे इनस्टॉल करें\? \"Kodi से चलाये\" वाला विकल्प दिखाए कोडी मीडिया सेंटर के माध्यम से वीडियो चलाने के लिए एक विकल्प प्रदर्शित करें डिफ़ॉल्ट ऑडियो का फॉर्मेट @@ -184,8 +184,8 @@ %s दर्शके - वीडियो - वीडियो + %s वीडियो + %s वीडियो शुरू रोके @@ -206,7 +206,6 @@ क्लिपबोर्ड पर कॉपी हो गया है कृपया बाद में सेटिंग्स में डाउनलोड स्थान चुने पॉपअप के तरीके में खोलने के लिए अनुमति की जरुरत है - reCAPTCHA reCAPTCHA चुनौती reCAPTCHA चुनौती का अनुरोध किया डाउनलोड @@ -447,10 +446,6 @@ टिप्पणियाँ दिखाए टिप्पणियाँ न देखने के लिए बंद करे ऑटोप्ले - - टिप्पणियाँ - - कोई टिपण्णी नहीं टिप्पणियाँ लोड नहीं कर सका बंद करे @@ -484,7 +479,7 @@ फ्रेगमेंट या एक्टिविटी लाइफसाइकिल के बाद Rx सन्देश ना पहुँचाया जा सके तोह ज़रूर कोशिश करे SoundCloud प्रोफाइल निर्यात करने के लिए आईडी या युआरएल दीजिये: \n१ अपने वेब ब्राउज़र मैं \"डेस्कटॉप मोड\" चालू करे (वेबसाइट मोबाइल उपकरणों के लिए उपलब्ध नहीं है) -\n२ इस युआरएल को खोले:% 1 $ s +\n२ इस युआरएल को खोले: %1$s \n३ लोग इन करे \n४ आप जिस प्रोफाइल युआरएल पे भेजे जाते है उसे कॉपी करे| यूरोप के जनरल डाटा प्रोटेक्शन रेगुलेशन (जी डी पी आर) का पालन करने के लिए, हम आपका ध्यान न्यूपाइप की नयी प्राइवेसी पालिसी पी डालना चाहते है।इसे बारीकी से पढ़िए। @@ -504,13 +499,14 @@ सामान्य कीओस्क कोई नहीं देख रहा है - % s आदमी देख रहा है - % s आदमी देख रहे है + %s आदमी देख रहा है + %s आदमी देख रहे है कोई नहीं सुन रहा है - % s श्रोता - % s श्रोता + %s श्रोता + %s श्रोता ऐप के पुनः आरंभ होने के बाद भाषा बदल जाएगी। + लॉक स्क्रीन पर वीडियो की छोटी तस्वीर दिखाए \ No newline at end of file diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 01c54d3b8..95703bdd2 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -153,7 +153,6 @@ Kasnije odredite mapu za preuzimanje u postavkama Ova dozvola je potrebna za \notvaranje skočnog prozora - reCAPTCHA reCAPTCHA zadatak Traži se reCAPTCHA zadatak Preuzimanja @@ -464,11 +463,6 @@ Prikaži komentare Onemogućite da biste prestali prikazivati komentare Automatska reprodukcija - - %s komentar - %s komentara - %s komentara - Nema komentara Komentare nije moguće učitati Zatvori diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 1f74f79e6..6b6f1c1ed 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -232,7 +232,6 @@ Átnevezés Ez az engedély szükséges a felugró ablakban történő megnyitáshoz 1 elem törölve. - reCAPTCHA reCAPTCHA rejtvény reCAPTCHA rejtvény igényelve Letöltés diff --git a/app/src/main/res/values-ia/strings.xml b/app/src/main/res/values-ia/strings.xml index dbd9506ba..150046340 100644 --- a/app/src/main/res/values-ia/strings.xml +++ b/app/src/main/res/values-ia/strings.xml @@ -53,7 +53,7 @@ Suggestiones de cerca Chronologia de cerca Immagazinar le cercas localmente - Historia de reproductiones + Chronologia de reproductiones We Restaurar le ultime position del reproduction Positiones in le listas @@ -78,7 +78,7 @@ Reproductor Comportamento Video e audio - Historia e cache + Chronologia e cache Emergente Apparentia Alteres @@ -120,7 +120,7 @@ Cambia a Principal Vacuar le chronologia de reproductiones Videos - Dele le chronologia del contenido reguardate e positiones de reproduction + Dele le chronologia del contenido observate e positiones de reproduction Positiones de reproduction delite. Vacuar le chronologia de cerca Error de rete @@ -167,7 +167,7 @@ Le chronologia es disactivate Chronologia Le chronologia es vacue - Chronologia vacue + Le chronologia esseva vacuate Ultime reproductiones Le plus reproducite Contento del pagina principal @@ -179,4 +179,34 @@ %s video %s videos + Predefinite del systema + Lingua del application + Actualisar sempre + Il ha un actualisation de NewPipe disponibile! + Monstrar un notification pro requestar le actualisation del application quando un nove version es disponibile + Actualisationes + Aperir in modo emergente + Esque tu vole vacuar le chronologia de discargamentos o deler omne files discargate\? + Vacuar le chronologia de discargamentos + Esque tu vole deler iste articulo del chronologia de cerca\? + Esque tu vole deler iste articulo del chronologia de reproductiones\? + Secur que tu vole deler omne articulos ab le chronologia de cerca\? + Chronologia + Dele le chronologia de parolas clave de cerca + Deler omne chronologia de cerca\? + Chronologia de cerca delite. + Exportar le chronologia, subscriptiones e listas de reproduction + Reimplaciar tu chronologia e subscriptiones currente + Le videos jam observate ante e post de esser addite al lista de reproduction essera removite. +\nSecur que tu vole\? Isto non pote disfacer se! + Si, e le videos partialmente observate + Deler le videos observate\? + Deler le videos observate + + %s observante + %s observante + + Nemo is observante + Chronologia de reproductiones vacuate. + Deler omne chronologia de reproductiones\? \ No newline at end of file diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 22666a74f..c567b4479 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -105,7 +105,6 @@ Apa:\\nPermintaan:\\nBahasa Konten:\\nLayanan:\\nWaktu GMT:\\nPaket:\\nVersi:\\nVersi OS: Laporan pengguna Thread - reCAPTCHA Tantangan reCAPTCHA Meminta kode reCAPTCHA Hitam @@ -278,10 +277,10 @@ Pengaturan Audio Tahan untuk mengantre Antre di latar belakang - Antre di popup baru + Antrekan di popup Mulai putar di sini Mulai putar di latar belakang - Mulai putar di popup baru + Mulai putar di popup Buka Laci Tutup Laci Sesuatu akan segera muncul di sini ;D @@ -459,9 +458,6 @@ Tampilkan komentar Nonaktifkan untuk menyembunyikan komentar Putar otomatis - - %s komentar - Tidak ada komentar Tidak bisa memuat komentar Tutup @@ -590,4 +586,21 @@ \nApakah anda yakin\? Ini tidak bisa diurungkan! Batal bisukan Bisukan + Apakah kamu berpikir umpan memuat sangat lambat\? Jika iya, coba nyalakan memuat cepat (kamu dapat mengubahnya pada pengaturan atau dengan menekan tombol di bawah) +\n +\nNewPipe menyediakan dua strategi memuat umpan: +\n• Mengambil semua kanal langganan, yang lebih lambat tapi lengkap. +\n• Menggunakan layanan endpoint khusus, yang lebih cepat namun terkadang tidak lengkap. +\n +\nPerbedaan di antara keduanya ialah yang lebih cepat biasanya kekurangan pada beberapa informasi, sepertiitem durasi atau tipe (tidak dapat membedakan antara video langsung atau yang biasa) dan mungkin mengembalikan item yang lebih sedikit. +\n +\nYoutube adalah contoh layanan yang menyediakan metode cepat dengan umpan RSS mereka. +\n +\nJadi pilihlah yang sesuai yang kamu inginkan: kecepatan atau kelengkapan informasi. + Teks asli dari layanan akan tampil pada item stream + Tampilkan waktu yang lalu sebenarnya pada item + Mode terbatas Youtube + Oleh %s + Dibuat oleh %s + Thumbnail avatar channel \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index cfb75a9d3..06348d427 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -32,7 +32,7 @@ Video e Audio Copertina di anteprima video Riproduci video, durata: - Immagine di profilo dell\'utente + Immagine dell\'Utente Non mi piace Mi piace Impossibile creare la cartella di download \'%1$s\' @@ -58,7 +58,7 @@ (Sperimentale) Forza il download tramite Tor per una maggiore riservatezza (lo streaming dei video non è ancora supportato). Impossibile analizzare il sito web Impossibile impostare il menu di download - I contenuti in diretta non sono al momento supportati + I contenuti in diretta non sono ancora supportati Contenuti Contenuti Vietati ai Minori Mostra video riservati a un pubblico maggiorenne. Si possono abilitare nelle Impostazioni. @@ -106,7 +106,6 @@ Impossibile caricare l\'immagine L\'app/UI si è interrotta Cosa:\\nRichiesta:\\nLingua contenuto:\\nServizio:\\nOrario GMT:\\nPacchetto:\\nVersione:\\nVersione SO: - reCAPTCHA Risoluzione reCAPTCHA Nero Tutto @@ -319,7 +318,7 @@ Forza la segnalazione di eccezioni Rx non consegnabili al di fuori del ciclo di vita dell\'attività dopo la chiusura Usa Ricerca Rapida (Imprecisa) Consente al lettore multimediale di spostarsi più velocemente, ma con precisione ridotta. Spostamenti di 5, 15 o 25 secondi non funzionano con questo. - Accoda Automaticamente l\'Elemento Successivo + Accoda automaticamente l\'elemento successivo Riproduzione continua (non ripetititva) quando si accoda un contenuto consigliato File Nessuna cartella @@ -466,10 +465,6 @@ Mostra Commenti Disattiva per nascondere i commenti Riproduzione Automatica - - %s commento - %s commenti - Nessun commento Impossibile caricare i commenti Chiudi @@ -488,8 +483,8 @@ Progresso perso poiché il file è stato eliminato Pulire la cronologia dei download o eliminare tutti i file scaricati\? Sarà avviato un solo dowload per volta - Avvia Download - Sospendi Download + Avvia i download + Sospendi i download Chiedi Dove Scaricare Ogni volta verrà chiesta la destinazione dei file Utilizza SAF @@ -612,4 +607,10 @@ \nSei sicuro\? L\'azione è irreversibile! Rimuovere i gli elementi già visti\? Rimuovi Elementi Visti + Modalità limitata di YouTube + I testi originali dei servizi saranno visibili negli elementi video + Mostra i tempi originali degli elementi + Immagine del Canale + Da %s + Creato da %s \ No newline at end of file diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 9a8eb672b..d9506c770 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -106,7 +106,6 @@ 画像を読み込みできません アプリ/UI がクラッシュしました 何:\\\\n提案:\\\\nコンテンツ言語:\\\\nサービス:\\\\nGMT 時間:\\\\nパッケージ:\\\\nバージョン:\\\\nOSバージョン: - reCAPTCHA reCAPTCHA の要求 reCAPTCHA を要求しました ブラック @@ -459,9 +458,6 @@ コメントを表示 無効にするとコメントの表示を停止します 自動再生 - - %s コメント - コメントはありません コメントを読み込めませんでした 閉じる @@ -600,4 +596,10 @@ はい、部分的に視聴した動画も削除します 視聴済みの動画を削除しますか? 視聴済みを削除 + サービスのオリジナルのテキストが生放送に表示されます + アイテムに元の時間を表示 + YouTube 制限付きモード + %s による + %s により作成 + チャンネルのサムネイル \ No newline at end of file diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 59434eb00..190c13b71 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -180,7 +180,6 @@ 다운로드 할 폴더를 설정에서 지정하세요 이 권한은 팝업 모드에서 \n열기 위해 필요합니다 - reCAPTCHA reCAPTCHA 확인 요청됨 다운로드 파일명에 허용되는 문자 @@ -461,9 +460,6 @@ 댓글 보기 댓글을 보지 않으려면 비활성화하세요 자동 재생 - - 댓글 - 댓글 없음 댓글을 불러올 수 없음 닫기 diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml index 0772a4280..cf04b9732 100644 --- a/app/src/main/res/values-ku/strings.xml +++ b/app/src/main/res/values-ku/strings.xml @@ -371,10 +371,6 @@ پیشاندانی لێدوانەکان ناچالاککردن بۆ پیشان نەدانی لێدوانەکان کارپێکردنی خۆکاری - - %s لێدوان - %s لێدوانەکان - هیچ لێدوانێک نییە کارپێکردنەوەی لیست گێڕانەوەی لیست بۆ شوێنی پێشووتر @@ -609,4 +605,10 @@ \nئایا دڵنیایت؟ ئەمە ناگەڕێنرێتەوە! ڤیدیۆ تەماشاکراوەکان بسڕێنەوە؟ سڕینەوەی تەماشاکراوەکان + دەقە بنچینەییەکان لە خزمەتگوزارییەکانەوە لە بابەتی پەخشەکاندا دیار دەبن + پیشاندانی کاتی بنچینەیی پێشوو لەسەر بابەتەکان + دۆخی قەدەغەکراوی یوتوب + لەلایەن %s + دروستکراو لەلایەن %s + وێنۆچکەی کەناڵ \ No newline at end of file diff --git a/app/src/main/res/values-land/dimens.xml b/app/src/main/res/values-land/dimens.xml index eea6c5cf0..e097fb035 100644 --- a/app/src/main/res/values-land/dimens.xml +++ b/app/src/main/res/values-land/dimens.xml @@ -25,7 +25,8 @@ 16sp 14sp 13sp - 16sp + 12sp + 16sp 14sp 14sp 17sp @@ -33,9 +34,11 @@ 14sp 42dp + 21dp 20sp 20sp 90dp + 45dp 8dp 4dp @@ -48,4 +51,4 @@ 16sp - \ No newline at end of file + diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index fef2e3549..fb05da09c 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -153,7 +153,6 @@ Prašome pasirinkti galimą atsisiuntimų aplankalą Šis leidimas nereikalingas, kad atidarytiviššokančio lango rėžime - reCAPTCHA reCAPTCHA iššūkis reCAPTCHA prašomas iššūkis diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 1e85b1084..660148f01 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -230,7 +230,6 @@ Одберете достапна локација за превземања Оваа привилегија е потребна за \nотворање во подпрозорче - „reCAPTCHA“ reCAPTCHA Предизвик Потребен е reCAPTCHA предизвик Превземања @@ -456,10 +455,6 @@ Конференции Прикажи коментари Автоматско пуштање - - Коментари - - Нема коментари Не може да се вчитаат коментарите Затвори diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml index d83c7d2f0..1944877f8 100644 --- a/app/src/main/res/values-ms/strings.xml +++ b/app/src/main/res/values-ms/strings.xml @@ -258,7 +258,6 @@ Kebenaran ini diperlukan untuk \nbuka dalam mod popup 1 item dipadamkan. - reCAPTCHA Cabaran reCAPTCHA Meminta kod reCAPTCHA Muat turun diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 94c527949..e6e3198e5 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -106,7 +106,6 @@ Nytt mål Feilaktig nettadresse eller manglende internettilknytning Definer en nedlastingsmappe senere i innstillingene - reCAPTCHA reCAPTCHA-oppgave Åpne i oppsprettsmodus NewPipe oppsprettsmodus @@ -463,10 +462,6 @@ Vis kommentarer Skru av for å stoppe visning i kommentarer Spill av automatisk - - %s kommentar - %s kommentarer - Ingen kommenterer Kunne ikke laste inn kommentarer Lukk diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index fea27093d..f91ae0452 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -34,7 +34,6 @@ बुकमार्क गरिएको प्लेलिस्टहरू नयाँ ट्याब ट्याब छनौट गर्नुहोस् - नयाँ के छ पृष्ठभूमि पपअप थप्नुहोस @@ -129,10 +128,6 @@ %s भिडियो %s भिडियोहरू - - %s टिप्पणी - %s टिप्पणीहरू - ट्रयाकहरु प्रयोगकर्ताहरु घटनाहरू @@ -549,7 +544,6 @@ म्युट ध्वनि सुचारु मद्दत - के तपाईलाई लाग्छ फिड लोडि एकदम ढिलो छ\? यदि हो भने, छिटो लोडिङ् सक्षम गर्न प्रयास गर्नुहोस् (तपाईं यसलाई सेटिंङ्हरूमा वा तलको बटन थिचेर बदल्न सक्नुहुन्छ)। \n \nनयाँ पाइपले दुई फिड लोड गर्ने रणनीति प्रदान गर्दछ: diff --git a/app/src/main/res/values-nl-rBE/strings.xml b/app/src/main/res/values-nl-rBE/strings.xml index d1f67a9ee..a80cec9cc 100644 --- a/app/src/main/res/values-nl-rBE/strings.xml +++ b/app/src/main/res/values-nl-rBE/strings.xml @@ -230,7 +230,6 @@ Gekopieerd naar klembord Kies een beschikbare downloadmap Deze toestemming is vereist voor te openen in pop-upmodus - reCAPTCHA reCAPTCHA-uitdaging reCAPTCHA-uitdaging gevraagd Download @@ -463,10 +462,6 @@ Commentaren weergeven Schakelt dit uit voor reacties niet meer weer te geven Automatisch afspelen - - Commentaren - - Geen commentaren Kan commentaren niet laden Sluiten diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 55f578fe2..67677799f 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -107,7 +107,6 @@ Gekopieerd naar klembord Selecteer een downloadmap in de Instellingen Zwart - reCAPTCHA reCAPTCHA-uitdaging reCAPTCHA-uitdaging gevraagd Openen in pop-upmodus @@ -466,10 +465,6 @@ Reacties tonen Schakel dit uit om reacties te verbergen Automatisch afspelen - - %s reactie - %s reacties - Geen reacties Kan reacties niet laden Sluiten @@ -612,4 +607,7 @@ \n \nAls u die wilt zien, schakel \"leeftijdsbeperkende inhoud\" in bij de instellingen. Verwijder bekeken + Originele teksten van services zijn zichtbaar in stream-items + YouTube beperkte modus + Laat orginele tijd geleden zien \ No newline at end of file diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml index a408c58b5..6a84b99a4 100644 --- a/app/src/main/res/values-pa/strings.xml +++ b/app/src/main/res/values-pa/strings.xml @@ -199,8 +199,8 @@ ਬਿਲੀਅਨ ਕੋਈ ਸਬਸਕ੍ਰਾਇਬਰ ਨਹੀਂ - ਸਬਸਕ੍ਰਾਇਬਰ - ਸਬਸਕ੍ਰਾਇਬਰਸ + %s ਸਬਸਕ੍ਰਾਇਬਰ + %s ਸਬਸਕ੍ਰਾਇਬਰਸ ਕੋਈ views ਨਹੀਂ @@ -237,7 +237,6 @@ ਬਾਅਦ ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਵਿਚੋਂ ਇੱਕ ਡਾਉਨਲੋਡ ਫੋਲਡਰ ਨੂੰ ਚੁਣੋ ਪੌਪ-ਅਪ ਮੋਡ ਵਿੱਚ ਖੋਲ੍ਹਣ ਵਾਸਤੇ ਇਸ ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਹੈ 1 ਆਈਟਮ ਮਿਟਾਈ ਗਈ. - ReCaptcha ReCaptcha ਚੁਣੌਤੀ ReCaptcha ਚੁਣੌਤੀ ਲਈ ਬੇਨਤੀ ਡਾਊਨਲੋਡ @@ -462,10 +461,6 @@ ਟਿੱਪਣੀਆਂ ਦਿਖਾਓ ਟਿੱਪਣੀਆਂ ਵਿਖਾਉਣਾ ਬੰਦ ਕਰਨ ਲਈ ਇਸਨੂੰ ਬੰਦ ਕਰੋ ਆਟੋ-ਪਲੇ - - ਟਿਪਣੀਆਂ - - ਕੋਈ ਟਿੱਪਣੀ ਨਹੀਂ ਕੀਤੀ ਗਈ ਟਿੱਪਣੀਆਂ ਲੋਡ ਨਹੀਂ ਹੋ ਸਕੀਆਂ ਬੰਦ ਕਰੋ diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 7659f0578..0f029e001 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -106,7 +106,6 @@ Awaria aplikacji/interfejsu (Eksperymentalne) Wymuś pobieranie przez Tora w celu zwiększenia prywatności (strumieniowe wideo nie jest jeszcze obsługiwane). Start - CAPTCHA Wyzwanie reCAPTCHA Wymagane wyzwanie dotyczące reCAPTCHA Usuwa dźwięk w niektórych rozdzielczościach @@ -469,11 +468,6 @@ Pokaż komentarze Wyłącz, aby ukryć komentarze Automatyczne odtwarzanie - - %s komentarz - %s komentarze - %s komentarzy - Brak komentarzy Nie można załadować komentarzy Zamknij @@ -590,7 +584,7 @@ Przetwarzam plik danych… Ładowanie kanału… Nie uruchamia się: %d - Ostatnia aktualizacja kanału: % s + Ostatnia aktualizacja kanału: %s Grupy kanałów %d dzień @@ -624,4 +618,10 @@ \nJesteś pewien\? Tego nie da się cofnąć! Usunąć oglądane filmy\? Usuń oglądane + Oryginalne teksty z usług będą widoczne w elementach strumienia + Pokaż oryginalny czas + Tryb ograniczony YouTube + Przez %s + Utworzone przez %s + Miniatura awatara kanału \ No newline at end of file diff --git a/app/src/main/res/values-pr/strings.xml b/app/src/main/res/values-pr/strings.xml deleted file mode 100644 index a6b3daec9..000000000 --- a/app/src/main/res/values-pr/strings.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index deb64c117..16293c528 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -9,7 +9,7 @@ Reproduzir Mostrar vídeo com restrição de idade. É possível alterar esta opção no menu de configurações. Vídeo - Reproduzir vídeo ao abrir o NewPipe por outro app + Reproduz um vídeo se NewPipe for chamado por outro app Autorreprodução Amoled Cancelar @@ -30,7 +30,7 @@ Baixar Detalhes: Não foi possível criar pasta de download \'%1$s\' - Reportar erro via email + Relatar erro via email Relatório de erro Relatório Desculpe, ocorreram alguns erros. @@ -50,10 +50,9 @@ Próximo Abrir no navegador Pausar - reCAPTCHA Desafio reCAPTCHA Desafio reCAPTCHA solicitado - Reportar erro + Relatar erro Tentar novamente Rotação Idioma de conteúdo padrão @@ -65,34 +64,33 @@ Compartilhar com Conteúdo com restrição de idade Mostrar \'Próximo\' e \'Similares\' - Desculpe, isto não deveria ter ocorrido. + Desculpe, isto não devia ter ocorrido. Iniciar Permita acesso ao armazenamento primeiramente Tema Publicado em %1$s Link não suportado - pt Ao vivo Downloads Downloads Você quis dizer: %1$s\? Nova missão App/IU parou - Reproduzindo no plano de fundo + Reproduzindo em segundo plano O menu de download não pôde ser configurado Reproduzir vídeo, duração: Miniatura do avatar do uploader Escolher pasta de download de áudios Áudios baixados serão salvos aqui Pasta de áudios baixados - Escolher pasta de download de vídeos + Escolher pasta de download para arquivos de vídeo Vídeos baixados são salvos aqui - Pasta de vídeos baixados + Pasta de download de vídeo Instalar o app Kore\? O site não pôde ser analisado totalmente Capa de visualização do vídeo Transmissões ao vivo ainda não são suportadas - Toque em \"Buscar\" para começar + Toque em \"Buscar\" para iniciar Arquivo já existe Threads Link inválido ou internet indisponível @@ -101,20 +99,20 @@ O site não pôde ser analisado Áudio Reproduzir - Reproduzir com Kodi + Ver com Kodi Buscar - Exibir opção para reproduzir vídeo via Kodi media center + Exibe opção para ver um vídeo via Kodi media center Usar player de áudio externo Usar player de vídeo externo - (Experimental) Forçar o download de conteúdo através do Tor para maior privacidade (transmissão de vídeos ainda não suportada). + (Experimental) Força o download de conteúdo através do Tor para maior privacidade (transmissão de vídeos ainda não suportada). Usar tor Relatório do usuário - Mostrar opção \"Reproduzir com Kodi\" + Exibir opção \"Ver com Kodi\" Ocorrido:\\nPedido:\\nIdioma do conteúdo:\\nServiço:\\nHora GMT:\\nPacote:\\nVersão:\\nVersão SO: Abrir no modo popup Resolução padrão de popup Mostrar resoluções maiores - Apenas alguns aparelhos suportam vídeos 2K/4K + Poucos aparelhos suportam ver em 2K/4K Formato de vídeo padrão Reproduzindo em modo popup Tudo @@ -125,23 +123,23 @@ k M B - Essa permissão é necessária para -abrir em modo popup + Essa permissão é necessária +\npara abrir em modo popup Modo popup Filtro Atualizar Limpar Popup - Plano de fundo + Segundo plano Lembrar tamanho e posição do popup - Lembra da última posição e o tamanho usado no popup + Lembra do último tamanho e posição usado no popup Popup Redimensionando - Remove o som em certas resoluções - Controle por gesto do player - Usar gestos para mudar o volume e brilho do player + Remove o som em algumas resoluções + Controle de gesto do player + Use gestos para mudar volume e brilho do player Sugestões de busca - Mostrar sugestões ao buscar + Exibe sugestões ao buscar Melhor resolução Configurações Sobre @@ -154,7 +152,7 @@ abrir em modo popup App leve e livre de transmissão no Android. Ver no GitHub Licença do NewPipe - Sempre que você tiver ideias, traduções, dicas de design, limpeza de código ou grandes alterações de código, a ajuda é bem vinda. Quanto mais for feito, melhor o aplicativo fica! + Se você tem ideias de; tradução, mudança de design, limpeza de código ou grandes mudanças de código—ajuda é sempre bem-vinda. Quanto mais se faz, melhor fica! Ler licença Colaborar © %1$s %2$s protegido pela licença %3$s @@ -174,11 +172,11 @@ abrir em modo popup Inscrições Novidades Retomar vídeo - Continuar vídeo após interrupções (ex: ligações) - Histórico de buscas - Armazenar histórico de buscas localmente - Histórico de vídeos - Armazenar histórico de vídeos + Continua vídeo após interrupções (ex: ligações) + Histórico de busca + Armazena histórico de busca localmente + Histórico de vídeo + Armazena histórico de vídeo Histórico Buscado Visto @@ -187,7 +185,7 @@ abrir em modo popup O histórico está vazio Histórico limpo Notificações do NewPipe - Notificações para NewPipe no plano de fundo e players popup + Notificações para players popup e segundo plano do NewPipe Comportamento Histórico e cache Playlist @@ -211,7 +209,7 @@ abrir em modo popup Item excluído Player Nada aqui além de grilos - Excluir este item do histórico de buscas\? + Excluir este item do histórico de busca\? Conteúdo da página inicial Página em branco Página do Quiosque @@ -226,25 +224,25 @@ abrir em modo popup Top 50 Novos e tendências Mostrar dica \"Segure para pôr na fila\" - Mostrar dica ao tocar no botão de plano de fundo ou popup em \"Detalhes:\" do vídeo - Na fila do player no plano de fundo + Mostra dica ao tocar no botão segundo plano ou popup em \"Detalhes:\" do vídeo + Na fila do player em segundo plano Na fila do player popup Reproduzir tudo Este vídeo não pôde ser reproduzido Ocorreu um erro irrecuperável no player Recuperando do erro do player - Player no plano de fundo + Player em segundo plano Player Popup Remover Detalhes Configurações de áudio Segure para pôr na fila [Desconhecido] - Pôr na fila no plano de fundo - Pôr na fila em novo popup + Pôr na fila em segundo plano + Pôr na fila em um popup Reproduzir daqui - Iniciar vídeo no plano de fundo - Reproduzir em novo popup + Reproduzir em segundo plano + Reproduzir em um popup Doar NewPipe é desenvolvido por voluntários que usam seu tempo livre para trazer a melhor experiência para você. Retribua para ajudar os desenvolvedores a tornarem o NewPipe ainda melhor enquanto desfrutam uma xícara de café. Retribuir @@ -256,22 +254,22 @@ abrir em modo popup Sempre Uma vez Alterar orientação - Trocar para plano de fundo - Trocar para popup - Trocar para principal + Mudar para segundo plano + Mudar para popup + Mudar para principal Players externos não suportam estes tipos de links Link inválido Sem transmissões de vídeo Sem transmissões de áudio Player de vídeo - Player no plano de fundo + Player em segundo plano Player popup Obtendo informação… Carregando conteúdo solicitado Importar base de dados Exportar base de dados - Sobrescreve seus dados como históricos e inscrições - Exportar histórico, inscrições e playlists + Substitui seu histórico e inscrições atuai + Exporte histórico, inscrições e playlists Exportado Importado Não há nenhum arquivo ZIP válido @@ -279,7 +277,7 @@ abrir em modo popup Isso irá sobrescrever suas configurações atuais. Baixar arquivo Mostrar informação - Playlists favoritadas + Playlists favoritas Adicionar a Arraste para ordenar Criar @@ -287,9 +285,9 @@ abrir em modo popup Excluir todos Dispensar Renomear - Excluir este item do histórico de vistos\? + Excluir este item do histórico de vídeo\? Tem certeza que quer excluir todos os itens do histórico\? - Reproduzido anteriormente + Último reproduzido Mais reproduzido Sempre perguntar Nova playlist @@ -302,7 +300,7 @@ abrir em modo popup Desfavoritar Excluir esta playlist\? Playlist criada - Adicionado a playlist + Adicionado à playlist Capa da playlist alterada. A playlist não pôde ser excluída. Sem legendas @@ -314,11 +312,11 @@ abrir em modo popup LeakCanary A monitoração de vazamento de memória pode pode tornar o app instável Reportar erros fora do ciclo de vida - Forçar reportagem de exceções Rx não entregáveis ocorrendo fora do fragmento ou ciclo de vida da atividade após o descarte - Usar busca rápida - A busca inexata permite ao player achar resultados mais rápido limitando a precisão. Buscar por 5, 15 ou 25 segundos não funciona com isto. + Força relatório de exceções Rx não entregues fora do ciclo de vida do fragmento ou atividade após o descarte + Usar avanço rápido + Avanço inexato permite ao player achar posições mais rápido reduzindo a precisão. Avançar 5, 15 ou 25 segundos não funciona com isto. Pôr próximo vídeo na fila automaticamente - Continuar a fila (sem loop) adicionando vídeos similares + Continua fila (sem loop) anexando vídeos similares Arquivo Não há tal pasta Não existe tal arquivo/fonte do conteúdo @@ -353,12 +351,12 @@ abrir em modo popup Carregar capas Cache de imagens limpo Limpar metadados em cache - Apaga todos os dados de páginas em cache + Exclui todos os dados em cache de páginas Cache de metadados limpo Controles de velocidade de reprodução - "Tempo " + Ritmo Desative para não carregar capas e economizar em uso de dados e memória. A alteração limpa todo o cache de imagens. - Tom + Altura Desvincular (pode causar distorção) Ação de \'abrir\' preferida Ação padrão ao abrir conteúdo — %s @@ -368,35 +366,35 @@ abrir em modo popup Legendas Mudar tamanho da legenda e estilos de fundo. Requer reiniciar o app para ter efeito. Sem app instalado para reproduzir este arquivo - Excluir histórico de vídeos - Exclui o histórico de vídeos e posição das reproduções - Excluir todo o histórico de vídeos\? - Histórico de assistidos limpo. - Excluir histórico de buscas + Excluir histórico de vídeo + Exclui histórico de vídeo e posições de reprodução + Excluir todo o histórico de vídeo\? + Histórico de vídeo limpo. + Excluir histórico de busca Exclui o histórico de palavras-chave da busca - Excluir todo o histórico de buscas\? - Histórico de buscas limpo. + Excluir todo o histórico de busca\? + Histórico de busca limpo. 1 item excluído. - NewPipe é software livre copyleft: Pode usar, estudar, compartilhar e melhorar o app. Especificamente você pode redistribuir e/ou modificar ele sob os termos da Licença Pública Geral GNU como publicada pela Fundação de Software Livre, tanto a versão 3 da Licença, ou (a sua opção) qualquer versão posterior. + NewPipe é um software livre copyleft: Pode usar, estudar, compartilhar e melhorar o app. Especificamente você pode redistribuir e/ou modificá-lo sob os termos da Licença Pública Geral GNU, publicada pela Fundação de Software Livre, versão 3 da Licença, ou (a seu critério) qualquer versão posterior. Você também quer importar as configurações? Política de privacidade do NewPipe - O projeto NewPipe leva sua privacidade muito a sério. Portanto, o app não coleta nenhum dado sem sua permissão. -\nA política de privacidade do NewPipe explica em detalhes os dados enviados e salvos ao enviar um relatório de erros. + O projeto NewPipe leva sua privacidade muito a sério. Por isso, o app não coleta dado algum sem sua permissão. +\nA política de privacidade do NewPipe explica em detalhes os dados enviados e salvos ao enviar um relatório de erro. Ler a política de privacidade - A fim de cumprir com o European General Data Protection Regulation (GDPR), em português, Regulamento Geral sobre a Proteção de Dados (RGPD), chamamos sua atenção para a política de privacidade do NewPipe. Por favor, leia-a cuidadosamente. -\nVocê deve aceitá-la para nos enviar relatório de erros. + A fim de cumprir com o Regulamento Geral sobre a Proteção de Dados da UE (RGPD), chamamos sua atenção para a política de privacidade do NewPipe. Por favor, leia com atenção. +\nDeve aceitá-la para nos enviar relatório de erro. Aceitar Recusar Ilimitado Limitar resolução em dados móveis - Minimizar ao trocar de app - Ação ao trocar de app no player principal — %s + Minimizar ao mudar app + Ação ao mudar app no player principal — %s Nenhuma - Ativar o player no plano de fundo + Minimizar para segundo plano Minimizar para player popup Avanço rápido durante silêncio Passo - Reiniciar + Redefinir Canais Playlists Faixas @@ -405,9 +403,9 @@ abrir em modo popup Nova aba Escolher aba Gestos para volume - Usar gestos para mudar o volume do player + Use gestos para mudar volume do player Gestos para brilho - Usar gestos para mudar o brilho do player + Use gestos para mudar brilho do player Depuração Atualizações Eventos @@ -429,7 +427,7 @@ abrir em modo popup Lista Grade Automático - Alterar exibição + Mudar exibição Atualização do NewPipe disponível! Toque para baixar Finalizado @@ -461,24 +459,20 @@ abrir em modo popup Tentativas Máximas Número máximo de tentativas antes de cancelar o download Pausar quando trocar para dados móveis - Útil ao trocar para dados móveis, porém alguns downloads não podem ser suspensos + Útil ao mudar para dados móveis, mas alguns downloads podem não ser suspensos Pendente Mostrar comentários Desative para ocultar comentários Autorreprodução - - %s comentários - Comentários - Sem comentários Não foi possível carregar os comentários Fechar Retomar reprodução - Restaurar última posição da reprodução + Restaura última posição da reprodução Posições em listas - Mostrar indicadores de posição de reprodução em listas + Mostra indicadores de posição de reprodução em listas Excluir dados - Posição das reproduções limpas. + Posições de reprodução limpas. Arquivo movido ou excluído Já existe um arquivo com este nome O arquivo não pôde ser sobrescrito @@ -489,7 +483,7 @@ abrir em modo popup Tempo limite de conexão Excluir todo o histórico de downloads ou excluir todos os arquivos baixados\? Limitar fila de download - Um download será executado ao mesmo tempo + Um download será feito ao mesmo tempo Iniciar downloads Pausar downloads Perguntar onde salvar o arquivo @@ -500,15 +494,15 @@ abrir em modo popup O \'Storage Access Framework\' permite baixar para um cartão SD externo. \nAlguns aparelhos são incompatíveis Excluir posição das reproduções - Exclui toda posição das reproduções - Excluir toda posição nas reproduções\? - Mudar pastas de download para ter efeito + Exclui toda as posições de reprodução + Excluir todas as posições de reprodução\? + Mude as pastas de download para ter efeito Alterar serviço, selecionados: Quiosque Padrão - Ninguém está assistindo + Ninguém está vendo %s assistindo - %s estão assistindo + %s estão vendo Ninguém está ouvindo @@ -516,7 +510,7 @@ abrir em modo popup %s ouvintes O idioma atualizará ao reiniciar o app. - Duração do avanço/retrocesso rápido + Duração do retrocesso/avanço rápido Instâncias PeerTube Escolha suas instâncias PeerTube favoritas Procure instâncias que gosta em %s @@ -533,7 +527,7 @@ abrir em modo popup O download não pôde ser recuperado Escolha uma instância Capa do vídeo na tela de bloqueio - A capa do vídeo é exibida na tela de bloqueio ao usar o player no plano de fundo + A capa do vídeo é exibida na tela de bloqueio ao usar o player em segundo plano Limpar histórico de downloads Excluir arquivos baixados %1$s arquivos excluídos @@ -547,7 +541,7 @@ abrir em modo popup %d segundo %d segundos - Devido aos limites do ExoPlayer a duração da busca foi definida para %d segundos + Devido aos limites do ExoPlayer a duração do avanço foi definida para %d segundos Desativar som Ativar som Ajuda @@ -583,20 +577,20 @@ abrir em modo popup Período para que uma inscrição seja considerada desatualizada — %s Atualizar sempre Buscar do feed dedicado, se disponível - Disponível em alguns serviços, é mais rápido, mas pode apresentar informações limitadas ou incompletas (ex. sem duração, tipo de item, ou status ativo). + Disponível em alguns serviços, é mais rápido,mas pode devolver informações limitadas ou incompletas (ex. sem duração, tipo de item, ou status ativo). Ativar modo rápido Desativar modo rápido Acha o carregamento do feed lento\? Se sim, tente ativar o modo rápido (pode mudar nas configurações ou tocando no botão abaixo). \n -\nNewPipe oferece duas estratégias de carregamento do feed: +\nNewPipe oferece duas estratégias para carregar o feed: \n• Obter todo o canal inscrito, lento mas completo. -\n• Usar endpoint de serviço dedicado, rápido mas incompleto. +\n• Usar um endpoint de serviço dedicado, rápido mas geralmente incompleto. \n -\nA diferença entre os dois é que o rápido geralmente falta alguma informação como a duração ou tipo do item (não pode distinguir entre vídeo normal e ao vivo) e pode devolver menos itens. +\nA diferença entre os dois é que o rápido geralmente falta alguma informação como a duração ou tipo do item (não pode distinguir entre vídeo normal e ao vivo) e pode mostrar menos itens. \n \nYouTube é um exemplo de serviço que oferece o modo rápido com seu feed RSS. \n -\nEntão, a escolha é sua: Velocidade ou informação precisa. +\nAssim, a escolha se resume ao que prefere: Velocidade ou informação precisa. NewPipe ainda não suporta esse conteúdo. \n \nO suporte pode aparecer em uma versão futura. @@ -608,9 +602,15 @@ abrir em modo popup Este vídeo tem restrição de idade. \n \nSe quer vê-lo, ative \"Conteúdo com restrição de idade\" nas configurações. - Sim, e vídeos parcialmente assistidos - Os vídeos que foram assistidos antes e depois de serem adicionados à lista de reprodução serão removidos. -\nVocê tem certeza\? Isto não pode ser desfeito! - Remover vídeos assistidos\? - Remover assistido + Sim, e vídeos parcialmente vistos + Vídeos vistos antes e depois de adicionar à lista de reprodução serão removidos. +\nTem certeza\? Isto não pode ser desfeito! + Remover vídeos vistos\? + Remover vistos + Textos originais dos serviços serão visíveis nos itens de transmissão + Mostrar tempo original nos itens + Modo restrito do YouTube + Por %s + Criado por %s + Capa do avatar do canal \ No newline at end of file diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index fcd891595..3a2a9d4d8 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -16,7 +16,7 @@ rotação Usar reprodutor de vídeo externo Utilizar reprodutor de áudio externo - "Pasta para descarregar o vídeo" + Pasta para transferir o vídeo Os ficheiros de vídeo transferidos são armazenados aqui Escolha a pasta de transferencias para ficheiros de vídeo Resolução predefinida @@ -117,7 +117,6 @@ B Esta permissão é necessária \npara o modo de janela popup - reCAPTCHA Desafio reCAPTCHA Desafio reCAPTCHA solicitado Modo popup @@ -127,9 +126,9 @@ Resolução da janela popup predefinida Mostrar resoluções mais altas Apenas alguns aparelhos suportam a reprodução de vídeos em 2K/4K - Janela + Popup Lembrar tamanho e posição da janela - Janela + Popup Filtrar Atualizar Limpar @@ -170,7 +169,7 @@ Guardar termos de pesquisa localmente Ver histórico Manter histórico dos vídeos vistos - Retomar reprodução + Continuar a reprodução Continuar reprodução após interrupções (ex. chamadas) Reprodutor Comportamento @@ -465,10 +464,6 @@ Mostrar comentários Desativar para ocultar comentários Reprodução automática - - %s comentário - %s comentários - Sem comentários Não foi possível carregar os comentários Fechar @@ -612,4 +607,10 @@ Sim, e tambem os vídeos parcialmente vistos Remover vídeos vistos\? Remover vistos + Textos originais dos serviços serão visíveis nos itens de fluxo + Mostrar tempo original que passou em itens + Modo restrito do YouTube + Por %s + Criado por %s + Miniatura do avatar do canal \ No newline at end of file diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 61d6a2d9a..2d08addb9 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -106,7 +106,6 @@ Deschide in modul popup Aceasta permisiune este necesara pentru a deschide în mod pop-up - ReCAPTCHA Provocare reCAPTCHA reCAPTCHA nouă cerută Mod pop-up @@ -394,11 +393,6 @@ pentru a deschide în mod pop-up Afișare comentarii Dezactivează pentru oprirea afișării comentariilor Redare automată - - Comentarii - - - Niciun comentariu Nu s-au putut încărca comentariile Reluare redare diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 490ee0154..2670da7eb 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -124,7 +124,6 @@ Что:\\nЗапрос:\\nЯзык контента:\\nСервис:\\nВремя по Гринвичу:\\nПакет:\\nВерсия:\\nВерсия ОС: Это разрешение нужно для \nвоспроизведения в окне - reCAPTCHA Открыть во всплывающем окне Предлагать варианты при поиске Позже @@ -345,7 +344,7 @@ Предыдущий экспорт Не удалось импортировать подписки Не удалось экспортировать подписки - Импортируйте подписки YouTube, загрузив файл экспорта: + Импортируйте подписки YouTube, загрузив файл экспорта: \n \n1. Перейдите по ссылке %1$s \n2. Выполните вход. @@ -399,7 +398,6 @@ Предел разрешения в мобильной сети Каналы Плейлисты - Видео Треки Пользователи Проматывать тишину @@ -416,8 +414,8 @@ Автоматически Менять яркость плеера жестом Жест яркости - Загрузка на внешний накопитель невозможна. Сбросить расположение папки загрузки\? - Внешний накопитель недоступен + Загрузка на SD-карту невозможна. Сбросить расположение папки загрузки\? + SD-карта недоступна Вкладки, видимые на главной странице Значения по умолчанию Восстановить значения по умолчанию\? @@ -476,11 +474,6 @@ Показать комментарии Отключите, чтобы скрыть комментарии Автовоспроизведение - - %s комментарий - %s комментария - %s комментариев - Нет комментариев Не удалось загрузить комментарии Позиции воспроизведения удалены @@ -498,10 +491,10 @@ Приостановить загрузку Запрашивать папку загрузки Для каждой загрузки запрашивать папку для сохранения - Для каждой загрузки запрашивать папку для сохранения. -\nИспользуйте SAF для загрузки на внешний накопитель + Для каждой загрузки запрашивать папку для сохранения. +\nИспользуйте SAF для загрузки на SD-карту Использовать SAF - Storage Access Framework позволяет сохранять файлы на внешнем накопителе. Поддерживается не всеми устройствами + Storage Access Framework позволяет сохранять файлы на SD-карте. Поддерживается не всеми устройствами Очистить позиции воспроизведения Удалить все позиции воспроизведения Удалить все позиции воспроизведения\? @@ -565,7 +558,7 @@ %d выбрано Выберите подписки - Последнее обновление: %s + Обновлено: %s %d день %d дня @@ -597,15 +590,15 @@ Если обновление подписок кажется вам слишком медленным, попробуйте быстрый режим (включите в настройках или кнопкой внизу). \n \nNewPipe позволяет обновлять подписки двумя способами: -\n• Получение канала целиком, медленное, но с полными сведениями. -\n• Обновление по RSS, быстрое, но с потерей сведений. +\n• получение канала целиком, медленное, но с полными сведениями; +\n• обновление по RSS, быстрое, но с потерей сведений. \n \nПри быстром обновлении теряются длительность элемента и его тип (нельзя определить, трансляция это или обычное видео), могут быть получены не все элементы канала. \n \nYouTube является примером такого сервиса, допуская быстрое обновление по RSS. \n \nВыбор за вами: скорость или точность. - Обновление из RSS, если доступно + Обновление по RSS, если доступно Доступно для некоторых сервисов, быстрое, но может возвращать не всё содержимое канала и не содержать часть сведений (длительность, тип элемента, статус трансляции) Период актуальности подписок после обновления — %s Это видео с ограничением по возрасту. @@ -625,4 +618,10 @@ \n \nПродолжить\? Удалить просмотренные видео\? + Отображать сообщённое сервисом время с момента публикации + Исходное время публикации + Безопасный режим YouTube + От %s + Создано %s + Миниатюра значка канала \ No newline at end of file diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 9ea147b73..17ba3f3f3 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -106,7 +106,6 @@ Nemožno načítať obrázok Aplikácia/UP zlyhalo Čo:\\nPožiadavka:\\nJazyk obsahu:\\nSlužba:\\nČas v GMT:\\nBalík:\\nVerzia:\\nVerzia OS: - reCAPTCHA Výzva reCAPTCHA Čierna Všetko @@ -471,11 +470,6 @@ Zobraziť komentáre Vypnutím tejto funkcie sa nebudú zobrazovať komentáre Automatické prehrávanie - - Komentáre - - - Žiadne komentáre Nemožno načítať komentáre Zatvoriť @@ -609,4 +603,23 @@ \nYouTube je príkladom služby, ktorá ponúka túto rýchlu metódu s informačným kanálom RSS. \n \nTakže výber sa zredukuje na to, čo uprednostňujete: rýchlosť alebo presné informácie. + Tento obsah ešte nie je podporovaný v NwPipe. +\n +\nMožno v budúcnosti sa to zmení. + Áno aj čiastočne pozreté videá + Pozreté videá, ktoré ste pozreli pred a po ich pridaní do zoznamu, budú odstránené. +\nSte si istí ich odstránením zo zoznamu\? Táto operácia je nezvratná! + Odstrániť pozreté videá\? + Odstrániť pozreté + Pôvodné texty zo služieb budú viditeľné v položkách streamu + Zobrazovať pôvodný čas + ∞ videí + 100+ videí + Umelci + Skladby + Albumy + Vekovo obmedzené video. +\n +\nPokiaľ ho chcete pozerať, musíte povoliť \"Vekovo obmedzený obsah\" v nastaveniach. + YouTube v obmedzenom režime \ No newline at end of file diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index d3adc9eca..c1cc8d963 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -124,7 +124,6 @@ Slike ni mogoče naložiti Program se je sesul! - reCAPTCHA Izziv reCAPTCHA Zahteva izziva reCAPTCHA diff --git a/app/src/main/res/values-sq/strings.xml b/app/src/main/res/values-sq/strings.xml index 354c8dfca..1d3614bf1 100644 --- a/app/src/main/res/values-sq/strings.xml +++ b/app/src/main/res/values-sq/strings.xml @@ -281,7 +281,7 @@ NewPipe zhvillohet nga zhvillues të cilët shpenzojnë kohën e tyre të lirë për t\'u prurë juve eksperiencën më të mirë për përdoruesin. Ktheni nderin duke ndihmuar zhvilluesit që ta bëjnë NewPipe akoma edhe më të mirë ndërkohë që ata pijnë një filxhan kafe. Dhuro Shikoje në GitHub - Nëse keni ide rreth; përkthimeve, ndryshimeve në dizajn, pastrimit të kodit, apo ndryshime rrënjësore të kodit--ndihma është gjithnjë e mirëpritur. Sa më shumë të bëhet aq më mirë do jetë! + Nëse keni ide rreth; përkthimeve, ndryshimeve në dizajn, pastrimit të kodit, apo ndryshime rrënjësore të kodit—ndihma është gjithnjë e mirëpritur. Sa më shumë të bëhet aq më mirë do jetë! Kontribuo Streaming i lirë dhe i lehtë në Android. Licensat @@ -412,7 +412,6 @@ Shkarko skedarin stream Hape në modalitetin popup Nuk u gjend lexues për stream. Instalo VLC\? - \@string/app_name %s video %s video @@ -608,4 +607,7 @@ \nA jeni të sigurt\? Kjo nuk mund të zhbëhet! Dëshironi t\'i hiqni videot e para\? Hiq të parat + Tekstet origjinale nga shërbimet do të jenë të dukshme në objektet e stream + Shfaq titullin origjinal \"kohë më parë\" në objekte + Modaliteti i kufizuar i NewPipe \ No newline at end of file diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index dde850fa6..1cd4d2baa 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -106,7 +106,6 @@ Не могох да учитам слику Апликација/УИ је краховала Шта:\\nЗахтев:\\nЈезик садржаја:\\nУслуга:\\nГМТ време:\\nПакет:\\nИздање:\\nИздање ОС-а:\\nГлоб. ИП распон: - Стопка reCAPTCHA стопка Решите reCAPTCHA стопку Црна diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 139cb8f1e..3a83b8676 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -16,7 +16,7 @@ Välj webbläsare rotation Använd extern videospelare - Tar bort ljud vid VISSA upplösningar + Tar bort ljud vid vissa upplösningar Använd extern ljudspelare Popup-läge Bakgrund @@ -163,8 +163,8 @@ Inga videor - Video - Videor + %s video + %s videos Start Pausa @@ -186,7 +186,6 @@ Ange en hämtningsmapp senare i inställningar Denna tillåtelse behövs för att \nöppna i popup-läge - reCAPTCHA reCAPTCHA utmaning reCAPTCHA utmaning begärd Nedladdning @@ -251,9 +250,9 @@ För att få mer information och de senaste nyheterna om NewPipe, besök vår webbplats. Visa info Bokmärkta Spellistor - Lägg till - Använd snabb inexakt sökning - Ladda miniatyrbilder + Lägg till i + "Använd snabb icke-exakt sökning " + "Ladda tumnaglar " Stäng av för att hindra laddning av miniatyrbilder, spara data och minnesanvändning. Förändringar kommer att rensa cache-minnet. Bild cacheminnet rensad Tjänst @@ -265,7 +264,7 @@ Rensa metadatan i cacheminnet Ingen strömspelare hittades (du kan installera VLC för att spela upp). Ladda ned sändning - Inexakt sökning ger möjligheten att söka snabbare med mindre precision. Sökning med 5, 15 eller 25 sekunder fungerar inte med denna inställning. + Inexakt sökning ger möjligheten att sökning snabbare med mindre precision. Att hoppa 5, 15 eller 25 sekunder fungerar inte med detta val. Ta bort alla cachade webbsidor Metadata cache rensad "Köa nästa ström automatiskt " @@ -399,7 +398,7 @@ Ingen Minimera till Bakgrunds-spelare Minimera till popup-spelare - Avsluta prenumeration + Sluta prenumerera Ny flik Välj flik Gestkontroll för volym @@ -453,10 +452,6 @@ Händelser Konferenser Visa kommentarer - - Kommentarer - - Inaktivera för att inte visa kommentarer Återuppta uppspelning Återställ den senaste uppspelningspositionen @@ -464,7 +459,7 @@ Ändra nedladdningsmapp för att träda i kraft Spela automatiskt Töm data - Snabb spola -framåt/-bakåt + Snabbspola -framåt/-bakåt Aktivera video på låsskärmen När bakgrundsspelaren används så visas videon på låsskärmen Visa positionindikationer i listor @@ -506,4 +501,25 @@ Växla tjänst, för närvarande vald: Ge tillåtelse att visa över andra appar Ingen lyssnar + Standardkiosk + Destinationsmappen kan inte skapas + Det går inte att skapa filen + Det finns en pågående nedladdning med det här namnet + kan inte skriva över filen + Det finns redan en nedladdad fil med det här namnet + En fil med det här namnet finns redan + återställer + Väntande + Originaltexter från tjänster kommer att synas i streamobjekt + Visa ursprungstid på objekt + Automatiskt genererad (ingen uppladdare hittades) + Slå på ljudet + Tysta + Mest gillade + Nyligen tillagd + Lokala + Klar + YouTube begränsat läge + Språket ändras när appen har startats om. + Det gick inte att ladda kommentarer \ No newline at end of file diff --git a/app/src/main/res/values-sw600dp-land/dimens.xml b/app/src/main/res/values-sw600dp-land/dimens.xml index 321ee69cc..b578744d7 100644 --- a/app/src/main/res/values-sw600dp-land/dimens.xml +++ b/app/src/main/res/values-sw600dp-land/dimens.xml @@ -18,4 +18,4 @@ 4dp - \ No newline at end of file + diff --git a/app/src/main/res/values-sw600dp/dimens.xml b/app/src/main/res/values-sw600dp/dimens.xml index d745cdfb0..15b6d214e 100644 --- a/app/src/main/res/values-sw600dp/dimens.xml +++ b/app/src/main/res/values-sw600dp/dimens.xml @@ -8,15 +8,17 @@ 16sp 16sp 14sp - 16sp + 16sp + 12sp 16sp 16sp 18sp - 45dp + 40dp + 20dp 18sp 18sp 10dp - \ No newline at end of file + diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index 235679b3f..52ef33abe 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -1,6 +1,6 @@ - தொடங்க தேடலை அழுத்தவும் + தொடங்க \"தேடல்\" ஐ தட்டவும் %1$s பார்வைகள் %1$s அன்று வெளியிடப்பட்டது நிகழ்பட ஓட்டி கண்டறியப்படவில்லை. VLC நிறுவ வேண்டுமா\? @@ -109,7 +109,7 @@ காணொலி ஒலி மீண்டும் முயற்சி - சில பிரிதிறன்கலில் ஒலி நீக்கப்படும் + சில பிரிதிறன்களில் ஒலி நீக்கப்படும் சில சாதனங்கள் மட்டுமெ 2k/4k காணொளிகலை இயக்கும் காணொளிகலை Kodi media center கொண்டு இயக்கும் இடப்பை காண்பி வேகமான பொருத்தமற்ற தேடலை பயன்படுத்து @@ -206,10 +206,6 @@ கருத்துக்களை காண்பி கருத்துக்களை காண்பிப்பதை நிறுத்துதலை செயலிழக்கசெய் தானாக ஓட்டு - - கருத்துக்கள் - - திரையிடலை தொடங்கு பட்டியலில் இடங்கள் தரவை நீக்கு diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 291d59126..cbfe624f8 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -124,7 +124,6 @@ B Bu izin, açılır pencere kipinde \naçmak için gereklidir - reCAPTCHA reCAPTCHA formu reCAPTCHA formu istendi Arka plan @@ -236,10 +235,10 @@ Ses Ayarları Kuyruğa eklemek için basılı tutun Arka planda kuyruğa ekle - Yeni açılır pencerede kuyruğa ekle + Açılır pencerede kuyruğa ekle Burada oynatmaya başla Arka planda oynatmayı başlat - Yeni açılır pencerede oynatmayı başlat + Açılır pencerede oynatmayı başlat Bağışta bulunun NewPipe, boş zamanlarını size en iyi kullanıcı deneyimi sunmak için harcayan gönüllüler tarafından geliştirilmiştir. Geliştiricilerin bir fincan kahvenin tadını çıkarırken NewPipe\'ı daha iyi hale getirmelerine yardımcı olun. Bağışta bulunun @@ -461,10 +460,6 @@ Yorumları göster Yorumları gizlemek için kapatın Otomatik oynat - - %s yorum - %s yorum - Yorum yok Yorumlar yüklenemedi Kapat @@ -612,4 +607,10 @@ Evet ve kısmen izlenmiş videolar İzlenen videoları kaldır\? İzleneni kaldır + Akış ögelerinde hizmetlerden alınan özgün metinler görünecektir + Ögelerde özgün \'… önce\'yi göster + YouTube kısıtlı kip + %s tarafından + %s tarafından oluşturuldu + Kanalın avatar küçük resmi \ No newline at end of file diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index cacaf575a..594a6e224 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -184,7 +184,6 @@ Помилковий URL або немає доступу в Інтернет Цей дозвіл потрібен для перегляду \nу віконному режимі - reCAPTCHA Завантаження Допустимі символи у іменах файлів Недопустимі символи замінити на цей @@ -475,12 +474,6 @@ Показувати коментарі Вимкніть, щоб сховати коментарі Автопрогравання - - %s коментар - %s коментарі - %s коментарів - %s коментарів - Коментарі відсутні Не вдалося підвантажити коментарів Закрити @@ -526,7 +519,7 @@ Швидке перемотування Не вдалося перевірити екземпляр Оберіть сервер PeerTube - Каталог серверів:% s + Каталог серверів: %s Додати екземпляр Введіть посилання на сервер Підтримуються лише HTTP посилання @@ -576,7 +569,6 @@ Допомога Відео Не вдалося перевірити сервер - \@string / app_name NewPipe ще не підтримує цей контент . \n \nМожливо, підтримка з\'явиться в наступних версіях. diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index f46cad0a7..d222022d6 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -461,10 +461,6 @@ تبصرے دکھائیں تبصرے دکھانا بند کریں آٹوپلے - - تبصرہ - تبصرے - کوئی تبصرہ نہیں تبصرے لوڈ نہیں ہو سکے بند کریں diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 994fbabb4..a16c93013 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -1,9 +1,9 @@ - Nhấn tìm kiếm để bắt đầu + Nhấn \"Tìm kiếm\" để bắt đầu %1$s lượt xem Đăng vào %1$s - Không tìm thấy trình phát luồng. Bạn có muốn cài đặt VLC\? + Không tìm thấy trình phát. Cài đặt VLC\? Cài đặt Hủy Mở trong trình duyệt @@ -16,9 +16,9 @@ Chia sẻ với Chọn trình duyệt Sử dụng trình phát video bên ngoài - Loại bỏ âm thanh trên *MỘT SỐ* độ phân giải video + Loại bỏ âm thanh ở một số độ phân giải video Sử dụng trình phát audio bên ngoài - Chế độ popup của NewPipe + Chế độ popup Trình phát nổi Thư mục video tải về Video đã tải về được lưu ở đây @@ -33,7 +33,7 @@ Hiển thị độ phân giải cao hơn Chỉ một số thiết bị hỗ trợ phát video 2K/4K Phát với Kodi - Không tìm thấy ứng dụng Kore. Bạn có muốn cài đặt nó\? + Cài đặt ứng dụng Kore\? Hiển thị tùy chọn \"Phát với Kodi\" Hiển thị tùy chọn để phát video qua trung tâm media Kodi Âm thanh @@ -47,7 +47,7 @@ Nhớ kích thước và vị trí của popup Nhớ kích thước và vị trí lần trước của popup Điều khiển cử chỉ trình phát - Sử dụng cử chỉ để kiểm soát độ sáng và âm lượng của trình phát + Sử dụng cử chỉ để điều chỉnh độ sáng và âm lượng Đề xuất tìm kiếm Hiển thị các đề xuất khi tìm kiếm Tải về @@ -61,8 +61,8 @@ Phát Nội dung Cho phép nội dung có giới hạn độ tuổi - Hiện video có giới hạn độ tuổi. Có thể bật cài đặt này trong phần Cài đặt. - TRỰC TIẾP + Hiện video có giới hạn độ tuổi. Có thể thay đổi trong phần Cài đặt. + Trực tiếp Tải xuống Tải xuống Báo lỗi @@ -91,14 +91,14 @@ Xin lỗi, điều đó không nên xảy ra. Báo lỗi qua email Xin lỗi, một số lỗi đã xảy ra. - BÁO CÁO + Báo cáo Thông tin: Chuyện gì đã xảy ra: Gì: \\nRequest:\\nContent Lang:\\nService:\\nGMT Time:\\nPackage:\\nVersion:\\nOS version: Nhận xét của bạn (bằng tiếng Anh): Chi tiết: Hình thu nhỏ xem trước video - Hình thu nhỏ xem trước video + Xem video, thời lượng: Hình thu nhỏ của avatar người tải lên Lượt thích Dislike @@ -111,7 +111,7 @@ Video Âm thanh Thử lại - Quyền truy cập bộ nhớ đã bị từ chối + Cần cho phép truy cập bộ nhớ ngàn triệu tỉ @@ -119,7 +119,7 @@ Dừng Chơi Xóa - checksum + Checksum Nhiệm vụ mới OK Tên file @@ -135,17 +135,16 @@ Chọn một thư mục tải về có sẵn trong cài đặt Cần quyền này để \nmở trong chế độ popup - ReCAPTCHA reCAPTCHA Yêu cầu reCAPTCHA Giới thiệu về NewPipe Cài đặt - Về + Thông tin Giấy phép của bên thứ ba © %1$s bởi %2$s dưới %3$s Không thể tải giấy phép Mở trang web - Về + Thông tin Cộng tác viên Giấy phép Trình phát nội dung nhẹ và mã nguồn mở cho Android. @@ -176,7 +175,7 @@ Có gì mới Thêm vào Sử dụng tìm kiếm nhanh không chính xác - Tìm kiếm không chính xác cho phép trình phát tìm đến vị trí nhanh hơn với độ chính xác bị hạn chế + Tua không chính xác cho phép trình phát tua vị trí nhanh hơn với độ chính xác hạn chế. Tua 5, 15 hay 25 giây không dùng được chế độ này. Tải hình thu nhỏ Tắt để không tải về các hình thu nhỏ, tiết kiệm lưu lượng mạng và bộ nhớ. Thay đổi điều này sẽ xóa bộ nhớ đệm hình ảnh cả trong RAM và trong bộ nhớ. Đã xóa bộ nhớ cache hình ảnh @@ -184,14 +183,14 @@ Xóa tất cả dữ liệu trang web được lưu trong bộ nhớ cache Đã xóa bộ nhớ cache siêu dữ liệu Tự động phát tiếp theo theo hàng - Tự động thêm một luồng có liên quan khi phát luồng cuối cùng trong hàng đợi không lặp lại + Tiếp tục hàng đợi (không lặp lại) bằng cách thêm một luồng phát liên quan Lịch sử tìm kiếm Lưu trữ truy vấn tìm kiếm cục bộ Theo dõi các video đã xem - Tiếp tục phát sau khi bị gián đoạn + Tiếp tục phát Tiếp tục phát sau khi bị gián đoạn (ví dụ: cuộc gọi điện thoại) Hiển thị mẹo \"Giữ để nối thêm\" - Hiển thị mẹo khi nhấn nút phát trong nền hoặc phát trên popup trong trang chi tiết video + Hiển thị mẹo khi nhấn nút phát trong nền hoặc phát trên popup trong trang \"Chi tiết\" Quốc gia nội dung mặc định Dịch vụ Phát @@ -230,7 +229,7 @@ Không thể phát luồng này Đã xảy ra lỗi trình phát không thể khôi phục Phục hồi từ lỗi trình phát - Người chơi bên ngoài không hỗ trợ các loại liên kết này + Trình phát ngoài không hỗ trợ các loại liên kết này URL không hợp lệ Không tìm thấy luồng video nào Không tìm thấy luồng audio nào @@ -268,7 +267,7 @@ Hầu hết các ký tự đặc biệt Không có ứng dụng nào được cài đặt để phát tệp này Đóng góp - NewPipe được phát triển bởi các tình nguyện viên dành thời gian mang lại cho bạn những trải nghiệm tốt nhất. Hãy trở lại để giúp các nhà phát triển làm cho NewPipe thậm chí còn tốt hơn trong khi thưởng thức một tách cà phê. + NewPipe được phát triển bởi các tình nguyện viên dành thời gian mang lại cho bạn trải nghiệm tốt nhất. Đóng góp một tách cà phê để giúp các nhà phát triển làm NewPipe tốt hơn nữa. Trả lại Trang mạng Truy cập trang web NewPipe để biết thêm thông tin và tin tức. @@ -350,7 +349,7 @@ Tự động tạo ra Phụ đề Sửa cỡ chữ và kiểu màu nền phụ đề. Yêu cầu khởi động lại ứng dụng để có hiệu lực. - Bật LeakCanary + LeakCanary Theo dõi rò rỉ bộ nhớ có thể khiến ứng dụng trở nên không phản hồi khi đổ xô đống Báo các lỗi out-of-lifecycle Buộc báo cáo ngoại lệ Rx không thể gửi được bên ngoài vòng đời của mảnh hoặc hoạt động sau khi xử lý @@ -400,9 +399,9 @@ Tab mới Chọn tab Điều khiển âm lượng bằng cử chỉ - Sử dụng cử chỉ để điều khiển âm lượng của trình phát + Sử dụng cử chỉ để điều chỉnh âm lượng Điều khiển độ sáng màn hình bằng cử chỉ - Sử dụng cử chỉ để điều khiển độ sáng màn hình của trình phát + Sử dụng cử chỉ để điều chỉnh độ sáng màn hình Cập nhật Sự kiện Đã xóa tập tin @@ -410,10 +409,10 @@ Thông báo phiên bản NewPipe mới Bộ nhớ ngoài không khả dụng Không thể tải vào thẻ SD ngoài. Đặt lại vị trí tải về\? - Khôi phục lại các tab mặc định do danh sách các tab đã lưu không hợp lệ + Không thể đọc tab đã lưu, sử dụng tab mặc định Khôi phục về mặc định Bạn có muốn khôi phục về mặc định\? - Số người đăng ký không khả dụng + Số người đăng ký không có Chọn các tab để hiện trên trang chủ Lựa chọn Top 50 phổ biến @@ -444,7 +443,7 @@ Không thể tạo tệp Không thể tạo thư mục đích Quyền bị từ chối bởi hệ thống - Không thể tạo kết nối an toàn + Không thể thiết lập kết nối an toàn Không thể tìm máy chủ Không thế kết nối với máy chủ Máy chủ không gửi dữ liệu về @@ -459,14 +458,11 @@ Đang chờ xử lý Hội thảo - Hiện nhận xét - Vô hiệu hoá để dừng nhận xét xuất hiện + Hiện bình luận + Tắt để ẩn bình luận Tự động phát - - Nhận xét - - Không có nhận xét - Không thể tải nhận xét + Không có bình luận + Không thể tải bình luận Đóng Tiếp tục phát Phục hồi vị trí phát lại @@ -482,17 +478,129 @@ Không đủ dung lượng trên máy Quá trình mất, vì tập tin đã bị xoá Kết nối hết thời gian - Bạn có chắc không\? + Bạn muốn xóa lịch sử tải về hay xóa tất cả những file đã tải về\? Giới hạn hàng chờ tải xuống Chỉ một tải xuống sẽ chạy Bắt đầu tải xuống Tạm dừng tải xuống Hỏi vị trí tải xuống Bạn sẽ được hỏi vị trí lưu mỗi lần tải xuống - Bạn sẽ được hỏi vị trí lưu mỗi lần tải xuống. -\nBật tính năng này nếu bạn muốn tải xuống sang thẻ SD ngoài. + Bạn sẽ được hỏi vị trí lưu mỗi lần tải xuống. +\nBật tính năng này nếu bạn muốn tải vào thẻ SD ngoài Xóa vị trí phát Xóa toàn bộ vị trí phát Xác nhận xóa toàn bộ vị trí phát\? Thay đổi vị trí lưu để áp dụng + Nhóm kênh + Chọn thực thể + Thực thể đã tồn tại + Không thể xác nhận thực thể + Nhập URL thực thể + Thêm thực thể + Tìm thực thể bạn thích trên %s + + %d ngày + + + %d giờ + + + %d phút + + + %d giây + + Có, và video đã xem một phần + Video đã xem trước và sau khi được thêm vào playlist sẽ bị xóa. +\nBạn có chắc không\? Không thể hồi phục! + Xóa video đã xem\? + Xóa đã xem + Mặt định hệ thống + Ngôn ngữ ứng dụng + \'Storage Access Framework\' cho phép tải về thẻ SD. +\nMột số thiết bị có thể không tương thích + Dùng SAF + Đã xóa %1$s file tải về + Xóa file đã tải về + Xóa lịch sử tải về + Không thể khôi phục bản download này + Bật tiếng + Tắt tiếng + Yêu thích nhất + Thêm vào gần đây + Ngôn ngữ sẽ thay đổi khi ứng dụng khởi động lại. + Bấm \"Xong\" khi hoàn thành + Xong + ∞ video + 100+ video + + %s người nghe + + Không có người nghe + Không có người xem + + %s người xem + + Cho phép hiển thị trên các ứng dụng khác + Trợ giúp + Nghệ sĩ + Album + Bài hát + Video + Video này giới hạn độ tuổi. +\n +\nNếu bạn muốn xem, bật \"Nội dung giới hạn độ tuổi\" trong cài đặt. + Chế độ giới hạn YouTube + Chỉ URL HTTPS được hỗ trợ + Chọn thực thể PeerTube ưa thích + Thực thể PeerTube + Thời lượng tua video + Một thumbail video hiện trên màn hình khóa khi trình phát chạy trong nền + Thumbnail video màn hình khóa + Dòng chữ mô tả thời gian gốc từ các dịch vụ sẽ được hiển thị thay thế + Hiện thời gian gốc trên các item + Chọn dịch vụ; dịch vụ hiện tại: + Bởi %s + Được tạo bởi %s + Ảnh đại diện của kênh + Nội dung này hiện chưa được hỗ trợ bởi NewPipe. +\n +\nCó thể nó sẽ được hỗ trợ bởi một phiên bản mới hơn trong tương lai. + Bạn có thấy feed của mình cập nhật chậm không\? Nếu có thì bạn có thể thử chế độ tăng tốc (bạn có thể bật/tắt chế độ này trong cài đặt hoặc bằng cách nhấn nút bên dưới). +\n +\nNewPipe hỗ trợ 2 cách cập nhật feed: +\n• Tải thông tin cả kênh cho từng kênh một; chậm nhưng chắc. +\n• Tải từ các nguồn chuyên dụng; nhanh nhưng thường không đầy đủ. +\n +\nĐiểm khác biệt giữa 2 cách trên là cách nhanh hơn (chế độ tăng tốc) thường có thể thiếu thông tin - như thời lượng hay loại (VD: không thể phân biệt được giữa video thường và livestream) - và thiếu item hơn. +\n +\nYouTube là một trong số các dịch vụ có hỗ trợ cách cập nhật nhanh trên, sử dụng RSS feed. +\n +\nSuy cho cùng, việc lựa chọn chế độ trên sẽ tùy thuộc vào mong muốn của bạn: tốc độ cập nhật, hay độ chính xác thông tin. + Tải thông tin từ các nguồn chuyên dụng nếu có thể + Bật chế độ tăng tốc + Tắt chế độ tăng tốc + Áp dụng cho một vài dịch vụ; thường sẽ nhanh hơn nhưng có thể thiếu một vài item và thông tin không đầy đủ (VD: không có thời lượng, loại item, livestreams). + Luôn cập nhật + Khoảng thời gian kể từ lần cuối cập nhật thông tin kênh trước khi nó được coi là hết hạn — %s + Ngưỡng thời gian cập nhật feed + Feed + Tạo + Bạn muốn xóa nhóm kênh này\? + Tên + Tên nhóm kênh trống + + Đã chọn %d + + Chưa chọn kênh nào + Chọn kênh + Đang xử lý feed… + Số kênh không tải được: %d + Đang tải feed… + Feed cập nhật lần cuối vào: %s + Do giới hạn của ExoPlayer, khoảng thời gian tua đã được đặt lại thành %d giây + đang khôi phục + Tự tạo (không tìm thấy người upload) + Cục bộ + Trang chính mặc định \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 78d240ae8..604ad0605 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -14,7 +14,7 @@ 下载 搜索 设置 - 分享给... + 分享给… 选择浏览器 视频下载路径 已下载的视频存储在这里 @@ -38,7 +38,6 @@ 稍后 网络错误 - %s 个视频 %s 个视频 禁用 @@ -90,7 +89,6 @@ 重试 存储访问权限已被拒绝 - %s 次观看 %s 次观看 @@ -110,7 +108,6 @@ 点击了解详情 请稍候… 复制至剪贴板 - reCAPTCHA验证码 悬浮窗播放 关于NewPipe 设置 @@ -130,11 +127,9 @@ 没有结果 没有订阅者 - %s 位订阅者 %s 位订阅者 没有视频 - 视频 拖动以重新排序 创建 仅删除一个 @@ -254,7 +249,7 @@ NewPipe 后台播放和悬浮窗播放的通知 默认视频格式 行为 - 空空如也... + 空空如也… 0次观看 项目已删除 是否要从搜索历史记录中删除此项目? @@ -363,8 +358,8 @@ 发生错误: %1$s 导入/导出 导入 - 从...导入 - 导出到... + 从…导入 + 导出到… 正在导入… 正在导出… 导入文件 @@ -467,10 +462,6 @@ 近期大会 显示评论 禁用,以停止显示评论 - - %s 条评论 - %s 条评论 - 无法加载评论 关闭 恢复播放 @@ -506,12 +497,10 @@ 『时下流行』页-默认 没有人在观看 - %s 人在观看 %s 人在观看 没有人在听 - %s 人在听 %s 人在听 重新启动应用后,语言将更改。 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index f96a6a78a..c06867012 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -120,7 +120,6 @@ 事件:\\n請求:\\n內容語言:\\n服務:\\nGMT 時間:\\nPackage:\\n版本:\\n作業系統版本: K M - reCAPTCHA reCAPTCHA 挑戰 畫中畫模式需要此權限 需完成 reCAPTCHA 挑戰 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 22450e73b..b5e4fcbdf 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -136,7 +136,6 @@ 已複製至剪貼簿 稍後請在設定中選擇下載資料夾 使用懸浮視窗模式需要此權限 - reCAPTCHA 驗證 reCAPTCHA 驗證 已請求 reCAPTCHA 驗證 懸浮視窗 @@ -258,10 +257,10 @@ 詳細資訊 音訊設定 在背景加入佇列 - 在新的彈出式視窗中加入佇列 + 在彈出式視窗中加入佇列 從這裡開始播放 在背景開始播放 - 在新彈出式視窗中開始播放 + 在彈出式視窗中開始播放 長按以新增至佇列 NewPipe 由志願者所開發,他們花費他們的空閒時間務求為您帶來最佳的使用體驗。現在是時候回過頭來,讓我們的開發人員能夠在使 NewPipe 更臻完美的同時,享受一杯咖啡。 打開抽屜 @@ -459,9 +458,6 @@ 顯示留言 關閉以隱藏留言 自動播放 - - %s 條留言 - 沒有留言 無法載入留言 關閉 @@ -536,7 +532,7 @@ 完成 影片 - %d秒 + %d 秒 因為 ExoPlayer 的限制,搜尋持續時間設定為 %d 秒 靜音 @@ -559,7 +555,7 @@ 選取訂閱 未選取訂閱 - 已選取 %d + 已選取 %d 個 清空群組名稱 名稱 @@ -600,4 +596,10 @@ \n您確定嗎?此動作無法復原! 移除已觀看的影片? 移除已觀看 + 來自服務的原始文字將在串流項目中可見 + 在項目上顯示原始時間 + YouTube 受限模式 + 由 %s + 由 %s 建立 + 頻道大頭貼縮圖 \ No newline at end of file diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 39a51f234..cbf538fb5 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -1,35 +1,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -49,7 +48,7 @@ - + @@ -57,7 +56,7 @@ - + @@ -67,7 +66,7 @@ - + @@ -82,14 +81,15 @@ + - - - - - + + + + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index e80676065..b23a0a50d 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -56,7 +56,6 @@ #ffffff #999999 - #e53935 #fff #d6d6d6 #717171 diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index d97444f5b..5f58f4c90 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -54,17 +54,20 @@ 15sp 13sp 12sp - 14sp + 12sp + 14sp 13sp 13sp 15sp - 12sp + 12sp 12sp - 28dp + 32dp + 16dp 18sp 18sp 70dp + 35dp 5dp 50dp diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index a95404925..b6c6cfd77 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -170,6 +170,7 @@ peertube_instance_list content_country show_age_restricted_content + youtube_restricted_mode_enabled use_tor enable_search_history enable_watch_history @@ -323,7 +324,6 @@ is it sw - lv lt hu nl @@ -403,7 +403,6 @@ Íslenska Italiano Kiswahili - Latviešu valoda Lietuvių Magyar Nederlands @@ -1008,7 +1007,6 @@ oc pa pl - pr pt pt-br ro @@ -1074,7 +1072,6 @@ Occitan ਪੰਜਾਬੀ Polski - Pirate Language Português (PT) Português (BR) Română diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 385bfce82..f2e79a79b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -137,6 +137,7 @@ Content Age restricted content Show age restricted video. Future changes are possible from the settings. + YouTube restricted mode This video is age restricted.\n\nIf you want to view it, enable \"Age restricted content\" in the settings. Live Downloads @@ -297,10 +298,6 @@ %s videos No comments - - %s comment - %s comments - Start Pause @@ -429,10 +426,10 @@ Audio Settings Hold to enqueue Enqueue in the background - Enqueue in a new popup + Enqueue in a popup Start playing here Start playing in the background - Start playing in a new popup + Start playing in a popup Open Drawer Close Drawer @@ -480,8 +477,8 @@ Memory leak monitoring may cause the app to become unresponsive when heap dumping Report out-of-lifecycle errors Force reporting of undeliverable Rx exceptions outside of fragment or activity lifecycle after disposal - Show original time ago on items - Original texts from services will be visible in stream items + Show original time ago on items + Original texts from services will be visible in stream items Import/export Import @@ -650,4 +647,7 @@ Disable fast mode Do you think feed loading is too slow? If so, try enabling fast loading (you can change it in settings or by pressing the button below).\n\nNewPipe offers two feed loading strategies:\n• Fetching the whole subscription channel, which is slow but complete.\n• Using a dedicated service endpoint, which is fast but usually not complete.\n\nThe difference between the two is that the fast one usually lacks some information, like the item\'s duration or type (can\'t distinguish between live videos and normal ones) and it may return less items.\n\nYouTube is an example of a service that offers this fast method with its RSS feed.\n\nSo the choice boils down to what you prefer: speed or precise information. This content is not yet supported by NewPipe.\n\nIt will hopefully be supported in a future version. + Channel\'s avatar thumbnail + Created by %s + By %s diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index ef14bf22c..fae608074 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -17,37 +17,36 @@ @color/light_background_color @color/light_background_color - @drawable/ic_thumb_up_black_24dp - @drawable/ic_thumb_down_black_24dp - @drawable/ic_info_outline_black_24dp - @drawable/ic_bug_report_black_24dp - @drawable/ic_headset_black_24dp - @drawable/ic_file_download_black_24dp - @drawable/ic_share_black_24dp - @drawable/ic_cast_black_24dp - @drawable/ic_rss_feed_black_24dp - @drawable/ic_search_black_24dp - @drawable/ic_close_black_24dp - @drawable/ic_filter_list_black_24dp - @drawable/ic_picture_in_picture_black_24dp - @drawable/ic_expand_more_black_24dp - @drawable/ic_expand_less_black_24dp - @drawable/ic_volume_off_black_24dp - @drawable/ic_volume_up_black_24dp - @drawable/ic_palette_black_24dp - @drawable/ic_language_black_24dp - @drawable/ic_history_black_24dp - @drawable/ic_drag_handle_black_24dp - @drawable/ic_fiber_manual_record_black_24dp - @drawable/ic_arrow_top_left_black_24dp - @drawable/ic_more_vert_black_24dp - @drawable/ic_play_arrow_black_24dp - @drawable/ic_pause_black_24dp - @drawable/ic_settings_black_24dp - @drawable/ic_whatshot_black_24dp - @drawable/ic_kiosk_local_black_24dp - @drawable/ic_kiosk_recent_black_24dp - @drawable/ic_channel_black_24dp + @drawable/ic_thumb_up_black_24dp + @drawable/ic_thumb_down_black_24dp + @drawable/ic_info_outline_black_24dp + @drawable/ic_bug_report_black_24dp + @drawable/ic_headset_black_24dp + @drawable/ic_file_download_black_24dp + @drawable/ic_share_black_24dp + @drawable/ic_cast_black_24dp + @drawable/ic_rss_feed_black_24dp + @drawable/ic_search_black_24dp + @drawable/ic_close_black_24dp + @drawable/ic_filter_list_black_24dp + @drawable/ic_picture_in_picture_black_24dp + @drawable/ic_expand_more_black_24dp + @drawable/ic_expand_less_black_24dp + @drawable/ic_volume_off_black_24dp + @drawable/ic_volume_up_black_24dp + @drawable/ic_palette_black_24dp + @drawable/ic_language_black_24dp + @drawable/ic_history_black_24dp + @drawable/ic_drag_handle_black_24dp + @drawable/ic_search_add_black_24dp + @drawable/ic_more_vert_black_24dp + @drawable/ic_play_arrow_black_24dp + @drawable/ic_pause_black_24dp + @drawable/ic_settings_black_24dp + @drawable/ic_whatshot_black_24dp + @drawable/ic_home_black_24dp + @drawable/ic_add_circle_outline_black_24dp + @drawable/ic_tv_black_24dp @drawable/ic_bookmark_black_24dp @drawable/ic_playlist_add_black_24dp @drawable/ic_playlist_add_check_black_24dp @@ -56,33 +55,33 @@ @drawable/ic_backup_black_24dp @drawable/ic_add_black_24dp @drawable/ic_settings_backup_restore_black_24dp - @drawable/ic_blank_page_black_24dp + @drawable/ic_crop_portrait_black_24dp @drawable/ic_list_black_24dp - @drawable/ic_grid_black_24dp + @drawable/ic_apps_black_24dp @drawable/ic_delete_black_24dp - @drawable/ic_settings_update_black + @drawable/ic_cloud_download_black_24dp @drawable/ic_done_black_24dp @drawable/ic_refresh_black_24dp @drawable/ic_computer_black_24dp - @drawable/ic_videogame_black_24dp + @drawable/ic_videogame_asset_black_24dp @drawable/ic_music_note_black_24dp @drawable/ic_stars_black_24dp - @drawable/ic_sports_black_24dp - @drawable/ic_money_black_24dp + @drawable/ic_directions_bike_black_24dp + @drawable/ic_attach_money_black_24dp @drawable/ic_person_black_24dp @drawable/ic_people_black_24dp - @drawable/ic_heart_black_24dp - @drawable/ic_kids_black_24dp + @drawable/ic_favorite_black_24dp + @drawable/ic_child_care_black_24dp @drawable/ic_fastfood_black_24dp - @drawable/ic_car_black_24dp + @drawable/ic_directions_car_black_24dp @drawable/ic_motorcycle_black_24dp @drawable/ic_trending_up_black_24dp @drawable/ic_school_black_24dp @drawable/ic_asterisk_black_24dp - @drawable/ic_emoticon_black_24dp + @drawable/ic_insert_emoticon_black_24dp @drawable/ic_edit_black_24dp @drawable/ic_explore_black_24dp - @drawable/ic_fitness_black_24dp + @drawable/ic_fitness_center_black_24dp @drawable/ic_restaurant_black_24dp @drawable/ic_mic_black_24dp @drawable/ic_radio_black_24dp @@ -91,26 +90,27 @@ @drawable/ic_work_black_24dp @drawable/ic_movie_black_24dp @drawable/ic_pets_black_24dp - @drawable/ic_world_black_24dp - @drawable/ic_sunny_black_24dp + @drawable/ic_public_black_24dp + @drawable/ic_wb_sunny_black_24dp @drawable/ic_telescope_black_24dp @drawable/ic_megaphone_black_24dp @drawable/ic_sort_black_24dp @drawable/ic_help_black_24dp + @drawable/ic_arrow_back_black_24dp @color/light_separator_color @color/light_contrast_background_color - @drawable/light_checked_selector - @drawable/light_focused_selector + @drawable/selector_checked_light + @drawable/selector_focused_light @color/light_queue_background_color - @drawable/toolbar_shadow_light - @drawable/light_selector + @drawable/toolbar_shadow_light + @drawable/selector_light @color/light_ripple_color @drawable/progress_youtube_horizontal_light @color/light_card_item_background_color @color/light_card_item_contrast_color @color/light_border_color - @drawable/dashed_border_light + @drawable/dashed_border_light @style/PreferenceThemeOverlay.v14.Material @@ -124,36 +124,35 @@ @color/dark_background_color @color/dark_background_color - @drawable/ic_thumb_up_white_24dp - @drawable/ic_thumb_down_white_24dp - @drawable/ic_headset_white_24dp - @drawable/ic_info_outline_white_24dp - @drawable/ic_bug_report_white_24dp - @drawable/ic_file_download_white_24dp - @drawable/ic_share_white_24dp - @drawable/ic_cast_white_24dp - @drawable/ic_rss_feed_white_24dp - @drawable/ic_search_white_24dp - @drawable/ic_close_white_24dp - @drawable/ic_filter_list_white_24dp - @drawable/ic_picture_in_picture_white_24dp - @drawable/ic_expand_more_white_24dp - @drawable/ic_expand_less_white_24dp - @drawable/ic_volume_off_white_24dp - @drawable/ic_volume_up_white_24dp - @drawable/ic_palette_white_24dp - @drawable/ic_language_white_24dp - @drawable/ic_history_white_24dp - @drawable/ic_drag_handle_white_24dp - @drawable/ic_fiber_manual_record_white_24dp - @drawable/ic_arrow_top_left_white_24dp - @drawable/ic_more_vert_white_24dp - @drawable/ic_play_arrow_white_24dp - @drawable/ic_settings_white_24dp - @drawable/ic_whatshot_white_24dp - @drawable/ic_kiosk_local_white_24dp - @drawable/ic_kiosk_recent_white_24dp - @drawable/ic_channel_white_24dp + @drawable/ic_thumb_up_white_24dp + @drawable/ic_thumb_down_white_24dp + @drawable/ic_headset_white_24dp + @drawable/ic_info_outline_white_24dp + @drawable/ic_bug_report_white_24dp + @drawable/ic_file_download_white_24dp + @drawable/ic_share_white_24dp + @drawable/ic_cast_white_24dp + @drawable/ic_rss_feed_white_24dp + @drawable/ic_search_white_24dp + @drawable/ic_close_white_24dp + @drawable/ic_filter_list_white_24dp + @drawable/ic_picture_in_picture_white_24dp + @drawable/ic_expand_more_white_24dp + @drawable/ic_expand_less_white_24dp + @drawable/ic_volume_off_white_24dp + @drawable/ic_volume_up_white_24dp + @drawable/ic_palette_white_24dp + @drawable/ic_language_white_24dp + @drawable/ic_history_white_24dp + @drawable/ic_drag_handle_white_24dp + @drawable/ic_search_add_white_24dp + @drawable/ic_more_vert_white_24dp + @drawable/ic_play_arrow_white_24dp + @drawable/ic_settings_white_24dp + @drawable/ic_whatshot_white_24dp + @drawable/ic_home_white_24dp + @drawable/ic_add_circle_outline_white_24dp + @drawable/ic_tv_white_24dp @drawable/ic_bookmark_white_24dp @drawable/ic_playlist_add_white_24dp @drawable/ic_playlist_add_check_white_24dp @@ -162,34 +161,34 @@ @drawable/ic_backup_white_24dp @drawable/ic_add_white_24dp @drawable/ic_settings_backup_restore_white_24dp - @drawable/ic_blank_page_white_24dp + @drawable/ic_crop_portrait_white_24dp @drawable/ic_list_white_24dp - @drawable/ic_grid_white_24dp + @drawable/ic_apps_white_24dp @drawable/ic_delete_white_24dp - @drawable/ic_pause_white_24dp - @drawable/ic_settings_update_white + @drawable/ic_pause_white_24dp + @drawable/ic_cloud_download_white_24dp @drawable/ic_done_white_24dp @drawable/ic_refresh_white_24dp @drawable/ic_computer_white_24dp - @drawable/ic_videogame_white_24dp + @drawable/ic_videogame_asset_white_24dp @drawable/ic_music_note_white_24dp @drawable/ic_stars_white_24dp - @drawable/ic_sports_white_24dp - @drawable/ic_money_white_24dp + @drawable/ic_directions_bike_white_24dp + @drawable/ic_attach_money_white_24dp @drawable/ic_person_white_24dp @drawable/ic_people_white_24dp - @drawable/ic_heart_white_24dp - @drawable/ic_kids_white_24dp + @drawable/ic_favorite_white_24dp + @drawable/ic_child_care_white_24dp @drawable/ic_fastfood_white_24dp - @drawable/ic_car_white_24dp + @drawable/ic_directions_car_white_24dp @drawable/ic_motorcycle_white_24dp @drawable/ic_trending_up_white_24dp @drawable/ic_school_white_24dp @drawable/ic_asterisk_white_24dp - @drawable/ic_emoticon_white_24dp + @drawable/ic_insert_emoticon_white_24dp @drawable/ic_edit_white_24dp @drawable/ic_explore_white_24dp - @drawable/ic_fitness_white_24dp + @drawable/ic_fitness_center_white_24dp @drawable/ic_restaurant_white_24dp @drawable/ic_mic_white_24dp @drawable/ic_radio_white_24dp @@ -198,26 +197,27 @@ @drawable/ic_work_white_24dp @drawable/ic_movie_white_24dp @drawable/ic_pets_white_24dp - @drawable/ic_world_white_24dp - @drawable/ic_sunny_white_24dp + @drawable/ic_public_white_24dp + @drawable/ic_wb_sunny_white_24dp @drawable/ic_telescope_white_24dp @drawable/ic_megaphone_white_24dp @drawable/ic_sort_white_24dp @drawable/ic_help_white_24dp + @drawable/ic_arrow_back_white_24dp @color/dark_separator_color @color/dark_contrast_background_color - @drawable/dark_checked_selector - @drawable/dark_focused_selector + @drawable/selector_checked_dark + @drawable/selector_focused_dark @color/dark_queue_background_color - @drawable/toolbar_shadow_dark - @drawable/dark_selector + @drawable/toolbar_shadow_dark + @drawable/selector_dark @color/dark_ripple_color @drawable/progress_youtube_horizontal_dark @color/dark_card_item_background_color @color/dark_card_item_contrast_color @color/dark_border_color - @drawable/dashed_border_dark + @drawable/dashed_border_dark @style/PreferenceThemeOverlay.v14.Material @@ -234,7 +234,7 @@ @color/black_card_item_background_color @color/black_card_item_contrast_color @color/black_border_color - @drawable/dashed_border_black + @drawable/dashed_border_black diff --git a/app/src/main/res/values/styles_misc.xml b/app/src/main/res/values/styles_misc.xml index aaf401aac..b4d7901e2 100644 --- a/app/src/main/res/values/styles_misc.xml +++ b/app/src/main/res/values/styles_misc.xml @@ -1,8 +1,9 @@ - diff --git a/app/src/main/res/xml/content_settings.xml b/app/src/main/res/xml/content_settings.xml index e2fbc081d..bf9c3d115 100644 --- a/app/src/main/res/xml/content_settings.xml +++ b/app/src/main/res/xml/content_settings.xml @@ -51,6 +51,12 @@ android:key="@string/show_age_restricted_content" android:title="@string/show_age_restricted_content_title"/> + + diff --git a/app/src/test/java/org/schabi/newpipe/local/subscription/FeedGroupIconTest.kt b/app/src/test/java/org/schabi/newpipe/local/subscription/FeedGroupIconTest.kt index 9d53e891f..a0db83ba9 100644 --- a/app/src/test/java/org/schabi/newpipe/local/subscription/FeedGroupIconTest.kt +++ b/app/src/test/java/org/schabi/newpipe/local/subscription/FeedGroupIconTest.kt @@ -27,4 +27,4 @@ class FeedGroupIconTest { assertTrue("Repeated icon (current item: ${groupIcon.name} - ${groupIcon.id})", added) } } -} \ No newline at end of file +} diff --git a/app/src/test/java/org/schabi/newpipe/util/ExceptionUtilsTest.kt b/app/src/test/java/org/schabi/newpipe/util/ExceptionUtilsTest.kt index fc0e9dcbd..55dc9f469 100644 --- a/app/src/test/java/org/schabi/newpipe/util/ExceptionUtilsTest.kt +++ b/app/src/test/java/org/schabi/newpipe/util/ExceptionUtilsTest.kt @@ -1,14 +1,14 @@ package org.schabi.newpipe.util +import java.io.IOException +import java.io.InterruptedIOException +import java.net.SocketException +import javax.net.ssl.SSLException import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue import org.junit.Test import org.schabi.newpipe.util.ExceptionUtils.Companion.hasAssignableCause import org.schabi.newpipe.util.ExceptionUtils.Companion.hasExactCause -import java.io.IOException -import java.io.InterruptedIOException -import java.net.SocketException -import javax.net.ssl.SSLException class ExceptionUtilsTest { @Test fun `assignable causes`() { @@ -66,4 +66,4 @@ class ExceptionUtilsTest { assertFalse(hasExactCause(Exception(IllegalStateException(Exception(SocketException()))), IOException::class.java)) assertFalse(hasExactCause(Exception(IllegalStateException(Exception(InterruptedIOException()))), IOException::class.java)) } -} \ No newline at end of file +} diff --git a/app/src/test/java/org/schabi/newpipe/util/urlfinder/UrlFinderTest.kt b/app/src/test/java/org/schabi/newpipe/util/urlfinder/UrlFinderTest.kt index 7bd0f50a6..99f26e472 100644 --- a/app/src/test/java/org/schabi/newpipe/util/urlfinder/UrlFinderTest.kt +++ b/app/src/test/java/org/schabi/newpipe/util/urlfinder/UrlFinderTest.kt @@ -96,4 +96,4 @@ class UrlFinderTest { assertEquals("https://www.youtube.com/watch?v=dQw4w9WgXcQ", UrlFinder.firstUrlFromInput("https://www.youtube.com/watch?v=dQw4w9WgXcQ\"Not PartOfTheUrl")) } -} \ No newline at end of file +} diff --git a/build.gradle b/build.gradle index 5ceffb6e7..f15900bc6 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,13 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.3.50' + ext.kotlin_version = '1.3.72' repositories { jcenter() google() } dependencies { - classpath 'com.android.tools.build:gradle:3.5.1' + classpath 'com.android.tools.build:gradle:3.6.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong diff --git a/checkstyle-suppressions.xml b/checkstyle-suppressions.xml index d015a9e03..a4fc516f2 100644 --- a/checkstyle-suppressions.xml +++ b/checkstyle-suppressions.xml @@ -11,6 +11,10 @@ files="InfoListAdapter.java" lines="253,325"/> + +