Skip to content

Commit f11977c

Browse files
committed
Update: Replace unsecure refs with MainVM injection in pages/sheets
1 parent 922e21b commit f11977c

File tree

5 files changed

+35
-21
lines changed

5 files changed

+35
-21
lines changed

src/main/java/com/machiav3lli/backup/pages/AppPage.kt

+5-2
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ import com.machiav3lli.backup.ui.compose.show
108108
import com.machiav3lli.backup.utils.TraceUtils
109109
import com.machiav3lli.backup.utils.infoChips
110110
import com.machiav3lli.backup.viewmodels.AppVM
111+
import com.machiav3lli.backup.viewmodels.MainVM
112+
import org.koin.androidx.compose.koinViewModel
111113
import timber.log.Timber
112114

113115
const val DIALOG_BACKUP = 1
@@ -127,6 +129,7 @@ const val DIALOG_NOTE_BACKUP = 12
127129
fun AppPage(
128130
viewModel: AppVM,
129131
packageName: String,
132+
mainVM: MainVM = koinViewModel(),
130133
onDismiss: () -> Unit,
131134
) {
132135
val context = LocalContext.current
@@ -136,7 +139,7 @@ fun AppPage(
136139
mutableStateOf(Pair(DIALOG_NONE, Schedule()))
137140
}
138141

139-
val thePackages by mActivity.viewModel.packageMap.collectAsState()
142+
val thePackages by mainVM.packageMap.collectAsState()
140143
val thePackage: Package? = thePackages[packageName]
141144
val snackbarText by viewModel.snackbarText.flow.collectAsState("")
142145
val appExtras by viewModel.appExtras.collectAsState()
@@ -305,7 +308,7 @@ fun AppPage(
305308
icon = Phosphor.Prohibit,
306309
description = stringResource(id = R.string.global_blocklist_add)
307310
) {
308-
mActivity.viewModel.addToBlocklist(
311+
mainVM.addToBlocklist(
309312
pkg.packageName
310313
)
311314
}

src/main/java/com/machiav3lli/backup/pages/BatchPage.kt

+10-4
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,20 @@ import com.machiav3lli.backup.ui.compose.theme.ColorAPK
7171
import com.machiav3lli.backup.ui.compose.theme.ColorData
7272
import com.machiav3lli.backup.utils.altModeToMode
7373
import com.machiav3lli.backup.viewmodels.BatchVM
74+
import com.machiav3lli.backup.viewmodels.MainVM
7475
import kotlinx.coroutines.launch
76+
import org.koin.androidx.compose.koinViewModel
7577

7678
@OptIn(ExperimentalMaterial3Api::class)
7779
@Composable
78-
fun BatchPage(viewModel: BatchVM, backupBoolean: Boolean) {
80+
fun BatchPage(
81+
viewModel: BatchVM,
82+
mainVM: MainVM = koinViewModel(),
83+
backupBoolean: Boolean
84+
) {
7985
val main = OABX.main!!
8086
val scope = rememberCoroutineScope()
81-
val filteredList by main.viewModel.filteredList.collectAsState(emptyList())
87+
val filteredList by mainVM.filteredList.collectAsState(emptyList())
8288
val scaffoldState = rememberBottomSheetScaffoldState()
8389
val openBatchDialog = remember { mutableStateOf(false) }
8490
val openBlocklist = rememberSaveable { mutableStateOf(false) }
@@ -281,11 +287,11 @@ fun BatchPage(viewModel: BatchVM, backupBoolean: Boolean) {
281287

282288
if (openBlocklist.value) BaseDialog(openDialogCustom = openBlocklist) {
283289
GlobalBlockListDialogUI(
284-
currentBlocklist = OABX.main?.viewModel?.getBlocklist()?.toSet()
290+
currentBlocklist = mainVM.getBlocklist()?.toSet()
285291
?: emptySet(),
286292
openDialogCustom = openBlocklist,
287293
) { newSet ->
288-
OABX.main?.viewModel?.setBlocklist(newSet)
294+
mainVM.setBlocklist(newSet)
289295
}
290296
}
291297
if (openBatchDialog.value) BaseDialog(openDialogCustom = openBatchDialog) {

src/main/java/com/machiav3lli/backup/pages/HomePage.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,17 @@ import com.machiav3lli.backup.ui.compose.recycler.HomePackageRecycler
9090
import com.machiav3lli.backup.ui.compose.recycler.UpdatedPackageRecycler
9191
import com.machiav3lli.backup.utils.altModeToMode
9292
import com.machiav3lli.backup.viewmodels.AppVM
93+
import com.machiav3lli.backup.viewmodels.MainVM
9394
import kotlinx.coroutines.launch
95+
import org.koin.androidx.compose.koinViewModel
9496

9597
@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") // TODO remove Scaffold
9698
@OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3AdaptiveApi::class)
9799
@Composable
98-
fun HomePage() {
100+
fun HomePage(viewModel: MainVM = koinViewModel()) {
99101
// TODO include tags in search
100102
val mActivity = OABX.main!!
101103
val scope = rememberCoroutineScope()
102-
val viewModel = mActivity.viewModel
103104
val scaffoldState = rememberBottomSheetScaffoldState()
104105
val paneNavigator = rememberListDetailPaneScaffoldNavigator<Any>()
105106

@@ -377,11 +378,10 @@ fun HomePage() {
377378

378379
if (openBlocklist.value) BaseDialog(openDialogCustom = openBlocklist) {
379380
GlobalBlockListDialogUI(
380-
currentBlocklist = OABX.main?.viewModel?.getBlocklist()?.toSet()
381-
?: emptySet(),
381+
currentBlocklist = viewModel.getBlocklist().toSet(),
382382
openDialogCustom = openBlocklist,
383383
) { newSet ->
384-
OABX.main?.viewModel?.setBlocklist(newSet)
384+
viewModel.setBlocklist(newSet)
385385
}
386386
}
387387
if (openBatchDialog.value) BaseDialog(openDialogCustom = openBatchDialog) {

src/main/java/com/machiav3lli/backup/pages/MainPage.kt

+8-6
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,15 @@ import com.machiav3lli.backup.ui.compose.recycler.FullScreenBackground
5353
import com.machiav3lli.backup.ui.navigation.NavItem
5454
import com.machiav3lli.backup.ui.navigation.NeoNavigationSuiteScaffold
5555
import com.machiav3lli.backup.ui.navigation.SlidePager
56+
import com.machiav3lli.backup.viewmodels.MainVM
5657
import kotlinx.collections.immutable.persistentListOf
5758
import kotlinx.coroutines.launch
59+
import org.koin.androidx.compose.koinViewModel
5860

5961
@Composable
6062
fun MainPage(
6163
navController: NavHostController,
64+
viewModel: MainVM = koinViewModel(),
6265
) {
6366
val scope = rememberCoroutineScope()
6467
val pages = persistentListOf(
@@ -76,7 +79,7 @@ fun MainPage(
7679

7780
var query by rememberSaveable {
7881
mutableStateOf(
79-
OABX.main?.viewModel?.searchQuery?.value ?: ""
82+
viewModel.searchQuery.value ?: ""
8083
)
8184
}
8285

@@ -122,11 +125,11 @@ fun MainPage(
122125
onQueryChanged = { newQuery ->
123126
//if (newQuery != query) // empty string doesn't work...
124127
query = newQuery
125-
OABX.main?.viewModel?.searchQuery?.value = query
128+
viewModel.searchQuery?.value = query
126129
},
127130
onClose = {
128131
query = ""
129-
OABX.main?.viewModel?.searchQuery?.value = ""
132+
viewModel.searchQuery.value = ""
130133
}
131134
)
132135
AnimatedVisibility(!searchExpanded.value) {
@@ -156,11 +159,10 @@ fun MainPage(
156159

157160
if (openBlocklist.value) BaseDialog(openDialogCustom = openBlocklist) {
158161
GlobalBlockListDialogUI(
159-
currentBlocklist = OABX.main?.viewModel?.getBlocklist()?.toSet()
160-
?: emptySet(),
162+
currentBlocklist = viewModel.getBlocklist().toSet(),
161163
openDialogCustom = openBlocklist,
162164
) { newSet ->
163-
OABX.main?.viewModel?.setBlocklist(newSet)
165+
viewModel.setBlocklist(newSet)
164166
}
165167
}
166168
}

src/main/java/com/machiav3lli/backup/sheets/SortFilterSheet.kt

+7-4
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,16 @@ import com.machiav3lli.backup.utils.applyFilter
8282
import com.machiav3lli.backup.utils.getStats
8383
import com.machiav3lli.backup.utils.sortFilterModel
8484
import com.machiav3lli.backup.utils.specialBackupsEnabled
85+
import com.machiav3lli.backup.viewmodels.MainVM
86+
import org.koin.androidx.compose.koinViewModel
8587

8688
@Composable
87-
fun SortFilterSheet(onDismiss: () -> Unit) { // TODO add key for each page (HOME, BACKUP, RESTORE)
88-
val context = LocalContext.current
89-
val mActivity = OABX.main!!
89+
fun SortFilterSheet(
90+
viewModel: MainVM = koinViewModel(),
91+
onDismiss: () -> Unit,
92+
) { // TODO add key for each page (HOME, BACKUP, RESTORE)
9093
val nestedScrollConnection = rememberNestedScrollInteropConnection()
91-
val packageList by mActivity.viewModel.notBlockedList.collectAsState()
94+
val packageList by viewModel.notBlockedList.collectAsState()
9295
var model by rememberSaveable { mutableStateOf(sortFilterModel) }
9396
fun currentStats() = getStats(
9497
packageList.applyFilter(

0 commit comments

Comments
 (0)