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 package com.android.wallpaper.picker.preview.ui.binder 17 18 import android.content.Context 19 import android.view.View 20 import androidx.lifecycle.LifecycleOwner 21 import androidx.transition.Transition 22 import com.android.wallpaper.picker.preview.ui.view.DualPreviewViewPager 23 import com.android.wallpaper.picker.preview.ui.view.PreviewTabs 24 import com.android.wallpaper.picker.preview.ui.viewmodel.FullPreviewConfigViewModel 25 import com.android.wallpaper.picker.preview.ui.viewmodel.WallpaperPreviewViewModel 26 27 /** 28 * This binder binds the data and view models for the dual preview collection on the small preview 29 * screen. 30 */ 31 object DualPreviewSelectorBinder { 32 bindnull33 fun bind( 34 tabs: PreviewTabs, 35 dualPreviewView: DualPreviewViewPager, 36 wallpaperPreviewViewModel: WallpaperPreviewViewModel, 37 applicationContext: Context, 38 viewLifecycleOwner: LifecycleOwner, 39 currentNavDestId: Int, 40 transition: Transition?, 41 transitionConfig: FullPreviewConfigViewModel?, 42 isFirstBinding: Boolean, 43 navigate: (View) -> Unit, 44 ) { 45 DualPreviewPagerBinder.bind( 46 dualPreviewView, 47 wallpaperPreviewViewModel, 48 applicationContext, 49 viewLifecycleOwner, 50 currentNavDestId, 51 transition, 52 transitionConfig, 53 isFirstBinding, 54 navigate, 55 ) 56 57 TabsBinder.bind(tabs, wallpaperPreviewViewModel, viewLifecycleOwner) 58 } 59 } 60