From deb513f998b68aec42273f1b069e4e26a9f89b0f Mon Sep 17 00:00:00 2001 From: darken Date: Wed, 29 Dec 2021 22:37:23 +0100 Subject: [PATCH] Refactoring --- .../debug/recording/core/RecorderService.kt | 4 ++-- .../common/debug/recording/ui/RecorderActivity.kt | 4 ++-- .../debug/recording/ui/RecorderActivityVM.kt | 4 ++-- .../{smart/SmartActivity.kt => uix/Activity2.kt} | 6 +++--- .../BottomSheetDialogFragment2.kt} | 6 +++--- .../{smart/SmartFragment.kt => uix/Fragment2.kt} | 4 ++-- .../{smart/Smart2Fragment.kt => uix/Fragment3.kt} | 6 +++--- .../{smart/SmartService.kt => uix/Service2.kt} | 4 ++-- .../common/{viewmodel/VM.kt => uix/ViewModel1.kt} | 4 ++-- .../{smart/SmartVM.kt => uix/ViewModel2.kt} | 7 +++---- .../{smart/Smart2VM.kt => uix/ViewModel3.kt} | 6 +++--- .../{viewmodel => uix}/ViewModelLazyKeyed.kt | 2 +- .../eu/darken/capod/common/viewmodel/SmartVM.kt | 15 --------------- .../java/eu/darken/capod/main/ui/MainActivity.kt | 4 ++-- .../eu/darken/capod/main/ui/MainActivityVM.kt | 4 ++-- .../java/eu/darken/capod/main/ui/MainFragment.kt | 4 ++-- .../eu/darken/capod/main/ui/MainFragmentVM.kt | 4 ++-- 17 files changed, 36 insertions(+), 52 deletions(-) rename app/src/main/java/eu/darken/capod/common/{smart/SmartActivity.kt => uix/Activity2.kt} (89%) rename app/src/main/java/eu/darken/capod/common/{smart/Smart2BottomSheetDialogFragment.kt => uix/BottomSheetDialogFragment2.kt} (95%) rename app/src/main/java/eu/darken/capod/common/{smart/SmartFragment.kt => uix/Fragment2.kt} (95%) rename app/src/main/java/eu/darken/capod/common/{smart/Smart2Fragment.kt => uix/Fragment3.kt} (90%) rename app/src/main/java/eu/darken/capod/common/{smart/SmartService.kt => uix/Service2.kt} (94%) rename app/src/main/java/eu/darken/capod/common/{viewmodel/VM.kt => uix/ViewModel1.kt} (83%) rename app/src/main/java/eu/darken/capod/common/{smart/SmartVM.kt => uix/ViewModel2.kt} (94%) rename app/src/main/java/eu/darken/capod/common/{smart/Smart2VM.kt => uix/ViewModel3.kt} (88%) rename app/src/main/java/eu/darken/capod/common/{viewmodel => uix}/ViewModelLazyKeyed.kt (99%) delete mode 100644 app/src/main/java/eu/darken/capod/common/viewmodel/SmartVM.kt diff --git a/app/src/main/java/eu/darken/capod/common/debug/recording/core/RecorderService.kt b/app/src/main/java/eu/darken/capod/common/debug/recording/core/RecorderService.kt index 3fe3a120..5825287a 100644 --- a/app/src/main/java/eu/darken/capod/common/debug/recording/core/RecorderService.kt +++ b/app/src/main/java/eu/darken/capod/common/debug/recording/core/RecorderService.kt @@ -14,7 +14,7 @@ import eu.darken.capod.common.coroutine.DispatcherProvider import eu.darken.capod.common.debug.logging.log import eu.darken.capod.common.debug.logging.logTag import eu.darken.capod.common.notifications.PendingIntentCompat -import eu.darken.capod.common.smart.SmartService +import eu.darken.capod.common.uix.Service2 import eu.darken.capod.main.ui.MainActivity import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.SupervisorJob @@ -26,7 +26,7 @@ import javax.inject.Inject @AndroidEntryPoint -class RecorderService : SmartService() { +class RecorderService : Service2() { private lateinit var builder: NotificationCompat.Builder @Inject lateinit var recorderModule: RecorderModule diff --git a/app/src/main/java/eu/darken/capod/common/debug/recording/ui/RecorderActivity.kt b/app/src/main/java/eu/darken/capod/common/debug/recording/ui/RecorderActivity.kt index 3955a38b..4a709e28 100644 --- a/app/src/main/java/eu/darken/capod/common/debug/recording/ui/RecorderActivity.kt +++ b/app/src/main/java/eu/darken/capod/common/debug/recording/ui/RecorderActivity.kt @@ -9,11 +9,11 @@ import androidx.core.view.isInvisible import dagger.hilt.android.AndroidEntryPoint import eu.darken.capod.common.debug.logging.logTag import eu.darken.capod.common.error.asErrorDialogBuilder -import eu.darken.capod.common.smart.SmartActivity +import eu.darken.capod.common.uix.Activity2 import eu.darken.capod.databinding.DebugRecordingActivityBinding @AndroidEntryPoint -class RecorderActivity : SmartActivity() { +class RecorderActivity : Activity2() { private lateinit var ui: DebugRecordingActivityBinding private val vm: RecorderActivityVM by viewModels() diff --git a/app/src/main/java/eu/darken/capod/common/debug/recording/ui/RecorderActivityVM.kt b/app/src/main/java/eu/darken/capod/common/debug/recording/ui/RecorderActivityVM.kt index 9148da89..ee018286 100644 --- a/app/src/main/java/eu/darken/capod/common/debug/recording/ui/RecorderActivityVM.kt +++ b/app/src/main/java/eu/darken/capod/common/debug/recording/ui/RecorderActivityVM.kt @@ -16,7 +16,7 @@ import eu.darken.capod.common.flow.DynamicStateFlow import eu.darken.capod.common.flow.onError import eu.darken.capod.common.flow.replayingShare import eu.darken.capod.common.livedata.SingleLiveEvent -import eu.darken.capod.common.smart.Smart2VM +import eu.darken.capod.common.uix.ViewModel3 import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.map @@ -30,7 +30,7 @@ class RecorderActivityVM @Inject constructor( handle: SavedStateHandle, dispatcherProvider: DispatcherProvider, @ApplicationContext private val context: Context, -) : Smart2VM(dispatcherProvider) { +) : ViewModel3(dispatcherProvider) { private val recordedPath = handle.get(RecorderActivity.RECORD_PATH)!! private val pathCache = MutableStateFlow(recordedPath) diff --git a/app/src/main/java/eu/darken/capod/common/smart/SmartActivity.kt b/app/src/main/java/eu/darken/capod/common/uix/Activity2.kt similarity index 89% rename from app/src/main/java/eu/darken/capod/common/smart/SmartActivity.kt rename to app/src/main/java/eu/darken/capod/common/uix/Activity2.kt index a3eee077..3a7b642f 100644 --- a/app/src/main/java/eu/darken/capod/common/smart/SmartActivity.kt +++ b/app/src/main/java/eu/darken/capod/common/uix/Activity2.kt @@ -1,4 +1,4 @@ -package eu.darken.capod.common.smart +package eu.darken.capod.common.uix import android.content.Intent import android.os.Bundle @@ -8,7 +8,7 @@ import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE import eu.darken.capod.common.debug.logging.log import eu.darken.capod.common.debug.logging.logTag -abstract class SmartActivity : AppCompatActivity() { +abstract class Activity2 : AppCompatActivity() { internal val tag: String = logTag("Activity", this.javaClass.simpleName + "(" + Integer.toHexString(hashCode()) + ")") @@ -38,7 +38,7 @@ abstract class SmartActivity : AppCompatActivity() { } fun LiveData.observe2(callback: (T) -> Unit) { - observe(this@SmartActivity) { callback.invoke(it) } + observe(this@Activity2) { callback.invoke(it) } } } \ No newline at end of file diff --git a/app/src/main/java/eu/darken/capod/common/smart/Smart2BottomSheetDialogFragment.kt b/app/src/main/java/eu/darken/capod/common/uix/BottomSheetDialogFragment2.kt similarity index 95% rename from app/src/main/java/eu/darken/capod/common/smart/Smart2BottomSheetDialogFragment.kt rename to app/src/main/java/eu/darken/capod/common/uix/BottomSheetDialogFragment2.kt index 340d106e..4017b150 100644 --- a/app/src/main/java/eu/darken/capod/common/smart/Smart2BottomSheetDialogFragment.kt +++ b/app/src/main/java/eu/darken/capod/common/uix/BottomSheetDialogFragment2.kt @@ -1,4 +1,4 @@ -package eu.darken.capod.common.smart +package eu.darken.capod.common.uix import android.content.Context import android.content.Intent @@ -18,10 +18,10 @@ import eu.darken.capod.common.navigation.popBackStack import eu.darken.capod.common.observe2 -abstract class Smart2BottomSheetDialogFragment : BottomSheetDialogFragment() { +abstract class BottomSheetDialogFragment2 : BottomSheetDialogFragment() { abstract val ui: ViewBinding - abstract val vdc: Smart2VM + abstract val vdc: ViewModel3 internal val tag: String = logTag("Fragment", "${this.javaClass.simpleName}(${Integer.toHexString(hashCode())})") diff --git a/app/src/main/java/eu/darken/capod/common/smart/SmartFragment.kt b/app/src/main/java/eu/darken/capod/common/uix/Fragment2.kt similarity index 95% rename from app/src/main/java/eu/darken/capod/common/smart/SmartFragment.kt rename to app/src/main/java/eu/darken/capod/common/uix/Fragment2.kt index 40a4b9d3..bb4f8f3b 100644 --- a/app/src/main/java/eu/darken/capod/common/smart/SmartFragment.kt +++ b/app/src/main/java/eu/darken/capod/common/uix/Fragment2.kt @@ -1,4 +1,4 @@ -package eu.darken.capod.common.smart +package eu.darken.capod.common.uix import android.content.Context import android.content.Intent @@ -13,7 +13,7 @@ import eu.darken.capod.common.debug.logging.log import eu.darken.capod.common.debug.logging.logTag -abstract class SmartFragment(@LayoutRes val layoutRes: Int?) : Fragment(layoutRes ?: 0) { +abstract class Fragment2(@LayoutRes val layoutRes: Int?) : Fragment(layoutRes ?: 0) { constructor() : this(null) diff --git a/app/src/main/java/eu/darken/capod/common/smart/Smart2Fragment.kt b/app/src/main/java/eu/darken/capod/common/uix/Fragment3.kt similarity index 90% rename from app/src/main/java/eu/darken/capod/common/smart/Smart2Fragment.kt rename to app/src/main/java/eu/darken/capod/common/uix/Fragment3.kt index 459c387f..63b3e757 100644 --- a/app/src/main/java/eu/darken/capod/common/smart/Smart2Fragment.kt +++ b/app/src/main/java/eu/darken/capod/common/uix/Fragment3.kt @@ -1,4 +1,4 @@ -package eu.darken.capod.common.smart +package eu.darken.capod.common.uix import android.os.Bundle import android.view.View @@ -11,12 +11,12 @@ import eu.darken.capod.common.navigation.doNavigate import eu.darken.capod.common.navigation.popBackStack -abstract class Smart2Fragment(@LayoutRes layoutRes: Int?) : SmartFragment(layoutRes) { +abstract class Fragment3(@LayoutRes layoutRes: Int?) : Fragment2(layoutRes) { constructor() : this(null) abstract val ui: ViewBinding? - abstract val vm: Smart2VM + abstract val vm: ViewModel3 var onErrorEvent: ((Throwable) -> Boolean)? = null diff --git a/app/src/main/java/eu/darken/capod/common/smart/SmartService.kt b/app/src/main/java/eu/darken/capod/common/uix/Service2.kt similarity index 94% rename from app/src/main/java/eu/darken/capod/common/smart/SmartService.kt rename to app/src/main/java/eu/darken/capod/common/uix/Service2.kt index 49a0b4d8..9e01e092 100644 --- a/app/src/main/java/eu/darken/capod/common/smart/SmartService.kt +++ b/app/src/main/java/eu/darken/capod/common/uix/Service2.kt @@ -1,4 +1,4 @@ -package eu.darken.capod.common.smart +package eu.darken.capod.common.uix import android.app.Service import android.content.Intent @@ -6,7 +6,7 @@ import android.content.res.Configuration import eu.darken.capod.common.debug.logging.log import eu.darken.capod.common.debug.logging.logTag -abstract class SmartService : Service() { +abstract class Service2 : Service() { private val tag: String = logTag("Service", this.javaClass.simpleName + "(" + Integer.toHexString(this.hashCode()) + ")") diff --git a/app/src/main/java/eu/darken/capod/common/viewmodel/VM.kt b/app/src/main/java/eu/darken/capod/common/uix/ViewModel1.kt similarity index 83% rename from app/src/main/java/eu/darken/capod/common/viewmodel/VM.kt rename to app/src/main/java/eu/darken/capod/common/uix/ViewModel1.kt index 2314a75b..d0ce5a95 100644 --- a/app/src/main/java/eu/darken/capod/common/viewmodel/VM.kt +++ b/app/src/main/java/eu/darken/capod/common/uix/ViewModel1.kt @@ -1,11 +1,11 @@ -package eu.darken.capod.common.viewmodel +package eu.darken.capod.common.uix import androidx.annotation.CallSuper import androidx.lifecycle.ViewModel import eu.darken.capod.common.debug.logging.log import eu.darken.capod.common.debug.logging.logTag -abstract class VM : ViewModel() { +abstract class ViewModel1 : ViewModel() { val TAG: String = logTag("VM", javaClass.simpleName) init { diff --git a/app/src/main/java/eu/darken/capod/common/smart/SmartVM.kt b/app/src/main/java/eu/darken/capod/common/uix/ViewModel2.kt similarity index 94% rename from app/src/main/java/eu/darken/capod/common/smart/SmartVM.kt rename to app/src/main/java/eu/darken/capod/common/uix/ViewModel2.kt index 8e956dc4..fbba0765 100644 --- a/app/src/main/java/eu/darken/capod/common/smart/SmartVM.kt +++ b/app/src/main/java/eu/darken/capod/common/uix/ViewModel2.kt @@ -1,4 +1,4 @@ -package eu.darken.capod.common.smart +package eu.darken.capod.common.uix import androidx.lifecycle.asLiveData import androidx.lifecycle.viewModelScope @@ -9,16 +9,15 @@ import eu.darken.capod.common.debug.logging.asLog import eu.darken.capod.common.debug.logging.log import eu.darken.capod.common.error.ErrorEventSource import eu.darken.capod.common.flow.DynamicStateFlow -import eu.darken.capod.common.viewmodel.VM import kotlinx.coroutines.* import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.launchIn import kotlin.coroutines.CoroutineContext -abstract class SmartVM( +abstract class ViewModel2( private val dispatcherProvider: DispatcherProvider = DefaultDispatcherProvider(), -) : VM() { +) : ViewModel1() { val vmScope = viewModelScope + dispatcherProvider.Default diff --git a/app/src/main/java/eu/darken/capod/common/smart/Smart2VM.kt b/app/src/main/java/eu/darken/capod/common/uix/ViewModel3.kt similarity index 88% rename from app/src/main/java/eu/darken/capod/common/smart/Smart2VM.kt rename to app/src/main/java/eu/darken/capod/common/uix/ViewModel3.kt index 10948a89..f5900376 100644 --- a/app/src/main/java/eu/darken/capod/common/smart/Smart2VM.kt +++ b/app/src/main/java/eu/darken/capod/common/uix/ViewModel3.kt @@ -1,4 +1,4 @@ -package eu.darken.capod.common.smart +package eu.darken.capod.common.uix import androidx.navigation.NavDirections import eu.darken.capod.common.coroutine.DispatcherProvider @@ -13,9 +13,9 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.launchIn -abstract class Smart2VM( +abstract class ViewModel3( dispatcherProvider: DispatcherProvider, -) : SmartVM(dispatcherProvider), NavEventSource, ErrorEventSource { +) : ViewModel2(dispatcherProvider), NavEventSource, ErrorEventSource { override val navEvents = SingleLiveEvent() override val errorEvents = SingleLiveEvent() diff --git a/app/src/main/java/eu/darken/capod/common/viewmodel/ViewModelLazyKeyed.kt b/app/src/main/java/eu/darken/capod/common/uix/ViewModelLazyKeyed.kt similarity index 99% rename from app/src/main/java/eu/darken/capod/common/viewmodel/ViewModelLazyKeyed.kt rename to app/src/main/java/eu/darken/capod/common/uix/ViewModelLazyKeyed.kt index 9524550e..370846e0 100644 --- a/app/src/main/java/eu/darken/capod/common/viewmodel/ViewModelLazyKeyed.kt +++ b/app/src/main/java/eu/darken/capod/common/uix/ViewModelLazyKeyed.kt @@ -1,4 +1,4 @@ -package eu.darken.capod.common.viewmodel +package eu.darken.capod.common.uix /* * Copyright 2018 The Android Open Source Project diff --git a/app/src/main/java/eu/darken/capod/common/viewmodel/SmartVM.kt b/app/src/main/java/eu/darken/capod/common/viewmodel/SmartVM.kt deleted file mode 100644 index 84474dbd..00000000 --- a/app/src/main/java/eu/darken/capod/common/viewmodel/SmartVM.kt +++ /dev/null @@ -1,15 +0,0 @@ -package eu.darken.capod.common.viewmodel - -import androidx.lifecycle.asLiveData -import eu.darken.capod.common.coroutine.DefaultDispatcherProvider -import eu.darken.capod.common.coroutine.DispatcherProvider -import kotlinx.coroutines.flow.Flow - - -abstract class SmartVM( - private val dispatcherProvider: DispatcherProvider = DefaultDispatcherProvider(), -) : VM() { - - fun Flow.asLiveData2() = this.asLiveData(context = dispatcherProvider.Default) - -} \ No newline at end of file diff --git a/app/src/main/java/eu/darken/capod/main/ui/MainActivity.kt b/app/src/main/java/eu/darken/capod/main/ui/MainActivity.kt index 5106322f..4941b975 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/MainActivity.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/MainActivity.kt @@ -5,11 +5,11 @@ import androidx.activity.viewModels import dagger.hilt.android.AndroidEntryPoint import eu.darken.capod.R import eu.darken.capod.common.navigation.findNavController -import eu.darken.capod.common.smart.SmartActivity +import eu.darken.capod.common.uix.Activity2 import eu.darken.capod.databinding.MainActivityBinding @AndroidEntryPoint -class MainActivity : SmartActivity() { +class MainActivity : Activity2() { private val vm: MainActivityVM by viewModels() private lateinit var ui: MainActivityBinding diff --git a/app/src/main/java/eu/darken/capod/main/ui/MainActivityVM.kt b/app/src/main/java/eu/darken/capod/main/ui/MainActivityVM.kt index 0ac0a182..9ad29118 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/MainActivityVM.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/MainActivityVM.kt @@ -3,7 +3,7 @@ package eu.darken.capod.main.ui import androidx.lifecycle.SavedStateHandle import dagger.hilt.android.lifecycle.HiltViewModel import eu.darken.capod.common.coroutine.DispatcherProvider -import eu.darken.capod.common.viewmodel.SmartVM +import eu.darken.capod.common.uix.ViewModel2 import javax.inject.Inject @@ -11,4 +11,4 @@ import javax.inject.Inject class MainActivityVM @Inject constructor( handle: SavedStateHandle, dispatcherProvider: DispatcherProvider, -) : SmartVM(dispatcherProvider = dispatcherProvider) \ No newline at end of file +) : ViewModel2(dispatcherProvider = dispatcherProvider) \ No newline at end of file diff --git a/app/src/main/java/eu/darken/capod/main/ui/MainFragment.kt b/app/src/main/java/eu/darken/capod/main/ui/MainFragment.kt index c47837ea..55b99ada 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/MainFragment.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/MainFragment.kt @@ -11,13 +11,13 @@ import eu.darken.capod.common.BuildConfigWrap import eu.darken.capod.common.debug.logging.log import eu.darken.capod.common.lists.differ.update import eu.darken.capod.common.lists.setupDefaults -import eu.darken.capod.common.smart.Smart2Fragment +import eu.darken.capod.common.uix.Fragment3 import eu.darken.capod.common.viewbinding.viewBinding import eu.darken.capod.databinding.MainFragmentBinding import javax.inject.Inject @AndroidEntryPoint -class MainFragment : Smart2Fragment(R.layout.main_fragment) { +class MainFragment : Fragment3(R.layout.main_fragment) { override val vm: MainFragmentVM by viewModels() override val ui: MainFragmentBinding by viewBinding() diff --git a/app/src/main/java/eu/darken/capod/main/ui/MainFragmentVM.kt b/app/src/main/java/eu/darken/capod/main/ui/MainFragmentVM.kt index 40170d77..50a22ed3 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/MainFragmentVM.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/MainFragmentVM.kt @@ -11,7 +11,7 @@ import eu.darken.capod.common.hasApiLevel import eu.darken.capod.common.livedata.SingleLiveEvent import eu.darken.capod.common.permissions.Permission import eu.darken.capod.common.permissions.isGranted -import eu.darken.capod.common.smart.Smart2VM +import eu.darken.capod.common.uix.ViewModel3 import eu.darken.capod.main.ui.cards.PermissionCardVH import eu.darken.capod.main.ui.cards.ToggleCardVH import kotlinx.coroutines.flow.* @@ -24,7 +24,7 @@ class MainFragmentVM @Inject constructor( @ApplicationContext private val context: Context, dispatcherProvider: DispatcherProvider, private val recorderModule: RecorderModule, -) : Smart2VM(dispatcherProvider = dispatcherProvider) { +) : ViewModel3(dispatcherProvider = dispatcherProvider) { private val enabledState: Flow = flow {