1 /* 2 * Copyright (C) 2023 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.systemui.wallpapers.data.repository 18 19 import android.app.WallpaperInfo 20 import android.graphics.PointF 21 import android.graphics.RectF 22 import android.view.View 23 import kotlinx.coroutines.flow.Flow 24 import kotlinx.coroutines.flow.MutableStateFlow 25 import kotlinx.coroutines.flow.StateFlow 26 import kotlinx.coroutines.flow.asStateFlow 27 28 /** Fake implementation of the wallpaper repository. */ 29 class FakeWallpaperRepository : WallpaperRepository { 30 private val _wallpaperInfo: MutableStateFlow<WallpaperInfo?> = MutableStateFlow(null) 31 override val wallpaperInfo: StateFlow<WallpaperInfo?> = _wallpaperInfo.asStateFlow() 32 private val _lockscreenWallpaperInfo: MutableStateFlow<WallpaperInfo?> = MutableStateFlow(null) 33 override val lockscreenWallpaperInfo: StateFlow<WallpaperInfo?> = 34 _lockscreenWallpaperInfo.asStateFlow() 35 private val _wallpaperSupportsAmbientMode = MutableStateFlow(false) 36 override val wallpaperSupportsAmbientMode: Flow<Boolean> = 37 _wallpaperSupportsAmbientMode.asStateFlow() 38 override var rootView: View? = null 39 private val _shouldSendFocalArea = MutableStateFlow(false) 40 override val shouldSendFocalArea: StateFlow<Boolean> = _shouldSendFocalArea.asStateFlow() 41 sendLockScreenLayoutChangeCommandnull42 override fun sendLockScreenLayoutChangeCommand(wallpaperFocalAreaBounds: RectF) {} 43 sendTapCommandnull44 override fun sendTapCommand(tapPosition: PointF) {} 45 setWallpaperInfonull46 fun setWallpaperInfo(wallpaperInfo: WallpaperInfo?) { 47 _wallpaperInfo.value = wallpaperInfo 48 } 49 } 50