diff --git a/app/app.iml b/app/app.iml index 9c79cad0..47e725a8 100644 --- a/app/app.iml +++ b/app/app.iml @@ -72,15 +72,15 @@ - + - + - - - + + + diff --git a/app/src/main/java/com/vanced/manager/core/fragments/Home.kt b/app/src/main/java/com/vanced/manager/core/fragments/Home.kt index 8cf52ba8..7a2887e9 100644 --- a/app/src/main/java/com/vanced/manager/core/fragments/Home.kt +++ b/app/src/main/java/com/vanced/manager/core/fragments/Home.kt @@ -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(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) diff --git a/app/src/main/java/com/vanced/manager/ui/MainActivity.kt b/app/src/main/java/com/vanced/manager/ui/MainActivity.kt index 9ea267a0..a7aad668 100644 --- a/app/src/main/java/com/vanced/manager/ui/MainActivity.kt +++ b/app/src/main/java/com/vanced/manager/ui/MainActivity.kt @@ -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) diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt index a353d17a..fc36164c 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt @@ -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(R.id.home_microg_wrapper) + /*val microgWrapper = view.findViewById(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(R.id.vanced_installbtn) val vancedLatestTxt = view?.findViewById(R.id.vanced_latest_version) val networkErrorLayout = view?.findViewById(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) diff --git a/app/src/main/java/com/vanced/manager/ui/viewmodels/HomeViewModel.kt b/app/src/main/java/com/vanced/manager/ui/viewmodels/HomeViewModel.kt new file mode 100644 index 00000000..5a9faaae --- /dev/null +++ b/app/src/main/java/com/vanced/manager/ui/viewmodels/HomeViewModel.kt @@ -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() + } + } + +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 3eb9793d..704b46cc 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,35 +1,39 @@ - + xmlns:app="http://schemas.android.com/apk/res-auto"> - - - + android:layout_width="match_parent" + android:layout_height="match_parent"> - + android:layout_height="match_parent" + android:layout_below="@id/home_appbar" + app:defaultNavHost="true" + app:navGraph="@navigation/mobile_navigation"/> - + - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 27311f62..486feb71 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -1,62 +1,79 @@ - + xmlns:bind="http://schemas.android.com/apk/res-auto"> - + + + + + + + + + android:fillViewport="true" + android:scrollbars="none"> - + android:layout_height="match_parent" + android:layout_marginTop="4dp" + android:orientation="vertical"> - + - + - + - + - + - + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/include_microg.xml b/app/src/main/res/layout/include_microg.xml index e4793e9d..d9e92899 100644 --- a/app/src/main/res/layout/include_microg.xml +++ b/app/src/main/res/layout/include_microg.xml @@ -1,124 +1,141 @@ - - + - + + + + + + + + + android:layout_height="wrap_content" + android:orientation="vertical"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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"/> - - - + android:visibility="gone" + tools:visibility="visible"/> + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/layout/include_vanced.xml b/app/src/main/res/layout/include_vanced.xml index 2cf64947..04903114 100644 --- a/app/src/main/res/layout/include_vanced.xml +++ b/app/src/main/res/layout/include_vanced.xml @@ -1,4 +1,16 @@ + + + + + + + + + + @@ -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}"/> + android:text="@{viewModel.connected ? viewModel.vancedVersion : @string/unavailable}" /> @@ -87,7 +100,7 @@ + android:text="@{viewModel.microgInstalled ? viewModel.vancedInstalledVersion : @string/unavailable}" /> @@ -121,4 +134,4 @@ - + \ No newline at end of file