diff --git a/app/src/main/java/com/github/libretube/Globals.kt b/app/src/main/java/com/github/libretube/Globals.kt new file mode 100644 index 000000000..7d4ff4ddd --- /dev/null +++ b/app/src/main/java/com/github/libretube/Globals.kt @@ -0,0 +1,7 @@ +package com.github.libretube + +object Globals { + var isFullScreen = false + var isMiniPlayerVisible = false + var isCurrentViewMainSettings = true +} diff --git a/app/src/main/java/com/github/libretube/activities/MainActivity.kt b/app/src/main/java/com/github/libretube/activities/MainActivity.kt index 0c9b3e4bb..401b81697 100644 --- a/app/src/main/java/com/github/libretube/activities/MainActivity.kt +++ b/app/src/main/java/com/github/libretube/activities/MainActivity.kt @@ -25,11 +25,11 @@ import androidx.fragment.app.Fragment import androidx.navigation.NavController import androidx.navigation.findNavController import androidx.navigation.ui.setupWithNavController +import com.github.libretube.Globals import com.github.libretube.PIPED_API_URL import com.github.libretube.R import com.github.libretube.databinding.ActivityMainBinding import com.github.libretube.fragments.PlayerFragment -import com.github.libretube.fragments.isFullScreen import com.github.libretube.preferences.PreferenceHelper import com.github.libretube.services.ClosingService import com.github.libretube.util.ConnectionHelper @@ -308,7 +308,7 @@ class MainActivity : AppCompatActivity() { enableTransition(R.id.yt_transition, true) } findViewById(R.id.linLayout).visibility = View.VISIBLE - isFullScreen = false + Globals.isFullScreen = false } override fun onConfigurationChanged(newConfig: Configuration) { diff --git a/app/src/main/java/com/github/libretube/activities/SettingsActivity.kt b/app/src/main/java/com/github/libretube/activities/SettingsActivity.kt index 0a9aaa7ea..c4ceec010 100644 --- a/app/src/main/java/com/github/libretube/activities/SettingsActivity.kt +++ b/app/src/main/java/com/github/libretube/activities/SettingsActivity.kt @@ -3,14 +3,13 @@ package com.github.libretube.activities import android.os.Build import android.os.Bundle import androidx.appcompat.app.AppCompatActivity +import com.github.libretube.Globals import com.github.libretube.R import com.github.libretube.databinding.ActivitySettingsBinding import com.github.libretube.preferences.MainSettings import com.github.libretube.util.ThemeHelper import com.google.android.material.color.DynamicColors -var isCurrentViewMainSettings = true - class SettingsActivity : AppCompatActivity() { val TAG = "SettingsActivity" lateinit var binding: ActivitySettingsBinding @@ -46,11 +45,11 @@ class SettingsActivity : AppCompatActivity() { } override fun onBackPressed() { - if (isCurrentViewMainSettings) { + if (Globals.isCurrentViewMainSettings) { super.onBackPressed() finishAndRemoveTask() } else { - isCurrentViewMainSettings = true + Globals.isCurrentViewMainSettings = true supportFragmentManager .beginTransaction() .replace(R.id.settings, MainSettings()) diff --git a/app/src/main/java/com/github/libretube/fragments/LibraryFragment.kt b/app/src/main/java/com/github/libretube/fragments/LibraryFragment.kt index 8ad047aa4..b5ceea33b 100644 --- a/app/src/main/java/com/github/libretube/fragments/LibraryFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/LibraryFragment.kt @@ -10,6 +10,7 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.LinearLayoutManager +import com.github.libretube.Globals import com.github.libretube.R import com.github.libretube.adapters.PlaylistsAdapter import com.github.libretube.databinding.FragmentLibraryBinding @@ -77,7 +78,7 @@ class LibraryFragment : Fragment() { override fun onResume() { // optimize CreatePlaylistFab bottom margin if miniPlayer active val layoutParams = binding.createPlaylist.layoutParams as ViewGroup.MarginLayoutParams - layoutParams.bottomMargin = if (isMiniPlayerVisible) 180 else 64 + layoutParams.bottomMargin = if (Globals.isMiniPlayerVisible) 180 else 64 binding.createPlaylist.layoutParams = layoutParams super.onResume() } diff --git a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt index 23206b245..edcdda4c3 100644 --- a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt @@ -32,6 +32,7 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager +import com.github.libretube.Globals import com.github.libretube.R import com.github.libretube.activities.MainActivity import com.github.libretube.activities.hideKeyboard @@ -95,9 +96,6 @@ import java.io.IOException import java.util.concurrent.Executors import kotlin.math.abs -var isFullScreen = false -var isMiniPlayerVisible = false - class PlayerFragment : Fragment() { private val TAG = "PlayerFragment" @@ -208,11 +206,11 @@ class PlayerFragment : Fragment() { val mainMotionLayout = mainActivity.binding.mainMotionLayout if (currentId == eId) { - isMiniPlayerVisible = true + Globals.isMiniPlayerVisible = true exoPlayerView.useController = false mainMotionLayout.progress = 1F } else if (currentId == sId) { - isMiniPlayerVisible = false + Globals.isMiniPlayerVisible = false exoPlayerView.useController = true mainMotionLayout.progress = 0F } @@ -231,7 +229,7 @@ class PlayerFragment : Fragment() { binding.playerMotionLayout.transitionToStart() binding.closeImageView.setOnClickListener { - isMiniPlayerVisible = false + Globals.isMiniPlayerVisible = false binding.playerMotionLayout.transitionToEnd() val mainActivity = activity as MainActivity mainActivity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT @@ -240,7 +238,7 @@ class PlayerFragment : Fragment() { .commit() } playerBinding.closeImageButton.setOnClickListener { - isMiniPlayerVisible = false + Globals.isMiniPlayerVisible = false binding.playerMotionLayout.transitionToEnd() val mainActivity = activity as MainActivity mainActivity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT @@ -273,7 +271,7 @@ class PlayerFragment : Fragment() { playerBinding.fullscreen.setOnClickListener { // hide player controller exoPlayerView.hideController() - if (!isFullScreen) { + if (!Globals.isFullScreen) { // go to fullscreen mode setFullscreen() } else { @@ -358,7 +356,7 @@ class PlayerFragment : Fragment() { } mainActivity.requestedOrientation = orientation - isFullScreen = true + Globals.isFullScreen = true } private fun unsetFullscreen() { @@ -378,7 +376,7 @@ class PlayerFragment : Fragment() { val mainActivity = activity as MainActivity mainActivity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT - isFullScreen = false + Globals.isFullScreen = false } private fun scaleControls(scaleFactor: Float) { @@ -1017,7 +1015,7 @@ class PlayerFragment : Fragment() { } playerBinding.chapterLL.visibility = View.VISIBLE playerBinding.chapterLL.setOnClickListener { - if (isFullScreen) { + if (Globals.isFullScreen) { MaterialAlertDialogBuilder(requireContext()) .setTitle(R.string.chapters) .setItems(titles.toTypedArray()) { _, index -> @@ -1440,7 +1438,7 @@ class PlayerFragment : Fragment() { val mainActivity = activity as MainActivity mainActivity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT - isFullScreen = false + Globals.isFullScreen = false } else { // enable exoPlayer controls again exoPlayerView.useController = true @@ -1455,7 +1453,7 @@ class PlayerFragment : Fragment() { binding.playerScrollView.getHitRect(bounds) if (SDK_INT >= Build.VERSION_CODES.O && - exoPlayer.isPlaying && (binding.playerScrollView.getLocalVisibleRect(bounds) || isFullScreen) + exoPlayer.isPlaying && (binding.playerScrollView.getLocalVisibleRect(bounds) || Globals.isFullScreen) ) { activity?.enterPictureInPictureMode(updatePipParams()) } diff --git a/app/src/main/java/com/github/libretube/util/ThemeHelper.kt b/app/src/main/java/com/github/libretube/util/ThemeHelper.kt index 0ab0a76eb..ac20dbbef 100644 --- a/app/src/main/java/com/github/libretube/util/ThemeHelper.kt +++ b/app/src/main/java/com/github/libretube/util/ThemeHelper.kt @@ -37,7 +37,7 @@ object ThemeHelper { "L" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) "D" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) "O" -> { - context.setTheme(R.style.OLED) + context.setTheme(R.style.Black) AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) } } diff --git a/app/src/main/res/values/style.xml b/app/src/main/res/values/style.xml index 759b7f2b1..3774f77c7 100644 --- a/app/src/main/res/values/style.xml +++ b/app/src/main/res/values/style.xml @@ -15,7 +15,7 @@ -