Dantotsu/app/src/main/java/ani/dantotsu/offline/OfflineFragment.kt
2024-04-30 20:27:09 +05:30

52 lines
No EOL
1.8 KiB
Kotlin

package ani.dantotsu.offline
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.view.isVisible
import androidx.core.view.updateLayoutParams
import androidx.fragment.app.Fragment
import ani.dantotsu.R
import ani.dantotsu.databinding.FragmentOfflineBinding
import ani.dantotsu.isOnline
import ani.dantotsu.navBarHeight
import ani.dantotsu.settings.saving.PrefManager
import ani.dantotsu.settings.saving.PrefName
import ani.dantotsu.startMainActivity
import ani.dantotsu.statusBarHeight
class OfflineFragment : Fragment() {
private var offline = false
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val binding = FragmentOfflineBinding.inflate(inflater, container, false)
binding.refreshContainer.updateLayoutParams<ViewGroup.MarginLayoutParams> {
topMargin = statusBarHeight
bottomMargin = navBarHeight
}
offline = PrefManager.getVal(PrefName.OfflineMode)
binding.noInternet.text =
if (offline) "Offline Mode" else getString(R.string.no_internet)
binding.refreshButton.text = if (offline) "Go Online" else getString(R.string.refresh)
binding.refreshButton.setOnClickListener {
if (offline && isOnline(requireContext())) {
PrefManager.setVal(PrefName.OfflineMode, false)
startMainActivity(requireActivity())
} else {
if (isOnline(requireContext()) ) {
startMainActivity(requireActivity())
}
}
}
return binding.root
}
override fun onResume() {
super.onResume()
offline = PrefManager.getVal(PrefName.OfflineMode)
}
}