Skip to content

Commit 3a76724

Browse files
committed
Fix media not found when opened from widget
1 parent 7ec2348 commit 3a76724

File tree

5 files changed

+21
-48
lines changed

5 files changed

+21
-48
lines changed

app/src/main/kotlin/com/revolgenx/anilib/common/ui/viewmodel/ViewModelModule.kt

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,8 @@ val viewModelModules = module {
158158
SeasonFilterViewModel(
159159
get<Context>().seasonFilterDataStore,
160160
get<Context>().mediaTagCollectionDataStore,
161-
get<Context>().genreCollectionDataStore,
162-
get()
161+
get<Context>().genreCollectionDataStore,
162+
get()
163163
)
164164
}
165165

@@ -288,12 +288,14 @@ val viewModelModules = module {
288288
viewModel { parameters -> ActivityInfoViewModel(parameters.get(), get()) }
289289

290290
//browse
291-
viewModel { BrowseViewModel(
292-
get<Context>().mediaTagCollectionDataStore,
293-
get<Context>().genreCollectionDataStore,
294-
get(),
295-
get()
296-
) }
291+
viewModel {
292+
BrowseViewModel(
293+
get<Context>().mediaTagCollectionDataStore,
294+
get<Context>().genreCollectionDataStore,
295+
get(),
296+
get()
297+
)
298+
}
297299
viewModel {
298300
BrowseFilterViewModel(
299301
get<Context>().mediaTagCollectionDataStore,
@@ -316,22 +318,16 @@ val viewModelModules = module {
316318
viewModel { RecommendationFilterViewModel() }
317319

318320
//settings
319-
viewModel {
320-
SettingsViewModel(
321-
get(),
322-
get<Context>().airingScheduleFilterDataStore,
323-
get<Context>().exploreAiringScheduleFilterDataStore
324-
)
325-
}
321+
viewModel { SettingsViewModel(get()) }
326322
viewModel { GeneralSettingsViewModel(get()) }
327323
viewModel { AppearanceSettingsViewModel(get(), get(), get(), get()) }
328324
viewModel { MediaSettingsViewModel(get(), get(), get()) }
329325
viewModel { NotificationSettingsViewModel(get(), get(), get()) }
330326
viewModel { MediaListSettingsViewModel(get(), get()) }
331327
viewModel { FilterSettingsViewModel(get(), get()) }
332328
viewModel { TagFilterSettingsViewModel(get<Context>().mediaTagCollectionDataStore, get()) }
333-
viewModel { GenreFilterSettingsViewModel( get<Context>().genreCollectionDataStore, get()) }
334-
viewModel { WidgetSettingsViewModel(get(), get(), get())}
329+
viewModel { GenreFilterSettingsViewModel(get<Context>().genreCollectionDataStore, get()) }
330+
viewModel { WidgetSettingsViewModel(get(), get(), get()) }
335331
//explore
336332
viewModel {
337333
ExploreMediaViewModel.ExploreTrendingViewModel(
@@ -380,6 +376,6 @@ val viewModelModules = module {
380376

381377

382378
viewModel { AdsViewModel(get(), get()) }
383-
viewModel{ ScrollViewModel() }
379+
viewModel { ScrollViewModel() }
384380
viewModel { BillingViewModel(get()) }
385381
}

app/src/main/kotlin/com/revolgenx/anilib/setting/ui/screen/SupportSettingsScreen.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import androidx.compose.foundation.rememberScrollState
1010
import androidx.compose.foundation.verticalScroll
1111
import androidx.compose.material3.Button
1212
import androidx.compose.material3.ExperimentalMaterial3Api
13-
import androidx.compose.material3.HorizontalDivider
1413
import androidx.compose.material3.Icon
1514
import androidx.compose.material3.MaterialTheme
1615
import androidx.compose.material3.OutlinedCard
@@ -36,6 +35,7 @@ import com.revolgenx.anilib.common.data.constant.InterstitialAdsInterval
3635
import com.revolgenx.anilib.common.data.constant.RewardedInterstitialAdsInterval
3736
import com.revolgenx.anilib.common.ext.activityViewModel
3837
import com.revolgenx.anilib.common.ext.componentActivity
38+
import com.revolgenx.anilib.common.ext.get
3939
import com.revolgenx.anilib.common.ext.horizontalBottomWindowInsets
4040
import com.revolgenx.anilib.common.ext.localContext
4141
import com.revolgenx.anilib.common.ui.ads.AdsViewModel
@@ -68,10 +68,10 @@ fun SupportSettingsScreenContent() {
6868

6969
val context = localContext()
7070
val scope = rememberCoroutineScope()
71-
val appIsSupported = billingViewModel.appIsSupported.collectAsState(false)
71+
val appIsSupported = billingViewModel.isAppDevSupported.collectAsState(false)
7272

7373
LaunchedEffect(billingViewModel) {
74-
if (billingViewModel.billingConnectionState.intValue == ConnectionState.DISCONNECTED) {
74+
if (billingViewModel.billingConnectionState.intValue == ConnectionState.DISCONNECTED && !billingViewModel.isAppDevSupported.get()) {
7575
billingViewModel.restartBillingConnection()
7676
}
7777
}

app/src/main/kotlin/com/revolgenx/anilib/setting/ui/viewmodel/BillingViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class BillingViewModel(
3737
val billingConnectionState = mutableIntStateOf(ConnectionState.DISCONNECTED)
3838
private var launchingBillingFlow = false
3939

40-
val appIsSupported = billingDataStore.isAppDevSupported
40+
val isAppDevSupported = billingDataStore.isAppDevSupported
4141

4242
val hasPendingPurchase = mutableStateOf(false)
4343

@@ -102,6 +102,7 @@ class BillingViewModel(
102102

103103
fun queryPurchases() {
104104
hasPendingPurchase.value = false
105+
failedToPurchase.value = false
105106
val params = QueryPurchasesParams
106107
.newBuilder()
107108
.setProductType(BillingClient.ProductType.INAPP)
Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,12 @@
11
package com.revolgenx.anilib.setting.ui.viewmodel
22

3-
import android.content.Context
4-
import android.content.Intent
53
import androidx.lifecycle.ViewModel
6-
import com.revolgenx.anilib.app.ui.activity.MainActivity
7-
import com.revolgenx.anilib.common.data.store.AiringScheduleFilterDataStore
84
import com.revolgenx.anilib.common.data.store.AppPreferencesDataStore
9-
import com.revolgenx.anilib.common.ext.launch
10-
import com.revolgenx.anilib.common.ext.restart
11-
import com.revolgenx.anilib.setting.data.store.BillingDataStore
125

136
class SettingsViewModel(
147
val appPreferencesDataStore: AppPreferencesDataStore,
15-
private val airingScheduleFilterDataStore: AiringScheduleFilterDataStore,
16-
private val exploreAiringScheduleFilterDataStore: AiringScheduleFilterDataStore
178
) : ViewModel() {
189
val bugReport = appPreferencesDataStore.crashReport
1910
val displayInterstitialAdsInterval = appPreferencesDataStore.displayInterstitialAdsInterval
20-
val displayRewardedInterstitialAdsInterval =
21-
appPreferencesDataStore.displayRewardedInterstitialAdsInterval
22-
23-
fun logout(context: Context) {
24-
launch {
25-
appPreferencesDataStore.logout()
26-
airingScheduleFilterDataStore.updateData {
27-
it.copy(showOnlyPlanning = false, showOnlyWatching = false)
28-
}
29-
30-
exploreAiringScheduleFilterDataStore.updateData {
31-
it.copy(showOnlyPlanning = false, showOnlyWatching = false)
32-
}
33-
context.restart()
34-
}
35-
}
11+
val displayRewardedInterstitialAdsInterval = appPreferencesDataStore.displayRewardedInterstitialAdsInterval
3612
}

app/src/main/kotlin/com/revolgenx/anilib/widget/data/store/AiringScheduleWidgetData.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ fun AiringScheduleModelData.toModel(): AiringScheduleModel {
7171
mediaId = mediaId,
7272
media = media?.let {
7373
MediaModel(
74-
id = id,
74+
id = it.id,
7575
title = it.title,
7676
coverImage = it.coverImageModel,
7777
isAdult = it.isAdult,

0 commit comments

Comments
 (0)