Merge pull request #70 from Skrilltrax/use-databinding
Update app to use databinding at more places
This commit is contained in:
commit
ef0863649b
|
@ -13,7 +13,6 @@ import androidx.navigation.NavDestination
|
|||
import androidx.navigation.findNavController
|
||||
import androidx.navigation.ui.AppBarConfiguration
|
||||
import androidx.navigation.ui.setupWithNavController
|
||||
import com.google.android.material.appbar.MaterialToolbar
|
||||
import com.vanced.manager.R
|
||||
import com.vanced.manager.core.Main
|
||||
import com.vanced.manager.databinding.ActivityMainBinding
|
||||
|
@ -24,36 +23,9 @@ import com.vanced.manager.utils.ThemeHelper.setFinalTheme
|
|||
|
||||
class MainActivity : Main() {
|
||||
|
||||
private var isParent = true
|
||||
private lateinit var binding: ActivityMainBinding
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
setFinalTheme(this)
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
|
||||
binding.lifecycleOwner = this
|
||||
|
||||
val toolbar: MaterialToolbar = findViewById(R.id.home_toolbar)
|
||||
setSupportActionBar(toolbar)
|
||||
|
||||
val navHost = findNavController(R.id.bottom_nav_host)
|
||||
val appBarConfiguration = AppBarConfiguration(navHost.graph)
|
||||
toolbar.setupWithNavController(navHost, appBarConfiguration)
|
||||
|
||||
navHost.addOnDestinationChangedListener{_, currFrag: NavDestination, _ ->
|
||||
isParent = when (currFrag.id) {
|
||||
R.id.home_fragment -> true
|
||||
else -> false
|
||||
}
|
||||
|
||||
setDisplayHomeAsUpEnabled(!isParent)
|
||||
|
||||
}
|
||||
|
||||
registerReceivers()
|
||||
|
||||
}
|
||||
private val navHost by lazy { findNavController(R.id.bottom_nav_host) }
|
||||
private val localBroadcastManager by lazy { LocalBroadcastManager.getInstance(this) }
|
||||
|
||||
private val broadcastReceiver: BroadcastReceiver = object : BroadcastReceiver() {
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
|
@ -74,9 +46,26 @@ class MainActivity : Main() {
|
|||
}
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
setFinalTheme(this)
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
|
||||
|
||||
with(binding) {
|
||||
lifecycleOwner = this@MainActivity
|
||||
setSupportActionBar(homeToolbar)
|
||||
val appBarConfiguration = AppBarConfiguration(navHost.graph)
|
||||
homeToolbar.setupWithNavController(navHost, appBarConfiguration)
|
||||
}
|
||||
|
||||
navHost.addOnDestinationChangedListener { _, currFrag: NavDestination, _ ->
|
||||
setDisplayHomeAsUpEnabled(currFrag.id == R.id.home_fragment)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver)
|
||||
localBroadcastManager.unregisterReceiver(broadcastReceiver)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
|
@ -100,7 +89,7 @@ class MainActivity : Main() {
|
|||
navHost.navigate(R.id.action_settingsFragment)
|
||||
return true
|
||||
}
|
||||
R.id.dev_settings -> {
|
||||
R.id.dev_settings -> {
|
||||
navHost.navigate(R.id.toDevSettingsFragment)
|
||||
return true
|
||||
}
|
||||
|
@ -110,11 +99,8 @@ class MainActivity : Main() {
|
|||
}
|
||||
|
||||
private fun setDisplayHomeAsUpEnabled(isNeeded: Boolean) {
|
||||
val toolbar: MaterialToolbar = findViewById(R.id.home_toolbar)
|
||||
when {
|
||||
isNeeded -> toolbar.setNavigationIcon(R.drawable.ic_keyboard_backspace_black_24dp)
|
||||
else -> toolbar.navigationIcon = null
|
||||
}
|
||||
binding.homeToolbar.navigationIcon = if (isNeeded) getDrawable(R.drawable.ic_keyboard_backspace_black_24dp) else null
|
||||
|
||||
}
|
||||
|
||||
private fun registerReceivers() {
|
||||
|
@ -123,7 +109,7 @@ class MainActivity : Main() {
|
|||
intentFilter.addAction(INSTALL_FAILED)
|
||||
intentFilter.addAction(APP_UNINSTALLED)
|
||||
intentFilter.addAction(APP_NOT_UNINSTALLED)
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiver, intentFilter)
|
||||
localBroadcastManager.registerReceiver(broadcastReceiver, intentFilter)
|
||||
|
||||
}
|
||||
|
||||
|
@ -134,9 +120,9 @@ class MainActivity : Main() {
|
|||
}
|
||||
|
||||
companion object {
|
||||
const val INSTALL_COMPLETED = "Installation completed"
|
||||
const val INSTALL_FAILED = "it just failed idk"
|
||||
const val APP_UNINSTALLED = "App uninstalled"
|
||||
const val APP_NOT_UNINSTALLED = "App not uninstalled"
|
||||
const val INSTALL_COMPLETED = "install_completed"
|
||||
const val INSTALL_FAILED = "install_failed"
|
||||
const val APP_UNINSTALLED = "app_uninstalled"
|
||||
const val APP_NOT_UNINSTALLED = "app_not_installed"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ class AboutFragment : About() {
|
|||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
activity?.title = getString(R.string.title_about)
|
||||
requireActivity().title = getString(R.string.title_about)
|
||||
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_about, container, false)
|
||||
return binding.root
|
||||
}
|
||||
|
|
|
@ -7,50 +7,41 @@ import android.os.Bundle
|
|||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.Button
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.edit
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.fragment.app.DialogFragment
|
||||
|
||||
import com.vanced.manager.R
|
||||
import com.vanced.manager.databinding.FragmentChosenPreferencesBinding
|
||||
|
||||
class ChosenPreferenceDialogFragment : DialogFragment() {
|
||||
|
||||
private lateinit var binding: FragmentChosenPreferencesBinding
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
if (dialog != null && dialog?.window != null) {
|
||||
dialog?.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
|
||||
}
|
||||
return inflater.inflate(R.layout.fragment_chosen_preferences, container, false)
|
||||
dialog?.window?.apply { setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) }
|
||||
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_chosen_preferences, container, false)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
val closebtn = view.findViewById<Button>(R.id.chosen_prefs_close)
|
||||
val resetbtn = view.findViewById<Button>(R.id.chosen_prefs_reset)
|
||||
val themetxt = view.findViewById<TextView>(R.id.chosen_theme)
|
||||
val langtxt = view.findViewById<TextView>(R.id.chosen_lang)
|
||||
val prefs = requireActivity().getSharedPreferences("installPrefs", Context.MODE_PRIVATE)
|
||||
|
||||
val prefs = activity?.getSharedPreferences("installPrefs", Context.MODE_PRIVATE)
|
||||
binding.chosenTheme.text = requireActivity().getString(R.string.chosen_theme, prefs.getString("theme", "dark"))
|
||||
binding.chosenLang.text = requireActivity().getString(R.string.chosen_lang, prefs.getString("lang", "en"))
|
||||
|
||||
themetxt.text = activity?.getString(R.string.chosen_theme, prefs?.getString("theme", "dark"))
|
||||
langtxt.text = activity?.getString(R.string.chosen_lang, prefs?.getString("lang", "en"))
|
||||
|
||||
closebtn.setOnClickListener { dismiss() }
|
||||
|
||||
resetbtn.setOnClickListener {
|
||||
prefs?.edit()?.putString("theme", "dark")?.apply()
|
||||
prefs?.edit()?.putString("lang", "en")?.apply()
|
||||
prefs?.edit()?.putBoolean("valuesModified", false)?.apply()
|
||||
binding.chosenPrefsClose.setOnClickListener { dismiss() }
|
||||
binding.chosenPrefsReset.setOnClickListener {
|
||||
prefs.edit {
|
||||
putString("theme", "dark")
|
||||
putString("lang", "en")
|
||||
putBoolean("valuesModified", false)
|
||||
}
|
||||
dismiss()
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -6,20 +6,13 @@ import android.graphics.Color
|
|||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import android.view.animation.AccelerateDecelerateInterpolator
|
||||
import android.widget.ImageButton
|
||||
import android.widget.ProgressBar
|
||||
import android.widget.Toast
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||
import androidx.preference.PreferenceManager.getDefaultSharedPreferences
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import com.google.android.material.card.MaterialCardView
|
||||
import com.google.android.material.tabs.TabLayout
|
||||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
import com.vanced.manager.R
|
||||
import com.vanced.manager.adapter.SectionPageAdapter
|
||||
import com.vanced.manager.adapter.SectionPageRootAdapter
|
||||
import com.vanced.manager.core.fragments.Home
|
||||
import com.vanced.manager.databinding.FragmentHomeBinding
|
||||
|
@ -29,12 +22,14 @@ class HomeFragment : Home() {
|
|||
|
||||
private lateinit var binding: FragmentHomeBinding
|
||||
private var isExpanded: Boolean = false
|
||||
private val viewModel: HomeViewModel by viewModels()
|
||||
private val localBroadcastManager by lazy { LocalBroadcastManager.getInstance(requireActivity()) }
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
activity?.title = getString(R.string.title_home)
|
||||
requireActivity().title = getString(R.string.title_home)
|
||||
setHasOptionsMenu(true)
|
||||
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_home, container, false)
|
||||
return binding.root
|
||||
|
@ -42,8 +37,6 @@ class HomeFragment : Home() {
|
|||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
val viewModel: HomeViewModel by viewModels()
|
||||
binding.viewModel = viewModel
|
||||
|
||||
val variantPref = getDefaultSharedPreferences(activity).getString("vanced_variant", "nonroot")
|
||||
|
@ -58,61 +51,55 @@ class HomeFragment : Home() {
|
|||
}
|
||||
}
|
||||
|
||||
view.findViewById<ImageButton>(R.id.changelog_button).setOnClickListener {
|
||||
binding.includeChangelogsLayout.changelogButton.setOnClickListener {
|
||||
cardExpandCollapse()
|
||||
}
|
||||
|
||||
view.findViewById<MaterialCardView>(R.id.vanced_card).setOnLongClickListener{
|
||||
val clip = activity?.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
clip.setPrimaryClip(ClipData.newPlainText("vanced", viewModel.vancedInstalledVersion.value))
|
||||
binding.includeVancedLayout.vancedCard.setOnLongClickListener {
|
||||
val clip = requireActivity().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
clip.setPrimaryClip(ClipData.newPlainText("vanced", this.viewModel.vancedInstalledVersion.value))
|
||||
versionToast("Vanced")
|
||||
true
|
||||
}
|
||||
|
||||
view.findViewById<MaterialCardView>(R.id.microg_card).setOnLongClickListener{
|
||||
val clip = activity?.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
binding.includeMicrogLayout.microgCard.setOnLongClickListener {
|
||||
val clip = requireActivity().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
clip.setPrimaryClip(ClipData.newPlainText("microg", viewModel.microgInstalledVersion.value))
|
||||
versionToast("MicroG")
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
private fun versionToast(name: String)
|
||||
{
|
||||
private fun versionToast(name: String) {
|
||||
Toast.makeText(activity, getString(R.string.version_toast, name), Toast.LENGTH_LONG).show()
|
||||
}
|
||||
|
||||
private fun cardExpandCollapse() {
|
||||
val viewPagerContainer = view?.findViewById<ViewPager2>(R.id.viewpager)
|
||||
val tabLayoutContainer = view?.findViewById<TabLayout>(R.id.tablayout)
|
||||
val arrow = view?.findViewById<ImageButton>(R.id.changelog_button)
|
||||
if (isExpanded) {
|
||||
viewPagerContainer?.visibility = View.GONE
|
||||
tabLayoutContainer?.visibility = View.GONE
|
||||
isExpanded = false
|
||||
arrow?.animate()?.rotation(0F)?.interpolator = AccelerateDecelerateInterpolator()
|
||||
} else {
|
||||
viewPagerContainer?.visibility = View.VISIBLE
|
||||
tabLayoutContainer?.visibility = View.VISIBLE
|
||||
isExpanded = true
|
||||
arrow?.animate()?.rotation(180F)?.interpolator = AccelerateDecelerateInterpolator()
|
||||
with(binding.includeChangelogsLayout) {
|
||||
viewpager.visibility = if (isExpanded) View.GONE else View.VISIBLE
|
||||
tablayout.visibility = if (isExpanded) View.GONE else View.VISIBLE
|
||||
changelogButton.animate().apply {
|
||||
rotation(if (isExpanded) 0F else 180F)
|
||||
interpolator = AccelerateDecelerateInterpolator()
|
||||
}
|
||||
isExpanded = !isExpanded
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
localBroadcastManager.unregisterReceiver(broadcastReceiver)
|
||||
super.onPause()
|
||||
activity?.let { LocalBroadcastManager.getInstance(it).unregisterReceiver(broadcastReceiver) }
|
||||
}
|
||||
|
||||
private val broadcastReceiver: BroadcastReceiver = object : BroadcastReceiver() {
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
when (intent.action) {
|
||||
MICROG_DOWNLOADED -> {
|
||||
view?.findViewById<ProgressBar>(R.id.microg_installing)?.visibility = View.VISIBLE
|
||||
binding.includeMicrogLayout.microgInstalling.visibility = View.VISIBLE
|
||||
//activity?.let { installApp(it, it.filesDir.path + "/microg.apk", "com.mgoogle.android.gms") }
|
||||
}
|
||||
VANCED_DOWNLOADED -> {
|
||||
view?.findViewById<ProgressBar>(R.id.vanced_installing)?.visibility = View.VISIBLE
|
||||
binding.includeVancedLayout.vancedInstalling.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -122,59 +109,53 @@ class HomeFragment : Home() {
|
|||
val intentFilter = IntentFilter()
|
||||
intentFilter.addAction(VANCED_DOWNLOADED)
|
||||
intentFilter.addAction(MICROG_DOWNLOADED)
|
||||
activity?.let {
|
||||
LocalBroadcastManager.getInstance(it).registerReceiver(broadcastReceiver, intentFilter)
|
||||
}
|
||||
|
||||
localBroadcastManager.registerReceiver(broadcastReceiver, intentFilter)
|
||||
}
|
||||
|
||||
private fun attachNonrootChangelog() {
|
||||
val sectionPageAdapter = SectionPageAdapter(this)
|
||||
val tabLayout = view?.findViewById(R.id.tablayout) as TabLayout
|
||||
val viewPager = view?.findViewById(R.id.viewpager) as ViewPager2
|
||||
viewPager.adapter = sectionPageAdapter
|
||||
|
||||
TabLayoutMediator(tabLayout, viewPager) { tab, position ->
|
||||
when (position) {
|
||||
0 -> tab.text = "Vanced"
|
||||
1 -> tab.text = "MicroG"
|
||||
2 -> tab.text = "Manager"
|
||||
}
|
||||
}.attach()
|
||||
val sectionPageRootAdapter = SectionPageRootAdapter(this)
|
||||
with(binding.includeChangelogsLayout) {
|
||||
viewpager.adapter = sectionPageRootAdapter
|
||||
TabLayoutMediator(tablayout, viewpager) { tab, position ->
|
||||
when (position) {
|
||||
0 -> tab.text = "Vanced"
|
||||
1 -> tab.text = "MicroG"
|
||||
2 -> tab.text = "Manager"
|
||||
}
|
||||
}.attach()
|
||||
}
|
||||
}
|
||||
|
||||
private fun attachRootChangelog() {
|
||||
val sectionPageRootAdapter = SectionPageRootAdapter(this)
|
||||
val tabLayout = view?.findViewById(R.id.tablayout) as TabLayout
|
||||
val viewPager = view?.findViewById(R.id.viewpager) as ViewPager2
|
||||
viewPager.adapter = sectionPageRootAdapter
|
||||
|
||||
TabLayoutMediator(tabLayout, viewPager) { tab, position ->
|
||||
when (position) {
|
||||
0 -> tab.text = "Vanced"
|
||||
1 -> tab.text = "Manager"
|
||||
}
|
||||
}.attach()
|
||||
with(binding.includeChangelogsLayout) {
|
||||
viewpager.adapter = sectionPageRootAdapter
|
||||
TabLayoutMediator(tablayout, viewpager) { tab, position ->
|
||||
when (position) {
|
||||
0 -> tab.text = "Vanced"
|
||||
1 -> tab.text = "Manager"
|
||||
}
|
||||
}.attach()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
||||
inflater.inflate(R.menu.toolbar_menu, menu)
|
||||
super .onCreateOptionsMenu(menu, inflater)
|
||||
super.onCreateOptionsMenu(menu, inflater)
|
||||
}
|
||||
|
||||
private fun disableVancedButton() {
|
||||
val vancedinstallbtn = view?.findViewById<MaterialButton>(R.id.vanced_installbtn)
|
||||
vancedinstallbtn?.isEnabled = false
|
||||
vancedinstallbtn?.backgroundTintList = ColorStateList.valueOf(Color.DKGRAY)
|
||||
vancedinstallbtn?.setTextColor(ColorStateList.valueOf(Color.GRAY))
|
||||
vancedinstallbtn?.icon = null
|
||||
binding.includeVancedLayout.vancedInstallbtn.apply {
|
||||
icon = null
|
||||
isEnabled = false
|
||||
backgroundTintList = ColorStateList.valueOf(Color.DKGRAY)
|
||||
setTextColor(ColorStateList.valueOf(Color.GRAY))
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val VANCED_DOWNLOADED = "Vanced downloaded"
|
||||
const val MICROG_DOWNLOADED = "MicroG downloaded"
|
||||
|
||||
const val VANCED_DOWNLOADED = "vanced_downloaded"
|
||||
const val MICROG_DOWNLOADED = "microg_downloaded"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
if (devSettings) {
|
||||
inflater.inflate(R.menu.dev_settings_menu, menu)
|
||||
}
|
||||
super .onCreateOptionsMenu(menu, inflater)
|
||||
super.onCreateOptionsMenu(menu, inflater)
|
||||
}
|
||||
|
||||
}
|
|
@ -1,65 +1,68 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
style="@style/MaterialCard"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
app:contentPaddingTop="0dp"
|
||||
app:contentPaddingBottom="0dp"
|
||||
app:contentPaddingRight="6dp"
|
||||
app:contentPaddingLeft="6dp"
|
||||
tools:context=".ui.fragments.UpdateCheckFragment">
|
||||
<layout>
|
||||
|
||||
<LinearLayout
|
||||
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
style="@style/MaterialCard"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
style="@style/CardTitle"
|
||||
android:layout_gravity="center"
|
||||
android:text="@string/chosen_install_values"
|
||||
android:textAlignment="center"
|
||||
android:fontFamily="@font/exo_semibold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chosen_theme"
|
||||
style="@style/AppVer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chosen_lang"
|
||||
style="@style/AppVer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="" />
|
||||
android:layout_gravity="center"
|
||||
app:contentPaddingBottom="0dp"
|
||||
app:contentPaddingLeft="6dp"
|
||||
app:contentPaddingRight="6dp"
|
||||
app:contentPaddingTop="0dp"
|
||||
tools:context=".ui.fragments.UpdateCheckFragment">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center">
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/chosen_prefs_close"
|
||||
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||
<TextView
|
||||
style="@style/CardTitle"
|
||||
android:layout_gravity="center"
|
||||
android:fontFamily="@font/exo_semibold"
|
||||
android:text="@string/chosen_install_values"
|
||||
android:textAlignment="center" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chosen_theme"
|
||||
style="@style/AppVer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:text="@string/close"
|
||||
android:textAllCaps="false"/>
|
||||
android:text="" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/chosen_prefs_reset"
|
||||
style="@style/ButtonStyle"
|
||||
android:layout_marginStart="4dp"
|
||||
android:text="@string/reset" />
|
||||
<TextView
|
||||
android:id="@+id/chosen_lang"
|
||||
style="@style/AppVer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/chosen_prefs_close"
|
||||
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:text="@string/close"
|
||||
android:textAllCaps="false" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/chosen_prefs_reset"
|
||||
style="@style/ButtonStyle"
|
||||
android:layout_marginStart="4dp"
|
||||
android:text="@string/reset" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
</layout>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:bind="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
|
@ -16,8 +15,8 @@
|
|||
<com.vanced.manager.ui.core.SlidingNestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
android:animateLayoutChanges="true"
|
||||
android:fillViewport="true"
|
||||
android:scrollbars="none">
|
||||
|
||||
<LinearLayout
|
||||
|
@ -30,8 +29,8 @@
|
|||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:layout_marginStart="25dp"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<FrameLayout
|
||||
|
@ -40,22 +39,22 @@
|
|||
android:layout_alignParentStart="true">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||
bind:strokeWidth="2dp"
|
||||
bind:strokeColor="?colorPrimary"
|
||||
android:textAllCaps="false"
|
||||
android:text="@string/nonroot"
|
||||
android:visibility="@{viewModel.nonrootModeSelected ? View.VISIBLE : View.GONE}"/>
|
||||
android:textAllCaps="false"
|
||||
android:visibility="@{viewModel.nonrootModeSelected ? View.VISIBLE : View.GONE}"
|
||||
bind:strokeColor="?colorPrimary"
|
||||
bind:strokeWidth="2dp" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/nonroot_switch"
|
||||
style="@style/ButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/ButtonStyle"
|
||||
android:text="@string/nonroot"
|
||||
android:visibility="@{viewModel.nonrootModeSelected ? View.GONE : View.VISIBLE}"/>
|
||||
android:visibility="@{viewModel.nonrootModeSelected ? View.GONE : View.VISIBLE}" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
@ -65,37 +64,39 @@
|
|||
android:layout_alignParentEnd="true">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||
bind:strokeWidth="2dp"
|
||||
bind:strokeColor="?colorPrimary"
|
||||
android:textAllCaps="false"
|
||||
android:text="@string/root"
|
||||
android:visibility="@{viewModel.nonrootModeSelected ? View.GONE : View.VISIBLE}"/>
|
||||
android:textAllCaps="false"
|
||||
android:visibility="@{viewModel.nonrootModeSelected ? View.GONE : View.VISIBLE}"
|
||||
bind:strokeColor="?colorPrimary"
|
||||
bind:strokeWidth="2dp" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/root_switch"
|
||||
style="@style/ButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/ButtonStyle"
|
||||
android:text="@string/root"
|
||||
android:visibility="@{viewModel.nonrootModeSelected ? View.VISIBLE : View.GONE}"/>
|
||||
android:visibility="@{viewModel.nonrootModeSelected ? View.VISIBLE : View.GONE}" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<include
|
||||
android:id="@+id/include_vanced_layout"
|
||||
layout="@layout/include_vanced"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/stdp"
|
||||
android:layout_marginTop="@dimen/stdp"
|
||||
android:layout_marginEnd="@dimen/stdp"
|
||||
bind:viewModel="@{viewModel}"/>
|
||||
bind:viewModel="@{viewModel}" />
|
||||
|
||||
<include
|
||||
android:id="@+id/include_microg_layout"
|
||||
layout="@layout/include_microg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -106,6 +107,7 @@
|
|||
bind:viewModel="@{viewModel}" />
|
||||
|
||||
<include
|
||||
android:id="@+id/include_changelogs_layout"
|
||||
layout="@layout/include_changelogs"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -120,7 +122,7 @@
|
|||
android:layout_marginStart="@dimen/stdp"
|
||||
android:layout_marginTop="@dimen/stdp"
|
||||
android:layout_marginEnd="@dimen/stdp"
|
||||
bind:viewModel="@{viewModel}"/>
|
||||
bind:viewModel="@{viewModel}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -1,58 +1,60 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/changelog_card"
|
||||
style="@style/MaterialCard">
|
||||
<layout>
|
||||
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/changelog_card"
|
||||
style="@style/MaterialCard">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="1dp"
|
||||
android:layout_marginEnd="1dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
style="@style/CardTitle"
|
||||
android:text="@string/changelogs"
|
||||
android:layout_alignParentStart="true"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/changelog_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/arrow_down"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:background="@android:color/transparent" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tablayout"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?colorSurfaceVariant"
|
||||
app:tabIndicatorColor="?colorPrimary"
|
||||
app:tabSelectedTextColor="?colorPrimary"
|
||||
app:tabTextColor="?colorPrimary"
|
||||
app:layout_constraintTop_toBottomOf="parent"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
android:layout_marginStart="1dp"
|
||||
android:layout_marginEnd="1dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.viewpager2.widget.ViewPager2
|
||||
android:id="@+id/viewpager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:id="@+id/title_changelogs"
|
||||
style="@style/CardTitle"
|
||||
android:layout_alignParentStart="true"
|
||||
android:text="@string/changelogs" />
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
<ImageButton
|
||||
android:id="@+id/changelog_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:background="@android:color/transparent"
|
||||
android:src="@drawable/arrow_down" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tablayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?colorSurfaceVariant"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintTop_toBottomOf="parent"
|
||||
app:tabIndicatorColor="?colorPrimary"
|
||||
app:tabSelectedTextColor="?colorPrimary"
|
||||
app:tabTextColor="?colorPrimary"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<androidx.viewpager2.widget.ViewPager2
|
||||
android:id="@+id/viewpager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
</layout>
|
Loading…
Reference in New Issue