databinding and viewmodel test
This commit is contained in:
parent
53199a0c99
commit
ca74a58b43
10
app/app.iml
10
app/app.iml
|
@ -72,15 +72,15 @@
|
|||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/kaptKotlin/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/kapt/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/kapt/debugAndroidTest" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/kapt/debugUnitTest" isTestSource="true" generated="true" />
|
||||
|
|
|
@ -48,10 +48,12 @@ open class Home : BaseFragment() {
|
|||
//we need to check whether these apps are installed or not
|
||||
val microgStatus = pm?.let { isPackageInstalled("com.mgoogle.android.gms", it) }
|
||||
val vancedStatus =
|
||||
if (PreferenceManager.getDefaultSharedPreferences(activity).getString("vanced_variant", "Nonroot") == "Root")
|
||||
if (PreferenceManager.getDefaultSharedPreferences(activity).getString("vanced_variant", "Nonroot") == "Root") {
|
||||
pm?.let { isPackageInstalled("com.google.android.youtube", it) }
|
||||
else
|
||||
}
|
||||
else {
|
||||
pm?.let { isPackageInstalled("com.vanced.android.youtube", it) }
|
||||
}
|
||||
|
||||
vancedinstallbtn.setOnClickListener {
|
||||
if (!isVancedDownloading!!) {
|
||||
|
@ -111,7 +113,7 @@ open class Home : BaseFragment() {
|
|||
}
|
||||
|
||||
microgsettingsbtn.setOnClickListener {
|
||||
try {
|
||||
/*try {
|
||||
val intent = Intent()
|
||||
intent.component = ComponentName(
|
||||
"com.mgoogle.android.gms",
|
||||
|
@ -122,11 +124,12 @@ open class Home : BaseFragment() {
|
|||
Toast.makeText(activity, "App not installed", Toast.LENGTH_SHORT).show()
|
||||
activity?.recreate()
|
||||
}
|
||||
*/
|
||||
}
|
||||
microgVerText.text = microgVer
|
||||
//microgVerText.text = microgVer
|
||||
} else {
|
||||
microgsettingsbtn.visibility = View.INVISIBLE
|
||||
microguninstallbtn.visibility = View.INVISIBLE
|
||||
//microgsettingsbtn.visibility = View.INVISIBLE
|
||||
//microguninstallbtn.visibility = View.INVISIBLE
|
||||
microgVerText.text = getString(R.string.unavailable)
|
||||
vancedinstallbtn.isEnabled = PreferenceManager.getDefaultSharedPreferences(activity).getString("vanced_variant", "Nonroot") != "Nonroot"
|
||||
if (!vancedinstallbtn.isEnabled) {
|
||||
|
@ -138,7 +141,7 @@ open class Home : BaseFragment() {
|
|||
}
|
||||
|
||||
val vancedVerText = view.findViewById<TextView>(R.id.vanced_installed_version)
|
||||
if (vancedStatus!!) {
|
||||
/*if (vancedStatus!!) {
|
||||
val vancedVer =
|
||||
if (PreferenceManager.getDefaultSharedPreferences(activity).getString("vanced_variant", "Nonroot") == "Root")
|
||||
pm.getPackageInfo("com.google.android.youtube", 0).versionName
|
||||
|
@ -152,9 +155,10 @@ open class Home : BaseFragment() {
|
|||
}
|
||||
vancedVerText.text = vancedVer
|
||||
} else {
|
||||
vanceduninstallbtn.visibility = View.INVISIBLE
|
||||
//vanceduninstallbtn.visibility = View.INVISIBLE
|
||||
vancedVerText.text = getString(R.string.unavailable)
|
||||
}
|
||||
*/
|
||||
|
||||
bravebtn.setOnClickListener {
|
||||
openUrl("https://brave.com/van874", R.color.Brave)
|
||||
|
|
|
@ -5,6 +5,7 @@ import android.os.Bundle
|
|||
import android.view.MenuItem
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||
import androidx.navigation.NavDestination
|
||||
import androidx.navigation.findNavController
|
||||
|
@ -13,15 +14,18 @@ import androidx.navigation.ui.setupWithNavController
|
|||
import androidx.preference.PreferenceManager
|
||||
import com.vanced.manager.R
|
||||
import com.vanced.manager.core.Main
|
||||
import com.vanced.manager.databinding.ActivityMainBinding
|
||||
|
||||
class MainActivity : Main() {
|
||||
|
||||
private var isParent = true
|
||||
private lateinit var binding: ActivityMainBinding
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_main)
|
||||
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
|
||||
binding.lifecycleOwner = this
|
||||
|
||||
val toolbar: Toolbar = findViewById(R.id.home_toolbar)
|
||||
setSupportActionBar(toolbar)
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.os.Bundle
|
|||
import android.view.*
|
||||
import android.widget.TextView
|
||||
import androidx.core.animation.addListener
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.preference.PreferenceManager.getDefaultSharedPreferences
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
import com.dezlum.codelabs.getjson.GetJson
|
||||
|
@ -18,6 +19,7 @@ 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
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
|
@ -28,6 +30,7 @@ class HomeFragment : Home() {
|
|||
private lateinit var sectionPageAdapter: SectionPageAdapter
|
||||
private lateinit var sectionPageRootAdapter: SectionPageRootAdapter
|
||||
private lateinit var viewPager: ViewPager2
|
||||
private lateinit var binding: FragmentHomeBinding
|
||||
private var disposable: Disposable? = null
|
||||
|
||||
override fun onCreateView(
|
||||
|
@ -36,8 +39,9 @@ class HomeFragment : Home() {
|
|||
): View? {
|
||||
activity?.title = getString(R.string.title_home)
|
||||
setHasOptionsMenu(true)
|
||||
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_home, container, false)
|
||||
|
||||
return inflater.inflate(R.layout.fragment_home, container, false)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
|
@ -47,7 +51,7 @@ class HomeFragment : Home() {
|
|||
|
||||
val variantPref = getDefaultSharedPreferences(activity).getString("vanced_variant", "Nonroot")
|
||||
|
||||
val microgWrapper = view.findViewById<MaterialCardView>(R.id.home_microg_wrapper)
|
||||
/*val microgWrapper = view.findViewById<MaterialCardView>(R.id.home_microg_wrapper)
|
||||
if (variantPref == "Root") {
|
||||
activity?.runOnUiThread {
|
||||
microgWrapper.visibility = View.GONE
|
||||
|
@ -57,6 +61,7 @@ class HomeFragment : Home() {
|
|||
microgWrapper.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
if (variantPref == "Root")
|
||||
attachRootChangelog()
|
||||
|
@ -68,7 +73,7 @@ class HomeFragment : Home() {
|
|||
private fun initNetworkFun() {
|
||||
val pm = activity?.packageManager
|
||||
val microgStatus = pm?.let { isPackageInstalled("com.mgoogle.android.gms", it) }
|
||||
val vancedStatus = pm?.let { isPackageInstalled("com.vanced.android.youtube", it) }
|
||||
//val vancedStatus = pm?.let { isPackageInstalled("com.vanced.android.youtube", it) }
|
||||
val vancedinstallbtn = view?.findViewById<MaterialButton>(R.id.vanced_installbtn)
|
||||
val vancedLatestTxt = view?.findViewById<TextView>(R.id.vanced_latest_version)
|
||||
val networkErrorLayout = view?.findViewById<MaterialCardView>(R.id.home_network_wrapper)
|
||||
|
@ -90,9 +95,9 @@ class HomeFragment : Home() {
|
|||
.get("version").asString
|
||||
vancedLatestTxt?.text = vancedRemoteVer
|
||||
|
||||
val vancedRemoteCode =
|
||||
GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/vanced.json")
|
||||
.get("versionCode").asInt
|
||||
//val vancedRemoteCode =
|
||||
// GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/vanced.json")
|
||||
// .get("versionCode").asInt
|
||||
val microgRemoteCode =
|
||||
GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/microg.json")
|
||||
.get("versionCode").asInt
|
||||
|
@ -129,6 +134,7 @@ class HomeFragment : Home() {
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
if (vancedStatus!!) {
|
||||
val vanPkgName =
|
||||
if (variant == "Root") {
|
||||
|
@ -151,6 +157,7 @@ class HomeFragment : Home() {
|
|||
).versionCode
|
||||
}
|
||||
|
||||
/*
|
||||
when {
|
||||
vancedRemoteCode > vancedVerCode -> {
|
||||
vancedinstallbtn?.text =
|
||||
|
@ -165,8 +172,11 @@ class HomeFragment : Home() {
|
|||
vancedinstallbtn?.icon =
|
||||
activity?.getDrawable(R.drawable.outline_cloud_done_24)
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
*/
|
||||
|
||||
val oa2 = ObjectAnimator.ofFloat(networkErrorLayout, "yFraction", 0f, 0.3f)
|
||||
val oa3 = ObjectAnimator.ofFloat(networkErrorLayout, "yFraction", 0.3f, -1f)
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
package com.vanced.manager.ui.viewmodels
|
||||
|
||||
import android.app.Activity
|
||||
import android.app.Application
|
||||
import android.content.ActivityNotFoundException
|
||||
import android.content.ComponentName
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.widget.Toast
|
||||
import androidx.core.content.ContextCompat.startActivity
|
||||
import androidx.lifecycle.AndroidViewModel
|
||||
import androidx.preference.PreferenceManager.getDefaultSharedPreferences
|
||||
import com.dezlum.codelabs.getjson.GetJson
|
||||
|
||||
class HomeViewModel(application: Application): AndroidViewModel(application) {
|
||||
|
||||
private fun isPackageInstalled(packageName: String, packageManager: PackageManager): Boolean {
|
||||
return try {
|
||||
packageManager.getPackageInfo(packageName, 0)
|
||||
true
|
||||
} catch (e: PackageManager.NameNotFoundException) {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
val isMicrogInstalled: Boolean = isPackageInstalled("com.mgoogle.android.gms", Activity().packageManager)
|
||||
val isVancedInstalled: Boolean = isPackageInstalled("com.vanced.android.youtube", Activity().packageManager)
|
||||
|
||||
val isConnected = GetJson().isConnected(application)
|
||||
|
||||
val vancedInstalledVersion: String =
|
||||
if (getDefaultSharedPreferences(getApplication()).getString("vanced_variant", "Nonroot") == "Nonroot") {
|
||||
Activity().packageManager.getPackageInfo("com.vanced.android.youtube", 0).versionName
|
||||
} else {
|
||||
Activity().packageManager.getPackageInfo("com.google.android.youtube", 0).versionName
|
||||
}
|
||||
|
||||
val microgInstalledVersion: String = Activity().packageManager.getPackageInfo("com.mgoogle.android.gms", 0).versionName
|
||||
|
||||
val vancedVersion: String = GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/vanced.json")
|
||||
.get("version").asString
|
||||
|
||||
val microgVersion: String = GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/microg.json")
|
||||
.get("version").asString
|
||||
|
||||
val isNonrootModeSelected: Boolean = getDefaultSharedPreferences(getApplication()).getString("vanced_variant", "Nonroot") == "Nonroot"
|
||||
|
||||
fun openMicrogSettings() {
|
||||
try {
|
||||
val intent = Intent()
|
||||
intent.component = ComponentName(
|
||||
"com.mgoogle.android.gms",
|
||||
"org.microg.gms.ui.SettingsActivity"
|
||||
)
|
||||
startActivity(getApplication(), intent, null)
|
||||
} catch (e: ActivityNotFoundException) {
|
||||
Toast.makeText(getApplication(), "App not installed", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,35 +1,39 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
<layout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/container"
|
||||
android:background="?colorSurface"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<fragment
|
||||
android:id="@+id/bottom_nav_host"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/home_appbar"
|
||||
app:defaultNavHost="true"
|
||||
app:navGraph="@navigation/mobile_navigation"/>
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/home_appbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
<RelativeLayout
|
||||
android:id="@+id/container"
|
||||
android:background="?colorSurface"
|
||||
android:layout_alignParentTop="true">
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/home_toolbar"
|
||||
<fragment
|
||||
android:id="@+id/bottom_nav_host"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:titleTextColor="?attr/toolbarIconColor"
|
||||
android:background="@android:color/transparent"/>
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/home_appbar"
|
||||
app:defaultNavHost="true"
|
||||
app:navGraph="@navigation/mobile_navigation"/>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/home_appbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?colorSurface"
|
||||
android:layout_alignParentTop="true">
|
||||
|
||||
</RelativeLayout>
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/home_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:titleTextColor="?attr/toolbarIconColor"
|
||||
android:background="@android:color/transparent"/>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</layout>
|
|
@ -1,62 +1,79 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.vanced.manager.ui.core.SlidingNestedScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
android:scrollbars="none">
|
||||
xmlns:bind="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<LinearLayout
|
||||
<data>
|
||||
|
||||
<import type="android.view.View" />
|
||||
|
||||
<variable
|
||||
name="viewModel"
|
||||
type="com.vanced.manager.ui.viewmodels.HomeViewModel" />
|
||||
|
||||
</data>
|
||||
|
||||
<com.vanced.manager.ui.core.SlidingNestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="4dp"
|
||||
android:orientation="vertical">
|
||||
android:fillViewport="true"
|
||||
android:scrollbars="none">
|
||||
|
||||
<include
|
||||
android:id="@+id/home_network_wrapper"
|
||||
layout="@layout/include_network_error"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="@dimen/stdp"
|
||||
android:layout_marginEnd="@dimen/stdp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="4dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include
|
||||
layout="@layout/include_vanced"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="@dimen/stdp"
|
||||
android:layout_marginEnd="@dimen/stdp" />
|
||||
<include
|
||||
android:id="@+id/home_network_wrapper"
|
||||
layout="@layout/include_network_error"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="@dimen/stdp"
|
||||
android:layout_marginEnd="@dimen/stdp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<include
|
||||
android:id="@+id/home_microg_wrapper"
|
||||
layout="@layout/include_microg"
|
||||
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" />
|
||||
<include
|
||||
layout="@layout/include_vanced"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginStart="@dimen/stdp"
|
||||
android:layout_marginEnd="@dimen/stdp"
|
||||
bind:viewModel="@{viewModel}"/>
|
||||
|
||||
<include
|
||||
layout="@layout/include_changelogs"
|
||||
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" />
|
||||
<include
|
||||
android:id="@+id/home_microg_wrapper"
|
||||
layout="@layout/include_microg"
|
||||
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"
|
||||
android:visibility="@{viewModel.nonrootModeSelected ? View.VISIBLE : View.GONE}"
|
||||
bind:viewModel="@{viewModel}"/>
|
||||
|
||||
<include
|
||||
layout="@layout/include_useful_links"
|
||||
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" />
|
||||
<include
|
||||
layout="@layout/include_changelogs"
|
||||
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" />
|
||||
|
||||
</LinearLayout>
|
||||
<include
|
||||
layout="@layout/include_useful_links"
|
||||
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" />
|
||||
|
||||
</com.vanced.manager.ui.core.SlidingNestedScrollView>
|
||||
</LinearLayout>
|
||||
|
||||
</com.vanced.manager.ui.core.SlidingNestedScrollView>
|
||||
|
||||
</layout>
|
|
@ -1,124 +1,141 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
<layout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
style="@style/MaterialCard"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
<import type="android.view.View" />
|
||||
|
||||
<variable
|
||||
name="viewModel"
|
||||
type="com.vanced.manager.ui.viewmodels.HomeViewModel" />
|
||||
|
||||
</data>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
style="@style/MaterialCard">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/home_microg_logo"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:srcCompat="@drawable/ic_microg"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/microg_title_buttons_barrier" />
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/home_microg_logo"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:srcCompat="@drawable/ic_microg"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/microg_title_buttons_barrier" />
|
||||
|
||||
<TextView
|
||||
style="@style/TextAppTitle"
|
||||
android:text="@string/microg"
|
||||
app:layout_constraintStart_toEndOf="@id/home_microg_logo"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/microg_title_buttons_barrier" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/microg_installbtn"
|
||||
style="@style/ButtonStyle"
|
||||
android:text="@string/install"
|
||||
app:icon="@drawable/outline_cloud_download_24"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/microg_uninstallbtn" />
|
||||
|
||||
<androidx.constraintlayout.widget.Barrier
|
||||
android:id="@+id/microg_title_buttons_barrier"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:barrierDirection="bottom"
|
||||
app:constraint_referenced_ids="microg_installbtn"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/microg_remote_latest_version"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/microg_title_buttons_barrier"
|
||||
app:layout_constraintBottom_toTopOf="@id/linearLayout2">
|
||||
|
||||
<TextView
|
||||
style="@style/AppVer"
|
||||
android:text="@string/latest" />
|
||||
|
||||
<TextView
|
||||
style="@style/AppVer.Bold"
|
||||
android:id="@+id/microg_latest_version"
|
||||
android:text="@{viewModel.connected ? viewModel.microgVersion : @string/unavailable}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linearLayout2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/microg_remote_latest_version"
|
||||
app:layout_constraintBottom_toBottomOf="parent">
|
||||
|
||||
<TextView
|
||||
style="@style/AppVer"
|
||||
android:text="@string/version_installed" />
|
||||
|
||||
<TextView
|
||||
style="@style/AppVer.Bold"
|
||||
android:id="@+id/microg_installed_version"
|
||||
android:text="@{viewModel.microgInstalled ? viewModel.microgInstalledVersion : @string/unavailable}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
style="@style/ClickableImageWidget"
|
||||
android:id="@+id/microg_settingsbtn"
|
||||
app:srcCompat="@drawable/ic_microg_settings"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/microg_uninstallbtn"
|
||||
app:layout_constraintTop_toBottomOf="@id/microg_title_buttons_barrier"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:onClick="@{() -> viewModel.openMicrogSettings()}"
|
||||
android:visibility="@{viewModel.microgInstalled ? View.VISIBLE : View.GONE}" />
|
||||
|
||||
<ImageView
|
||||
style="@style/ClickableImageWidget.Red"
|
||||
android:id="@+id/microg_uninstallbtn"
|
||||
app:srcCompat="@drawable/ic_delete_black_24dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/microg_title_buttons_barrier"
|
||||
android:visibility="@{viewModel.microgInstalled ? View.VISIBLE : View.GONE}" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<TextView
|
||||
style="@style/TextAppTitle"
|
||||
android:text="@string/microg"
|
||||
app:layout_constraintStart_toEndOf="@id/home_microg_logo"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/microg_title_buttons_barrier" />
|
||||
android:id="@+id/microg_downloading"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/CardTitle"
|
||||
android:text="Downloading"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/microg_installbtn"
|
||||
style="@style/ButtonStyle"
|
||||
android:text="@string/install"
|
||||
app:icon="@drawable/outline_cloud_download_24"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/microg_uninstallbtn" />
|
||||
|
||||
<androidx.constraintlayout.widget.Barrier
|
||||
android:id="@+id/microg_title_buttons_barrier"
|
||||
<ProgressBar
|
||||
android:id="@+id/microg_progress"
|
||||
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:barrierDirection="bottom"
|
||||
app:constraint_referenced_ids="microg_installbtn"/>
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/microg_remote_latest_version"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/microg_title_buttons_barrier"
|
||||
app:layout_constraintBottom_toTopOf="@id/linearLayout2">
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<TextView
|
||||
style="@style/AppVer"
|
||||
android:text="@string/latest" />
|
||||
|
||||
<TextView
|
||||
style="@style/AppVer.Bold"
|
||||
android:id="@+id/microg_latest_version"
|
||||
android:text="@string/loading" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linearLayout2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/microg_remote_latest_version"
|
||||
app:layout_constraintBottom_toBottomOf="parent">
|
||||
|
||||
<TextView
|
||||
style="@style/AppVer"
|
||||
android:text="@string/version_installed" />
|
||||
|
||||
<TextView
|
||||
style="@style/AppVer.Bold"
|
||||
android:id="@+id/microg_installed_version"
|
||||
android:text="@string/loading" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
style="@style/ClickableImageWidget"
|
||||
android:id="@+id/microg_settingsbtn"
|
||||
app:srcCompat="@drawable/ic_microg_settings"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/microg_uninstallbtn"
|
||||
app:layout_constraintTop_toBottomOf="@id/microg_title_buttons_barrier"
|
||||
android:layout_marginEnd="4dp"/>
|
||||
|
||||
<ImageView
|
||||
style="@style/ClickableImageWidget.Red"
|
||||
android:id="@+id/microg_uninstallbtn"
|
||||
app:srcCompat="@drawable/ic_delete_black_24dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/microg_title_buttons_barrier" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/microg_downloading"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/CardTitle"
|
||||
android:text="Downloading"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/microg_progress"
|
||||
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
</layout>
|
||||
|
|
|
@ -1,4 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout>
|
||||
|
||||
<data>
|
||||
|
||||
<import type="android.view.View" />
|
||||
|
||||
<variable
|
||||
name="viewModel"
|
||||
type="com.vanced.manager.ui.viewmodels.HomeViewModel" />
|
||||
|
||||
</data>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
|
@ -34,7 +46,7 @@
|
|||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/vanced_installbtn"
|
||||
style="@style/ButtonStyle"
|
||||
android:text="@string/install"
|
||||
android:text="@{viewModel.microgInstalled ? @string/install : @string/no_microg}"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:icon="@drawable/outline_cloud_download_24" />
|
||||
|
@ -52,7 +64,8 @@
|
|||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/vanced_title_buttons_barrier"
|
||||
app:srcCompat="@drawable/ic_delete_black_24dp" />
|
||||
app:srcCompat="@drawable/ic_delete_black_24dp"
|
||||
android:visibility="@{viewModel.vancedInstalled ? View.VISIBLE : View.GONE}"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/vanced_remote_latest_version"
|
||||
|
@ -69,7 +82,7 @@
|
|||
<TextView
|
||||
style="@style/AppVer.Bold"
|
||||
android:id="@+id/vanced_latest_version"
|
||||
android:text="@string/loading" />
|
||||
android:text="@{viewModel.connected ? viewModel.vancedVersion : @string/unavailable}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -87,7 +100,7 @@
|
|||
<TextView
|
||||
style="@style/AppVer.Bold"
|
||||
android:id="@+id/vanced_installed_version"
|
||||
android:text="@string/loading" />
|
||||
android:text="@{viewModel.microgInstalled ? viewModel.vancedInstalledVersion : @string/unavailable}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -121,4 +134,4 @@
|
|||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
|
||||
</layout>
|
Loading…
Reference in New Issue