diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-12-12 02:20:25 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-12-12 02:20:25 +0000 |
commit | 22622d2e07b2eef599644ec05cb7e8a627e79ea2 (patch) | |
tree | 63ea0c4db4136beed5401a5392c05ed6142138de | |
parent | c702fd9ba2d3d07d0075a98405318fb4ff108aaf (diff) | |
parent | fa36874a30b628218f8b82a9d3256aec06098d0b (diff) | |
download | WallpaperPicker2-22622d2e07b2eef599644ec05cb7e8a627e79ea2.tar.gz |
Snap for 11206181 from fa36874a30b628218f8b82a9d3256aec06098d0b to 24Q1-release
Change-Id: I30ededef0e11d69009782cd157bf5ab336b96c7e
15 files changed, 49 insertions, 20 deletions
diff --git a/src/com/android/wallpaper/model/wallpaper/DownloadableWallpaperData.kt b/src/com/android/wallpaper/model/wallpaper/DownloadableWallpaperData.kt new file mode 100644 index 00000000..04ff8c60 --- /dev/null +++ b/src/com/android/wallpaper/model/wallpaper/DownloadableWallpaperData.kt @@ -0,0 +1,28 @@ +/* + * Copyright 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.wallpaper.model.wallpaper + +import android.app.WallpaperInfo + +/** Represents set of attributes that are needed for a wallpaper that is downloadable. */ +data class DownloadableWallpaperData( + val groupName: String, + val systemWallpaperInfo: WallpaperInfo, + val isTitleVisible: Boolean, + val isApplied: Boolean, + val effectNames: String?, +) diff --git a/src/com/android/wallpaper/model/wallpaper/WallpaperModel.kt b/src/com/android/wallpaper/model/wallpaper/WallpaperModel.kt index 2d09da32..ac33dd74 100644 --- a/src/com/android/wallpaper/model/wallpaper/WallpaperModel.kt +++ b/src/com/android/wallpaper/model/wallpaper/WallpaperModel.kt @@ -40,6 +40,7 @@ sealed class WallpaperModel { override val commonWallpaperData: CommonWallpaperData, val staticWallpaperData: StaticWallpaperData, val imageWallpaperData: ImageWallpaperData?, - val networkWallpaperData: NetworkWallpaperData? + val networkWallpaperData: NetworkWallpaperData?, + val downloadableWallpaperData: DownloadableWallpaperData?, ) : WallpaperModel() } diff --git a/src/com/android/wallpaper/module/WallpaperPicker2Injector.kt b/src/com/android/wallpaper/module/WallpaperPicker2Injector.kt index 552bfc55..d1350204 100755 --- a/src/com/android/wallpaper/module/WallpaperPicker2Injector.kt +++ b/src/com/android/wallpaper/module/WallpaperPicker2Injector.kt @@ -26,8 +26,6 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.LifecycleOwner import com.android.customization.model.color.WallpaperColorResources import com.android.wallpaper.config.BaseFlags -import com.android.wallpaper.dispatchers.BackgroundDispatcher -import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.effects.EffectsController import com.android.wallpaper.model.CategoryProvider import com.android.wallpaper.model.InlinePreviewIntentFactory @@ -49,6 +47,8 @@ import com.android.wallpaper.picker.customization.data.repository.WallpaperColor import com.android.wallpaper.picker.customization.data.repository.WallpaperRepository import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor import com.android.wallpaper.picker.customization.domain.interactor.WallpaperSnapshotRestorer +import com.android.wallpaper.picker.di.modules.BackgroundDispatcher +import com.android.wallpaper.picker.di.modules.MainDispatcher import com.android.wallpaper.picker.individual.IndividualPickerFragment import com.android.wallpaper.picker.undo.data.repository.UndoRepository import com.android.wallpaper.picker.undo.domain.interactor.UndoInteractor diff --git a/src/com/android/wallpaper/dispatchers/DispatchersModule.kt b/src/com/android/wallpaper/picker/di/modules/DispatchersModule.kt index 2bdfd717..e78d0857 100644 --- a/src/com/android/wallpaper/dispatchers/DispatchersModule.kt +++ b/src/com/android/wallpaper/picker/di/modules/DispatchersModule.kt @@ -12,10 +12,9 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - * */ -package com.android.wallpaper.dispatchers +package com.android.wallpaper.picker.di.modules import dagger.Module import dagger.Provides diff --git a/src/com/android/wallpaper/picker/di/modules/RepositoryModule.kt b/src/com/android/wallpaper/picker/di/modules/RepositoryModule.kt index 1b30b0da..25a6697f 100644 --- a/src/com/android/wallpaper/picker/di/modules/RepositoryModule.kt +++ b/src/com/android/wallpaper/picker/di/modules/RepositoryModule.kt @@ -17,8 +17,6 @@ package com.android.wallpaper.picker.di.modules import android.app.WallpaperManager import android.content.Context -import com.android.wallpaper.dispatchers.BackgroundDispatcher -import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.module.WallpaperPreferences import com.android.wallpaper.picker.customization.data.content.WallpaperClient import com.android.wallpaper.picker.customization.data.content.WallpaperClientImpl diff --git a/src/com/android/wallpaper/picker/preview/domain/interactor/PreviewActionsInteractor.kt b/src/com/android/wallpaper/picker/preview/domain/interactor/PreviewActionsInteractor.kt index 30a2de30..de186039 100644 --- a/src/com/android/wallpaper/picker/preview/domain/interactor/PreviewActionsInteractor.kt +++ b/src/com/android/wallpaper/picker/preview/domain/interactor/PreviewActionsInteractor.kt @@ -16,9 +16,9 @@ package com.android.wallpaper.picker.preview.domain.interactor -import com.android.wallpaper.dispatchers.BackgroundDispatcher -import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.model.wallpaper.WallpaperModel +import com.android.wallpaper.picker.di.modules.BackgroundDispatcher +import com.android.wallpaper.picker.di.modules.MainDispatcher import com.android.wallpaper.picker.preview.data.repository.WallpaperPreviewRepository import dagger.hilt.android.scopes.ActivityRetainedScoped import javax.inject.Inject diff --git a/src/com/android/wallpaper/picker/preview/ui/binder/FullWallpaperPreviewBinder.kt b/src/com/android/wallpaper/picker/preview/ui/binder/FullWallpaperPreviewBinder.kt index dfed897d..b77ef97c 100644 --- a/src/com/android/wallpaper/picker/preview/ui/binder/FullWallpaperPreviewBinder.kt +++ b/src/com/android/wallpaper/picker/preview/ui/binder/FullWallpaperPreviewBinder.kt @@ -28,9 +28,9 @@ import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle import com.android.wallpaper.R -import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.model.wallpaper.WallpaperModel import com.android.wallpaper.picker.TouchForwardingLayout +import com.android.wallpaper.picker.di.modules.MainDispatcher import com.android.wallpaper.picker.preview.ui.util.FullResImageViewUtil.getCropRect import com.android.wallpaper.picker.preview.ui.util.SurfaceViewUtil import com.android.wallpaper.picker.preview.ui.util.SurfaceViewUtil.attachView diff --git a/src/com/android/wallpaper/picker/preview/ui/binder/SmallPreviewBinder.kt b/src/com/android/wallpaper/picker/preview/ui/binder/SmallPreviewBinder.kt index 828f83ec..d3a63ade 100644 --- a/src/com/android/wallpaper/picker/preview/ui/binder/SmallPreviewBinder.kt +++ b/src/com/android/wallpaper/picker/preview/ui/binder/SmallPreviewBinder.kt @@ -20,10 +20,10 @@ import android.view.SurfaceView import android.view.View import androidx.lifecycle.LifecycleOwner import com.android.wallpaper.R -import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.model.wallpaper.FoldableDisplay import com.android.wallpaper.model.wallpaper.ScreenOrientation import com.android.wallpaper.module.CustomizationSections.Screen +import com.android.wallpaper.picker.di.modules.MainDispatcher import com.android.wallpaper.picker.preview.ui.viewmodel.WallpaperPreviewViewModel import kotlinx.coroutines.CoroutineScope diff --git a/src/com/android/wallpaper/picker/preview/ui/binder/SmallWallpaperPreviewBinder.kt b/src/com/android/wallpaper/picker/preview/ui/binder/SmallWallpaperPreviewBinder.kt index 2b941f99..d6a70fa4 100644 --- a/src/com/android/wallpaper/picker/preview/ui/binder/SmallWallpaperPreviewBinder.kt +++ b/src/com/android/wallpaper/picker/preview/ui/binder/SmallWallpaperPreviewBinder.kt @@ -22,10 +22,10 @@ import android.view.SurfaceView import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.lifecycleScope import com.android.wallpaper.R -import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.model.wallpaper.ScreenOrientation import com.android.wallpaper.model.wallpaper.WallpaperModel import com.android.wallpaper.module.CustomizationSections.Screen +import com.android.wallpaper.picker.di.modules.MainDispatcher import com.android.wallpaper.picker.preview.ui.util.SurfaceViewUtil import com.android.wallpaper.picker.preview.ui.util.SurfaceViewUtil.attachView import com.android.wallpaper.picker.preview.ui.viewmodel.WallpaperPreviewViewModel diff --git a/src/com/android/wallpaper/picker/preview/ui/fragment/FullPreviewFragment.kt b/src/com/android/wallpaper/picker/preview/ui/fragment/FullPreviewFragment.kt index 9c77da1e..c0228254 100644 --- a/src/com/android/wallpaper/picker/preview/ui/fragment/FullPreviewFragment.kt +++ b/src/com/android/wallpaper/picker/preview/ui/fragment/FullPreviewFragment.kt @@ -27,8 +27,8 @@ import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController import androidx.transition.TransitionInflater import com.android.wallpaper.R -import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.picker.AppbarFragment +import com.android.wallpaper.picker.di.modules.MainDispatcher import com.android.wallpaper.picker.preview.ui.binder.CropWallpaperButtonBinder import com.android.wallpaper.picker.preview.ui.binder.FullWallpaperPreviewBinder import com.android.wallpaper.picker.preview.ui.binder.WorkspacePreviewBinder diff --git a/src/com/android/wallpaper/picker/preview/ui/fragment/SmallPreviewFragment.kt b/src/com/android/wallpaper/picker/preview/ui/fragment/SmallPreviewFragment.kt index 1bdef69c..31a46359 100644 --- a/src/com/android/wallpaper/picker/preview/ui/fragment/SmallPreviewFragment.kt +++ b/src/com/android/wallpaper/picker/preview/ui/fragment/SmallPreviewFragment.kt @@ -26,9 +26,9 @@ import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.FragmentNavigatorExtras import androidx.navigation.fragment.findNavController import com.android.wallpaper.R -import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.module.logging.UserEventLogger import com.android.wallpaper.picker.AppbarFragment +import com.android.wallpaper.picker.di.modules.MainDispatcher import com.android.wallpaper.picker.preview.ui.binder.DualPreviewSelectorBinder import com.android.wallpaper.picker.preview.ui.binder.PreviewActionsBinder import com.android.wallpaper.picker.preview.ui.binder.PreviewSelectorBinder diff --git a/src/com/android/wallpaper/picker/preview/ui/viewmodel/PreviewActionsViewModel.kt b/src/com/android/wallpaper/picker/preview/ui/viewmodel/PreviewActionsViewModel.kt index 0da81215..baff8139 100644 --- a/src/com/android/wallpaper/picker/preview/ui/viewmodel/PreviewActionsViewModel.kt +++ b/src/com/android/wallpaper/picker/preview/ui/viewmodel/PreviewActionsViewModel.kt @@ -16,8 +16,8 @@ package com.android.wallpaper.picker.preview.ui.viewmodel -import com.android.wallpaper.dispatchers.MainDispatcher import com.android.wallpaper.model.wallpaper.WallpaperModel +import com.android.wallpaper.picker.di.modules.MainDispatcher import com.android.wallpaper.picker.preview.domain.interactor.PreviewActionsInteractor import com.android.wallpaper.picker.preview.ui.viewmodel.Action.CUSTOMIZE import com.android.wallpaper.picker.preview.ui.viewmodel.Action.DELETE @@ -60,8 +60,10 @@ constructor( /** Action's isVisible state */ val isInformationVisible: Flow<Boolean> = _informationFloatingSheetViewModel.map { it != null } - private val _isDownloadVisible: MutableStateFlow<Boolean> = MutableStateFlow(false) - val isDownloadVisible: Flow<Boolean> = _isDownloadVisible.asStateFlow() + val isDownloadVisible: Flow<Boolean> = + interactor.wallpaperModel.map { + (it as? WallpaperModel.StaticWallpaperModel)?.downloadableWallpaperData != null + } private val _isDeleteVisible: MutableStateFlow<Boolean> = MutableStateFlow(false) val isDeleteVisible: Flow<Boolean> = _isDeleteVisible.asStateFlow() diff --git a/src/com/android/wallpaper/picker/preview/ui/viewmodel/StaticWallpaperPreviewViewModel.kt b/src/com/android/wallpaper/picker/preview/ui/viewmodel/StaticWallpaperPreviewViewModel.kt index e2467e47..bf561882 100644 --- a/src/com/android/wallpaper/picker/preview/ui/viewmodel/StaticWallpaperPreviewViewModel.kt +++ b/src/com/android/wallpaper/picker/preview/ui/viewmodel/StaticWallpaperPreviewViewModel.kt @@ -23,10 +23,10 @@ import android.graphics.ColorSpace import android.graphics.Point import android.graphics.Rect import com.android.wallpaper.asset.Asset -import com.android.wallpaper.dispatchers.BackgroundDispatcher import com.android.wallpaper.model.wallpaper.ScreenOrientation import com.android.wallpaper.model.wallpaper.WallpaperModel.StaticWallpaperModel import com.android.wallpaper.module.WallpaperPreferences +import com.android.wallpaper.picker.di.modules.BackgroundDispatcher import com.android.wallpaper.picker.preview.domain.interactor.WallpaperPreviewInteractor import com.android.wallpaper.picker.preview.ui.WallpaperPreviewActivity import dagger.hilt.android.qualifiers.ApplicationContext diff --git a/src/com/android/wallpaper/util/converter/DefaultWallpaperModelFactory.kt b/src/com/android/wallpaper/util/converter/DefaultWallpaperModelFactory.kt index 09599fb8..b5e2ae45 100644 --- a/src/com/android/wallpaper/util/converter/DefaultWallpaperModelFactory.kt +++ b/src/com/android/wallpaper/util/converter/DefaultWallpaperModelFactory.kt @@ -48,7 +48,8 @@ class DefaultWallpaperModelFactory @Inject constructor() : WallpaperModelFactory staticWallpaperData = StaticWallpaperData(asset = wallpaperInfo.getAsset(context)), imageWallpaperData = (wallpaperInfo as? ImageWallpaperInfo)?.getImageWallpaperData(), - networkWallpaperData = null + networkWallpaperData = null, + downloadableWallpaperData = null, ) } } diff --git a/src/com/android/wallpaper/util/wallpaperconnection/WallpaperConnectionUtils.kt b/src/com/android/wallpaper/util/wallpaperconnection/WallpaperConnectionUtils.kt index e2cc150e..69a8d063 100644 --- a/src/com/android/wallpaper/util/wallpaperconnection/WallpaperConnectionUtils.kt +++ b/src/com/android/wallpaper/util/wallpaperconnection/WallpaperConnectionUtils.kt @@ -14,7 +14,7 @@ import android.view.Display import android.view.SurfaceControl import android.view.SurfaceView import android.view.View -import com.android.wallpaper.dispatchers.MainDispatcher +import com.android.wallpaper.picker.di.modules.MainDispatcher import com.android.wallpaper.util.ScreenSizeCalculator import com.android.wallpaper.util.WallpaperConnection import kotlinx.coroutines.CancellableContinuation |