Improve viewbinding - [2/3]
This commit is contained in:
committed by
Aayush Gupta
parent
47760b7407
commit
4919fbd4db
@@ -36,19 +36,15 @@ import com.aurora.store.data.providers.BlacklistProvider
|
|||||||
import com.aurora.store.databinding.SheetAppMenuBinding
|
import com.aurora.store.databinding.SheetAppMenuBinding
|
||||||
import com.aurora.store.util.PackageUtil
|
import com.aurora.store.util.PackageUtil
|
||||||
import com.aurora.store.viewmodel.sheets.SheetsViewModel
|
import com.aurora.store.viewmodel.sheets.SheetsViewModel
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class AppMenuSheet : BottomSheetDialogFragment(R.layout.sheet_app_menu) {
|
class AppMenuSheet : BaseDialogSheet<SheetAppMenuBinding>() {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val TAG = "APP_MENU_SHEET"
|
const val TAG = "APP_MENU_SHEET"
|
||||||
}
|
}
|
||||||
|
|
||||||
private var _binding: SheetAppMenuBinding? = null
|
|
||||||
private val binding get() = _binding!!
|
|
||||||
|
|
||||||
private val viewModel: SheetsViewModel by viewModels()
|
private val viewModel: SheetsViewModel by viewModels()
|
||||||
private val args: AppMenuSheetArgs by navArgs()
|
private val args: AppMenuSheetArgs by navArgs()
|
||||||
|
|
||||||
@@ -66,7 +62,6 @@ class AppMenuSheet : BottomSheetDialogFragment(R.layout.sheet_app_menu) {
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = SheetAppMenuBinding.bind(view)
|
|
||||||
|
|
||||||
val blacklistProvider = BlacklistProvider.with(requireContext())
|
val blacklistProvider = BlacklistProvider.with(requireContext())
|
||||||
val isBlacklisted: Boolean = blacklistProvider.isBlacklisted(args.app.packageName)
|
val isBlacklisted: Boolean = blacklistProvider.isBlacklisted(args.app.packageName)
|
||||||
@@ -122,9 +117,4 @@ class AppMenuSheet : BottomSheetDialogFragment(R.layout.sheet_app_menu) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
_binding = null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,20 +27,14 @@ import coil.transform.RoundedCornersTransformation
|
|||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.databinding.SheetAppPeekBinding
|
import com.aurora.store.databinding.SheetAppPeekBinding
|
||||||
import com.aurora.store.util.CommonUtil
|
import com.aurora.store.util.CommonUtil
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class AppPeekDialogSheet : BottomSheetDialogFragment(R.layout.sheet_app_peek) {
|
class AppPeekDialogSheet : BaseDialogSheet<SheetAppPeekBinding>() {
|
||||||
|
|
||||||
private var _binding: SheetAppPeekBinding? = null
|
|
||||||
private val binding get() = _binding!!
|
|
||||||
|
|
||||||
private val args: AppPeekDialogSheetArgs by navArgs()
|
private val args: AppPeekDialogSheetArgs by navArgs()
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = SheetAppPeekBinding.bind(view)
|
|
||||||
|
|
||||||
binding.txtLine1.text = args.app.displayName
|
binding.txtLine1.text = args.app.displayName
|
||||||
binding.imgIcon.load(args.app.iconArtwork.url) {
|
binding.imgIcon.load(args.app.iconArtwork.url) {
|
||||||
@@ -54,9 +48,4 @@ class AppPeekDialogSheet : BottomSheetDialogFragment(R.layout.sheet_app_peek) {
|
|||||||
if (args.app.isFree) "Free" else "Paid"
|
if (args.app.isFree) "Free" else "Paid"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
_binding = null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* Aurora Store
|
||||||
|
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
|
||||||
|
* Copyright (C) 2022, The Calyx Institute
|
||||||
|
*
|
||||||
|
* Aurora Store is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* Aurora Store is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.aurora.store.view.ui.sheets
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import androidx.viewbinding.ViewBinding
|
||||||
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||||
|
import java.lang.reflect.ParameterizedType
|
||||||
|
|
||||||
|
abstract class BaseDialogSheet<ViewBindingType : ViewBinding> : BottomSheetDialogFragment() {
|
||||||
|
|
||||||
|
private var _binding: ViewBindingType? = null
|
||||||
|
protected val binding get() = _binding!!
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater,
|
||||||
|
container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
val type =
|
||||||
|
(javaClass.genericSuperclass as ParameterizedType).actualTypeArguments[0] as Class<ViewBindingType>
|
||||||
|
val method = type.getMethod(
|
||||||
|
"inflate",
|
||||||
|
LayoutInflater::class.java,
|
||||||
|
ViewGroup::class.java,
|
||||||
|
Boolean::class.java
|
||||||
|
)
|
||||||
|
_binding = method.invoke(null, inflater, container, false) as ViewBindingType
|
||||||
|
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDestroyView() {
|
||||||
|
_binding = null
|
||||||
|
super.onDestroyView()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -28,18 +28,13 @@ import coil.transform.CircleCropTransformation
|
|||||||
import com.aurora.extensions.toast
|
import com.aurora.extensions.toast
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.databinding.SheetDeviceMiuiBinding
|
import com.aurora.store.databinding.SheetDeviceMiuiBinding
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class DeviceMiuiSheet : BottomSheetDialogFragment(R.layout.sheet_device_miui) {
|
class DeviceMiuiSheet : BaseDialogSheet<SheetDeviceMiuiBinding>() {
|
||||||
|
|
||||||
private var _binding: SheetDeviceMiuiBinding? = null
|
|
||||||
private val binding get() = _binding!!
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = SheetDeviceMiuiBinding.bind(view)
|
|
||||||
|
|
||||||
binding.imgIcon.load(R.drawable.ic_xiaomi_logo) {
|
binding.imgIcon.load(R.drawable.ic_xiaomi_logo) {
|
||||||
transformations(CircleCropTransformation())
|
transformations(CircleCropTransformation())
|
||||||
@@ -57,9 +52,4 @@ class DeviceMiuiSheet : BottomSheetDialogFragment(R.layout.sheet_device_miui) {
|
|||||||
dismissAllowingStateLoss()
|
dismissAllowingStateLoss()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
_binding = null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,20 +36,15 @@ import com.aurora.store.databinding.SheetDownloadMenuBinding
|
|||||||
import com.aurora.store.util.DownloadWorkerUtil
|
import com.aurora.store.util.DownloadWorkerUtil
|
||||||
import com.aurora.store.util.PathUtil
|
import com.aurora.store.util.PathUtil
|
||||||
import com.aurora.store.viewmodel.sheets.SheetsViewModel
|
import com.aurora.store.viewmodel.sheets.SheetsViewModel
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import kotlinx.coroutines.NonCancellable
|
import kotlinx.coroutines.NonCancellable
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class DownloadMenuSheet : BottomSheetDialogFragment(R.layout.sheet_download_menu) {
|
class DownloadMenuSheet : BaseDialogSheet<SheetDownloadMenuBinding>() {
|
||||||
|
|
||||||
private val TAG = DownloadMenuSheet::class.java.simpleName
|
private val TAG = DownloadMenuSheet::class.java.simpleName
|
||||||
|
|
||||||
private var _binding: SheetDownloadMenuBinding? = null
|
|
||||||
private val binding get() = _binding!!
|
|
||||||
|
|
||||||
private val viewModel: SheetsViewModel by viewModels()
|
private val viewModel: SheetsViewModel by viewModels()
|
||||||
private val args: DownloadMenuSheetArgs by navArgs()
|
private val args: DownloadMenuSheetArgs by navArgs()
|
||||||
private val playStoreURL = "https://play.google.com/store/apps/details?id="
|
private val playStoreURL = "https://play.google.com/store/apps/details?id="
|
||||||
@@ -74,7 +69,6 @@ class DownloadMenuSheet : BottomSheetDialogFragment(R.layout.sheet_download_menu
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = SheetDownloadMenuBinding.bind(view)
|
|
||||||
|
|
||||||
with(binding.navigationView) {
|
with(binding.navigationView) {
|
||||||
val downloadCompleted = args.download.downloadStatus == DownloadStatus.COMPLETED
|
val downloadCompleted = args.download.downloadStatus == DownloadStatus.COMPLETED
|
||||||
@@ -96,6 +90,7 @@ class DownloadMenuSheet : BottomSheetDialogFragment(R.layout.sheet_download_menu
|
|||||||
install()
|
install()
|
||||||
dismissAllowingStateLoss()
|
dismissAllowingStateLoss()
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.action_copy -> {
|
R.id.action_copy -> {
|
||||||
requireContext().copyToClipBoard(
|
requireContext().copyToClipBoard(
|
||||||
"${playStoreURL}${args.download.packageName}"
|
"${playStoreURL}${args.download.packageName}"
|
||||||
@@ -103,12 +98,14 @@ class DownloadMenuSheet : BottomSheetDialogFragment(R.layout.sheet_download_menu
|
|||||||
requireContext().toast(requireContext().getString(R.string.toast_clipboard_copied))
|
requireContext().toast(requireContext().getString(R.string.toast_clipboard_copied))
|
||||||
dismissAllowingStateLoss()
|
dismissAllowingStateLoss()
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.action_cancel -> {
|
R.id.action_cancel -> {
|
||||||
findViewTreeLifecycleOwner()?.lifecycleScope?.launch(NonCancellable) {
|
findViewTreeLifecycleOwner()?.lifecycleScope?.launch(NonCancellable) {
|
||||||
downloadWorkerUtil.cancelDownload(args.download.packageName)
|
downloadWorkerUtil.cancelDownload(args.download.packageName)
|
||||||
}
|
}
|
||||||
dismissAllowingStateLoss()
|
dismissAllowingStateLoss()
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.action_clear -> {
|
R.id.action_clear -> {
|
||||||
findViewTreeLifecycleOwner()?.lifecycleScope?.launch(NonCancellable) {
|
findViewTreeLifecycleOwner()?.lifecycleScope?.launch(NonCancellable) {
|
||||||
downloadWorkerUtil.clearDownload(
|
downloadWorkerUtil.clearDownload(
|
||||||
@@ -118,6 +115,7 @@ class DownloadMenuSheet : BottomSheetDialogFragment(R.layout.sheet_download_menu
|
|||||||
}
|
}
|
||||||
dismissAllowingStateLoss()
|
dismissAllowingStateLoss()
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.action_local -> {
|
R.id.action_local -> {
|
||||||
requestDocumentCreation.launch("${args.download.packageName}.zip")
|
requestDocumentCreation.launch("${args.download.packageName}.zip")
|
||||||
}
|
}
|
||||||
@@ -127,11 +125,6 @@ class DownloadMenuSheet : BottomSheetDialogFragment(R.layout.sheet_download_menu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
_binding = null
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun install() {
|
private fun install() {
|
||||||
try {
|
try {
|
||||||
appInstaller.getPreferredInstaller().install(args.download)
|
appInstaller.getPreferredInstaller().install(args.download)
|
||||||
|
|||||||
@@ -15,9 +15,8 @@ import com.aurora.store.data.work.UpdateWorker
|
|||||||
import com.aurora.store.databinding.SheetDozeWarningBinding
|
import com.aurora.store.databinding.SheetDozeWarningBinding
|
||||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO
|
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO
|
||||||
import com.aurora.store.util.save
|
import com.aurora.store.util.save
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
||||||
|
|
||||||
class DozeWarningSheet : BottomSheetDialogFragment(R.layout.sheet_doze_warning) {
|
class DozeWarningSheet : BaseDialogSheet<SheetDozeWarningBinding>() {
|
||||||
|
|
||||||
private val args: DozeWarningSheetArgs by navArgs()
|
private val args: DozeWarningSheetArgs by navArgs()
|
||||||
|
|
||||||
@@ -38,12 +37,8 @@ class DozeWarningSheet : BottomSheetDialogFragment(R.layout.sheet_doze_warning)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private var _binding: SheetDozeWarningBinding? = null
|
|
||||||
private val binding get() = _binding!!
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = SheetDozeWarningBinding.bind(view)
|
|
||||||
|
|
||||||
binding.btnSecondary.setOnClickListener { dismissAllowingStateLoss() }
|
binding.btnSecondary.setOnClickListener { dismissAllowingStateLoss() }
|
||||||
binding.btnPrimary.setOnClickListener {
|
binding.btnPrimary.setOnClickListener {
|
||||||
@@ -55,9 +50,4 @@ class DozeWarningSheet : BottomSheetDialogFragment(R.layout.sheet_doze_warning)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
_binding = null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,16 +25,12 @@ import com.aurora.store.R
|
|||||||
import com.aurora.store.data.model.Filter
|
import com.aurora.store.data.model.Filter
|
||||||
import com.aurora.store.data.providers.FilterProvider
|
import com.aurora.store.data.providers.FilterProvider
|
||||||
import com.aurora.store.databinding.SheetFilterBinding
|
import com.aurora.store.databinding.SheetFilterBinding
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
||||||
import com.google.android.material.chip.Chip
|
import com.google.android.material.chip.Chip
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class FilterSheet : BottomSheetDialogFragment(R.layout.sheet_filter) {
|
class FilterSheet : BaseDialogSheet<SheetFilterBinding>() {
|
||||||
|
|
||||||
private var _binding: SheetFilterBinding? = null
|
|
||||||
private val binding get() = _binding!!
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var filterProvider: FilterProvider
|
lateinit var filterProvider: FilterProvider
|
||||||
@@ -43,7 +39,6 @@ class FilterSheet : BottomSheetDialogFragment(R.layout.sheet_filter) {
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = SheetFilterBinding.bind(view)
|
|
||||||
filter = filterProvider.getSavedFilter()
|
filter = filterProvider.getSavedFilter()
|
||||||
|
|
||||||
attachSingleChips()
|
attachSingleChips()
|
||||||
@@ -51,11 +46,6 @@ class FilterSheet : BottomSheetDialogFragment(R.layout.sheet_filter) {
|
|||||||
attachActions()
|
attachActions()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
_binding = null
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun attachActions() {
|
private fun attachActions() {
|
||||||
binding.btnPositive.setOnClickListener {
|
binding.btnPositive.setOnClickListener {
|
||||||
filterProvider.saveFilter(filter)
|
filterProvider.saveFilter(filter)
|
||||||
|
|||||||
@@ -28,20 +28,15 @@ import com.aurora.extensions.copyToClipBoard
|
|||||||
import com.aurora.extensions.toast
|
import com.aurora.extensions.toast
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.databinding.SheetInstallErrorBinding
|
import com.aurora.store.databinding.SheetInstallErrorBinding
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class InstallErrorDialogSheet : BottomSheetDialogFragment(R.layout.sheet_install_error) {
|
class InstallErrorDialogSheet : BaseDialogSheet<SheetInstallErrorBinding>() {
|
||||||
|
|
||||||
private var _binding: SheetInstallErrorBinding? = null
|
|
||||||
private val binding get() = _binding!!
|
|
||||||
|
|
||||||
private val args: InstallErrorDialogSheetArgs by navArgs()
|
private val args: InstallErrorDialogSheetArgs by navArgs()
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = SheetInstallErrorBinding.bind(view)
|
|
||||||
|
|
||||||
binding.imgIcon.load(args.app.iconArtwork.url) {
|
binding.imgIcon.load(args.app.iconArtwork.url) {
|
||||||
transformations(CircleCropTransformation())
|
transformations(CircleCropTransformation())
|
||||||
@@ -60,9 +55,4 @@ class InstallErrorDialogSheet : BottomSheetDialogFragment(R.layout.sheet_install
|
|||||||
requireContext().toast(R.string.toast_clipboard_copied)
|
requireContext().toast(R.string.toast_clipboard_copied)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
_binding = null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,23 +31,17 @@ import com.aurora.extensions.toast
|
|||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.databinding.SheetManualDownloadBinding
|
import com.aurora.store.databinding.SheetManualDownloadBinding
|
||||||
import com.aurora.store.viewmodel.sheets.SheetsViewModel
|
import com.aurora.store.viewmodel.sheets.SheetsViewModel
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import kotlinx.coroutines.flow.collectLatest
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class ManualDownloadSheet : BottomSheetDialogFragment(R.layout.sheet_manual_download) {
|
class ManualDownloadSheet : BaseDialogSheet<SheetManualDownloadBinding>() {
|
||||||
|
|
||||||
private var _binding: SheetManualDownloadBinding? = null
|
|
||||||
private val binding get() = _binding!!
|
|
||||||
|
|
||||||
private val viewModel: SheetsViewModel by viewModels()
|
private val viewModel: SheetsViewModel by viewModels()
|
||||||
private val args: ManualDownloadSheetArgs by navArgs()
|
private val args: ManualDownloadSheetArgs by navArgs()
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = SheetManualDownloadBinding.bind(view)
|
|
||||||
isCancelable = false
|
isCancelable = false
|
||||||
|
|
||||||
inflateData()
|
inflateData()
|
||||||
@@ -65,11 +59,6 @@ class ManualDownloadSheet : BottomSheetDialogFragment(R.layout.sheet_manual_down
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
_binding = null
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
this.lifecycleScope.launch {
|
this.lifecycleScope.launch {
|
||||||
viewModel.purchaseStatus.collectLatest {
|
viewModel.purchaseStatus.collectLatest {
|
||||||
|
|||||||
@@ -26,19 +26,14 @@ import android.provider.Settings
|
|||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import com.aurora.extensions.isQAndAbove
|
import com.aurora.extensions.isQAndAbove
|
||||||
import com.aurora.store.R
|
|
||||||
import com.aurora.store.databinding.SheetNetworkBinding
|
import com.aurora.store.databinding.SheetNetworkBinding
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class NetworkDialogSheet : BottomSheetDialogFragment(R.layout.sheet_network) {
|
class NetworkDialogSheet : BaseDialogSheet<SheetNetworkBinding>() {
|
||||||
|
|
||||||
private val TAG = NetworkDialogSheet::class.java.simpleName
|
private val TAG = NetworkDialogSheet::class.java.simpleName
|
||||||
|
|
||||||
private var _binding: SheetNetworkBinding? = null
|
|
||||||
private val binding get() = _binding!!
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
const val TAG = "NetworkDialogSheet"
|
const val TAG = "NetworkDialogSheet"
|
||||||
@@ -53,8 +48,6 @@ class NetworkDialogSheet : BottomSheetDialogFragment(R.layout.sheet_network) {
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = SheetNetworkBinding.bind(view)
|
|
||||||
|
|
||||||
binding.btnAction.setOnClickListener {
|
binding.btnAction.setOnClickListener {
|
||||||
if (isQAndAbove()) {
|
if (isQAndAbove()) {
|
||||||
startActivity(Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY))
|
startActivity(Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY))
|
||||||
@@ -68,9 +61,4 @@ class NetworkDialogSheet : BottomSheetDialogFragment(R.layout.sheet_network) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
_binding = null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,14 +31,10 @@ import com.aurora.store.R
|
|||||||
import com.aurora.store.data.model.PermissionGroupInfo
|
import com.aurora.store.data.model.PermissionGroupInfo
|
||||||
import com.aurora.store.databinding.SheetPermissionsBinding
|
import com.aurora.store.databinding.SheetPermissionsBinding
|
||||||
import com.aurora.store.view.custom.layouts.PermissionGroup
|
import com.aurora.store.view.custom.layouts.PermissionGroup
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class PermissionBottomSheet : BottomSheetDialogFragment(R.layout.sheet_permissions) {
|
class PermissionBottomSheet : BaseDialogSheet<SheetPermissionsBinding>() {
|
||||||
|
|
||||||
private var _binding: SheetPermissionsBinding? = null
|
|
||||||
private val binding get() = _binding!!
|
|
||||||
|
|
||||||
private lateinit var packageManager: PackageManager
|
private lateinit var packageManager: PackageManager
|
||||||
private lateinit var currentPerms: List<String>
|
private lateinit var currentPerms: List<String>
|
||||||
@@ -47,7 +43,6 @@ class PermissionBottomSheet : BottomSheetDialogFragment(R.layout.sheet_permissio
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
_binding = SheetPermissionsBinding.bind(view)
|
|
||||||
|
|
||||||
packageManager = requireContext().packageManager
|
packageManager = requireContext().packageManager
|
||||||
currentPerms = try {
|
currentPerms = try {
|
||||||
@@ -95,11 +90,6 @@ class PermissionBottomSheet : BottomSheetDialogFragment(R.layout.sheet_permissio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
|
||||||
super.onDestroyView()
|
|
||||||
_binding = null
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun getPermissionInfo(permissionName: String): PermissionInfo? {
|
private fun getPermissionInfo(permissionName: String): PermissionInfo? {
|
||||||
return try {
|
return try {
|
||||||
packageManager.getPermissionInfo(permissionName, 0)
|
packageManager.getPermissionInfo(permissionName, 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user