junk code cleanup and proper support of root vanced

This commit is contained in:
X1nto 2020-06-05 16:45:36 +04:00
parent 1cf13d2d0e
commit eb5c53e314
11 changed files with 180 additions and 151 deletions

View File

@ -4,10 +4,8 @@ import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
import android.view.MotionEvent import android.view.MotionEvent
import android.view.View import android.view.View
import android.widget.Button
import android.widget.Toast import android.widget.Toast
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import com.vanced.manager.R
import com.vanced.manager.core.base.BaseFragment import com.vanced.manager.core.base.BaseFragment
open class About : BaseFragment() { open class About : BaseFragment() {
@ -44,17 +42,6 @@ open class About : BaseFragment() {
} }
false false
} }
val githubSource = view.findViewById<Button>(R.id.about_github_button)
val license = view.findViewById<Button>(R.id.about_license_button)
githubSource.setOnClickListener {
openUrl("https://github.com/YTvanced/VancedInstaller", R.color.GitHub)
}
license.setOnClickListener {
openUrl("https://raw.githubusercontent.com/YTVanced/VancedInstaller/dev/LICENSE", R.color.GitHub)
}
} }
} }

View File

@ -18,17 +18,9 @@ open class Home : BaseFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
//Damn that's a lot of buttons
val microginstallbtn = view.findViewById<MaterialButton>(R.id.microg_installbtn) val microginstallbtn = view.findViewById<MaterialButton>(R.id.microg_installbtn)
val vancedinstallbtn = view.findViewById<MaterialButton>(R.id.vanced_installbtn) val vancedinstallbtn = view.findViewById<MaterialButton>(R.id.vanced_installbtn)
//val bravebtn = view.findViewById<Button>(R.id.brave_button)
//val websitebtn = view.findViewById<Button>(R.id.website_button)
//val discordbtn = view.findViewById<Button>(R.id.discordbtn)
//val telegrambtn = view.findViewById<Button>(R.id.tgbtn)
//val twitterbtn = view.findViewById<Button>(R.id.twitterbtn)
//val redditbtn = view.findViewById<Button>(R.id.redditbtn)
val microgProgress = view.findViewById<ProgressBar>(R.id.microg_progress) val microgProgress = view.findViewById<ProgressBar>(R.id.microg_progress)
val prefs = activity?.getSharedPreferences("installPrefs", Context.MODE_PRIVATE) val prefs = activity?.getSharedPreferences("installPrefs", Context.MODE_PRIVATE)
val isVancedDownloading: Boolean? = prefs?.getBoolean("isVancedDownloading", false) val isVancedDownloading: Boolean? = prefs?.getBoolean("isVancedDownloading", false)
@ -83,31 +75,6 @@ open class Home : BaseFragment() {
} }
} }
/*
bravebtn.setOnClickListener {
openUrl("https://brave.com/van874", R.color.Brave)
}
websitebtn.setOnClickListener {
openUrl("https://vanced.app", R.color.Vanced)
}
discordbtn.setOnClickListener {
openUrl("https://discord.gg/TUVd7rd", R.color.Discord)
}
telegrambtn.setOnClickListener {
openUrl("https://t.me/joinchat/AAAAAEHf-pi4jH1SDlAL4w", R.color.Telegram)
}
twitterbtn.setOnClickListener {
openUrl("https://twitter.com/YTVanced", R.color.Twitter)
}
redditbtn.setOnClickListener {
openUrl("https://reddit.com/r/vanced", R.color.Reddit)
}
*/
} }
override fun onResume() { override fun onResume() {

View File

@ -152,9 +152,11 @@ class MainActivity : Main() {
dialog, _ -> dialog, _ ->
run { run {
dialog.dismiss() dialog.dismiss()
recreate() startActivity(Intent(this@MainActivity, MainActivity::class.java))
finish()
} }
} }
.setCancelable(false)
.create() .create()
.show() .show()
} }

View File

@ -4,21 +4,32 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.core.fragments.About import com.vanced.manager.core.fragments.About
import com.vanced.manager.databinding.FragmentAboutBinding
import com.vanced.manager.ui.viewmodels.AboutViewModel
/**
* A simple [Fragment] subclass.
*/
class AboutFragment : About() { class AboutFragment : About() {
private lateinit var binding: FragmentAboutBinding
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View? { ): View? {
activity?.title = getString(R.string.title_about) activity?.title = getString(R.string.title_about)
return inflater.inflate(R.layout.fragment_about, container, false) binding = DataBindingUtil.inflate(inflater, R.layout.fragment_home, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val viewModel: AboutViewModel by viewModels()
binding.viewModel = viewModel
} }
} }

View File

@ -63,12 +63,17 @@ class HomeFragment : Home() {
private fun initNetworkFun() { private fun initNetworkFun() {
val pm = activity?.packageManager val pm = activity?.packageManager
val variant = getDefaultSharedPreferences(activity).getString("vanced_variant", "nonroot")
val microgStatus = pm?.let { isPackageInstalled("com.mgoogle.android.gms", it) } val microgStatus = pm?.let { isPackageInstalled("com.mgoogle.android.gms", it) }
val vancedStatus = pm?.let { isPackageInstalled("com.vanced.android.youtube", it) } val vancedStatus =
if (variant == "root") {
pm?.let { isPackageInstalled("com.vanced.android.youtube", it) }
} else {
pm?.let { isPackageInstalled("com.vanced.android.youtube", it) }
}
val vancedinstallbtn = view?.findViewById<MaterialButton>(R.id.vanced_installbtn) val vancedinstallbtn = view?.findViewById<MaterialButton>(R.id.vanced_installbtn)
val vancedLatestTxt = view?.findViewById<TextView>(R.id.vanced_latest_version) val vancedLatestTxt = view?.findViewById<TextView>(R.id.vanced_latest_version)
val networkErrorLayout = view?.findViewById<MaterialCardView>(R.id.home_network_wrapper) val networkErrorLayout = view?.findViewById<MaterialCardView>(R.id.home_network_wrapper)
val variant = getDefaultSharedPreferences(activity).getString("vanced_variant", "nonroot")
disposable = ReactiveNetwork.observeInternetConnectivity() disposable = ReactiveNetwork.observeInternetConnectivity()
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
@ -124,21 +129,20 @@ class HomeFragment : Home() {
val vancedVerCode = val vancedVerCode =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
pm.getPackageInfo( pm?.getPackageInfo(
vanPkgName, vanPkgName,
0 0
).longVersionCode.and(0xFFFFFFFF).toInt() )?.longVersionCode?.and(0xFFFFFFFF)?.toInt()
} }
else { else {
pm.getPackageInfo( pm?.getPackageInfo(
vanPkgName, vanPkgName,
0 0
).versionCode )?.versionCode
} }
when { when {
vancedRemoteCode > vancedVerCode -> { vancedRemoteCode > vancedVerCode!! -> {
vancedinstallbtn?.text = vancedinstallbtn?.text =
activity?.getString(R.string.update) activity?.getString(R.string.update)
vancedinstallbtn?.icon = vancedinstallbtn?.icon =

View File

@ -0,0 +1,19 @@
package com.vanced.manager.ui.viewmodels
import android.app.Application
import android.net.Uri
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.content.ContextCompat
import androidx.lifecycle.AndroidViewModel
import com.vanced.manager.R
open class AboutViewModel(application: Application): AndroidViewModel(application) {
fun openUrl(Url: String) {
val builder = CustomTabsIntent.Builder()
builder.setToolbarColor(ContextCompat.getColor(getApplication(), R.color.GitHub))
val customTabsIntent = builder.build()
customTabsIntent.launchUrl(getApplication(), Uri.parse(Url))
}
}

View File

@ -107,7 +107,18 @@ open class HomeViewModel(application: Application): AndroidViewModel(application
} }
} }
fun openUrl(Url: String, color: Int) { fun openUrl(Url: String) {
val color: Int =
when (Url) {
"https://discord.gg/TUVd7rd" -> R.color.Discord
"https://t.me/joinchat/AAAAAEHf-pi4jH1SDlAL4w" -> R.color.Telegram
"https://twitter.com/YTVanced" -> R.color.Twitter
"https://reddit.com/r/vanced" -> R.color.Reddit
"https://vanced.app" -> R.color.Vanced
"https://brave.com/van874" -> R.color.Brave
else -> R.color.Vanced
}
val builder = CustomTabsIntent.Builder() val builder = CustomTabsIntent.Builder()
builder.setToolbarColor(ContextCompat.getColor(getApplication(), color)) builder.setToolbarColor(ContextCompat.getColor(getApplication(), color))
val customTabsIntent = builder.build() val customTabsIntent = builder.build()

View File

@ -1,6 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView <layout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bind="http://schemas.android.com/tools">
<data>
<variable
name="viewModel"
type="com.vanced.manager.ui.viewmodels.AboutViewModel" />
</data>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:fillViewport="true" android:fillViewport="true"
@ -37,9 +48,13 @@
layout="@layout/include_about_sources" layout="@layout/include_about_sources"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/stdp" /> android:layout_marginTop="@dimen/stdp"
bind:viewModel="@{viewModel}"/>
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
</layout>

View File

@ -1,5 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView <layout>
<data>
<variable
name="viewModel"
type="com.vanced.manager.ui.viewmodels.AboutViewModel" />
</data>
<com.google.android.material.card.MaterialCardView
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
@ -35,8 +43,9 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/about_github_button"
style="@style/SocialButtonStyle" style="@style/SocialButtonStyle"
android:id="@+id/about_github_button"
android:onClick='@{()-> viewModel.openUrl("https://github.com/YTVanced/VancedInstaller")}'
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/about_license_button" app:layout_constraintEnd_toStartOf="@id/about_license_button"
@ -51,6 +60,7 @@
android:text="GPL" android:text="GPL"
android:textSize="21sp" android:textSize="21sp"
android:fontFamily="@font/exo_semibold" android:fontFamily="@font/exo_semibold"
android:onClick='@{()-> viewModel.openUrl("https://raw.githubusercontent.com/YTVanced/VancedInstaller/dev/LICENSE")}'
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@id/about_github_button" app:layout_constraintStart_toEndOf="@id/about_github_button"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@ -64,4 +74,7 @@
</LinearLayout> </LinearLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
</layout>

View File

@ -43,14 +43,14 @@
android:text="@string/support_us" android:text="@string/support_us"
android:layout_marginTop="5dp" android:layout_marginTop="5dp"
app:cornerRadius="@dimen/eightdp" app:cornerRadius="@dimen/eightdp"
android:onClick='@{()-> viewModel.openUrl("https://brave.com/van874", @color/Brave)}'/> android:onClick='@{()-> viewModel.openUrl("https://brave.com/van874")}'/>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
style="@style/LinkButtonStyle" style="@style/LinkButtonStyle"
android:id="@+id/website_button" android:id="@+id/website_button"
android:text="@string/website_text" android:text="@string/website_text"
app:cornerRadius="@dimen/eightdp" app:cornerRadius="@dimen/eightdp"
android:onClick='@{()-> viewModel.openUrl("https://vanced.app", @color/Vanced)}'/> android:onClick='@{()-> viewModel.openUrl("https://vanced.app")}'/>
</LinearLayout> </LinearLayout>

View File

@ -47,7 +47,7 @@
app:layout_constraintEnd_toStartOf="@id/tgbtn" app:layout_constraintEnd_toStartOf="@id/tgbtn"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
android:onClick='@{()-> viewModel.openUrl("https://discord.gg/TUVd7rd", @color/Discord)}'/> android:onClick='@{()-> viewModel.openUrl("https://discord.gg/TUVd7rd")}'/>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/tgbtn" android:id="@+id/tgbtn"
@ -56,7 +56,7 @@
app:layout_constraintEnd_toStartOf="@id/twitterbtn" app:layout_constraintEnd_toStartOf="@id/twitterbtn"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@id/discordbtn" app:layout_constraintStart_toEndOf="@id/discordbtn"
android:onClick='@{()-> viewModel.openUrl("https://t.me/joinchat/AAAAAEHf-pi4jH1SDlAL4w", @color/Telegram)}'/> android:onClick='@{()-> viewModel.openUrl("https://t.me/joinchat/AAAAAEHf-pi4jH1SDlAL4w")}'/>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/twitterbtn" android:id="@+id/twitterbtn"
@ -65,7 +65,7 @@
app:layout_constraintEnd_toStartOf="@id/redditbtn" app:layout_constraintEnd_toStartOf="@id/redditbtn"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@id/tgbtn" app:layout_constraintStart_toEndOf="@id/tgbtn"
android:onClick='@{()-> viewModel.openUrl("https://twitter.com/YTVanced", @color/Twitter)}'/> android:onClick='@{()-> viewModel.openUrl("https://twitter.com/YTVanced")}'/>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/redditbtn" android:id="@+id/redditbtn"
@ -74,7 +74,7 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@id/twitterbtn" app:layout_constraintStart_toEndOf="@id/twitterbtn"
android:onClick='@{()-> viewModel.openUrl("https://reddit.com/r/vanced", @color/Reddit)}'/> android:onClick='@{()-> viewModel.openUrl("https://reddit.com/r/vanced")}'/>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>