LibreTube/app/src/main/java/com/github/libretube/MainActivity.kt

118 lines
4.2 KiB
Kotlin
Raw Normal View History

2022-02-01 21:22:06 +05:30
package com.github.libretube
2021-12-09 18:01:40 +05:30
2021-12-16 03:54:40 +05:30
import android.content.res.Configuration
import android.content.res.Resources
2021-12-09 18:31:47 +05:30
import androidx.appcompat.app.AppCompatActivity
2021-12-09 18:01:40 +05:30
import android.os.Bundle
2022-02-02 21:40:37 +05:30
import android.util.Log
2021-12-28 01:37:07 +05:30
import android.view.Menu
import android.view.MenuItem
2022-01-29 18:41:00 +05:30
import android.view.View
import android.widget.FrameLayout
import androidx.appcompat.widget.Toolbar
2021-12-16 03:54:40 +05:30
import androidx.constraintlayout.motion.widget.MotionLayout
import androidx.core.text.HtmlCompat
import androidx.fragment.app.Fragment
2022-02-02 21:40:37 +05:30
import androidx.navigation.NavController
2021-12-28 01:37:07 +05:30
import androidx.navigation.Navigation
2021-12-09 18:31:47 +05:30
import com.google.android.material.bottomnavigation.BottomNavigationView
2021-12-09 18:25:32 +05:30
import androidx.navigation.findNavController
import androidx.navigation.ui.NavigationUI
2021-12-28 01:37:07 +05:30
import androidx.navigation.ui.NavigationUI.onNavDestinationSelected
2021-12-09 18:25:32 +05:30
import androidx.navigation.ui.setupWithNavController
2022-02-08 19:57:13 +05:30
import androidx.preference.PreferenceManager
2021-12-14 21:45:53 +05:30
import com.google.android.exoplayer2.ExoPlayer
import com.google.android.material.color.DynamicColors
2022-02-02 23:58:24 +05:30
import java.lang.Exception
2021-12-09 18:01:40 +05:30
class MainActivity : AppCompatActivity() {
2021-12-28 01:37:07 +05:30
lateinit var bottomNavigationView: BottomNavigationView
lateinit var toolbar: Toolbar
2022-02-02 21:40:37 +05:30
lateinit var navController : NavController
2021-12-09 18:01:40 +05:30
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
2022-02-08 19:57:13 +05:30
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
RetrofitInstance.url=sharedPreferences.getString("instance", "https://pipedapi.kavin.rocks/")!!
DynamicColors.applyToActivitiesIfAvailable(application)
2021-12-09 18:01:40 +05:30
setContentView(R.layout.activity_main)
2022-02-02 22:18:54 +05:30
bottomNavigationView = findViewById(R.id.bottomNav)
2022-02-02 21:40:37 +05:30
navController = findNavController(R.id.fragment)
2021-12-09 18:25:32 +05:30
bottomNavigationView.setupWithNavController(navController)
2021-12-28 01:37:07 +05:30
2022-02-02 21:40:37 +05:30
toolbar = findViewById(R.id.toolbar)
val hexColor = String.format("#%06X", 0xFFFFFF and 0xcc322d)
val appName = HtmlCompat.fromHtml(
"Libre<span style='color:$hexColor';>Tube</span>",
HtmlCompat.FROM_HTML_MODE_COMPACT
)
2022-02-02 22:18:54 +05:30
toolbar.title= appName
toolbar.setNavigationOnClickListener{
2022-02-02 21:40:37 +05:30
//settings fragment stuff
2022-02-08 14:58:50 +05:30
navController.navigate(R.id.settings)
true
}
toolbar.setOnMenuItemClickListener{
when (it.itemId){
R.id.action_search -> {
navController.navigate(R.id.searchFragment)
true
}
}
false
2021-12-28 01:37:07 +05:30
}
2021-12-09 18:01:40 +05:30
}
2021-12-16 03:54:40 +05:30
2022-01-28 23:16:11 +05:30
override fun onBackPressed() {
2022-02-02 23:58:24 +05:30
try{
val mainMotionLayout = findViewById<MotionLayout>(R.id.mainMotionLayout)
if (mainMotionLayout.progress == 0.toFloat()){
mainMotionLayout.transitionToEnd()
findViewById<MotionLayout>(R.id.playerMotionLayout).transitionToEnd()
}else{
navController.popBackStack()
if (navController.currentBackStackEntry == null){
finish()
}}
}catch (e: Exception){
navController.popBackStack()
if (navController.currentBackStackEntry == null){
finish()
}
}
2022-02-02 21:40:37 +05:30
2022-01-28 23:16:11 +05:30
}
2021-12-16 03:54:40 +05:30
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
val orientation = newConfig.orientation
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
2021-12-16 03:54:40 +05:30
println("Portrait")
//findViewById<MotionLayout>(R.id.playerMotionLayout).getTransition(R.id.yt_transition).isEnabled = true
} else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
println("Landscape")
2022-01-29 18:41:00 +05:30
window.decorView.apply {
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN
}
2021-12-16 03:54:40 +05:30
//findViewById<MotionLayout>(R.id.playerMotionLayout).getTransition(R.id.yt_transition).isEnabled = false
}
}
}