From bba9dbd96a2ec720be1459709ed4cee786290072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20=C3=87erri?= <64997243+deniscerri@users.noreply.github.com> Date: Fri, 6 Jan 2023 22:49:44 +0100 Subject: [PATCH] made downloads work on OTG drives --- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 5 +- .../deniscerri/ytdlnis/DownloaderService.java | 519 ----------------- .../deniscerri/ytdlnis/DownloaderService.kt | 522 ++++++++++++++++++ .../com/deniscerri/ytdlnis/MainActivity.kt | 2 +- .../ytdlnis/page/CustomCommandActivity.java | 2 +- .../ytdlnis/page/DownloadsFragment.java | 28 +- .../page/settings/SettingsFragment.java | 359 ------------ .../ytdlnis/page/settings/SettingsFragment.kt | 329 +++++++++++ .../ytdlnis/service/IDownloaderService.java | 2 +- .../com/deniscerri/ytdlnis/util/FileUtil.kt | 92 ++- .../com/deniscerri/ytdlnis/util/InfoUtil.kt | 34 +- app/src/main/res/layout/activity_settings.xml | 1 - app/src/main/res/values-v31/styles.xml | 7 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/values/styles.xml | 3 + 16 files changed, 990 insertions(+), 920 deletions(-) delete mode 100644 app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java create mode 100644 app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.kt delete mode 100644 app/src/main/java/com/deniscerri/ytdlnis/page/settings/SettingsFragment.java create mode 100644 app/src/main/java/com/deniscerri/ytdlnis/page/settings/SettingsFragment.kt create mode 100644 app/src/main/res/values-v31/styles.xml diff --git a/app/build.gradle b/app/build.gradle index 524e3b39..71dfe50c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,7 +30,7 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" archivesBaseName = "YTDLnis-$versionName" ndk { - abiFilters 'armeabi-v7a', 'arm64-v8a' + abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' } vectorDrawables { useSupportLibrary true @@ -75,7 +75,7 @@ android { abi { enable true reset() - include 'armeabi-v7a', 'arm64-v8a' + include 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' universalApk true } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 69b75151..2942d53f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,8 +4,11 @@ + + + + android:theme="@style/AppTheme" > diff --git a/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java b/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java deleted file mode 100644 index c1a0313f..00000000 --- a/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java +++ /dev/null @@ -1,519 +0,0 @@ -package com.deniscerri.ytdlnis; - -import android.app.Activity; -import android.app.Notification; -import android.app.PendingIntent; -import android.app.Service; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.os.Binder; -import android.os.IBinder; -import android.util.Log; -import android.widget.Toast; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.deniscerri.ytdlnis.database.Video; -import com.deniscerri.ytdlnis.page.CustomCommandActivity; -import com.deniscerri.ytdlnis.service.DownloadInfo; -import com.deniscerri.ytdlnis.service.IDownloaderListener; -import com.deniscerri.ytdlnis.service.IDownloaderService; -import com.deniscerri.ytdlnis.util.NotificationUtil; -import com.yausername.youtubedl_android.DownloadProgressCallback; -import com.yausername.youtubedl_android.YoutubeDL; -import com.yausername.youtubedl_android.YoutubeDLRequest; -import java.io.File; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.disposables.Disposable; -import io.reactivex.schedulers.Schedulers; - -public class DownloaderService extends Service { - - private LocalBinder binder = new LocalBinder(); - private Map> activities = new ConcurrentHashMap<>(); - private DownloadInfo downloadInfo = new DownloadInfo(); - private LinkedList