From f155bf8751406f75159cda563f2dec2be1a3ca05 Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Sat, 11 Feb 2023 07:26:07 +0530 Subject: [PATCH] Convert DatabaseHolder to an object. --- .../java/com/github/libretube/LibreTubeApp.kt | 6 ------ .../github/libretube/api/SubscriptionHelper.kt | 2 +- .../com/github/libretube/db/DatabaseHelper.kt | 2 +- .../com/github/libretube/db/DatabaseHolder.kt | 16 ++++------------ .../com/github/libretube/helpers/BackupHelper.kt | 2 +- .../com/github/libretube/helpers/ImportHelper.kt | 2 +- .../github/libretube/services/BackgroundMode.kt | 2 +- .../github/libretube/services/DownloadService.kt | 2 +- .../ui/activities/OfflinePlayerActivity.kt | 2 +- .../ui/adapters/SearchHistoryAdapter.kt | 2 +- .../github/libretube/ui/dialogs/BackupDialog.kt | 2 +- .../libretube/ui/dialogs/CustomInstanceDialog.kt | 2 +- .../github/libretube/ui/dialogs/ShareDialog.kt | 2 +- .../ui/extensions/SetWatchProgressLength.kt | 2 +- .../libretube/ui/fragments/DownloadsFragment.kt | 2 +- .../libretube/ui/fragments/PlayerFragment.kt | 2 +- .../libretube/ui/fragments/SearchFragment.kt | 2 +- .../ui/fragments/WatchHistoryFragment.kt | 2 +- .../libretube/ui/preferences/HistorySettings.kt | 2 +- .../libretube/ui/preferences/InstanceSettings.kt | 2 +- 20 files changed, 22 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/com/github/libretube/LibreTubeApp.kt b/app/src/main/java/com/github/libretube/LibreTubeApp.kt index b3b20a46a..64a463171 100644 --- a/app/src/main/java/com/github/libretube/LibreTubeApp.kt +++ b/app/src/main/java/com/github/libretube/LibreTubeApp.kt @@ -10,7 +10,6 @@ import com.github.libretube.api.RetrofitInstance import com.github.libretube.constants.BACKGROUND_CHANNEL_ID import com.github.libretube.constants.DOWNLOAD_CHANNEL_ID import com.github.libretube.constants.PUSH_CHANNEL_ID -import com.github.libretube.db.DatabaseHolder import com.github.libretube.helpers.ImageHelper import com.github.libretube.helpers.NotificationHelper import com.github.libretube.helpers.PreferenceHelper @@ -33,11 +32,6 @@ class LibreTubeApp : Application() { */ PreferenceHelper.initialize(applicationContext) - /** - * Initialize the [DatabaseHolder] - */ - DatabaseHolder().initializeDatabase(this) - /** * Bypassing fileUriExposedException, see https://stackoverflow.com/questions/38200282/android-os-fileuriexposedexception-file-storage-emulated-0-test-txt-exposed */ 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 a54e8ffa4..968b7b221 100644 --- a/app/src/main/java/com/github/libretube/api/SubscriptionHelper.kt +++ b/app/src/main/java/com/github/libretube/api/SubscriptionHelper.kt @@ -7,7 +7,7 @@ import com.github.libretube.api.obj.StreamItem import com.github.libretube.api.obj.Subscribe import com.github.libretube.api.obj.Subscription import com.github.libretube.constants.PreferenceKeys -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.db.obj.LocalSubscription import com.github.libretube.extensions.TAG import com.github.libretube.helpers.PreferenceHelper 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 4c67f461d..3ea8b521b 100644 --- a/app/src/main/java/com/github/libretube/db/DatabaseHelper.kt +++ b/app/src/main/java/com/github/libretube/db/DatabaseHelper.kt @@ -2,7 +2,7 @@ package com.github.libretube.db import com.github.libretube.api.obj.Streams import com.github.libretube.constants.PreferenceKeys -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.db.obj.SearchHistoryItem import com.github.libretube.db.obj.WatchHistoryItem import com.github.libretube.extensions.query diff --git a/app/src/main/java/com/github/libretube/db/DatabaseHolder.kt b/app/src/main/java/com/github/libretube/db/DatabaseHolder.kt index 8164bdd09..dc75233d3 100644 --- a/app/src/main/java/com/github/libretube/db/DatabaseHolder.kt +++ b/app/src/main/java/com/github/libretube/db/DatabaseHolder.kt @@ -1,21 +1,13 @@ package com.github.libretube.db -import android.content.Context import androidx.room.Room +import com.github.libretube.LibreTubeApp import com.github.libretube.constants.DATABASE_NAME -class DatabaseHolder { - fun initializeDatabase(context: Context) { - Database = Room.databaseBuilder( - context, - AppDatabase::class.java, - DATABASE_NAME - ) +object DatabaseHolder { + val Database by lazy { + Room.databaseBuilder(LibreTubeApp.instance, AppDatabase::class.java, DATABASE_NAME) .fallbackToDestructiveMigration() .build() } - - companion object { - lateinit var Database: AppDatabase - } } diff --git a/app/src/main/java/com/github/libretube/helpers/BackupHelper.kt b/app/src/main/java/com/github/libretube/helpers/BackupHelper.kt index 3bf590072..0bb093d1e 100644 --- a/app/src/main/java/com/github/libretube/helpers/BackupHelper.kt +++ b/app/src/main/java/com/github/libretube/helpers/BackupHelper.kt @@ -7,7 +7,7 @@ import androidx.core.content.edit import androidx.preference.PreferenceManager import com.github.libretube.api.JsonHelper import com.github.libretube.constants.PreferenceKeys -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.extensions.TAG import com.github.libretube.obj.BackupFile import com.github.libretube.obj.PreferenceItem diff --git a/app/src/main/java/com/github/libretube/helpers/ImportHelper.kt b/app/src/main/java/com/github/libretube/helpers/ImportHelper.kt index 96cf540e4..c7385e7ee 100644 --- a/app/src/main/java/com/github/libretube/helpers/ImportHelper.kt +++ b/app/src/main/java/com/github/libretube/helpers/ImportHelper.kt @@ -8,7 +8,7 @@ import com.github.libretube.api.JsonHelper import com.github.libretube.api.PlaylistsHelper import com.github.libretube.api.RetrofitInstance import com.github.libretube.api.SubscriptionHelper -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.extensions.TAG import com.github.libretube.extensions.toastFromMainDispatcher import com.github.libretube.obj.ImportPlaylist 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 45dc415b3..182a475eb 100644 --- a/app/src/main/java/com/github/libretube/services/BackgroundMode.kt +++ b/app/src/main/java/com/github/libretube/services/BackgroundMode.kt @@ -22,7 +22,7 @@ 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 -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.db.obj.WatchPosition import com.github.libretube.extensions.TAG import com.github.libretube.extensions.awaitQuery diff --git a/app/src/main/java/com/github/libretube/services/DownloadService.kt b/app/src/main/java/com/github/libretube/services/DownloadService.kt index be0f1c969..e3f9aa072 100644 --- a/app/src/main/java/com/github/libretube/services/DownloadService.kt +++ b/app/src/main/java/com/github/libretube/services/DownloadService.kt @@ -19,7 +19,7 @@ import com.github.libretube.compat.PendingIntentCompat import com.github.libretube.constants.DOWNLOAD_CHANNEL_ID import com.github.libretube.constants.DOWNLOAD_PROGRESS_NOTIFICATION_ID import com.github.libretube.constants.IntentData -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.db.obj.Download import com.github.libretube.db.obj.DownloadItem import com.github.libretube.enums.FileType diff --git a/app/src/main/java/com/github/libretube/ui/activities/OfflinePlayerActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/OfflinePlayerActivity.kt index 04367ea19..9000bddec 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/OfflinePlayerActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/OfflinePlayerActivity.kt @@ -12,7 +12,7 @@ import androidx.activity.viewModels import com.github.libretube.constants.IntentData import com.github.libretube.databinding.ActivityOfflinePlayerBinding import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.enums.FileType import com.github.libretube.extensions.awaitQuery import com.github.libretube.extensions.updateParameters 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 f7ef52edc..19e4cdbc0 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 @@ -5,7 +5,7 @@ import android.view.ViewGroup import androidx.appcompat.widget.SearchView import androidx.recyclerview.widget.RecyclerView import com.github.libretube.databinding.SearchhistoryRowBinding -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.db.obj.SearchHistoryItem import com.github.libretube.extensions.query import com.github.libretube.ui.viewholders.SearchHistoryViewHolder 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 34c50f58e..431f68f4f 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 @@ -6,7 +6,7 @@ import androidx.annotation.StringRes import androidx.fragment.app.DialogFragment import androidx.lifecycle.lifecycleScope import com.github.libretube.R -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.helpers.PreferenceHelper import com.github.libretube.obj.BackupFile import com.github.libretube.obj.PreferenceItem 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 e2a5a41eb..1af640509 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 @@ -7,7 +7,7 @@ import androidx.core.app.ActivityCompat import androidx.fragment.app.DialogFragment import com.github.libretube.R import com.github.libretube.databinding.DialogCustomInstanceBinding -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.db.obj.CustomInstance import com.github.libretube.extensions.query import com.google.android.material.dialog.MaterialAlertDialogBuilder 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 08550f499..02fca5706 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,7 +10,7 @@ import com.github.libretube.constants.PIPED_FRONTEND_URL 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.DatabaseHolder.Database import com.github.libretube.enums.ShareObjectType import com.github.libretube.extensions.awaitQuery import com.github.libretube.helpers.PreferenceHelper diff --git a/app/src/main/java/com/github/libretube/ui/extensions/SetWatchProgressLength.kt b/app/src/main/java/com/github/libretube/ui/extensions/SetWatchProgressLength.kt index 05bbede85..7f7487808 100644 --- a/app/src/main/java/com/github/libretube/ui/extensions/SetWatchProgressLength.kt +++ b/app/src/main/java/com/github/libretube/ui/extensions/SetWatchProgressLength.kt @@ -3,7 +3,7 @@ package com.github.libretube.ui.extensions import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.view.updateLayoutParams -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.extensions.awaitQuery /** diff --git a/app/src/main/java/com/github/libretube/ui/fragments/DownloadsFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/DownloadsFragment.kt index 3d862d05e..5c59dc8ea 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/DownloadsFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/DownloadsFragment.kt @@ -14,7 +14,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.github.libretube.R import com.github.libretube.databinding.FragmentDownloadsBinding -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.db.obj.DownloadWithItems import com.github.libretube.extensions.awaitQuery import com.github.libretube.extensions.formatAsFileSize 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 17906031e..d9b73bfb5 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 @@ -56,7 +56,7 @@ import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding import com.github.libretube.databinding.FragmentPlayerBinding import com.github.libretube.databinding.PlayerGestureControlsViewBinding import com.github.libretube.db.DatabaseHelper -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.db.obj.WatchPosition import com.github.libretube.enums.PlayerEvent import com.github.libretube.enums.ShareObjectType 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 6203d159f..113571b97 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 @@ -10,7 +10,7 @@ import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import com.github.libretube.api.RetrofitInstance import com.github.libretube.databinding.FragmentSearchBinding -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.extensions.TAG import com.github.libretube.extensions.awaitQuery import com.github.libretube.ui.activities.MainActivity 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 9e2ad4d93..7ac2874bb 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 @@ -16,7 +16,7 @@ import androidx.recyclerview.widget.RecyclerView import com.github.libretube.R import com.github.libretube.api.obj.StreamItem import com.github.libretube.databinding.FragmentWatchHistoryBinding -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.extensions.dpToPx import com.github.libretube.helpers.NavigationHelper import com.github.libretube.helpers.ProxyHelper 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 4c8037c68..c07ea0f9d 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,7 +5,7 @@ import androidx.lifecycle.lifecycleScope 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.db.DatabaseHolder.Database import com.github.libretube.ui.base.BasePreferenceFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder import kotlinx.coroutines.Dispatchers 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 662e7034b..4c57e3e27 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 @@ -12,7 +12,7 @@ import com.github.libretube.api.RetrofitInstance import com.github.libretube.constants.FALLBACK_INSTANCES_URL import com.github.libretube.constants.PIPED_INSTANCES_URL import com.github.libretube.constants.PreferenceKeys -import com.github.libretube.db.DatabaseHolder.Companion.Database +import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.extensions.awaitQuery import com.github.libretube.extensions.toastFromMainThread import com.github.libretube.helpers.PreferenceHelper