Tools fragment

This commit is contained in:
Koitharu
2022-07-09 18:37:10 +03:00
parent 4402db33fd
commit 3978ebc230
8 changed files with 192 additions and 3 deletions

View File

@@ -40,9 +40,9 @@ import org.koitharu.kotatsu.search.ui.suggestion.SearchSuggestionFragment
import org.koitharu.kotatsu.search.ui.suggestion.SearchSuggestionListener
import org.koitharu.kotatsu.search.ui.suggestion.SearchSuggestionViewModel
import org.koitharu.kotatsu.settings.AppUpdateChecker
import org.koitharu.kotatsu.settings.SettingsHeadersFragment
import org.koitharu.kotatsu.settings.newsources.NewSourcesDialogFragment
import org.koitharu.kotatsu.settings.onboard.OnboardDialogFragment
import org.koitharu.kotatsu.settings.tools.ToolsFragment
import org.koitharu.kotatsu.suggestions.ui.SuggestionsWorker
import org.koitharu.kotatsu.tracker.ui.FeedFragment
import org.koitharu.kotatsu.tracker.work.TrackWorker
@@ -249,7 +249,7 @@ class MainActivity :
binding.root.isLiftAppBarOnScroll = true // --//--
}
R.id.nav_tools -> {
setPrimaryFragment(SettingsHeadersFragment())
setPrimaryFragment(ToolsFragment.newInstance())
binding.root.isLiftAppBarOnScroll = true // --//--
}
else -> return false

View File

@@ -26,6 +26,7 @@ import java.security.MessageDigest
import java.security.cert.CertificateFactory
import java.security.cert.X509Certificate
import java.util.concurrent.TimeUnit
import com.google.android.material.R as materialR
class AppUpdateChecker(private val activity: ComponentActivity) {
@@ -67,9 +68,10 @@ class AppUpdateChecker(private val activity: ComponentActivity) {
appendLine()
append(version.description)
}
MaterialAlertDialogBuilder(activity)
MaterialAlertDialogBuilder(activity, materialR.style.ThemeOverlay_Material3_MaterialAlertDialog_Centered)
.setTitle(R.string.app_update_available)
.setMessage(message)
.setIcon(R.drawable.ic_app_update)
.setPositiveButton(R.string.download) { _, _ ->
val intent = Intent(Intent.ACTION_VIEW, version.apkUrl.toUri())
activity.startActivity(Intent.createChooser(intent, activity.getString(R.string.open_in_browser)))

View File

@@ -0,0 +1,48 @@
package org.koitharu.kotatsu.settings.tools
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.graphics.Insets
import androidx.core.view.updatePadding
import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.base.ui.BaseFragment
import org.koitharu.kotatsu.databinding.FragmentToolsBinding
import org.koitharu.kotatsu.settings.AppUpdateChecker
import org.koitharu.kotatsu.settings.SettingsActivity
class ToolsFragment : BaseFragment<FragmentToolsBinding>(), View.OnClickListener {
private var updateChecker: AppUpdateChecker? = null
override fun onInflateView(inflater: LayoutInflater, container: ViewGroup?): FragmentToolsBinding {
return FragmentToolsBinding.inflate(inflater, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.buttonSettings.setOnClickListener(this)
binding.cardUpdate.root.setOnClickListener(this)
binding.cardUpdate.buttonDownload.setOnClickListener(this)
}
override fun onClick(v: View) {
when (v.id) {
R.id.button_settings -> startActivity(SettingsActivity.newIntent(v.context))
}
}
override fun onWindowInsetsChanged(insets: Insets) {
binding.root.updatePadding(
left = insets.left,
right = insets.right,
bottom = insets.bottom,
)
}
companion object {
fun newInstance() = ToolsFragment()
}
}