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 {
implementation project(":core-ui")
// Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$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.MusicDownloader.downloadMusic
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.ui.core.BindingDialogFragment
import com.vanced.manager.utils.DownloadHelper.downloadProgress
class AppDownloadDialog : BindingDialogFragment<DialogAppDownloadBinding>() {

View File

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

View File

@ -7,11 +7,11 @@ import android.view.ViewGroup
import androidx.core.content.edit
import com.google.android.material.radiobutton.MaterialRadioButton
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.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.getCheckedButtonTag
import com.vanced.manager.utils.Extensions.getDefaultPrefs
import com.vanced.manager.utils.Extensions.show
class AppVersionSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomRadioButtonBinding>() {
@ -83,9 +83,9 @@ class AppVersionSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomRa
override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog)
if (arguments?.getString(TAG_APP) == "vanced") {
VancedPreferencesDialog().show(requireActivity())
showDialog(VancedPreferencesDialog())
} 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.MusicDownloader.startMusicInstall
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.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.show
class InstallationFilesDetectedDialog : BindingBottomSheetDialogFragment<DialogInstallationFilesDetectedBinding>() {
@ -45,23 +45,30 @@ class InstallationFilesDetectedDialog : BindingBottomSheetDialogFragment<DialogI
installationDetectedRedownload.setOnClickListener {
dismiss()
if (app == getString(R.string.vanced))
VancedPreferencesDialog().show(requireActivity())
showDialog(VancedPreferencesDialog())
else {
AppDownloadDialog.newInstance(app).show(requireActivity())
showDialog(AppDownloadDialog.newInstance(app))
}
}
installationDetectedInstall.setOnClickListener {
dismiss()
when (app) {
getString(R.string.vanced) -> startVancedInstall(requireContext(),
getDefaultSharedPreferences(requireContext()).getString("vanced_variant", "nonroot"))
getString(R.string.vanced) -> startVancedInstall(
requireContext(),
getDefaultSharedPreferences(requireContext()).getString(
"vanced_variant",
"nonroot"
)
)
getString(R.string.music) -> startMusicInstall(requireContext())
getString(R.string.microg) -> startMicrogInstall(requireContext())
}
AppDownloadDialog.newInstance(
app = app,
installing = true
).show(requireActivity())
showDialog(
AppDownloadDialog.newInstance(
app = app,
installing = true
)
)
}
}
}

View File

@ -6,8 +6,8 @@ import android.view.ViewGroup
import androidx.core.content.edit
import androidx.preference.PreferenceManager.getDefaultSharedPreferences
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.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.getCheckedButtonTag
class ManagerAccentColorDialog : BindingBottomSheetDialogFragment<DialogManagerAccentColorBinding>() {

View File

@ -9,8 +9,8 @@ import androidx.core.content.edit
import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import com.google.android.material.radiobutton.MaterialRadioButton
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.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.getCheckedButtonTag
import com.vanced.manager.utils.LanguageHelper.getLanguageFormat

View File

@ -6,8 +6,8 @@ import android.view.ViewGroup
import androidx.core.content.edit
import androidx.preference.PreferenceManager.getDefaultSharedPreferences
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.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.getCheckedButtonTag
class ManagerThemeDialog : BindingBottomSheetDialogFragment<DialogManagerThemeBinding>() {

View File

@ -12,8 +12,8 @@ import android.view.ViewGroup
import androidx.core.view.isVisible
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingDialogFragment
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.downloadProgress
import com.vanced.manager.utils.InternetTools.isUpdateAvailable

View File

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

View File

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

View File

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

View File

@ -9,8 +9,8 @@ import android.widget.TextView
import androidx.core.content.edit
import androidx.lifecycle.lifecycleScope
import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import com.vanced.manager.core.ui.base.BindingDialogFragment
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.InternetTools.baseUrl
import kotlinx.coroutines.launch

View File

@ -13,9 +13,9 @@ import androidx.core.content.edit
import androidx.core.content.res.ResourcesCompat
import com.google.android.material.checkbox.MaterialCheckBox
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.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.show
import com.vanced.manager.utils.InternetTools.vanced
import com.vanced.manager.utils.LanguageHelper.getDefaultVancedLanguages
import java.util.*
@ -79,6 +79,6 @@ class VancedLanguageSelectionDialog : BindingBottomSheetDialogFragment<DialogVan
override fun onDismiss(dialog: DialogInterface) {
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.ViewGroup
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.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.convertToAppTheme
import com.vanced.manager.utils.Extensions.convertToAppVersions
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.LanguageHelper.getDefaultVancedLanguages
import java.util.*
@ -51,24 +51,28 @@ class VancedPreferencesDialog : BindingBottomSheetDialogFragment<DialogVancedPre
vancedLang.text = getString(R.string.chosen_lang, showLang)
openThemeSelector.setOnClickListener {
dismiss()
VancedThemeSelectorDialog().show(requireActivity())
showDialog(VancedThemeSelectorDialog())
}
openVersionSelector.setOnClickListener {
dismiss()
AppVersionSelectorDialog.newInstance(
versions = vancedVersionsConv,
app = "vanced"
).show(requireActivity())
showDialog(
AppVersionSelectorDialog.newInstance(
versions = vancedVersionsConv,
app = "vanced"
)
)
}
openLanguageSelector.setOnClickListener {
dismiss()
VancedLanguageSelectionDialog().show(requireActivity())
showDialog(VancedLanguageSelectionDialog())
}
vancedInstall.setOnClickListener {
dismiss()
AppDownloadDialog.newInstance(
app = getString(R.string.vanced)
).show(requireActivity())
showDialog(
AppDownloadDialog.newInstance(
app = getString(R.string.vanced)
)
)
}
}
}

View File

@ -8,11 +8,11 @@ import android.view.ViewGroup
import androidx.core.content.edit
import com.google.android.material.radiobutton.MaterialRadioButton
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.ui.core.BindingBottomSheetDialogFragment
import com.vanced.manager.utils.Extensions.convertToAppTheme
import com.vanced.manager.utils.Extensions.getCheckedButtonTag
import com.vanced.manager.utils.Extensions.show
import com.vanced.manager.utils.InternetTools.vanced
class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomRadioButtonBinding>() {
@ -70,6 +70,6 @@ class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment<DialogBottomR
override fun onDismiss(dialog: DialogInterface) {
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.preference.PreferenceManager
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.ui.core.BindingFragment
import com.vanced.manager.ui.dialogs.AppInfoDialog
import com.vanced.manager.ui.viewmodels.AboutViewModel
import com.vanced.manager.utils.InternetTools.manager

View File

@ -9,9 +9,9 @@ import androidx.core.content.edit
import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import com.topjohnwu.superuser.Shell
import com.vanced.manager.R
import com.vanced.manager.core.ui.base.BindingFragment
import com.vanced.manager.databinding.FragmentGrantRootBinding
import com.vanced.manager.ui.MainActivity
import com.vanced.manager.ui.core.BindingFragment
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.LinkAdapter
import com.vanced.manager.adapter.SponsorAdapter
import com.vanced.manager.core.ui.base.BindingFragment
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.viewmodels.HomeViewModel
import com.vanced.manager.ui.viewmodels.HomeViewModelFactory

View File

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

View File

@ -13,9 +13,9 @@ import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.google.firebase.perf.FirebasePerformance
import com.vanced.manager.R
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.ui.core.BindingFragment
import com.vanced.manager.ui.dialogs.*
import com.vanced.manager.utils.LanguageHelper.getLanguageFormat
import java.io.File
@ -54,7 +54,7 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
bindManagerTheme()
bindManagerAccentColor()
bindManagerLanguage()
selectApps.setOnClickListener { showDialogRefl<SelectAppsDialog>() }
selectApps.setOnClickListener { showDialog(SelectAppsDialog()) }
}
}
@ -76,7 +76,7 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
private fun FragmentSettingsBinding.bindManagerVariant() {
managerVariant.apply {
prefs.getString("vanced_variant", "nonroot")?.let { setSummary(it) }
setOnClickListener { showDialogRefl<ManagerVariantDialog>() }
setOnClickListener { showDialog(ManagerVariantDialog()) }
}
}
private fun FragmentSettingsBinding.bindClearFiles() {
@ -96,11 +96,11 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
setSummary(
when (themePref) {
LIGHT -> getString(R.string.theme_light)
DARK -> getString(R.string.theme_dark)
else -> getString(R.string.system_default)
DARK -> getString(R.string.theme_dark)
else -> getString(R.string.system_default)
}
)
setOnClickListener { showDialogRefl<ManagerThemeDialog>() }
setOnClickListener { showDialog(ManagerThemeDialog()) }
}
}
@ -109,14 +109,14 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
managerAccentColor.apply {
setSummary(
when (accentPref) {
BLUE -> getString(R.string.accent_blue)
RED -> getString(R.string.accent_red)
GREEN -> getString(R.string.accent_green)
BLUE -> getString(R.string.accent_blue)
RED -> getString(R.string.accent_red)
GREEN -> getString(R.string.accent_green)
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")
managerLanguage.apply {
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.ViewGroup
import androidx.navigation.fragment.findNavController
import com.vanced.manager.core.ui.base.BindingFragment
import com.vanced.manager.databinding.FragmentWelcomeBinding
import com.vanced.manager.ui.core.BindingFragment
class WelcomeFragment : BindingFragment<FragmentWelcomeBinding>() {

View File

@ -51,6 +51,10 @@ object InternetTools {
suspend fun loadJson(context: Context) = withContext(Dispatchers.IO) {
val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl)
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)}")
// braveTiers.apply {
// 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.view.LayoutInflater
@ -9,29 +9,29 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment
abstract class BindingBottomSheetDialogFragment<VB : ViewBinding> : BottomSheetDialogFragment() {
private var _binding: VB? = null
protected val binding: VB get() = requireNotNull(_binding)
private var _binding: VB? = null
protected val binding: VB get() = requireNotNull(_binding)
override fun onCreateView(
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
_binding = binding(inflater, container, savedInstanceState)
otherSetups()
return binding.root
}
_binding = binding(inflater, container, savedInstanceState)
otherSetups()
return binding.root
}
protected abstract fun binding(
protected abstract fun binding(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): VB
protected open fun otherSetups() = Unit
protected open fun otherSetups() = Unit
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onDestroyView() {
super.onDestroyView()
_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.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.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.Fragment
import kotlin.reflect.full.createInstance
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) {
dialog.show(requireSupportFM(), dialog::class.simpleName)
}

View File

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