From 8828fc205f5eef4f2983f2b4a26460ee3952d5a5 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Thu, 22 Sep 2022 17:52:00 +0200 Subject: [PATCH 1/3] database cleanup --- .../libretube/api/SubscriptionHelper.kt | 30 +++++++++---------- .../com/github/libretube/db/DatabaseHelper.kt | 25 ++++++++-------- .../github/libretube/extensions/AwaitQuery.kt | 13 ++++++++ .../com/github/libretube/extensions/Query.kt | 8 ++++- .../extensions/SetWatchProgressLength.kt | 15 +++++----- .../ui/adapters/SearchHistoryAdapter.kt | 5 ++-- .../libretube/ui/dialogs/BackupDialog.kt | 5 ++-- .../ui/dialogs/CustomInstanceDialog.kt | 5 ++-- .../libretube/ui/dialogs/ShareDialog.kt | 8 ++--- .../libretube/ui/fragments/PlayerFragment.kt | 26 ++++++---------- .../libretube/ui/fragments/SearchFragment.kt | 9 +++--- .../ui/fragments/WatchHistoryFragment.kt | 9 +++--- .../ui/preferences/HistorySettings.kt | 5 ++-- .../ui/preferences/InstanceSettings.kt | 13 ++++---- 14 files changed, 93 insertions(+), 83 deletions(-) create mode 100644 app/src/main/java/com/github/libretube/extensions/AwaitQuery.kt diff --git a/app/src/main/java/com/github/libretube/api/SubscriptionHelper.kt b/app/src/main/java/com/github/libretube/api/SubscriptionHelper.kt index c39936590..a1498ae65 100644 --- a/app/src/main/java/com/github/libretube/api/SubscriptionHelper.kt +++ b/app/src/main/java/com/github/libretube/api/SubscriptionHelper.kt @@ -6,6 +6,8 @@ import com.github.libretube.db.DatabaseHolder.Companion.Database import com.github.libretube.db.obj.LocalSubscription import com.github.libretube.extensions.TAG import com.github.libretube.extensions.await +import com.github.libretube.extensions.awaitQuery +import com.github.libretube.extensions.query import com.github.libretube.util.PreferenceHelper import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -26,11 +28,11 @@ object SubscriptionHelper { } } } else { - Thread { + query { Database.localSubscriptionDao().insertAll( LocalSubscription(channelId) ) - }.start() + } } } @@ -47,11 +49,11 @@ object SubscriptionHelper { } } } else { - Thread { + query { Database.localSubscriptionDao().delete( LocalSubscription(channelId) ) - }.start() + } } } @@ -68,11 +70,9 @@ object SubscriptionHelper { } return isSubscribed.subscribed } else { - var isSubscribed = false - Thread { - isSubscribed = Database.localSubscriptionDao().includes(channelId) - }.await() - return isSubscribed + return awaitQuery { + Database.localSubscriptionDao().includes(channelId) + } } } @@ -93,20 +93,18 @@ object SubscriptionHelper { newChannels.forEach { newLocalSubscriptions += LocalSubscription(channelId = it) } - Thread { + query { Database.localSubscriptionDao().insertAll( *newChannels.map { LocalSubscription(it) }.toTypedArray() ) - }.start() + } } } fun getLocalSubscriptions(): List { - var localSubscriptions = listOf() - Thread { - localSubscriptions = Database.localSubscriptionDao().getAll() - }.await() - return localSubscriptions + return awaitQuery { + Database.localSubscriptionDao().getAll() + } } fun getFormattedLocalSubscriptions(): String { diff --git a/app/src/main/java/com/github/libretube/db/DatabaseHelper.kt b/app/src/main/java/com/github/libretube/db/DatabaseHelper.kt index f8ea13d62..c5c2a21c8 100644 --- a/app/src/main/java/com/github/libretube/db/DatabaseHelper.kt +++ b/app/src/main/java/com/github/libretube/db/DatabaseHelper.kt @@ -6,11 +6,12 @@ import com.github.libretube.db.DatabaseHolder.Companion.Database import com.github.libretube.db.obj.SearchHistoryItem import com.github.libretube.db.obj.WatchHistoryItem import com.github.libretube.db.obj.WatchPosition +import com.github.libretube.extensions.query import com.github.libretube.extensions.toID import com.github.libretube.util.PreferenceHelper object DatabaseHelper { - fun addToWatchHistory(videoId: String, streams: com.github.libretube.api.obj.Streams) { + fun addToWatchHistory(videoId: String, streams: Streams) { val watchHistoryItem = WatchHistoryItem( videoId, streams.title, @@ -21,11 +22,11 @@ object DatabaseHelper { streams.thumbnailUrl, streams.duration ) - Thread { + query { Database.watchHistoryDao().insertAll(watchHistoryItem) val maxHistorySize = PreferenceHelper.getString(PreferenceKeys.WATCH_HISTORY_SIZE, "unlimited") - if (maxHistorySize == "unlimited") return@Thread + if (maxHistorySize == "unlimited") return@query // delete the first watch history entry if the limit is reached val watchHistory = Database.watchHistoryDao().getAll() @@ -33,15 +34,15 @@ object DatabaseHelper { Database.watchHistoryDao() .delete(watchHistory.first()) } - }.start() + } } fun removeFromWatchHistory(index: Int) { - Thread { + query { Database.watchHistoryDao().delete( Database.watchHistoryDao().getAll()[index] ) - }.start() + } } fun saveWatchPosition(videoId: String, position: Long) { @@ -49,21 +50,21 @@ object DatabaseHelper { videoId, position ) - Thread { + query { Database.watchPositionDao().insertAll(watchPosition) - }.start() + } } fun removeWatchPosition(videoId: String) { - Thread { + query { Database.watchPositionDao().findById(videoId)?.let { Database.watchPositionDao().delete(it) } - }.start() + } } fun addToSearchHistory(searchHistoryItem: SearchHistoryItem) { - Thread { + query { Database.searchHistoryDao().insertAll(searchHistoryItem) val maxHistorySize = 20 @@ -73,6 +74,6 @@ object DatabaseHelper { Database.searchHistoryDao() .delete(searchHistory.first()) } - }.start() + } } } diff --git a/app/src/main/java/com/github/libretube/extensions/AwaitQuery.kt b/app/src/main/java/com/github/libretube/extensions/AwaitQuery.kt new file mode 100644 index 000000000..f9dbe822a --- /dev/null +++ b/app/src/main/java/com/github/libretube/extensions/AwaitQuery.kt @@ -0,0 +1,13 @@ +package com.github.libretube.extensions + +fun awaitQuery( + query: () -> T +):T { + var x: T? = null + val thread = Thread { + x = query.invoke() + } + thread.start() + thread.join() + return x!! +} \ No newline at end of file diff --git a/app/src/main/java/com/github/libretube/extensions/Query.kt b/app/src/main/java/com/github/libretube/extensions/Query.kt index 3cc5a81ff..273858e67 100644 --- a/app/src/main/java/com/github/libretube/extensions/Query.kt +++ b/app/src/main/java/com/github/libretube/extensions/Query.kt @@ -1,5 +1,11 @@ package com.github.libretube.extensions fun query(block: () -> Unit) { - Thread(block).start() + Thread { + try { + block.invoke() + } catch (e: Exception) { + e.printStackTrace() + } + }.start() } diff --git a/app/src/main/java/com/github/libretube/extensions/SetWatchProgressLength.kt b/app/src/main/java/com/github/libretube/extensions/SetWatchProgressLength.kt index 6eb979353..fed3039b7 100644 --- a/app/src/main/java/com/github/libretube/extensions/SetWatchProgressLength.kt +++ b/app/src/main/java/com/github/libretube/extensions/SetWatchProgressLength.kt @@ -10,15 +10,14 @@ import com.github.libretube.db.DatabaseHolder.Companion.Database */ fun View?.setWatchProgressLength(videoId: String, duration: Long) { val view = this!! - var progress: Long? = null - Thread { - try { - progress = Database.watchPositionDao().findById(videoId)?.position - } catch (e: Exception) { - progress = null + val progress = try { + awaitQuery { + Database.watchPositionDao().findById(videoId)?.position } - }.await() + } catch (e: Exception) { + return + } view.getViewTreeObserver() .addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener { @@ -29,7 +28,7 @@ fun View?.setWatchProgressLength(videoId: String, duration: Long) { return } val fullWidth = (parent as LinearLayout).width - val newWidth = (fullWidth * (progress!! / (duration))) / 1000 + val newWidth = (fullWidth * (progress / duration)) / 1000 val lp = view.layoutParams lp.width = newWidth.toInt() view.layoutParams = lp diff --git a/app/src/main/java/com/github/libretube/ui/adapters/SearchHistoryAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/SearchHistoryAdapter.kt index 1326ac7ee..d050c624d 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/SearchHistoryAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/SearchHistoryAdapter.kt @@ -7,6 +7,7 @@ import androidx.recyclerview.widget.RecyclerView import com.github.libretube.databinding.SearchhistoryRowBinding import com.github.libretube.db.DatabaseHolder.Companion.Database import com.github.libretube.db.obj.SearchHistoryItem +import com.github.libretube.extensions.query class SearchHistoryAdapter( private var historyList: List, @@ -32,11 +33,11 @@ class SearchHistoryAdapter( deleteHistory.setOnClickListener { val itemIndex = historyList.indexOf(historyQuery) historyList -= historyQuery - Thread { + query { Database.searchHistoryDao().delete( SearchHistoryItem(query = historyQuery) ) - }.start() + } notifyItemRemoved(itemIndex) } diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/BackupDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/BackupDialog.kt index c9c0b233b..7ebd1c620 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/BackupDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/BackupDialog.kt @@ -11,6 +11,7 @@ import com.github.libretube.extensions.await import com.github.libretube.obj.BackupFile import com.github.libretube.ui.adapters.BackupOptionsAdapter import com.google.android.material.dialog.MaterialAlertDialogBuilder +import kotlinx.coroutines.runBlocking class BackupDialog( private val createBackupFile: (BackupFile) -> Unit @@ -42,7 +43,7 @@ class BackupDialog( .setView(binding.root) .setNegativeButton(R.string.cancel, null) .setPositiveButton(R.string.backup) { _, _ -> - Thread { + runBlocking { if (selected[0]) { backupFile.watchHistory = Database.watchHistoryDao().getAll() @@ -63,7 +64,7 @@ class BackupDialog( backupFile.customInstances = Database.customInstanceDao().getAll() } - }.await() + } createBackupFile(backupFile) } diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/CustomInstanceDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/CustomInstanceDialog.kt index 44058104d..86aa9343f 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/CustomInstanceDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/CustomInstanceDialog.kt @@ -8,6 +8,7 @@ import com.github.libretube.R import com.github.libretube.databinding.DialogCustomInstanceBinding import com.github.libretube.db.DatabaseHolder.Companion.Database import com.github.libretube.db.obj.CustomInstance +import com.github.libretube.extensions.query import com.github.libretube.util.ThemeHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder import java.net.URL @@ -39,9 +40,9 @@ class CustomInstanceDialog : DialogFragment() { URL(customInstance.apiUrl).toURI() URL(customInstance.frontendUrl).toURI() - Thread { + query { Database.customInstanceDao().insertAll(customInstance) - }.start() + } activity?.recreate() dismiss() diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt index 9756bc45c..5e79b6495 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt @@ -12,6 +12,7 @@ import com.github.libretube.databinding.DialogShareBinding import com.github.libretube.db.DatabaseHolder.Companion.Database import com.github.libretube.db.obj.CustomInstance import com.github.libretube.extensions.await +import com.github.libretube.extensions.awaitQuery import com.github.libretube.util.PreferenceHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder @@ -80,10 +81,9 @@ class ShareDialog( ) // get the api urls of the other custom instances - var customInstances = listOf() - Thread { - customInstances = Database.customInstanceDao().getAll() - }.await() + val customInstances = awaitQuery { + Database.customInstanceDao().getAll() + } // return the custom instance frontend url if available customInstances.forEach { instance -> diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt index 493c8c505..b00783295 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt @@ -46,13 +46,7 @@ import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding import com.github.libretube.databinding.FragmentPlayerBinding import com.github.libretube.db.DatabaseHelper import com.github.libretube.db.DatabaseHolder.Companion.Database -import com.github.libretube.extensions.BaseFragment -import com.github.libretube.extensions.TAG -import com.github.libretube.extensions.await -import com.github.libretube.extensions.formatShort -import com.github.libretube.extensions.hideKeyboard -import com.github.libretube.extensions.query -import com.github.libretube.extensions.toID +import com.github.libretube.extensions.* import com.github.libretube.interfaces.PlayerOptionsInterface import com.github.libretube.models.PlayerViewModel import com.github.libretube.services.BackgroundMode @@ -861,17 +855,15 @@ class PlayerFragment : BaseFragment() { return } // browse the watch positions - var position: Long? = null - Thread { - try { - position = Database.watchPositionDao().findById(videoId!!)?.position - // position is almost the end of the video => don't seek, start from beginning - if (position!! > streams.duration!! * 1000 * 0.9) position = null - } catch (e: Exception) { - e.printStackTrace() + val position = try { + awaitQuery { + Database.watchPositionDao().findById(videoId!!)?.position } - }.await() - if (position != null) exoPlayer.seekTo(position!!) + } catch (e: Exception) { + return + } + // position is almost the end of the video => don't seek, start from beginning + if (position != null && position < streams.duration!! * 1000 * 0.9) exoPlayer.seekTo(position) } // used for autoplay and skipping to next video diff --git a/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt index c796f7bc4..bac9780b4 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt @@ -16,6 +16,7 @@ import com.github.libretube.db.DatabaseHolder.Companion.Database import com.github.libretube.extensions.BaseFragment import com.github.libretube.extensions.TAG import com.github.libretube.extensions.await +import com.github.libretube.extensions.awaitQuery import com.github.libretube.models.SearchViewModel import com.github.libretube.ui.activities.MainActivity import com.github.libretube.ui.adapters.SearchHistoryAdapter @@ -95,11 +96,9 @@ class SearchFragment : BaseFragment() { } private fun showHistory() { - var historyList = listOf() - Thread { - val history = Database.searchHistoryDao().getAll() - historyList = history.map { it.query } - }.await() + val historyList = awaitQuery { + Database.searchHistoryDao().getAll().map { it.query } + } if (historyList.isNotEmpty()) { binding.suggestionsRecycler.adapter = SearchHistoryAdapter( diff --git a/app/src/main/java/com/github/libretube/ui/fragments/WatchHistoryFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/WatchHistoryFragment.kt index 3ab9820e0..80d0605ef 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/WatchHistoryFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/WatchHistoryFragment.kt @@ -12,6 +12,7 @@ import com.github.libretube.db.DatabaseHolder.Companion.Database import com.github.libretube.db.obj.WatchHistoryItem import com.github.libretube.extensions.BaseFragment import com.github.libretube.extensions.await +import com.github.libretube.extensions.awaitQuery import com.github.libretube.ui.adapters.WatchHistoryAdapter class WatchHistoryFragment : BaseFragment() { @@ -29,11 +30,9 @@ class WatchHistoryFragment : BaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - var watchHistory = listOf() - - Thread { - watchHistory = Database.watchHistoryDao().getAll() - }.await() + val watchHistory = awaitQuery { + Database.watchHistoryDao().getAll() + } if (watchHistory.isEmpty()) return diff --git a/app/src/main/java/com/github/libretube/ui/preferences/HistorySettings.kt b/app/src/main/java/com/github/libretube/ui/preferences/HistorySettings.kt index 04eb1fb4b..76cf62482 100644 --- a/app/src/main/java/com/github/libretube/ui/preferences/HistorySettings.kt +++ b/app/src/main/java/com/github/libretube/ui/preferences/HistorySettings.kt @@ -5,6 +5,7 @@ import androidx.preference.Preference import com.github.libretube.R import com.github.libretube.constants.PreferenceKeys import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.extensions.query import com.github.libretube.ui.activities.SettingsActivity import com.github.libretube.ui.views.MaterialPreferenceFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder @@ -52,9 +53,7 @@ class HistorySettings : MaterialPreferenceFragment() { .setNegativeButton(R.string.cancel, null) .setPositiveButton(R.string.okay) { _, _ -> // clear the selected preference preferences - Thread { - action() - }.start() + query(action) } .show() } diff --git a/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt b/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt index ccd1a029c..1c5b1bb9f 100644 --- a/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt +++ b/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt @@ -17,6 +17,8 @@ import com.github.libretube.constants.PreferenceKeys import com.github.libretube.db.DatabaseHolder.Companion.Database import com.github.libretube.db.obj.CustomInstance import com.github.libretube.extensions.await +import com.github.libretube.extensions.awaitQuery +import com.github.libretube.extensions.query import com.github.libretube.ui.activities.SettingsActivity import com.github.libretube.ui.dialogs.CustomInstanceDialog import com.github.libretube.ui.dialogs.DeleteAccountDialog @@ -110,9 +112,9 @@ class InstanceSettings : MaterialPreferenceFragment() { val clearCustomInstances = findPreference(PreferenceKeys.CLEAR_CUSTOM_INSTANCES) clearCustomInstances?.setOnPreferenceClickListener { - Thread { + awaitQuery { Database.customInstanceDao().deleteAll() - }.await() + } activity?.recreate() true } @@ -156,10 +158,9 @@ class InstanceSettings : MaterialPreferenceFragment() { private fun initCustomInstances(instancePref: ListPreference) { lifecycleScope.launchWhenCreated { - var customInstances = listOf() - Thread { - customInstances = Database.customInstanceDao().getAll() - }.await() + val customInstances = awaitQuery { + Database.customInstanceDao().getAll() + } val instanceNames = arrayListOf() val instanceValues = arrayListOf() From 228ec7860a7124019e1bd8c80c87ee54ec0d6762 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Thu, 22 Sep 2022 17:59:15 +0200 Subject: [PATCH 2/3] remove unused code --- .../com/github/libretube/api/ExternalApi.kt | 1 - .../java/com/github/libretube/api/PipedApi.kt | 23 +-------------- .../libretube/api/SubscriptionHelper.kt | 2 -- .../com/github/libretube/db/AppDatabase.kt | 12 ++------ .../libretube/db/dao/CustomInstanceDao.kt | 6 +--- .../libretube/db/dao/LocalSubscriptionDao.kt | 6 +--- .../libretube/db/dao/SearchHistoryDao.kt | 6 +--- .../libretube/db/dao/WatchHistoryDao.kt | 6 +--- .../libretube/db/dao/WatchPositionDao.kt | 6 +--- .../com/github/libretube/extensions/Await.kt | 8 ----- .../github/libretube/extensions/AwaitQuery.kt | 4 +-- .../models/SubscriptionsViewModel.kt | 2 -- .../com/github/libretube/obj/BackupFile.kt | 6 +--- .../libretube/services/BackgroundMode.kt | 9 +----- .../sheets/PlaylistOptionsBottomSheet.kt | 3 +- .../libretube/ui/activities/AboutActivity.kt | 7 +---- .../ui/activities/CommunityActivity.kt | 6 +--- .../libretube/ui/activities/MainActivity.kt | 7 +---- .../libretube/ui/adapters/ChannelAdapter.kt | 1 - .../libretube/ui/adapters/ChaptersAdapter.kt | 1 - .../libretube/ui/adapters/CommentsAdapter.kt | 3 +- .../ui/adapters/LegacySubscriptionAdapter.kt | 1 - .../libretube/ui/adapters/PlaylistAdapter.kt | 4 +-- .../libretube/ui/adapters/PlaylistsAdapter.kt | 4 +-- .../libretube/ui/adapters/RepliesAdapter.kt | 1 - .../libretube/ui/adapters/SearchAdapter.kt | 11 +++++-- .../ui/adapters/SubscriptionChannelAdapter.kt | 1 - .../libretube/ui/adapters/TrendingAdapter.kt | 1 - .../ui/dialogs/AddToPlaylistDialog.kt | 3 +- .../libretube/ui/dialogs/BackupDialog.kt | 8 ++--- .../ui/dialogs/CreatePlaylistDialog.kt | 3 +- .../ui/dialogs/DeleteAccountDialog.kt | 1 - .../libretube/ui/dialogs/DownloadDialog.kt | 3 +- .../libretube/ui/dialogs/LoginDialog.kt | 3 +- .../libretube/ui/dialogs/ShareDialog.kt | 2 -- .../libretube/ui/fragments/ChannelFragment.kt | 2 +- .../libretube/ui/fragments/HomeFragment.kt | 2 +- .../libretube/ui/fragments/LibraryFragment.kt | 2 +- .../libretube/ui/fragments/PlayerFragment.kt | 29 +++++-------------- .../ui/fragments/PlaylistFragment.kt | 2 +- .../libretube/ui/fragments/SearchFragment.kt | 3 +- .../ui/fragments/SearchResultFragment.kt | 2 +- .../ui/fragments/WatchHistoryFragment.kt | 2 -- .../ui/preferences/InstanceSettings.kt | 3 -- .../github/libretube/util/AutoPlayHelper.kt | 1 - .../com/github/libretube/util/ImportHelper.kt | 2 +- .../libretube/util/NotificationHelper.kt | 8 ++--- .../com/github/libretube/util/PlayerHelper.kt | 6 ++-- app/src/main/res/drawable/ic_drag.xml | 4 +-- 49 files changed, 58 insertions(+), 181 deletions(-) delete mode 100644 app/src/main/java/com/github/libretube/extensions/Await.kt diff --git a/app/src/main/java/com/github/libretube/api/ExternalApi.kt b/app/src/main/java/com/github/libretube/api/ExternalApi.kt index ab9c8d3eb..196ff53cb 100644 --- a/app/src/main/java/com/github/libretube/api/ExternalApi.kt +++ b/app/src/main/java/com/github/libretube/api/ExternalApi.kt @@ -1,6 +1,5 @@ package com.github.libretube.api -import com.github.libretube.api.obj.Instances import com.github.libretube.constants.GITHUB_API_URL import com.github.libretube.constants.PIPED_INSTANCES_URL import com.github.libretube.obj.update.UpdateInfo diff --git a/app/src/main/java/com/github/libretube/api/PipedApi.kt b/app/src/main/java/com/github/libretube/api/PipedApi.kt index 1dd62eb3c..8d8c67831 100644 --- a/app/src/main/java/com/github/libretube/api/PipedApi.kt +++ b/app/src/main/java/com/github/libretube/api/PipedApi.kt @@ -1,27 +1,6 @@ package com.github.libretube.api -import com.github.libretube.api.obj.Channel -import com.github.libretube.api.obj.CommentsPage -import com.github.libretube.api.obj.DeleteUserRequest -import com.github.libretube.api.obj.Login -import com.github.libretube.api.obj.Message -import com.github.libretube.api.obj.Playlist -import com.github.libretube.api.obj.PlaylistId -import com.github.libretube.api.obj.Playlists -import com.github.libretube.api.obj.SearchResult -import com.github.libretube.api.obj.Segments -import com.github.libretube.api.obj.StreamItem -import com.github.libretube.api.obj.Streams -import com.github.libretube.api.obj.Subscribe -import com.github.libretube.api.obj.Subscribed -import com.github.libretube.api.obj.Subscription -import com.github.libretube.api.obj.Token -import retrofit2.http.Body -import retrofit2.http.GET -import retrofit2.http.Header -import retrofit2.http.POST -import retrofit2.http.Path -import retrofit2.http.Query +import retrofit2.http.* interface PipedApi { @GET("trending") diff --git a/app/src/main/java/com/github/libretube/api/SubscriptionHelper.kt b/app/src/main/java/com/github/libretube/api/SubscriptionHelper.kt index a1498ae65..86c241d7f 100644 --- a/app/src/main/java/com/github/libretube/api/SubscriptionHelper.kt +++ b/app/src/main/java/com/github/libretube/api/SubscriptionHelper.kt @@ -1,11 +1,9 @@ package com.github.libretube.api import android.util.Log -import com.github.libretube.api.obj.Subscribe import com.github.libretube.db.DatabaseHolder.Companion.Database import com.github.libretube.db.obj.LocalSubscription import com.github.libretube.extensions.TAG -import com.github.libretube.extensions.await import com.github.libretube.extensions.awaitQuery import com.github.libretube.extensions.query import com.github.libretube.util.PreferenceHelper diff --git a/app/src/main/java/com/github/libretube/db/AppDatabase.kt b/app/src/main/java/com/github/libretube/db/AppDatabase.kt index 88daecd16..7895e0a12 100644 --- a/app/src/main/java/com/github/libretube/db/AppDatabase.kt +++ b/app/src/main/java/com/github/libretube/db/AppDatabase.kt @@ -2,16 +2,8 @@ package com.github.libretube.db import androidx.room.Database import androidx.room.RoomDatabase -import com.github.libretube.db.dao.CustomInstanceDao -import com.github.libretube.db.dao.LocalSubscriptionDao -import com.github.libretube.db.dao.SearchHistoryDao -import com.github.libretube.db.dao.WatchHistoryDao -import com.github.libretube.db.dao.WatchPositionDao -import com.github.libretube.db.obj.CustomInstance -import com.github.libretube.db.obj.LocalSubscription -import com.github.libretube.db.obj.SearchHistoryItem -import com.github.libretube.db.obj.WatchHistoryItem -import com.github.libretube.db.obj.WatchPosition +import com.github.libretube.db.dao.* +import com.github.libretube.db.obj.* @Database( entities = [ diff --git a/app/src/main/java/com/github/libretube/db/dao/CustomInstanceDao.kt b/app/src/main/java/com/github/libretube/db/dao/CustomInstanceDao.kt index 182db494e..c0dcc0420 100644 --- a/app/src/main/java/com/github/libretube/db/dao/CustomInstanceDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/CustomInstanceDao.kt @@ -1,10 +1,6 @@ package com.github.libretube.db.dao -import androidx.room.Dao -import androidx.room.Delete -import androidx.room.Insert -import androidx.room.OnConflictStrategy -import androidx.room.Query +import androidx.room.* import com.github.libretube.db.obj.CustomInstance @Dao diff --git a/app/src/main/java/com/github/libretube/db/dao/LocalSubscriptionDao.kt b/app/src/main/java/com/github/libretube/db/dao/LocalSubscriptionDao.kt index a925f3535..cd5d6b988 100644 --- a/app/src/main/java/com/github/libretube/db/dao/LocalSubscriptionDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/LocalSubscriptionDao.kt @@ -1,10 +1,6 @@ package com.github.libretube.db.dao -import androidx.room.Dao -import androidx.room.Delete -import androidx.room.Insert -import androidx.room.OnConflictStrategy -import androidx.room.Query +import androidx.room.* import com.github.libretube.db.obj.LocalSubscription @Dao diff --git a/app/src/main/java/com/github/libretube/db/dao/SearchHistoryDao.kt b/app/src/main/java/com/github/libretube/db/dao/SearchHistoryDao.kt index 4556d4a13..632e8f150 100644 --- a/app/src/main/java/com/github/libretube/db/dao/SearchHistoryDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/SearchHistoryDao.kt @@ -1,10 +1,6 @@ package com.github.libretube.db.dao -import androidx.room.Dao -import androidx.room.Delete -import androidx.room.Insert -import androidx.room.OnConflictStrategy -import androidx.room.Query +import androidx.room.* import com.github.libretube.db.obj.SearchHistoryItem @Dao diff --git a/app/src/main/java/com/github/libretube/db/dao/WatchHistoryDao.kt b/app/src/main/java/com/github/libretube/db/dao/WatchHistoryDao.kt index dfa5b732a..9258102ee 100644 --- a/app/src/main/java/com/github/libretube/db/dao/WatchHistoryDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/WatchHistoryDao.kt @@ -1,10 +1,6 @@ package com.github.libretube.db.dao -import androidx.room.Dao -import androidx.room.Delete -import androidx.room.Insert -import androidx.room.OnConflictStrategy -import androidx.room.Query +import androidx.room.* import com.github.libretube.db.obj.WatchHistoryItem @Dao diff --git a/app/src/main/java/com/github/libretube/db/dao/WatchPositionDao.kt b/app/src/main/java/com/github/libretube/db/dao/WatchPositionDao.kt index 6855eaab4..9c4dc825e 100644 --- a/app/src/main/java/com/github/libretube/db/dao/WatchPositionDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/WatchPositionDao.kt @@ -1,10 +1,6 @@ package com.github.libretube.db.dao -import androidx.room.Dao -import androidx.room.Delete -import androidx.room.Insert -import androidx.room.OnConflictStrategy -import androidx.room.Query +import androidx.room.* import com.github.libretube.db.obj.WatchPosition @Dao diff --git a/app/src/main/java/com/github/libretube/extensions/Await.kt b/app/src/main/java/com/github/libretube/extensions/Await.kt deleted file mode 100644 index f1ef91038..000000000 --- a/app/src/main/java/com/github/libretube/extensions/Await.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.github.libretube.extensions - -fun Thread.await() { - this.apply { - start() - join() - } -} diff --git a/app/src/main/java/com/github/libretube/extensions/AwaitQuery.kt b/app/src/main/java/com/github/libretube/extensions/AwaitQuery.kt index f9dbe822a..08f0d7ecc 100644 --- a/app/src/main/java/com/github/libretube/extensions/AwaitQuery.kt +++ b/app/src/main/java/com/github/libretube/extensions/AwaitQuery.kt @@ -2,7 +2,7 @@ package com.github.libretube.extensions fun awaitQuery( query: () -> T -):T { +): T { var x: T? = null val thread = Thread { x = query.invoke() @@ -10,4 +10,4 @@ fun awaitQuery( thread.start() thread.join() return x!! -} \ No newline at end of file +} diff --git a/app/src/main/java/com/github/libretube/models/SubscriptionsViewModel.kt b/app/src/main/java/com/github/libretube/models/SubscriptionsViewModel.kt index fd139e4be..0a9518fc4 100644 --- a/app/src/main/java/com/github/libretube/models/SubscriptionsViewModel.kt +++ b/app/src/main/java/com/github/libretube/models/SubscriptionsViewModel.kt @@ -5,8 +5,6 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import com.github.libretube.api.RetrofitInstance import com.github.libretube.api.SubscriptionHelper -import com.github.libretube.api.obj.StreamItem -import com.github.libretube.api.obj.Subscription import com.github.libretube.extensions.TAG import com.github.libretube.extensions.toID import com.github.libretube.util.PreferenceHelper diff --git a/app/src/main/java/com/github/libretube/obj/BackupFile.kt b/app/src/main/java/com/github/libretube/obj/BackupFile.kt index 3ab5320ce..8f2d47517 100644 --- a/app/src/main/java/com/github/libretube/obj/BackupFile.kt +++ b/app/src/main/java/com/github/libretube/obj/BackupFile.kt @@ -1,10 +1,6 @@ package com.github.libretube.obj -import com.github.libretube.db.obj.CustomInstance -import com.github.libretube.db.obj.LocalSubscription -import com.github.libretube.db.obj.SearchHistoryItem -import com.github.libretube.db.obj.WatchHistoryItem -import com.github.libretube.db.obj.WatchPosition +import com.github.libretube.db.obj.* data class BackupFile( var watchHistory: List? = null, diff --git a/app/src/main/java/com/github/libretube/services/BackgroundMode.kt b/app/src/main/java/com/github/libretube/services/BackgroundMode.kt index 2c715e3a9..96f34708b 100644 --- a/app/src/main/java/com/github/libretube/services/BackgroundMode.kt +++ b/app/src/main/java/com/github/libretube/services/BackgroundMode.kt @@ -14,9 +14,6 @@ import android.widget.Toast import com.fasterxml.jackson.databind.ObjectMapper import com.github.libretube.R import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.Segment -import com.github.libretube.api.obj.Segments -import com.github.libretube.api.obj.Streams import com.github.libretube.constants.BACKGROUND_CHANNEL_ID import com.github.libretube.constants.IntentData import com.github.libretube.constants.PLAYER_NOTIFICATION_ID @@ -24,11 +21,7 @@ import com.github.libretube.constants.PreferenceKeys import com.github.libretube.db.DatabaseHelper import com.github.libretube.extensions.query import com.github.libretube.extensions.toID -import com.github.libretube.util.AutoPlayHelper -import com.github.libretube.util.NowPlayingNotification -import com.github.libretube.util.PlayerHelper -import com.github.libretube.util.PlayingQueue -import com.github.libretube.util.PreferenceHelper +import com.github.libretube.util.* import com.google.android.exoplayer2.C import com.google.android.exoplayer2.ExoPlayer import com.google.android.exoplayer2.MediaItem diff --git a/app/src/main/java/com/github/libretube/sheets/PlaylistOptionsBottomSheet.kt b/app/src/main/java/com/github/libretube/sheets/PlaylistOptionsBottomSheet.kt index 8a1201830..20f98eb3c 100644 --- a/app/src/main/java/com/github/libretube/sheets/PlaylistOptionsBottomSheet.kt +++ b/app/src/main/java/com/github/libretube/sheets/PlaylistOptionsBottomSheet.kt @@ -6,7 +6,6 @@ import android.util.Log import android.widget.Toast import com.github.libretube.R import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.PlaylistId import com.github.libretube.databinding.DialogTextPreferenceBinding import com.github.libretube.extensions.TAG import com.github.libretube.extensions.toID @@ -15,12 +14,12 @@ import com.github.libretube.ui.views.BottomSheet import com.github.libretube.util.BackgroundHelper import com.github.libretube.util.PreferenceHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder +import java.io.IOException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import retrofit2.HttpException -import java.io.IOException class PlaylistOptionsBottomSheet( private val playlistId: String, diff --git a/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt index 277d65cc5..0d10c90ed 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt @@ -10,12 +10,7 @@ import android.os.Bundle import androidx.core.text.HtmlCompat import androidx.core.text.parseAsHtml import com.github.libretube.R -import com.github.libretube.constants.DONATE_URL -import com.github.libretube.constants.GITHUB_URL -import com.github.libretube.constants.LICENSE_URL -import com.github.libretube.constants.PIPED_GITHUB_URL -import com.github.libretube.constants.WEBLATE_URL -import com.github.libretube.constants.WEBSITE_URL +import com.github.libretube.constants.* import com.github.libretube.databinding.ActivityAboutBinding import com.github.libretube.extensions.BaseActivity import com.github.libretube.extensions.getStyledSnackBar diff --git a/app/src/main/java/com/github/libretube/ui/activities/CommunityActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/CommunityActivity.kt index b48da6bc0..764cb671e 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/CommunityActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/CommunityActivity.kt @@ -3,11 +3,7 @@ package com.github.libretube.ui.activities import android.content.Intent import android.net.Uri import android.os.Bundle -import com.github.libretube.constants.DISCORD_URL -import com.github.libretube.constants.MATRIX_URL -import com.github.libretube.constants.REDDIT_URL -import com.github.libretube.constants.TELEGRAM_URL -import com.github.libretube.constants.TWITTER_URL +import com.github.libretube.constants.* import com.github.libretube.databinding.ActivityCommunityBinding import com.github.libretube.extensions.BaseActivity diff --git a/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt index 74374a1c8..f2f0cf2ac 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt @@ -7,12 +7,7 @@ import android.os.Build import android.os.Bundle import android.os.Handler import android.os.Looper -import android.view.Menu -import android.view.MenuItem -import android.view.View -import android.view.WindowInsets -import android.view.WindowInsetsController -import android.view.WindowManager +import android.view.* import android.widget.Toast import androidx.activity.OnBackPressedCallback import androidx.appcompat.widget.SearchView diff --git a/app/src/main/java/com/github/libretube/ui/adapters/ChannelAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/ChannelAdapter.kt index 2f80e0ea7..f8c9b7905 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/ChannelAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/ChannelAdapter.kt @@ -5,7 +5,6 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView -import com.github.libretube.api.obj.StreamItem import com.github.libretube.databinding.VideoRowBinding import com.github.libretube.extensions.formatShort import com.github.libretube.extensions.setWatchProgressLength diff --git a/app/src/main/java/com/github/libretube/ui/adapters/ChaptersAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/ChaptersAdapter.kt index f75b43b85..baf9e555f 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/ChaptersAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/ChaptersAdapter.kt @@ -4,7 +4,6 @@ import android.graphics.Color import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.github.libretube.api.obj.ChapterSegment import com.github.libretube.databinding.ChapterColumnBinding import com.github.libretube.util.ImageHelper import com.github.libretube.util.ThemeHelper diff --git a/app/src/main/java/com/github/libretube/ui/adapters/CommentsAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/CommentsAdapter.kt index 199162429..18aa37443 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/CommentsAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/CommentsAdapter.kt @@ -9,18 +9,17 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.github.libretube.R import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.Comment import com.github.libretube.api.obj.CommentsPage import com.github.libretube.databinding.CommentsRowBinding import com.github.libretube.extensions.TAG import com.github.libretube.extensions.formatShort import com.github.libretube.util.ImageHelper import com.github.libretube.util.NavigationHelper +import java.io.IOException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import retrofit2.HttpException -import java.io.IOException class CommentsAdapter( private val videoId: String, diff --git a/app/src/main/java/com/github/libretube/ui/adapters/LegacySubscriptionAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/LegacySubscriptionAdapter.kt index 2bd0ad2bc..8b10d9053 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/LegacySubscriptionAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/LegacySubscriptionAdapter.kt @@ -3,7 +3,6 @@ package com.github.libretube.ui.adapters import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.github.libretube.api.obj.Subscription import com.github.libretube.databinding.LegacySubscriptionChannelBinding import com.github.libretube.extensions.toID import com.github.libretube.util.ImageHelper diff --git a/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt index 8880c73f7..3bc0429b7 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt @@ -8,8 +8,6 @@ import android.view.ViewGroup import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.PlaylistId -import com.github.libretube.api.obj.StreamItem import com.github.libretube.databinding.PlaylistRowBinding import com.github.libretube.extensions.TAG import com.github.libretube.extensions.setFormattedDuration @@ -19,11 +17,11 @@ import com.github.libretube.sheets.VideoOptionsBottomSheet import com.github.libretube.util.ImageHelper import com.github.libretube.util.NavigationHelper import com.github.libretube.util.PreferenceHelper +import java.io.IOException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import retrofit2.HttpException -import java.io.IOException class PlaylistAdapter( private val videoFeed: MutableList, diff --git a/app/src/main/java/com/github/libretube/ui/adapters/PlaylistsAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/PlaylistsAdapter.kt index a4614fa49..ed5fecf8d 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/PlaylistsAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/PlaylistsAdapter.kt @@ -8,8 +8,6 @@ import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView import com.github.libretube.R import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.PlaylistId -import com.github.libretube.api.obj.Playlists import com.github.libretube.databinding.PlaylistsRowBinding import com.github.libretube.extensions.TAG import com.github.libretube.sheets.PlaylistOptionsBottomSheet @@ -17,11 +15,11 @@ import com.github.libretube.util.ImageHelper import com.github.libretube.util.NavigationHelper import com.github.libretube.util.PreferenceHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder +import java.io.IOException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import retrofit2.HttpException -import java.io.IOException class PlaylistsAdapter( private val playlists: MutableList, diff --git a/app/src/main/java/com/github/libretube/ui/adapters/RepliesAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/RepliesAdapter.kt index ccf0571f8..8488cfe38 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/RepliesAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/RepliesAdapter.kt @@ -4,7 +4,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.github.libretube.api.obj.Comment import com.github.libretube.databinding.RepliesRowBinding import com.github.libretube.extensions.formatShort import com.github.libretube.util.ImageHelper diff --git a/app/src/main/java/com/github/libretube/ui/adapters/SearchAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/SearchAdapter.kt index 4e77f6657..9e7dcc43c 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/SearchAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/SearchAdapter.kt @@ -7,7 +7,6 @@ import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView import com.github.libretube.R import com.github.libretube.api.SubscriptionHelper -import com.github.libretube.api.obj.SearchItem import com.github.libretube.databinding.ChannelRowBinding import com.github.libretube.databinding.PlaylistSearchRowBinding import com.github.libretube.databinding.VideoRowBinding @@ -110,7 +109,10 @@ class SearchAdapter( } } - private fun bindChannel(item: com.github.libretube.api.obj.SearchItem, binding: ChannelRowBinding) { + private fun bindChannel( + item: com.github.libretube.api.obj.SearchItem, + binding: ChannelRowBinding + ) { binding.apply { ImageHelper.loadImage(item.thumbnail, searchChannelImage) searchChannelName.text = item.name @@ -157,7 +159,10 @@ class SearchAdapter( } } - private fun bindPlaylist(item: com.github.libretube.api.obj.SearchItem, binding: PlaylistSearchRowBinding) { + private fun bindPlaylist( + item: com.github.libretube.api.obj.SearchItem, + binding: PlaylistSearchRowBinding + ) { binding.apply { ImageHelper.loadImage(item.thumbnail, searchThumbnail) if (item.videos?.toInt() != -1) searchPlaylistNumber.text = item.videos.toString() diff --git a/app/src/main/java/com/github/libretube/ui/adapters/SubscriptionChannelAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/SubscriptionChannelAdapter.kt index ee7f36f9d..2d25c107c 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/SubscriptionChannelAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/SubscriptionChannelAdapter.kt @@ -5,7 +5,6 @@ import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.github.libretube.R import com.github.libretube.api.SubscriptionHelper -import com.github.libretube.api.obj.Subscription import com.github.libretube.databinding.ChannelSubscriptionRowBinding import com.github.libretube.extensions.toID import com.github.libretube.util.ImageHelper diff --git a/app/src/main/java/com/github/libretube/ui/adapters/TrendingAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/TrendingAdapter.kt index 8f4174e0e..13164c04d 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/TrendingAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/TrendingAdapter.kt @@ -5,7 +5,6 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView -import com.github.libretube.api.obj.StreamItem import com.github.libretube.databinding.TrendingRowBinding import com.github.libretube.extensions.formatShort import com.github.libretube.extensions.setFormattedDuration diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/AddToPlaylistDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/AddToPlaylistDialog.kt index 8b746c157..227438547 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/AddToPlaylistDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/AddToPlaylistDialog.kt @@ -11,7 +11,6 @@ import androidx.fragment.app.activityViewModels import androidx.lifecycle.lifecycleScope import com.github.libretube.R import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.PlaylistId import com.github.libretube.constants.IntentData import com.github.libretube.databinding.DialogAddtoplaylistBinding import com.github.libretube.extensions.TAG @@ -19,8 +18,8 @@ import com.github.libretube.models.PlaylistViewModel import com.github.libretube.util.PreferenceHelper import com.github.libretube.util.ThemeHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class AddToPlaylistDialog : DialogFragment() { private lateinit var binding: DialogAddtoplaylistBinding diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/BackupDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/BackupDialog.kt index 7ebd1c620..8474ea0a3 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/BackupDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/BackupDialog.kt @@ -7,18 +7,16 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.github.libretube.R import com.github.libretube.databinding.DialogBackupBinding import com.github.libretube.db.DatabaseHolder.Companion.Database -import com.github.libretube.extensions.await import com.github.libretube.obj.BackupFile import com.github.libretube.ui.adapters.BackupOptionsAdapter import com.google.android.material.dialog.MaterialAlertDialogBuilder -import kotlinx.coroutines.runBlocking class BackupDialog( private val createBackupFile: (BackupFile) -> Unit ) : DialogFragment() { private lateinit var binding: DialogBackupBinding - val backupFile = BackupFile() + private val backupFile = BackupFile() override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val backupOptions = listOf( @@ -43,7 +41,7 @@ class BackupDialog( .setView(binding.root) .setNegativeButton(R.string.cancel, null) .setPositiveButton(R.string.backup) { _, _ -> - runBlocking { + val thread = Thread { if (selected[0]) { backupFile.watchHistory = Database.watchHistoryDao().getAll() @@ -65,6 +63,8 @@ class BackupDialog( Database.customInstanceDao().getAll() } } + thread.start() + thread.join() createBackupFile(backupFile) } diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/CreatePlaylistDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/CreatePlaylistDialog.kt index 5291a679b..f259f6068 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/CreatePlaylistDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/CreatePlaylistDialog.kt @@ -8,15 +8,14 @@ import androidx.fragment.app.DialogFragment import androidx.lifecycle.lifecycleScope import com.github.libretube.R import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.Playlists import com.github.libretube.databinding.DialogCreatePlaylistBinding import com.github.libretube.extensions.TAG import com.github.libretube.ui.fragments.LibraryFragment import com.github.libretube.util.PreferenceHelper import com.github.libretube.util.ThemeHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class CreatePlaylistDialog : DialogFragment() { private var token: String = "" diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/DeleteAccountDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/DeleteAccountDialog.kt index a9b49fae0..fda1a495d 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/DeleteAccountDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/DeleteAccountDialog.kt @@ -8,7 +8,6 @@ import androidx.fragment.app.DialogFragment import androidx.lifecycle.lifecycleScope import com.github.libretube.R import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.DeleteUserRequest import com.github.libretube.databinding.DialogDeleteAccountBinding import com.github.libretube.extensions.TAG import com.github.libretube.util.PreferenceHelper diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt index 868f37416..95c210d7a 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt @@ -12,14 +12,13 @@ import androidx.fragment.app.DialogFragment import androidx.lifecycle.lifecycleScope import com.github.libretube.R import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.Streams import com.github.libretube.databinding.DialogDownloadBinding import com.github.libretube.extensions.TAG import com.github.libretube.services.DownloadService import com.github.libretube.util.ThemeHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class DownloadDialog( private val videoId: String diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt index 28bfa929f..1599745a4 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt @@ -8,14 +8,13 @@ import androidx.fragment.app.DialogFragment import androidx.lifecycle.lifecycleScope import com.github.libretube.R import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.Login import com.github.libretube.databinding.DialogLoginBinding import com.github.libretube.extensions.TAG import com.github.libretube.util.PreferenceHelper import com.github.libretube.util.ThemeHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class LoginDialog : DialogFragment() { private lateinit var binding: DialogLoginBinding diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt index 5e79b6495..6a12e33e7 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/ShareDialog.kt @@ -10,8 +10,6 @@ import com.github.libretube.constants.PreferenceKeys import com.github.libretube.constants.YOUTUBE_FRONTEND_URL import com.github.libretube.databinding.DialogShareBinding import com.github.libretube.db.DatabaseHolder.Companion.Database -import com.github.libretube.db.obj.CustomInstance -import com.github.libretube.extensions.await import com.github.libretube.extensions.awaitQuery import com.github.libretube.util.PreferenceHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder diff --git a/app/src/main/java/com/github/libretube/ui/fragments/ChannelFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/ChannelFragment.kt index b88f03142..8b566fe07 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/ChannelFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/ChannelFragment.kt @@ -18,8 +18,8 @@ import com.github.libretube.extensions.formatShort import com.github.libretube.extensions.toID import com.github.libretube.ui.adapters.ChannelAdapter import com.github.libretube.util.ImageHelper -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class ChannelFragment : BaseFragment() { private lateinit var binding: FragmentChannelBinding diff --git a/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt index aea4f99e1..45706c8d9 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt @@ -19,8 +19,8 @@ import com.github.libretube.ui.adapters.ChannelAdapter import com.github.libretube.ui.adapters.TrendingAdapter import com.github.libretube.util.LocaleHelper import com.github.libretube.util.PreferenceHelper -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class HomeFragment : BaseFragment() { private lateinit var binding: FragmentHomeBinding diff --git a/app/src/main/java/com/github/libretube/ui/fragments/LibraryFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/LibraryFragment.kt index b4eb72b19..249203afb 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/LibraryFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/LibraryFragment.kt @@ -21,8 +21,8 @@ import com.github.libretube.models.PlayerViewModel import com.github.libretube.ui.adapters.PlaylistsAdapter import com.github.libretube.ui.dialogs.CreatePlaylistDialog import com.github.libretube.util.PreferenceHelper -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class LibraryFragment : BaseFragment() { diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt index b00783295..c2f9761bf 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt @@ -10,12 +10,8 @@ import android.content.res.Configuration import android.graphics.Rect import android.media.session.PlaybackState import android.net.Uri -import android.os.Build +import android.os.* import android.os.Build.VERSION.SDK_INT -import android.os.Bundle -import android.os.Handler -import android.os.Looper -import android.os.PowerManager import android.text.Html import android.text.format.DateUtils import android.util.Log @@ -58,21 +54,10 @@ import com.github.libretube.ui.adapters.TrendingAdapter import com.github.libretube.ui.dialogs.AddToPlaylistDialog import com.github.libretube.ui.dialogs.DownloadDialog import com.github.libretube.ui.dialogs.ShareDialog -import com.github.libretube.util.AutoPlayHelper -import com.github.libretube.util.BackgroundHelper -import com.github.libretube.util.ImageHelper -import com.github.libretube.util.NetworkHelper -import com.github.libretube.util.NowPlayingNotification -import com.github.libretube.util.PlayerHelper -import com.github.libretube.util.PlayingQueue -import com.github.libretube.util.PreferenceHelper -import com.google.android.exoplayer2.C -import com.google.android.exoplayer2.DefaultLoadControl -import com.google.android.exoplayer2.ExoPlayer -import com.google.android.exoplayer2.MediaItem +import com.github.libretube.util.* +import com.google.android.exoplayer2.* import com.google.android.exoplayer2.MediaItem.SubtitleConfiguration import com.google.android.exoplayer2.MediaItem.fromUri -import com.google.android.exoplayer2.Player import com.google.android.exoplayer2.audio.AudioAttributes import com.google.android.exoplayer2.ext.cronet.CronetDataSource import com.google.android.exoplayer2.source.DefaultMediaSourceFactory @@ -87,13 +72,13 @@ import com.google.android.exoplayer2.upstream.DefaultDataSource import com.google.android.exoplayer2.upstream.DefaultHttpDataSource import com.google.android.exoplayer2.video.VideoSize import com.google.android.material.dialog.MaterialAlertDialogBuilder +import java.io.IOException +import java.util.concurrent.Executors import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import org.chromium.net.CronetEngine import retrofit2.HttpException -import java.io.IOException -import java.util.concurrent.Executors import kotlin.math.abs class PlayerFragment : BaseFragment() { @@ -863,7 +848,9 @@ class PlayerFragment : BaseFragment() { return } // position is almost the end of the video => don't seek, start from beginning - if (position != null && position < streams.duration!! * 1000 * 0.9) exoPlayer.seekTo(position) + if (position != null && position < streams.duration!! * 1000 * 0.9) exoPlayer.seekTo( + position + ) } // used for autoplay and skipping to next video diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt index daac0ed01..3b4696b67 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt @@ -18,8 +18,8 @@ import com.github.libretube.extensions.TAG import com.github.libretube.extensions.toID import com.github.libretube.sheets.PlaylistOptionsBottomSheet import com.github.libretube.ui.adapters.PlaylistAdapter -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class PlaylistFragment : BaseFragment() { private lateinit var binding: FragmentPlaylistBinding diff --git a/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt index bac9780b4..fa03a3e71 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt @@ -15,14 +15,13 @@ import com.github.libretube.databinding.FragmentSearchBinding import com.github.libretube.db.DatabaseHolder.Companion.Database import com.github.libretube.extensions.BaseFragment import com.github.libretube.extensions.TAG -import com.github.libretube.extensions.await import com.github.libretube.extensions.awaitQuery import com.github.libretube.models.SearchViewModel import com.github.libretube.ui.activities.MainActivity import com.github.libretube.ui.adapters.SearchHistoryAdapter import com.github.libretube.ui.adapters.SearchSuggestionsAdapter -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class SearchFragment : BaseFragment() { private lateinit var binding: FragmentSearchBinding diff --git a/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt index 413eef6e8..091e28229 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt @@ -20,8 +20,8 @@ import com.github.libretube.extensions.hideKeyboard import com.github.libretube.ui.activities.MainActivity import com.github.libretube.ui.adapters.SearchAdapter import com.github.libretube.util.PreferenceHelper -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class SearchResultFragment : BaseFragment() { private lateinit var binding: FragmentSearchResultBinding diff --git a/app/src/main/java/com/github/libretube/ui/fragments/WatchHistoryFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/WatchHistoryFragment.kt index 80d0605ef..55145e4dc 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/WatchHistoryFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/WatchHistoryFragment.kt @@ -9,9 +9,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.github.libretube.databinding.FragmentWatchHistoryBinding import com.github.libretube.db.DatabaseHolder.Companion.Database -import com.github.libretube.db.obj.WatchHistoryItem import com.github.libretube.extensions.BaseFragment -import com.github.libretube.extensions.await import com.github.libretube.extensions.awaitQuery import com.github.libretube.ui.adapters.WatchHistoryAdapter diff --git a/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt b/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt index 1c5b1bb9f..967708d20 100644 --- a/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt +++ b/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt @@ -15,10 +15,7 @@ import com.github.libretube.R import com.github.libretube.api.RetrofitInstance import com.github.libretube.constants.PreferenceKeys import com.github.libretube.db.DatabaseHolder.Companion.Database -import com.github.libretube.db.obj.CustomInstance -import com.github.libretube.extensions.await import com.github.libretube.extensions.awaitQuery -import com.github.libretube.extensions.query import com.github.libretube.ui.activities.SettingsActivity import com.github.libretube.ui.dialogs.CustomInstanceDialog import com.github.libretube.ui.dialogs.DeleteAccountDialog diff --git a/app/src/main/java/com/github/libretube/util/AutoPlayHelper.kt b/app/src/main/java/com/github/libretube/util/AutoPlayHelper.kt index 4eaeffdce..497b4fb26 100644 --- a/app/src/main/java/com/github/libretube/util/AutoPlayHelper.kt +++ b/app/src/main/java/com/github/libretube/util/AutoPlayHelper.kt @@ -1,7 +1,6 @@ package com.github.libretube.util import com.github.libretube.api.RetrofitInstance -import com.github.libretube.api.obj.StreamItem import com.github.libretube.extensions.toID import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/java/com/github/libretube/util/ImportHelper.kt b/app/src/main/java/com/github/libretube/util/ImportHelper.kt index b02c05e65..99d5c0f4b 100644 --- a/app/src/main/java/com/github/libretube/util/ImportHelper.kt +++ b/app/src/main/java/com/github/libretube/util/ImportHelper.kt @@ -11,11 +11,11 @@ import com.github.libretube.api.SubscriptionHelper import com.github.libretube.extensions.TAG import com.github.libretube.obj.NewPipeSubscription import com.github.libretube.obj.NewPipeSubscriptions +import java.io.FileOutputStream import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking -import java.io.FileOutputStream class ImportHelper(private val activity: Activity) { /** diff --git a/app/src/main/java/com/github/libretube/util/NotificationHelper.kt b/app/src/main/java/com/github/libretube/util/NotificationHelper.kt index 7780cfbb0..e79260df0 100644 --- a/app/src/main/java/com/github/libretube/util/NotificationHelper.kt +++ b/app/src/main/java/com/github/libretube/util/NotificationHelper.kt @@ -7,11 +7,7 @@ import android.content.Intent import android.os.Build import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat -import androidx.work.Constraints -import androidx.work.ExistingPeriodicWorkPolicy -import androidx.work.NetworkType -import androidx.work.PeriodicWorkRequest -import androidx.work.WorkManager +import androidx.work.* import com.github.libretube.R import com.github.libretube.api.RetrofitInstance import com.github.libretube.api.SubscriptionHelper @@ -20,9 +16,9 @@ import com.github.libretube.constants.PUSH_CHANNEL_ID import com.github.libretube.constants.PreferenceKeys import com.github.libretube.extensions.toID import com.github.libretube.ui.activities.MainActivity +import java.util.concurrent.TimeUnit import kotlinx.coroutines.async import kotlinx.coroutines.runBlocking -import java.util.concurrent.TimeUnit class NotificationHelper( private val context: Context diff --git a/app/src/main/java/com/github/libretube/util/PlayerHelper.kt b/app/src/main/java/com/github/libretube/util/PlayerHelper.kt index 6efdba774..fc1396464 100644 --- a/app/src/main/java/com/github/libretube/util/PlayerHelper.kt +++ b/app/src/main/java/com/github/libretube/util/PlayerHelper.kt @@ -2,13 +2,15 @@ package com.github.libretube.util import android.content.Context import android.view.accessibility.CaptioningManager -import com.github.libretube.api.obj.PipedStream import com.github.libretube.constants.PreferenceKeys import com.google.android.exoplayer2.ui.CaptionStyleCompat object PlayerHelper { // get the audio source following the users preferences - fun getAudioSource(context: Context, audios: List): String { + fun getAudioSource( + context: Context, + audios: List + ): String { val audioFormat = PreferenceHelper.getString(PreferenceKeys.PLAYER_AUDIO_FORMAT, "all") val audioQuality = if ( NetworkHelper.isNetworkMobile(context) diff --git a/app/src/main/res/drawable/ic_drag.xml b/app/src/main/res/drawable/ic_drag.xml index 0058d2571..f5a7111c7 100644 --- a/app/src/main/res/drawable/ic_drag.xml +++ b/app/src/main/res/drawable/ic_drag.xml @@ -2,9 +2,9 @@ xmlns:tools="http://schemas.android.com/tools" android:width="24dp" android:height="24dp" + android:tint="?attr/colorControlNormal" android:viewportWidth="24" - android:viewportHeight="24" - android:tint="?attr/colorControlNormal"> + android:viewportHeight="24"> Date: Thu, 22 Sep 2022 18:01:03 +0200 Subject: [PATCH 3/3] fix wildcards --- .../java/com/github/libretube/api/PipedApi.kt | 7 +++- .../com/github/libretube/db/AppDatabase.kt | 12 +++++- .../libretube/db/dao/CustomInstanceDao.kt | 6 ++- .../libretube/db/dao/LocalSubscriptionDao.kt | 6 ++- .../libretube/db/dao/SearchHistoryDao.kt | 6 ++- .../libretube/db/dao/WatchHistoryDao.kt | 6 ++- .../libretube/db/dao/WatchPositionDao.kt | 6 ++- .../com/github/libretube/obj/BackupFile.kt | 6 ++- .../libretube/services/BackgroundMode.kt | 6 ++- .../sheets/PlaylistOptionsBottomSheet.kt | 2 +- .../libretube/ui/activities/AboutActivity.kt | 7 +++- .../ui/activities/CommunityActivity.kt | 6 ++- .../libretube/ui/activities/MainActivity.kt | 7 +++- .../libretube/ui/adapters/CommentsAdapter.kt | 2 +- .../libretube/ui/adapters/PlaylistAdapter.kt | 2 +- .../libretube/ui/adapters/PlaylistsAdapter.kt | 2 +- .../ui/dialogs/AddToPlaylistDialog.kt | 2 +- .../ui/dialogs/CreatePlaylistDialog.kt | 2 +- .../libretube/ui/dialogs/DownloadDialog.kt | 2 +- .../libretube/ui/dialogs/LoginDialog.kt | 2 +- .../libretube/ui/fragments/ChannelFragment.kt | 2 +- .../libretube/ui/fragments/HomeFragment.kt | 2 +- .../libretube/ui/fragments/LibraryFragment.kt | 2 +- .../libretube/ui/fragments/PlayerFragment.kt | 41 +++++++++++++++---- .../ui/fragments/PlaylistFragment.kt | 2 +- .../libretube/ui/fragments/SearchFragment.kt | 2 +- .../ui/fragments/SearchResultFragment.kt | 2 +- .../com/github/libretube/util/ImportHelper.kt | 2 +- .../libretube/util/NotificationHelper.kt | 8 +++- 29 files changed, 121 insertions(+), 39 deletions(-) diff --git a/app/src/main/java/com/github/libretube/api/PipedApi.kt b/app/src/main/java/com/github/libretube/api/PipedApi.kt index 8d8c67831..a6eb42c6d 100644 --- a/app/src/main/java/com/github/libretube/api/PipedApi.kt +++ b/app/src/main/java/com/github/libretube/api/PipedApi.kt @@ -1,6 +1,11 @@ package com.github.libretube.api -import retrofit2.http.* +import retrofit2.http.Body +import retrofit2.http.GET +import retrofit2.http.Header +import retrofit2.http.POST +import retrofit2.http.Path +import retrofit2.http.Query interface PipedApi { @GET("trending") diff --git a/app/src/main/java/com/github/libretube/db/AppDatabase.kt b/app/src/main/java/com/github/libretube/db/AppDatabase.kt index 7895e0a12..88daecd16 100644 --- a/app/src/main/java/com/github/libretube/db/AppDatabase.kt +++ b/app/src/main/java/com/github/libretube/db/AppDatabase.kt @@ -2,8 +2,16 @@ package com.github.libretube.db import androidx.room.Database import androidx.room.RoomDatabase -import com.github.libretube.db.dao.* -import com.github.libretube.db.obj.* +import com.github.libretube.db.dao.CustomInstanceDao +import com.github.libretube.db.dao.LocalSubscriptionDao +import com.github.libretube.db.dao.SearchHistoryDao +import com.github.libretube.db.dao.WatchHistoryDao +import com.github.libretube.db.dao.WatchPositionDao +import com.github.libretube.db.obj.CustomInstance +import com.github.libretube.db.obj.LocalSubscription +import com.github.libretube.db.obj.SearchHistoryItem +import com.github.libretube.db.obj.WatchHistoryItem +import com.github.libretube.db.obj.WatchPosition @Database( entities = [ diff --git a/app/src/main/java/com/github/libretube/db/dao/CustomInstanceDao.kt b/app/src/main/java/com/github/libretube/db/dao/CustomInstanceDao.kt index c0dcc0420..182db494e 100644 --- a/app/src/main/java/com/github/libretube/db/dao/CustomInstanceDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/CustomInstanceDao.kt @@ -1,6 +1,10 @@ package com.github.libretube.db.dao -import androidx.room.* +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query import com.github.libretube.db.obj.CustomInstance @Dao diff --git a/app/src/main/java/com/github/libretube/db/dao/LocalSubscriptionDao.kt b/app/src/main/java/com/github/libretube/db/dao/LocalSubscriptionDao.kt index cd5d6b988..a925f3535 100644 --- a/app/src/main/java/com/github/libretube/db/dao/LocalSubscriptionDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/LocalSubscriptionDao.kt @@ -1,6 +1,10 @@ package com.github.libretube.db.dao -import androidx.room.* +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query import com.github.libretube.db.obj.LocalSubscription @Dao diff --git a/app/src/main/java/com/github/libretube/db/dao/SearchHistoryDao.kt b/app/src/main/java/com/github/libretube/db/dao/SearchHistoryDao.kt index 632e8f150..4556d4a13 100644 --- a/app/src/main/java/com/github/libretube/db/dao/SearchHistoryDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/SearchHistoryDao.kt @@ -1,6 +1,10 @@ package com.github.libretube.db.dao -import androidx.room.* +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query import com.github.libretube.db.obj.SearchHistoryItem @Dao diff --git a/app/src/main/java/com/github/libretube/db/dao/WatchHistoryDao.kt b/app/src/main/java/com/github/libretube/db/dao/WatchHistoryDao.kt index 9258102ee..dfa5b732a 100644 --- a/app/src/main/java/com/github/libretube/db/dao/WatchHistoryDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/WatchHistoryDao.kt @@ -1,6 +1,10 @@ package com.github.libretube.db.dao -import androidx.room.* +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query import com.github.libretube.db.obj.WatchHistoryItem @Dao diff --git a/app/src/main/java/com/github/libretube/db/dao/WatchPositionDao.kt b/app/src/main/java/com/github/libretube/db/dao/WatchPositionDao.kt index 9c4dc825e..6855eaab4 100644 --- a/app/src/main/java/com/github/libretube/db/dao/WatchPositionDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/WatchPositionDao.kt @@ -1,6 +1,10 @@ package com.github.libretube.db.dao -import androidx.room.* +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query import com.github.libretube.db.obj.WatchPosition @Dao diff --git a/app/src/main/java/com/github/libretube/obj/BackupFile.kt b/app/src/main/java/com/github/libretube/obj/BackupFile.kt index 8f2d47517..3ab5320ce 100644 --- a/app/src/main/java/com/github/libretube/obj/BackupFile.kt +++ b/app/src/main/java/com/github/libretube/obj/BackupFile.kt @@ -1,6 +1,10 @@ package com.github.libretube.obj -import com.github.libretube.db.obj.* +import com.github.libretube.db.obj.CustomInstance +import com.github.libretube.db.obj.LocalSubscription +import com.github.libretube.db.obj.SearchHistoryItem +import com.github.libretube.db.obj.WatchHistoryItem +import com.github.libretube.db.obj.WatchPosition data class BackupFile( var watchHistory: List? = null, diff --git a/app/src/main/java/com/github/libretube/services/BackgroundMode.kt b/app/src/main/java/com/github/libretube/services/BackgroundMode.kt index 96f34708b..457692b14 100644 --- a/app/src/main/java/com/github/libretube/services/BackgroundMode.kt +++ b/app/src/main/java/com/github/libretube/services/BackgroundMode.kt @@ -21,7 +21,11 @@ import com.github.libretube.constants.PreferenceKeys import com.github.libretube.db.DatabaseHelper import com.github.libretube.extensions.query import com.github.libretube.extensions.toID -import com.github.libretube.util.* +import com.github.libretube.util.AutoPlayHelper +import com.github.libretube.util.NowPlayingNotification +import com.github.libretube.util.PlayerHelper +import com.github.libretube.util.PlayingQueue +import com.github.libretube.util.PreferenceHelper import com.google.android.exoplayer2.C import com.google.android.exoplayer2.ExoPlayer import com.google.android.exoplayer2.MediaItem diff --git a/app/src/main/java/com/github/libretube/sheets/PlaylistOptionsBottomSheet.kt b/app/src/main/java/com/github/libretube/sheets/PlaylistOptionsBottomSheet.kt index 20f98eb3c..21451fa8b 100644 --- a/app/src/main/java/com/github/libretube/sheets/PlaylistOptionsBottomSheet.kt +++ b/app/src/main/java/com/github/libretube/sheets/PlaylistOptionsBottomSheet.kt @@ -14,12 +14,12 @@ import com.github.libretube.ui.views.BottomSheet import com.github.libretube.util.BackgroundHelper import com.github.libretube.util.PreferenceHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import java.io.IOException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import retrofit2.HttpException +import java.io.IOException class PlaylistOptionsBottomSheet( private val playlistId: String, diff --git a/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt index 0d10c90ed..277d65cc5 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/AboutActivity.kt @@ -10,7 +10,12 @@ import android.os.Bundle import androidx.core.text.HtmlCompat import androidx.core.text.parseAsHtml import com.github.libretube.R -import com.github.libretube.constants.* +import com.github.libretube.constants.DONATE_URL +import com.github.libretube.constants.GITHUB_URL +import com.github.libretube.constants.LICENSE_URL +import com.github.libretube.constants.PIPED_GITHUB_URL +import com.github.libretube.constants.WEBLATE_URL +import com.github.libretube.constants.WEBSITE_URL import com.github.libretube.databinding.ActivityAboutBinding import com.github.libretube.extensions.BaseActivity import com.github.libretube.extensions.getStyledSnackBar diff --git a/app/src/main/java/com/github/libretube/ui/activities/CommunityActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/CommunityActivity.kt index 764cb671e..b48da6bc0 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/CommunityActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/CommunityActivity.kt @@ -3,7 +3,11 @@ package com.github.libretube.ui.activities import android.content.Intent import android.net.Uri import android.os.Bundle -import com.github.libretube.constants.* +import com.github.libretube.constants.DISCORD_URL +import com.github.libretube.constants.MATRIX_URL +import com.github.libretube.constants.REDDIT_URL +import com.github.libretube.constants.TELEGRAM_URL +import com.github.libretube.constants.TWITTER_URL import com.github.libretube.databinding.ActivityCommunityBinding import com.github.libretube.extensions.BaseActivity diff --git a/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt index f2f0cf2ac..74374a1c8 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt @@ -7,7 +7,12 @@ import android.os.Build import android.os.Bundle import android.os.Handler import android.os.Looper -import android.view.* +import android.view.Menu +import android.view.MenuItem +import android.view.View +import android.view.WindowInsets +import android.view.WindowInsetsController +import android.view.WindowManager import android.widget.Toast import androidx.activity.OnBackPressedCallback import androidx.appcompat.widget.SearchView diff --git a/app/src/main/java/com/github/libretube/ui/adapters/CommentsAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/CommentsAdapter.kt index 18aa37443..3f9b3bef6 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/CommentsAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/CommentsAdapter.kt @@ -15,11 +15,11 @@ import com.github.libretube.extensions.TAG import com.github.libretube.extensions.formatShort import com.github.libretube.util.ImageHelper import com.github.libretube.util.NavigationHelper -import java.io.IOException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import retrofit2.HttpException +import java.io.IOException class CommentsAdapter( private val videoId: String, diff --git a/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt index 3bc0429b7..514db53dd 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/PlaylistAdapter.kt @@ -17,11 +17,11 @@ import com.github.libretube.sheets.VideoOptionsBottomSheet import com.github.libretube.util.ImageHelper import com.github.libretube.util.NavigationHelper import com.github.libretube.util.PreferenceHelper -import java.io.IOException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import retrofit2.HttpException +import java.io.IOException class PlaylistAdapter( private val videoFeed: MutableList, diff --git a/app/src/main/java/com/github/libretube/ui/adapters/PlaylistsAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/PlaylistsAdapter.kt index ed5fecf8d..a11ce1d87 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/PlaylistsAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/PlaylistsAdapter.kt @@ -15,11 +15,11 @@ import com.github.libretube.util.ImageHelper import com.github.libretube.util.NavigationHelper import com.github.libretube.util.PreferenceHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import java.io.IOException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import retrofit2.HttpException +import java.io.IOException class PlaylistsAdapter( private val playlists: MutableList, diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/AddToPlaylistDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/AddToPlaylistDialog.kt index 227438547..8dc58d1f2 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/AddToPlaylistDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/AddToPlaylistDialog.kt @@ -18,8 +18,8 @@ import com.github.libretube.models.PlaylistViewModel import com.github.libretube.util.PreferenceHelper import com.github.libretube.util.ThemeHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import java.io.IOException import retrofit2.HttpException +import java.io.IOException class AddToPlaylistDialog : DialogFragment() { private lateinit var binding: DialogAddtoplaylistBinding diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/CreatePlaylistDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/CreatePlaylistDialog.kt index f259f6068..087cfbf8c 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/CreatePlaylistDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/CreatePlaylistDialog.kt @@ -14,8 +14,8 @@ import com.github.libretube.ui.fragments.LibraryFragment import com.github.libretube.util.PreferenceHelper import com.github.libretube.util.ThemeHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import java.io.IOException import retrofit2.HttpException +import java.io.IOException class CreatePlaylistDialog : DialogFragment() { private var token: String = "" diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt index 95c210d7a..d590722e1 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/DownloadDialog.kt @@ -17,8 +17,8 @@ import com.github.libretube.extensions.TAG import com.github.libretube.services.DownloadService import com.github.libretube.util.ThemeHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import java.io.IOException import retrofit2.HttpException +import java.io.IOException class DownloadDialog( private val videoId: String diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt index 1599745a4..0f319860c 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt @@ -13,8 +13,8 @@ import com.github.libretube.extensions.TAG import com.github.libretube.util.PreferenceHelper import com.github.libretube.util.ThemeHelper import com.google.android.material.dialog.MaterialAlertDialogBuilder -import java.io.IOException import retrofit2.HttpException +import java.io.IOException class LoginDialog : DialogFragment() { private lateinit var binding: DialogLoginBinding diff --git a/app/src/main/java/com/github/libretube/ui/fragments/ChannelFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/ChannelFragment.kt index 8b566fe07..b88f03142 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/ChannelFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/ChannelFragment.kt @@ -18,8 +18,8 @@ import com.github.libretube.extensions.formatShort import com.github.libretube.extensions.toID import com.github.libretube.ui.adapters.ChannelAdapter import com.github.libretube.util.ImageHelper -import java.io.IOException import retrofit2.HttpException +import java.io.IOException class ChannelFragment : BaseFragment() { private lateinit var binding: FragmentChannelBinding diff --git a/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt index 45706c8d9..aea4f99e1 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt @@ -19,8 +19,8 @@ import com.github.libretube.ui.adapters.ChannelAdapter import com.github.libretube.ui.adapters.TrendingAdapter import com.github.libretube.util.LocaleHelper import com.github.libretube.util.PreferenceHelper -import java.io.IOException import retrofit2.HttpException +import java.io.IOException class HomeFragment : BaseFragment() { private lateinit var binding: FragmentHomeBinding diff --git a/app/src/main/java/com/github/libretube/ui/fragments/LibraryFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/LibraryFragment.kt index 249203afb..b4eb72b19 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/LibraryFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/LibraryFragment.kt @@ -21,8 +21,8 @@ import com.github.libretube.models.PlayerViewModel import com.github.libretube.ui.adapters.PlaylistsAdapter import com.github.libretube.ui.dialogs.CreatePlaylistDialog import com.github.libretube.util.PreferenceHelper -import java.io.IOException import retrofit2.HttpException +import java.io.IOException class LibraryFragment : BaseFragment() { diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt index c2f9761bf..b014ed6fb 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt @@ -10,8 +10,12 @@ import android.content.res.Configuration import android.graphics.Rect import android.media.session.PlaybackState import android.net.Uri -import android.os.* +import android.os.Build import android.os.Build.VERSION.SDK_INT +import android.os.Bundle +import android.os.Handler +import android.os.Looper +import android.os.PowerManager import android.text.Html import android.text.format.DateUtils import android.util.Log @@ -42,7 +46,13 @@ import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding import com.github.libretube.databinding.FragmentPlayerBinding import com.github.libretube.db.DatabaseHelper import com.github.libretube.db.DatabaseHolder.Companion.Database -import com.github.libretube.extensions.* +import com.github.libretube.extensions.BaseFragment +import com.github.libretube.extensions.TAG +import com.github.libretube.extensions.awaitQuery +import com.github.libretube.extensions.formatShort +import com.github.libretube.extensions.hideKeyboard +import com.github.libretube.extensions.query +import com.github.libretube.extensions.toID import com.github.libretube.interfaces.PlayerOptionsInterface import com.github.libretube.models.PlayerViewModel import com.github.libretube.services.BackgroundMode @@ -54,10 +64,21 @@ import com.github.libretube.ui.adapters.TrendingAdapter import com.github.libretube.ui.dialogs.AddToPlaylistDialog import com.github.libretube.ui.dialogs.DownloadDialog import com.github.libretube.ui.dialogs.ShareDialog -import com.github.libretube.util.* -import com.google.android.exoplayer2.* +import com.github.libretube.util.AutoPlayHelper +import com.github.libretube.util.BackgroundHelper +import com.github.libretube.util.ImageHelper +import com.github.libretube.util.NetworkHelper +import com.github.libretube.util.NowPlayingNotification +import com.github.libretube.util.PlayerHelper +import com.github.libretube.util.PlayingQueue +import com.github.libretube.util.PreferenceHelper +import com.google.android.exoplayer2.C +import com.google.android.exoplayer2.DefaultLoadControl +import com.google.android.exoplayer2.ExoPlayer +import com.google.android.exoplayer2.MediaItem import com.google.android.exoplayer2.MediaItem.SubtitleConfiguration import com.google.android.exoplayer2.MediaItem.fromUri +import com.google.android.exoplayer2.Player import com.google.android.exoplayer2.audio.AudioAttributes import com.google.android.exoplayer2.ext.cronet.CronetDataSource import com.google.android.exoplayer2.source.DefaultMediaSourceFactory @@ -72,13 +93,13 @@ import com.google.android.exoplayer2.upstream.DefaultDataSource import com.google.android.exoplayer2.upstream.DefaultHttpDataSource import com.google.android.exoplayer2.video.VideoSize import com.google.android.material.dialog.MaterialAlertDialogBuilder -import java.io.IOException -import java.util.concurrent.Executors import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import org.chromium.net.CronetEngine import retrofit2.HttpException +import java.io.IOException +import java.util.concurrent.Executors import kotlin.math.abs class PlayerFragment : BaseFragment() { @@ -848,9 +869,11 @@ class PlayerFragment : BaseFragment() { return } // position is almost the end of the video => don't seek, start from beginning - if (position != null && position < streams.duration!! * 1000 * 0.9) exoPlayer.seekTo( - position - ) + if (position != null && position < streams.duration!! * 1000 * 0.9) { + exoPlayer.seekTo( + position + ) + } } // used for autoplay and skipping to next video diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt index 3b4696b67..daac0ed01 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt @@ -18,8 +18,8 @@ import com.github.libretube.extensions.TAG import com.github.libretube.extensions.toID import com.github.libretube.sheets.PlaylistOptionsBottomSheet import com.github.libretube.ui.adapters.PlaylistAdapter -import java.io.IOException import retrofit2.HttpException +import java.io.IOException class PlaylistFragment : BaseFragment() { private lateinit var binding: FragmentPlaylistBinding diff --git a/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt index fa03a3e71..1e096e471 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt @@ -20,8 +20,8 @@ import com.github.libretube.models.SearchViewModel import com.github.libretube.ui.activities.MainActivity import com.github.libretube.ui.adapters.SearchHistoryAdapter import com.github.libretube.ui.adapters.SearchSuggestionsAdapter -import java.io.IOException import retrofit2.HttpException +import java.io.IOException class SearchFragment : BaseFragment() { private lateinit var binding: FragmentSearchBinding diff --git a/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt index 091e28229..413eef6e8 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/SearchResultFragment.kt @@ -20,8 +20,8 @@ import com.github.libretube.extensions.hideKeyboard import com.github.libretube.ui.activities.MainActivity import com.github.libretube.ui.adapters.SearchAdapter import com.github.libretube.util.PreferenceHelper -import java.io.IOException import retrofit2.HttpException +import java.io.IOException class SearchResultFragment : BaseFragment() { private lateinit var binding: FragmentSearchResultBinding diff --git a/app/src/main/java/com/github/libretube/util/ImportHelper.kt b/app/src/main/java/com/github/libretube/util/ImportHelper.kt index 99d5c0f4b..b02c05e65 100644 --- a/app/src/main/java/com/github/libretube/util/ImportHelper.kt +++ b/app/src/main/java/com/github/libretube/util/ImportHelper.kt @@ -11,11 +11,11 @@ import com.github.libretube.api.SubscriptionHelper import com.github.libretube.extensions.TAG import com.github.libretube.obj.NewPipeSubscription import com.github.libretube.obj.NewPipeSubscriptions -import java.io.FileOutputStream import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking +import java.io.FileOutputStream class ImportHelper(private val activity: Activity) { /** diff --git a/app/src/main/java/com/github/libretube/util/NotificationHelper.kt b/app/src/main/java/com/github/libretube/util/NotificationHelper.kt index e79260df0..7780cfbb0 100644 --- a/app/src/main/java/com/github/libretube/util/NotificationHelper.kt +++ b/app/src/main/java/com/github/libretube/util/NotificationHelper.kt @@ -7,7 +7,11 @@ import android.content.Intent import android.os.Build import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat -import androidx.work.* +import androidx.work.Constraints +import androidx.work.ExistingPeriodicWorkPolicy +import androidx.work.NetworkType +import androidx.work.PeriodicWorkRequest +import androidx.work.WorkManager import com.github.libretube.R import com.github.libretube.api.RetrofitInstance import com.github.libretube.api.SubscriptionHelper @@ -16,9 +20,9 @@ import com.github.libretube.constants.PUSH_CHANNEL_ID import com.github.libretube.constants.PreferenceKeys import com.github.libretube.extensions.toID import com.github.libretube.ui.activities.MainActivity -import java.util.concurrent.TimeUnit import kotlinx.coroutines.async import kotlinx.coroutines.runBlocking +import java.util.concurrent.TimeUnit class NotificationHelper( private val context: Context