improvement/core-ui create core-ui and replase base abstracts

This commit is contained in:
HaliksaR 2020-11-26 22:37:03 +07:00
parent 7586c50f45
commit e89b0b2b55
31 changed files with 160 additions and 90 deletions

View File

@ -98,6 +98,8 @@ static def surroundWithQuotes(Object[] arr) {
dependencies { dependencies {
implementation project(":core-ui")
// Kotlin // Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"

View File

@ -15,8 +15,8 @@ import com.vanced.manager.R
import com.vanced.manager.core.downloader.MicrogDownloader.downloadMicrog import com.vanced.manager.core.downloader.MicrogDownloader.downloadMicrog
import com.vanced.manager.core.downloader.MusicDownloader.downloadMusic import com.vanced.manager.core.downloader.MusicDownloader.downloadMusic
import com.vanced.manager.core.downloader.VancedDownloader.downloadVanced import com.vanced.manager.core.downloader.VancedDownloader.downloadVanced
import com.vanced.manager.core.ui.base.BindingDialogFragment
import com.vanced.manager.databinding.DialogAppDownloadBinding import com.vanced.manager.databinding.DialogAppDownloadBinding
import com.vanced.manager.ui.core.BindingDialogFragment
import com.vanced.manager.utils.DownloadHelper.downloadProgress import com.vanced.manager.utils.DownloadHelper.downloadProgress
class AppDownloadDialog : BindingDialogFragment<DialogAppDownloadBinding>() { class AppDownloadDialog : BindingDialogFragment<DialogAppDownloadBinding>() {

View File

@ -8,8 +8,8 @@ import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.graphics.drawable.toBitmap import androidx.core.graphics.drawable.toBitmap
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingDialogFragment
import com.vanced.manager.databinding.DialogAppInfoBinding import com.vanced.manager.databinding.DialogAppInfoBinding
import com.vanced.manager.ui.core.BindingDialogFragment
class AppInfoDialog : BindingDialogFragment<DialogAppInfoBinding>() { class AppInfoDialog : BindingDialogFragment<DialogAppInfoBinding>() {

View File

@ -7,11 +7,11 @@ import android.view.ViewGroup
import androidx.core.content.edit import androidx.core.content.edit
import com.google.android.material.radiobutton.MaterialRadioButton import com.google.android.material.radiobutton.MaterialRadioButton
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.DialogBottomRadioButtonBinding import com.vanced.manager.databinding.DialogBottomRadioButtonBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.getCheckedButtonTag import com.vanced.manager.utils.Extensions.getCheckedButtonTag
import com.vanced.manager.utils.Extensions.getDefaultPrefs import com.vanced.manager.utils.Extensions.getDefaultPrefs
import com.vanced.manager.utils.Extensions.show
class AppVersionSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomRadioButtonBinding>() { class AppVersionSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomRadioButtonBinding>() {
@ -83,9 +83,9 @@ class AppVersionSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomRa
override fun onDismiss(dialog: DialogInterface) { override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog) super.onDismiss(dialog)
if (arguments?.getString(TAG_APP) == "vanced") { if (arguments?.getString(TAG_APP) == "vanced") {
VancedPreferencesDialog().show(requireActivity()) showDialog(VancedPreferencesDialog())
} else { } else {
MusicPreferencesDialog().show(requireActivity()) showDialog(MusicPreferencesDialog())
} }
} }
} }

View File

@ -8,9 +8,9 @@ import com.vanced.manager.R
import com.vanced.manager.core.downloader.MicrogDownloader.startMicrogInstall import com.vanced.manager.core.downloader.MicrogDownloader.startMicrogInstall
import com.vanced.manager.core.downloader.MusicDownloader.startMusicInstall import com.vanced.manager.core.downloader.MusicDownloader.startMusicInstall
import com.vanced.manager.core.downloader.VancedDownloader.startVancedInstall import com.vanced.manager.core.downloader.VancedDownloader.startVancedInstall
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.DialogInstallationFilesDetectedBinding import com.vanced.manager.databinding.DialogInstallationFilesDetectedBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.show
class InstallationFilesDetectedDialog : BindingBottomSheetDialogFragment<DialogInstallationFilesDetectedBinding>() { class InstallationFilesDetectedDialog : BindingBottomSheetDialogFragment<DialogInstallationFilesDetectedBinding>() {
@ -45,23 +45,30 @@ class InstallationFilesDetectedDialog : BindingBottomSheetDialogFragment<DialogI
installationDetectedRedownload.setOnClickListener { installationDetectedRedownload.setOnClickListener {
dismiss() dismiss()
if (app == getString(R.string.vanced)) if (app == getString(R.string.vanced))
VancedPreferencesDialog().show(requireActivity()) showDialog(VancedPreferencesDialog())
else { else {
AppDownloadDialog.newInstance(app).show(requireActivity()) showDialog(AppDownloadDialog.newInstance(app))
} }
} }
installationDetectedInstall.setOnClickListener { installationDetectedInstall.setOnClickListener {
dismiss() dismiss()
when (app) { when (app) {
getString(R.string.vanced) -> startVancedInstall(requireContext(), getString(R.string.vanced) -> startVancedInstall(
getDefaultSharedPreferences(requireContext()).getString("vanced_variant", "nonroot")) requireContext(),
getDefaultSharedPreferences(requireContext()).getString(
"vanced_variant",
"nonroot"
)
)
getString(R.string.music) -> startMusicInstall(requireContext()) getString(R.string.music) -> startMusicInstall(requireContext())
getString(R.string.microg) -> startMicrogInstall(requireContext()) getString(R.string.microg) -> startMicrogInstall(requireContext())
} }
AppDownloadDialog.newInstance( showDialog(
app = app, AppDownloadDialog.newInstance(
installing = true app = app,
).show(requireActivity()) installing = true
)
)
} }
} }
} }

View File

@ -6,8 +6,8 @@ import android.view.ViewGroup
import androidx.core.content.edit import androidx.core.content.edit
import androidx.preference.PreferenceManager.getDefaultSharedPreferences import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import com.google.android.material.radiobutton.MaterialRadioButton import com.google.android.material.radiobutton.MaterialRadioButton
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.databinding.DialogManagerAccentColorBinding import com.vanced.manager.databinding.DialogManagerAccentColorBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.getCheckedButtonTag import com.vanced.manager.utils.Extensions.getCheckedButtonTag
class ManagerAccentColorDialog : BindingBottomSheetDialogFragment<DialogManagerAccentColorBinding>() { class ManagerAccentColorDialog : BindingBottomSheetDialogFragment<DialogManagerAccentColorBinding>() {

View File

@ -9,8 +9,8 @@ import androidx.core.content.edit
import androidx.preference.PreferenceManager.getDefaultSharedPreferences import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import com.google.android.material.radiobutton.MaterialRadioButton import com.google.android.material.radiobutton.MaterialRadioButton
import com.vanced.manager.BuildConfig.MANAGER_LANGUAGES import com.vanced.manager.BuildConfig.MANAGER_LANGUAGES
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.databinding.DialogManagerLanguageBinding import com.vanced.manager.databinding.DialogManagerLanguageBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.getCheckedButtonTag import com.vanced.manager.utils.Extensions.getCheckedButtonTag
import com.vanced.manager.utils.LanguageHelper.getLanguageFormat import com.vanced.manager.utils.LanguageHelper.getLanguageFormat

View File

@ -6,8 +6,8 @@ import android.view.ViewGroup
import androidx.core.content.edit import androidx.core.content.edit
import androidx.preference.PreferenceManager.getDefaultSharedPreferences import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import com.google.android.material.radiobutton.MaterialRadioButton import com.google.android.material.radiobutton.MaterialRadioButton
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.databinding.DialogManagerThemeBinding import com.vanced.manager.databinding.DialogManagerThemeBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.getCheckedButtonTag import com.vanced.manager.utils.Extensions.getCheckedButtonTag
class ManagerThemeDialog : BindingBottomSheetDialogFragment<DialogManagerThemeBinding>() { class ManagerThemeDialog : BindingBottomSheetDialogFragment<DialogManagerThemeBinding>() {

View File

@ -12,8 +12,8 @@ import android.view.ViewGroup
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.localbroadcastmanager.content.LocalBroadcastManager import androidx.localbroadcastmanager.content.LocalBroadcastManager
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingDialogFragment
import com.vanced.manager.databinding.DialogManagerUpdateBinding import com.vanced.manager.databinding.DialogManagerUpdateBinding
import com.vanced.manager.ui.core.BindingDialogFragment
import com.vanced.manager.utils.DownloadHelper.downloadManager import com.vanced.manager.utils.DownloadHelper.downloadManager
import com.vanced.manager.utils.DownloadHelper.downloadProgress import com.vanced.manager.utils.DownloadHelper.downloadProgress
import com.vanced.manager.utils.InternetTools.isUpdateAvailable import com.vanced.manager.utils.InternetTools.isUpdateAvailable

View File

@ -7,8 +7,8 @@ import androidx.core.content.edit
import androidx.preference.PreferenceManager.getDefaultSharedPreferences import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import com.google.android.material.radiobutton.MaterialRadioButton import com.google.android.material.radiobutton.MaterialRadioButton
import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.Shell
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.databinding.DialogManagerVariantBinding import com.vanced.manager.databinding.DialogManagerVariantBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.getCheckedButtonTag import com.vanced.manager.utils.Extensions.getCheckedButtonTag
class ManagerVariantDialog : BindingBottomSheetDialogFragment<DialogManagerVariantBinding>() { class ManagerVariantDialog : BindingBottomSheetDialogFragment<DialogManagerVariantBinding>() {

View File

@ -4,11 +4,11 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.DialogMusicPreferencesBinding import com.vanced.manager.databinding.DialogMusicPreferencesBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.convertToAppVersions import com.vanced.manager.utils.Extensions.convertToAppVersions
import com.vanced.manager.utils.Extensions.getDefaultPrefs import com.vanced.manager.utils.Extensions.getDefaultPrefs
import com.vanced.manager.utils.Extensions.show
import com.vanced.manager.utils.InternetTools.musicVersions import com.vanced.manager.utils.InternetTools.musicVersions
class MusicPreferencesDialog : BindingBottomSheetDialogFragment<DialogMusicPreferencesBinding>() { class MusicPreferencesDialog : BindingBottomSheetDialogFragment<DialogMusicPreferencesBinding>() {
@ -39,16 +39,20 @@ class MusicPreferencesDialog : BindingBottomSheetDialogFragment<DialogMusicPrefe
musicVersion.text = getString(R.string.chosen_version, prefs.getString("music_version", "latest")) musicVersion.text = getString(R.string.chosen_version, prefs.getString("music_version", "latest"))
openVersionSelector.setOnClickListener { openVersionSelector.setOnClickListener {
dismiss() dismiss()
AppVersionSelectorDialog.newInstance( showDialog(
versions = musicVersionsConv, AppVersionSelectorDialog.newInstance(
app = "music" versions = musicVersionsConv,
).show(requireActivity()) app = "music"
)
)
} }
musicInstall.setOnClickListener { musicInstall.setOnClickListener {
dismiss() dismiss()
AppDownloadDialog.newInstance( showDialog(
app = getString(R.string.music) AppDownloadDialog.newInstance(
).show(requireActivity()) app = getString(R.string.music)
)
)
} }
} }
} }

View File

@ -9,8 +9,8 @@ import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.adapter.SelectAppsAdapter import com.vanced.manager.adapter.SelectAppsAdapter
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.databinding.DialogSelectAppsBinding import com.vanced.manager.databinding.DialogSelectAppsBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
class SelectAppsDialog : BindingBottomSheetDialogFragment<DialogSelectAppsBinding>() { class SelectAppsDialog : BindingBottomSheetDialogFragment<DialogSelectAppsBinding>() {

View File

@ -9,8 +9,8 @@ import android.widget.TextView
import androidx.core.content.edit import androidx.core.content.edit
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.preference.PreferenceManager.getDefaultSharedPreferences import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import com.vanced.manager.core.ui.base.BindingDialogFragment
import com.vanced.manager.databinding.DialogCustomUrlBinding import com.vanced.manager.databinding.DialogCustomUrlBinding
import com.vanced.manager.ui.core.BindingDialogFragment
import com.vanced.manager.utils.Extensions.fetchData import com.vanced.manager.utils.Extensions.fetchData
import com.vanced.manager.utils.InternetTools.baseUrl import com.vanced.manager.utils.InternetTools.baseUrl
import kotlinx.coroutines.launch import kotlinx.coroutines.launch

View File

@ -13,9 +13,9 @@ import androidx.core.content.edit
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import com.google.android.material.checkbox.MaterialCheckBox import com.google.android.material.checkbox.MaterialCheckBox
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.DialogVancedLanguageSelectionBinding import com.vanced.manager.databinding.DialogVancedLanguageSelectionBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.show
import com.vanced.manager.utils.InternetTools.vanced import com.vanced.manager.utils.InternetTools.vanced
import com.vanced.manager.utils.LanguageHelper.getDefaultVancedLanguages import com.vanced.manager.utils.LanguageHelper.getDefaultVancedLanguages
import java.util.* import java.util.*
@ -79,6 +79,6 @@ class VancedLanguageSelectionDialog : BindingBottomSheetDialogFragment<DialogVan
override fun onDismiss(dialog: DialogInterface) { override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog) super.onDismiss(dialog)
VancedPreferencesDialog().show(requireActivity()) showDialog(VancedPreferencesDialog())
} }
} }

View File

@ -5,12 +5,12 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.DialogVancedPreferencesBinding import com.vanced.manager.databinding.DialogVancedPreferencesBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.convertToAppTheme import com.vanced.manager.utils.Extensions.convertToAppTheme
import com.vanced.manager.utils.Extensions.convertToAppVersions import com.vanced.manager.utils.Extensions.convertToAppVersions
import com.vanced.manager.utils.Extensions.getDefaultPrefs import com.vanced.manager.utils.Extensions.getDefaultPrefs
import com.vanced.manager.utils.Extensions.show
import com.vanced.manager.utils.InternetTools.vancedVersions import com.vanced.manager.utils.InternetTools.vancedVersions
import com.vanced.manager.utils.LanguageHelper.getDefaultVancedLanguages import com.vanced.manager.utils.LanguageHelper.getDefaultVancedLanguages
import java.util.* import java.util.*
@ -51,24 +51,28 @@ class VancedPreferencesDialog : BindingBottomSheetDialogFragment<DialogVancedPre
vancedLang.text = getString(R.string.chosen_lang, showLang) vancedLang.text = getString(R.string.chosen_lang, showLang)
openThemeSelector.setOnClickListener { openThemeSelector.setOnClickListener {
dismiss() dismiss()
VancedThemeSelectorDialog().show(requireActivity()) showDialog(VancedThemeSelectorDialog())
} }
openVersionSelector.setOnClickListener { openVersionSelector.setOnClickListener {
dismiss() dismiss()
AppVersionSelectorDialog.newInstance( showDialog(
versions = vancedVersionsConv, AppVersionSelectorDialog.newInstance(
app = "vanced" versions = vancedVersionsConv,
).show(requireActivity()) app = "vanced"
)
)
} }
openLanguageSelector.setOnClickListener { openLanguageSelector.setOnClickListener {
dismiss() dismiss()
VancedLanguageSelectionDialog().show(requireActivity()) showDialog(VancedLanguageSelectionDialog())
} }
vancedInstall.setOnClickListener { vancedInstall.setOnClickListener {
dismiss() dismiss()
AppDownloadDialog.newInstance( showDialog(
app = getString(R.string.vanced) AppDownloadDialog.newInstance(
).show(requireActivity()) app = getString(R.string.vanced)
)
)
} }
} }
} }

View File

@ -8,11 +8,11 @@ import android.view.ViewGroup
import androidx.core.content.edit import androidx.core.content.edit
import com.google.android.material.radiobutton.MaterialRadioButton import com.google.android.material.radiobutton.MaterialRadioButton
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.DialogBottomRadioButtonBinding import com.vanced.manager.databinding.DialogBottomRadioButtonBinding
import com.vanced.manager.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.convertToAppTheme import com.vanced.manager.utils.Extensions.convertToAppTheme
import com.vanced.manager.utils.Extensions.getCheckedButtonTag import com.vanced.manager.utils.Extensions.getCheckedButtonTag
import com.vanced.manager.utils.Extensions.show
import com.vanced.manager.utils.InternetTools.vanced import com.vanced.manager.utils.InternetTools.vanced
class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomRadioButtonBinding>() { class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomRadioButtonBinding>() {
@ -70,6 +70,6 @@ class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomR
override fun onDismiss(dialog: DialogInterface) { override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog) super.onDismiss(dialog)
VancedPreferencesDialog().show(requireActivity()) showDialog(VancedPreferencesDialog())
} }
} }

View File

@ -11,9 +11,9 @@ import androidx.core.content.edit
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.core.ext.showDialog import com.vanced.manager.core.ui.base.BindingFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.FragmentAboutBinding import com.vanced.manager.databinding.FragmentAboutBinding
import com.vanced.manager.ui.core.BindingFragment
import com.vanced.manager.ui.dialogs.AppInfoDialog import com.vanced.manager.ui.dialogs.AppInfoDialog
import com.vanced.manager.ui.viewmodels.AboutViewModel import com.vanced.manager.ui.viewmodels.AboutViewModel
import com.vanced.manager.utils.InternetTools.manager import com.vanced.manager.utils.InternetTools.manager

View File

@ -9,9 +9,9 @@ import androidx.core.content.edit
import androidx.preference.PreferenceManager.getDefaultSharedPreferences import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.Shell
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingFragment
import com.vanced.manager.databinding.FragmentGrantRootBinding import com.vanced.manager.databinding.FragmentGrantRootBinding
import com.vanced.manager.ui.MainActivity import com.vanced.manager.ui.MainActivity
import com.vanced.manager.ui.core.BindingFragment
class GrantRootFragment : BindingFragment<FragmentGrantRootBinding>() { class GrantRootFragment : BindingFragment<FragmentGrantRootBinding>() {

View File

@ -23,8 +23,8 @@ import com.vanced.manager.R
import com.vanced.manager.adapter.AppListAdapter import com.vanced.manager.adapter.AppListAdapter
import com.vanced.manager.adapter.LinkAdapter import com.vanced.manager.adapter.LinkAdapter
import com.vanced.manager.adapter.SponsorAdapter import com.vanced.manager.adapter.SponsorAdapter
import com.vanced.manager.core.ui.base.BindingFragment
import com.vanced.manager.databinding.FragmentHomeBinding import com.vanced.manager.databinding.FragmentHomeBinding
import com.vanced.manager.ui.core.BindingFragment
import com.vanced.manager.ui.dialogs.DialogContainer.installAlertBuilder import com.vanced.manager.ui.dialogs.DialogContainer.installAlertBuilder
import com.vanced.manager.ui.viewmodels.HomeViewModel import com.vanced.manager.ui.viewmodels.HomeViewModel
import com.vanced.manager.ui.viewmodels.HomeViewModelFactory import com.vanced.manager.ui.viewmodels.HomeViewModelFactory

View File

@ -10,8 +10,8 @@ import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.adapter.SelectAppsAdapter import com.vanced.manager.adapter.SelectAppsAdapter
import com.vanced.manager.core.ui.base.BindingFragment
import com.vanced.manager.databinding.FragmentSelectAppsBinding import com.vanced.manager.databinding.FragmentSelectAppsBinding
import com.vanced.manager.ui.core.BindingFragment
class SelectAppsFragment : BindingFragment<FragmentSelectAppsBinding>() { class SelectAppsFragment : BindingFragment<FragmentSelectAppsBinding>() {

View File

@ -13,9 +13,9 @@ import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.google.firebase.perf.FirebasePerformance import com.google.firebase.perf.FirebasePerformance
import com.vanced.manager.R import com.vanced.manager.R
import com.vanced.manager.adapter.GetNotifAdapter import com.vanced.manager.adapter.GetNotifAdapter
import com.vanced.manager.core.ext.showDialogRefl import com.vanced.manager.core.ui.base.BindingFragment
import com.vanced.manager.core.ui.ext.showDialog
import com.vanced.manager.databinding.FragmentSettingsBinding import com.vanced.manager.databinding.FragmentSettingsBinding
import com.vanced.manager.ui.core.BindingFragment
import com.vanced.manager.ui.dialogs.* import com.vanced.manager.ui.dialogs.*
import com.vanced.manager.utils.LanguageHelper.getLanguageFormat import com.vanced.manager.utils.LanguageHelper.getLanguageFormat
import java.io.File import java.io.File
@ -54,7 +54,7 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
bindManagerTheme() bindManagerTheme()
bindManagerAccentColor() bindManagerAccentColor()
bindManagerLanguage() bindManagerLanguage()
selectApps.setOnClickListener { showDialogRefl<SelectAppsDialog>() } selectApps.setOnClickListener { showDialog(SelectAppsDialog()) }
} }
} }
@ -76,7 +76,7 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
private fun FragmentSettingsBinding.bindManagerVariant() { private fun FragmentSettingsBinding.bindManagerVariant() {
managerVariant.apply { managerVariant.apply {
prefs.getString("vanced_variant", "nonroot")?.let { setSummary(it) } prefs.getString("vanced_variant", "nonroot")?.let { setSummary(it) }
setOnClickListener { showDialogRefl<ManagerVariantDialog>() } setOnClickListener { showDialog(ManagerVariantDialog()) }
} }
} }
private fun FragmentSettingsBinding.bindClearFiles() { private fun FragmentSettingsBinding.bindClearFiles() {
@ -96,11 +96,11 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
setSummary( setSummary(
when (themePref) { when (themePref) {
LIGHT -> getString(R.string.theme_light) LIGHT -> getString(R.string.theme_light)
DARK -> getString(R.string.theme_dark) DARK -> getString(R.string.theme_dark)
else -> getString(R.string.system_default) else -> getString(R.string.system_default)
} }
) )
setOnClickListener { showDialogRefl<ManagerThemeDialog>() } setOnClickListener { showDialog(ManagerThemeDialog()) }
} }
} }
@ -109,14 +109,14 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
managerAccentColor.apply { managerAccentColor.apply {
setSummary( setSummary(
when (accentPref) { when (accentPref) {
BLUE -> getString(R.string.accent_blue) BLUE -> getString(R.string.accent_blue)
RED -> getString(R.string.accent_red) RED -> getString(R.string.accent_red)
GREEN -> getString(R.string.accent_green) GREEN -> getString(R.string.accent_green)
YELLOW -> getString(R.string.accent_yellow) YELLOW -> getString(R.string.accent_yellow)
else -> getString(R.string.accent_purple) else -> getString(R.string.accent_purple)
} }
) )
setOnClickListener { showDialogRefl<ManagerAccentColorDialog>() } setOnClickListener { showDialog(ManagerAccentColorDialog()) }
} }
} }
@ -124,7 +124,7 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
val langPref = prefs.getString("manager_lang", "System Default") val langPref = prefs.getString("manager_lang", "System Default")
managerLanguage.apply { managerLanguage.apply {
setSummary(getLanguageFormat(requireActivity(), requireNotNull(langPref))) setSummary(getLanguageFormat(requireActivity(), requireNotNull(langPref)))
setOnClickListener { showDialogRefl<ManagerLanguageDialog>() } setOnClickListener { showDialog(ManagerLanguageDialog()) }
} }
} }

View File

@ -4,8 +4,8 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import com.vanced.manager.core.ui.base.BindingFragment
import com.vanced.manager.databinding.FragmentWelcomeBinding import com.vanced.manager.databinding.FragmentWelcomeBinding
import com.vanced.manager.ui.core.BindingFragment
class WelcomeFragment : BindingFragment<FragmentWelcomeBinding>() { class WelcomeFragment : BindingFragment<FragmentWelcomeBinding>() {

View File

@ -51,6 +51,10 @@ object InternetTools {
suspend fun loadJson(context: Context) = withContext(Dispatchers.IO) { suspend fun loadJson(context: Context) = withContext(Dispatchers.IO) {
val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl) val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl)
val latest = JsonHelper.getJson("$installUrl/latest.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}") val latest = JsonHelper.getJson("$installUrl/latest.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}")
Log.d(
"latest",
"$installUrl/latest.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}"
)
val versions = JsonHelper.getJson("$installUrl/versions.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}") val versions = JsonHelper.getJson("$installUrl/versions.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}")
// braveTiers.apply { // braveTiers.apply {
// set(getJson("$installUrl/sponsor.json")) // set(getJson("$installUrl/sponsor.json"))

1
core-ui/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/build

50
core-ui/build.gradle Normal file
View File

@ -0,0 +1,50 @@
plugins {
id 'com.android.library'
id 'kotlin-android'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
buildFeatures {
viewBinding true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0-alpha03'
//https://developer.android.com/jetpack/androidx/releases/lifecycle
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'
}

View File

@ -0,0 +1 @@
<manifest package="com.vanced.manager.core.ui" />

View File

@ -1,4 +1,4 @@
package com.vanced.manager.ui.core package com.vanced.manager.core.ui.base
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
@ -9,29 +9,29 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment
abstract class BindingBottomSheetDialogFragment<VB : ViewBinding> : BottomSheetDialogFragment() { abstract class BindingBottomSheetDialogFragment<VB : ViewBinding> : BottomSheetDialogFragment() {
private var _binding: VB? = null private var _binding: VB? = null
protected val binding: VB get() = requireNotNull(_binding) protected val binding: VB get() = requireNotNull(_binding)
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
_binding = binding(inflater, container, savedInstanceState) _binding = binding(inflater, container, savedInstanceState)
otherSetups() otherSetups()
return binding.root return binding.root
} }
protected abstract fun binding( protected abstract fun binding(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): VB ): VB
protected open fun otherSetups() = Unit protected open fun otherSetups() = Unit
override fun onDestroyView() { override fun onDestroyView() {
super.onDestroyView() super.onDestroyView()
_binding = null _binding = null
} }
} }

View File

@ -1,4 +1,4 @@
package com.vanced.manager.ui.core package com.vanced.manager.core.ui.base
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater

View File

@ -1,4 +1,4 @@
package com.vanced.manager.ui.core package com.vanced.manager.core.ui.base
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater

View File

@ -1,15 +1,10 @@
package com.vanced.manager.core.ext package com.vanced.manager.core.ui.ext
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import kotlin.reflect.full.createInstance
fun Fragment.requireSupportFM() = requireActivity().supportFragmentManager fun Fragment.requireSupportFM() = requireActivity().supportFragmentManager
inline fun <reified D : DialogFragment> Fragment.showDialogRefl() {
D::class.createInstance().show(requireSupportFM(), D::class.simpleName)
}
fun <D : DialogFragment> Fragment.showDialog(dialog: D) { fun <D : DialogFragment> Fragment.showDialog(dialog: D) {
dialog.show(requireSupportFM(), dialog::class.simpleName) dialog.show(requireSupportFM(), dialog::class.simpleName)
} }

View File

@ -1,2 +1,4 @@
rootProject.name='Vanced Manager' rootProject.name='Vanced Manager'
include ':app' include ':app'
include ':core-ui'