mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-28 07:50:31 +05:30
fix the navbar behavior
This commit is contained in:
parent
0b1f59b99b
commit
48b3a916b7
@ -7,8 +7,8 @@ import com.github.libretube.R
|
||||
import com.github.libretube.databinding.ActivityNointernetBinding
|
||||
import com.github.libretube.ui.base.BaseActivity
|
||||
import com.github.libretube.ui.fragments.DownloadsFragment
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
import com.github.libretube.util.NetworkHelper
|
||||
import com.github.libretube.util.ThemeHelper
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
|
||||
class NoInternetActivity : BaseActivity() {
|
||||
@ -21,7 +21,7 @@ class NoInternetActivity : BaseActivity() {
|
||||
// retry button
|
||||
binding.retryButton.setOnClickListener {
|
||||
if (NetworkHelper.isNetworkAvailable(this)) {
|
||||
ThemeHelper.restartMainActivity(this)
|
||||
NavigationHelper.restartMainActivity(this)
|
||||
} else {
|
||||
Snackbar.make(binding.root, R.string.turnInternetOn, Snackbar.LENGTH_LONG).show()
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ import com.github.libretube.R
|
||||
import com.github.libretube.constants.IntentData
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.ui.base.BaseActivity
|
||||
import com.github.libretube.util.ThemeHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
|
||||
class RouterActivity : BaseActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -23,7 +23,7 @@ class RouterActivity : BaseActivity() {
|
||||
handleSendText(uri!!)
|
||||
} else {
|
||||
// start app as normal if URI not in host list
|
||||
ThemeHelper.restartMainActivity(this)
|
||||
NavigationHelper.restartMainActivity(this)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,7 @@ import android.app.Dialog
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.util.ThemeHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
|
||||
class RequireRestartDialog : DialogFragment() {
|
||||
@ -15,7 +15,7 @@ class RequireRestartDialog : DialogFragment() {
|
||||
.setMessage(R.string.require_restart_message)
|
||||
.setPositiveButton(R.string.okay) { _, _ ->
|
||||
activity?.recreate()
|
||||
ThemeHelper.restartMainActivity(requireContext())
|
||||
NavigationHelper.restartMainActivity(requireContext())
|
||||
}
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.show()
|
||||
|
@ -90,6 +90,6 @@ object NavBarHelper {
|
||||
).icon = menuItem.icon
|
||||
}
|
||||
}
|
||||
return navBarItems[0].id
|
||||
return navBarItems.filter { it.isEnabled }[0].id
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.github.libretube.util
|
||||
|
||||
import android.app.NotificationManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.os.bundleOf
|
||||
@ -66,4 +69,21 @@ object NavigationHelper {
|
||||
activity.navController.navigate(R.id.playlistFragment, bundle)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Needed due to different MainActivity Aliases because of the app icons
|
||||
*/
|
||||
fun restartMainActivity(context: Context) {
|
||||
// kill player notification
|
||||
val nManager = context
|
||||
.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||
nManager.cancelAll()
|
||||
// start a new Intent of the app
|
||||
val pm: PackageManager = context.packageManager
|
||||
val intent = pm.getLaunchIntentForPackage(context.packageName)
|
||||
intent?.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
context.startActivity(intent)
|
||||
// kill the old application
|
||||
android.os.Process.killProcess(android.os.Process.myPid())
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,8 @@
|
||||
package com.github.libretube.util
|
||||
|
||||
import android.app.Activity
|
||||
import android.app.NotificationManager
|
||||
import android.content.ComponentName
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.text.Spanned
|
||||
import android.util.TypedValue
|
||||
@ -128,23 +126,6 @@ object ThemeHelper {
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Needed due to different MainActivity Aliases because of the app icons
|
||||
*/
|
||||
fun restartMainActivity(context: Context) {
|
||||
// kill player notification
|
||||
val nManager = context
|
||||
.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||
nManager.cancelAll()
|
||||
// start a new Intent of the app
|
||||
val pm: PackageManager = context.packageManager
|
||||
val intent = pm.getLaunchIntentForPackage(context.packageName)
|
||||
intent?.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
context.startActivity(intent)
|
||||
// kill the old application
|
||||
android.os.Process.killProcess(android.os.Process.myPid())
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a color by a resource code
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user