blob: d2245db1bc364987e6570f419bc809fbd69b5eb2 [file] [log] [blame]
/*
* Copyright (C) 2022 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.customization.picker.quickaffordance.ui.fragment
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.get
import com.android.customization.module.ThemePickerInjector
import com.android.customization.picker.quickaffordance.ui.binder.KeyguardQuickAffordancePickerBinder
import com.android.customization.picker.quickaffordance.ui.binder.KeyguardQuickAffordancePreviewBinder
import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel
import com.android.wallpaper.R
import com.android.wallpaper.module.InjectorProvider
import com.android.wallpaper.picker.AppbarFragment
import com.android.wallpaper.picker.undo.ui.binder.RevertToolbarButtonBinder
import kotlinx.coroutines.ExperimentalCoroutinesApi
@OptIn(ExperimentalCoroutinesApi::class)
class KeyguardQuickAffordancePickerFragment : AppbarFragment() {
companion object {
const val DESTINATION_ID = "quick_affordances"
@JvmStatic
fun newInstance(): KeyguardQuickAffordancePickerFragment {
return KeyguardQuickAffordancePickerFragment()
}
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val view =
inflater.inflate(
R.layout.fragment_lock_screen_quick_affordances,
container,
false,
)
setUpToolbar(view)
val injector = InjectorProvider.getInjector() as ThemePickerInjector
val viewModel: KeyguardQuickAffordancePickerViewModel =
ViewModelProvider(
requireActivity(),
injector.getKeyguardQuickAffordancePickerViewModelFactory(requireContext()),
)
.get()
setUpToolbarMenu(R.menu.undoable_customization_menu)
RevertToolbarButtonBinder.bind(
view = view.requireViewById(toolbarId),
viewModel = viewModel.undo,
lifecycleOwner = this,
)
KeyguardQuickAffordancePreviewBinder.bind(
activity = requireActivity(),
previewView = view.requireViewById(R.id.preview),
viewModel = viewModel,
lifecycleOwner = this,
)
KeyguardQuickAffordancePickerBinder.bind(
view = view,
viewModel = viewModel,
lifecycleOwner = this,
)
return view
}
override fun getDefaultTitle(): CharSequence {
return requireContext().getString(R.string.keyguard_quick_affordance_title)
}
}