VancedManager/app/src/main/java/com/vanced/manager/ui/fragments/AboutFragment.kt

78 lines
3.1 KiB
Kotlin
Raw Normal View History

package com.vanced.manager.ui.fragments
2020-08-04 10:02:36 +00:00
import android.annotation.SuppressLint
import android.os.Bundle
import android.view.LayoutInflater
2020-08-04 10:02:36 +00:00
import android.view.MotionEvent
import android.view.ViewGroup
2020-08-04 10:02:36 +00:00
import android.widget.Toast
2020-11-15 09:49:40 +00:00
import androidx.appcompat.content.res.AppCompatResources
2020-11-05 16:35:49 +00:00
import androidx.core.content.edit
import androidx.fragment.app.viewModels
2020-08-04 10:02:36 +00:00
import androidx.preference.PreferenceManager
import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.FragmentAboutBinding
import com.vanced.manager.ui.dialogs.AppInfoDialog
import com.vanced.manager.ui.viewmodels.AboutViewModel
2020-11-15 09:49:40 +00:00
import com.vanced.manager.utils.InternetTools.manager
class AboutFragment : BindingFragment<FragmentAboutBinding>() {
2020-09-20 14:41:28 +00:00
private val viewModel: AboutViewModel by viewModels()
2020-08-04 10:02:36 +00:00
private var count = 0
private var startMillSec: Long = 0
override fun binding(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
) = FragmentAboutBinding.inflate(inflater, container, false)
override fun otherSetups() {
dataBind()
}
2020-08-04 10:02:36 +00:00
@SuppressLint("ClickableViewAccessibility")
private fun dataBind() {
requireActivity().title = getString(R.string.title_about)
binding.aboutHeader.root.setOnClickListener {
showDialog(
AppInfoDialog.newInstance(
appName = getString(R.string.app_name),
appIcon = AppCompatResources.getDrawable(requireActivity(), R.mipmap.ic_launcher),
changelog = manager.get()?.string("changelog")
)
)
}
binding.root.setOnTouchListener { _, event: MotionEvent ->
2020-08-04 10:02:36 +00:00
val eventAction = event.action
if (eventAction == MotionEvent.ACTION_UP) {
val time = System.currentTimeMillis()
if (startMillSec == 0L || time - startMillSec > 3000) {
startMillSec = time
count = 1
} else {
count++
}
if (count == 5) {
val prefs = PreferenceManager.getDefaultSharedPreferences(requireContext())
val devSettings = prefs.getBoolean("devSettings", false)
if (!devSettings) {
Toast.makeText(requireContext(), "Dev options unlocked!", Toast.LENGTH_SHORT).show()
2020-11-05 16:35:49 +00:00
prefs.edit { putBoolean("devSettings", true) }
2020-08-04 10:02:36 +00:00
} else
Toast.makeText(requireContext(), "Dev options already unlocked", Toast.LENGTH_SHORT).show()
}
return@setOnTouchListener true
}
false
}
binding.aboutSources.aboutGithubButton.setOnClickListener { viewModel.openUrl("https://github.com/YTVanced/VancedInstaller") }
binding.aboutSources.aboutLicenseButton.setOnClickListener { viewModel.openUrl("https://raw.githubusercontent.com/YTVanced/VancedInstaller/dev/LICENSE") }
2020-08-04 10:02:36 +00:00
}
}