From ede17b31a20f36d2714940fe07902c7f52bde2d8 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Thu, 13 Oct 2022 02:28:37 +0300 Subject: [PATCH] move vkexecutors receiving to separate package --- .../java/com/vk/core/util/DownloadUtils.java | 4 ++-- .../vtosters/lite/concurrent/VTExecutors.java | 22 +++++++++++++++++++ .../lite/downloaders/AudioDownloader.java | 5 ++++- .../lite/hooks/MainActivityInjector.java | 7 +++--- 4 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 app/src/main/java/ru/vtosters/lite/concurrent/VTExecutors.java diff --git a/app/src/main/java/com/vk/core/util/DownloadUtils.java b/app/src/main/java/com/vk/core/util/DownloadUtils.java index 33365bc28..d771702ca 100644 --- a/app/src/main/java/com/vk/core/util/DownloadUtils.java +++ b/app/src/main/java/com/vk/core/util/DownloadUtils.java @@ -14,7 +14,6 @@ import android.util.Log; import com.facebook.common.i.MediaUtils; import com.facebook.x.g.EncodedImage; -import com.vk.core.concurrent.VkExecutors; import com.vk.imageloader.VKImageLoader; import com.vk.log.L; import com.vk.metrics.eventtracking.VkTracker; @@ -29,6 +28,7 @@ import java.util.HashSet; import b.h.g.m.CameraUtils; import b.h.g.m.FileUtils; +import ru.vtosters.lite.concurrent.VTExecutors; public class DownloadUtils { public static final HashSet a = new HashSet<>(); @@ -81,7 +81,7 @@ public class DownloadUtils { file.createNewFile(); } if (file.exists()) { - VkExecutors.x.e().execute(() -> { + VTExecutors.getIoExecutor().execute(() -> { try { FileUtils.b.a(h, new FileOutputStream(file), h.available(), null); ToastUtils.a(context.getString(R.string.file_saved, file.getAbsoluteFile())); diff --git a/app/src/main/java/ru/vtosters/lite/concurrent/VTExecutors.java b/app/src/main/java/ru/vtosters/lite/concurrent/VTExecutors.java new file mode 100644 index 000000000..ecd93ebf8 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/concurrent/VTExecutors.java @@ -0,0 +1,22 @@ +package ru.vtosters.lite.concurrent; + +import com.vk.core.concurrent.VkExecutors; + +import java.util.concurrent.ExecutorService; + +import io.reactivex.Scheduler; + +public class VTExecutors { + + public static ExecutorService getIoExecutor() { + return VkExecutors.x.e(); + } + + public static Scheduler getIoScheduler() { + return VkExecutors.x.f(); + } + + public static Scheduler getSlowTasksScheduler() { + return VkExecutors.x.q(); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java index 8b278cb17..c2ee0ed99 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java @@ -10,6 +10,8 @@ import com.vk.dto.music.Playlist; import com.vtosters.lite.R; import java.io.File; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import bruhcollective.itaysonlab.libvkx.client.LibVKXClient; import ru.vtosters.lite.music.cache.CacheDatabaseDelegate; @@ -30,6 +32,7 @@ import ru.vtosters.lite.utils.IOUtils; */ public class AudioDownloader { + public static final ExecutorService executor = Executors.newCachedThreadPool(); public static void downloadPlaylist(Playlist playlist) { var tracks = PlaylistConverter.getPlaylist(playlist); @@ -66,7 +69,7 @@ public class AudioDownloader { var trackFile = FileCacheImplementation.getTrackFile(trackId); if (!trackFile.exists()) trackFile.getParentFile().mkdirs(); - downloadM3U8(track, true); + executor.submit(() -> downloadM3U8(track, true)); } public static void cachePlaylist(Playlist playlist) { diff --git a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java index da83f98b7..9997b0941 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java @@ -11,9 +11,8 @@ import android.app.Activity; import android.os.Build; import android.preference.PreferenceManager; -import com.vk.core.concurrent.VkExecutors; - import ru.vtosters.lite.downloaders.notifications.NotificationChannels; +import ru.vtosters.lite.concurrent.VTExecutors; import ru.vtosters.lite.ui.dialogs.DisableBattery; import ru.vtosters.lite.ui.dialogs.InstallGMS; import ru.vtosters.lite.ui.dialogs.OTADialog; @@ -25,12 +24,12 @@ public class MainActivityInjector { setNeededTheme(activity); sendRequest(); if (checkupdates()) OTADialog.checkUpdates(activity); - VkExecutors.x.f().a(DeletedMessagesHandler::reloadMessagesList); // ioScheduler + VTExecutors.getIoScheduler().a(DeletedMessagesHandler::reloadMessagesList); // ioScheduler Start.alert(activity); InstallGMS.alert(activity); DisableBattery.alert(activity); - VkExecutors.x.q().a(() -> { + VTExecutors.getSlowTasksScheduler().a(() -> { getInstance().autoCleaningCache(); }); // slowTasksScheduler