Create a GalleryOrCameraDialogHelperFactory
This commit is contained in:
parent
8555758911
commit
80b3c45928
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (c) 2022 New Vector Ltd
|
||||
*
|
||||
* 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 im.vector.app.core.dialogs
|
||||
|
||||
import androidx.fragment.app.Fragment
|
||||
import im.vector.app.core.resources.ColorProvider
|
||||
import im.vector.app.core.time.Clock
|
||||
import javax.inject.Inject
|
||||
|
||||
/**
|
||||
* Factory for [GalleryOrCameraDialogHelper].
|
||||
*/
|
||||
class GalleryOrCameraDialogHelperFactory @Inject constructor(
|
||||
private val colorProvider: ColorProvider,
|
||||
private val clock: Clock,
|
||||
) {
|
||||
fun create(fragment: Fragment): GalleryOrCameraDialogHelper {
|
||||
return GalleryOrCameraDialogHelper(fragment, colorProvider, clock)
|
||||
}
|
||||
}
|
@ -72,6 +72,7 @@ import im.vector.app.R
|
||||
import im.vector.app.core.animations.play
|
||||
import im.vector.app.core.dialogs.ConfirmationDialogBuilder
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory
|
||||
import im.vector.app.core.epoxy.LayoutManagerStateRestorer
|
||||
import im.vector.app.core.error.fatalError
|
||||
import im.vector.app.core.extensions.cleanup
|
||||
@ -290,6 +291,7 @@ class TimelineFragment :
|
||||
@Inject lateinit var clock: Clock
|
||||
@Inject lateinit var vectorFeatures: VectorFeatures
|
||||
@Inject lateinit var buildMeta: BuildMeta
|
||||
@Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory
|
||||
|
||||
companion object {
|
||||
|
||||
@ -311,7 +313,7 @@ class TimelineFragment :
|
||||
private const val ircPattern = " (IRC)"
|
||||
}
|
||||
|
||||
private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock)
|
||||
private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper
|
||||
|
||||
private val timelineArgs: TimelineArgs by args()
|
||||
private val glideRequests by lazy {
|
||||
@ -364,6 +366,7 @@ class TimelineFragment :
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
analyticsScreenName = MobileScreen.ScreenName.Room
|
||||
galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this)
|
||||
setFragmentResultListener(MigrateRoomBottomSheet.REQUEST_KEY) { _, bundle ->
|
||||
bundle.getString(MigrateRoomBottomSheet.BUNDLE_KEY_REPLACEMENT_ROOM)?.let { replacementRoomId ->
|
||||
timelineViewModel.handle(RoomDetailAction.RoomUpgradeSuccess(replacementRoomId))
|
||||
|
@ -28,9 +28,8 @@ import dagger.hilt.android.AndroidEntryPoint
|
||||
import im.vector.app.R
|
||||
import im.vector.app.core.di.ActiveSessionHolder
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory
|
||||
import im.vector.app.core.extensions.singletonEntryPoint
|
||||
import im.vector.app.core.resources.ColorProvider
|
||||
import im.vector.app.core.time.Clock
|
||||
import im.vector.app.databinding.FragmentFtueProfilePictureBinding
|
||||
import im.vector.app.features.home.AvatarRenderer
|
||||
import im.vector.app.features.onboarding.OnboardingAction
|
||||
@ -45,16 +44,21 @@ class FtueAuthChooseProfilePictureFragment :
|
||||
GalleryOrCameraDialogHelper.Listener {
|
||||
|
||||
@Inject lateinit var activeSessionHolder: ActiveSessionHolder
|
||||
@Inject lateinit var colorProvider: ColorProvider
|
||||
@Inject lateinit var clock: Clock
|
||||
@Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory
|
||||
|
||||
private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper
|
||||
|
||||
private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock)
|
||||
private val avatarRenderer: AvatarRenderer by lazy { requireContext().singletonEntryPoint().avatarRenderer() }
|
||||
|
||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentFtueProfilePictureBinding {
|
||||
return FragmentFtueProfilePictureBinding.inflate(inflater, container, false)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this)
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
setupViews()
|
||||
|
@ -33,12 +33,11 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import im.vector.app.R
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory
|
||||
import im.vector.app.core.extensions.cleanup
|
||||
import im.vector.app.core.extensions.configureWith
|
||||
import im.vector.app.core.platform.OnBackPressed
|
||||
import im.vector.app.core.platform.VectorBaseFragment
|
||||
import im.vector.app.core.resources.ColorProvider
|
||||
import im.vector.app.core.time.Clock
|
||||
import im.vector.app.databinding.FragmentCreateRoomBinding
|
||||
import im.vector.app.features.analytics.plan.ViewRoom
|
||||
import im.vector.app.features.navigation.Navigator
|
||||
@ -71,8 +70,7 @@ class CreateRoomFragment :
|
||||
|
||||
@Inject lateinit var createRoomController: CreateRoomController
|
||||
@Inject lateinit var createSpaceController: CreateSubSpaceController
|
||||
@Inject lateinit var colorProvider: ColorProvider
|
||||
@Inject lateinit var clock: Clock
|
||||
@Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory
|
||||
|
||||
private lateinit var sharedActionViewModel: RoomDirectorySharedActionViewModel
|
||||
private val viewModel: CreateRoomViewModel by fragmentViewModel()
|
||||
@ -80,12 +78,17 @@ class CreateRoomFragment :
|
||||
|
||||
private lateinit var roomJoinRuleSharedActionViewModel: RoomJoinRuleSharedActionViewModel
|
||||
|
||||
private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock)
|
||||
private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper
|
||||
|
||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentCreateRoomBinding {
|
||||
return FragmentCreateRoomBinding.inflate(inflater, container, false)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this)
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
sharedActionViewModel = activityViewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
||||
|
@ -32,14 +32,13 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import im.vector.app.R
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory
|
||||
import im.vector.app.core.extensions.cleanup
|
||||
import im.vector.app.core.extensions.configureWith
|
||||
import im.vector.app.core.intent.getFilenameFromUri
|
||||
import im.vector.app.core.platform.OnBackPressed
|
||||
import im.vector.app.core.platform.VectorBaseFragment
|
||||
import im.vector.app.core.platform.VectorMenuProvider
|
||||
import im.vector.app.core.resources.ColorProvider
|
||||
import im.vector.app.core.time.Clock
|
||||
import im.vector.app.core.utils.toast
|
||||
import im.vector.app.databinding.FragmentRoomSettingGenericBinding
|
||||
import im.vector.app.features.analytics.plan.MobileScreen
|
||||
@ -66,9 +65,8 @@ class RoomSettingsFragment :
|
||||
VectorMenuProvider {
|
||||
|
||||
@Inject lateinit var controller: RoomSettingsController
|
||||
@Inject lateinit var colorProvider: ColorProvider
|
||||
@Inject lateinit var avatarRenderer: AvatarRenderer
|
||||
@Inject lateinit var clock: Clock
|
||||
@Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory
|
||||
|
||||
private val viewModel: RoomSettingsViewModel by fragmentViewModel()
|
||||
private lateinit var roomProfileSharedActionViewModel: RoomProfileSharedActionViewModel
|
||||
@ -76,7 +74,7 @@ class RoomSettingsFragment :
|
||||
private lateinit var roomJoinRuleSharedActionViewModel: RoomJoinRuleSharedActionViewModel
|
||||
|
||||
private val roomProfileArgs: RoomProfileArgs by args()
|
||||
private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock)
|
||||
private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper
|
||||
|
||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentRoomSettingGenericBinding {
|
||||
return FragmentRoomSettingGenericBinding.inflate(inflater, container, false)
|
||||
@ -87,6 +85,7 @@ class RoomSettingsFragment :
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
analyticsScreenName = MobileScreen.ScreenName.RoomSettings
|
||||
galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this)
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
|
@ -37,6 +37,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import im.vector.app.R
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory
|
||||
import im.vector.app.core.extensions.hideKeyboard
|
||||
import im.vector.app.core.extensions.hidePassword
|
||||
import im.vector.app.core.extensions.toMvRxBundle
|
||||
@ -45,8 +46,6 @@ import im.vector.app.core.platform.SimpleTextWatcher
|
||||
import im.vector.app.core.preference.UserAvatarPreference
|
||||
import im.vector.app.core.preference.VectorPreference
|
||||
import im.vector.app.core.preference.VectorSwitchPreference
|
||||
import im.vector.app.core.resources.ColorProvider
|
||||
import im.vector.app.core.time.Clock
|
||||
import im.vector.app.core.utils.TextUtils
|
||||
import im.vector.app.core.utils.getSizeOfFiles
|
||||
import im.vector.app.core.utils.toast
|
||||
@ -80,13 +79,12 @@ class VectorSettingsGeneralFragment :
|
||||
VectorSettingsBaseFragment(),
|
||||
GalleryOrCameraDialogHelper.Listener {
|
||||
|
||||
@Inject lateinit var colorProvider: ColorProvider
|
||||
@Inject lateinit var clock: Clock
|
||||
@Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory
|
||||
|
||||
override var titleRes = R.string.settings_general_title
|
||||
override val preferenceXmlRes = R.xml.vector_settings_general
|
||||
|
||||
private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock)
|
||||
private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper
|
||||
|
||||
private val mUserSettingsCategory by lazy {
|
||||
findPreference<PreferenceCategory>(VectorPreferences.SETTINGS_USER_SETTINGS_PREFERENCE_KEY)!!
|
||||
@ -126,6 +124,7 @@ class VectorSettingsGeneralFragment :
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
analyticsScreenName = MobileScreen.ScreenName.SettingsGeneral
|
||||
galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this)
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
|
@ -24,12 +24,11 @@ import android.view.ViewGroup
|
||||
import com.airbnb.mvrx.activityViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory
|
||||
import im.vector.app.core.extensions.configureWith
|
||||
import im.vector.app.core.extensions.hideKeyboard
|
||||
import im.vector.app.core.platform.OnBackPressed
|
||||
import im.vector.app.core.platform.VectorBaseFragment
|
||||
import im.vector.app.core.resources.ColorProvider
|
||||
import im.vector.app.core.time.Clock
|
||||
import im.vector.app.databinding.FragmentSpaceCreateGenericEpoxyFormBinding
|
||||
import javax.inject.Inject
|
||||
|
||||
@ -41,15 +40,19 @@ class CreateSpaceDetailsFragment :
|
||||
OnBackPressed {
|
||||
|
||||
@Inject lateinit var epoxyController: SpaceDetailEpoxyController
|
||||
@Inject lateinit var colorProvider: ColorProvider
|
||||
@Inject lateinit var clock: Clock
|
||||
@Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory
|
||||
|
||||
private val sharedViewModel: CreateSpaceViewModel by activityViewModel()
|
||||
|
||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) =
|
||||
FragmentSpaceCreateGenericEpoxyFormBinding.inflate(layoutInflater, container, false)
|
||||
|
||||
private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock)
|
||||
private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this)
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
@ -33,14 +33,13 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import im.vector.app.R
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelperFactory
|
||||
import im.vector.app.core.extensions.cleanup
|
||||
import im.vector.app.core.extensions.configureWith
|
||||
import im.vector.app.core.intent.getFilenameFromUri
|
||||
import im.vector.app.core.platform.OnBackPressed
|
||||
import im.vector.app.core.platform.VectorBaseFragment
|
||||
import im.vector.app.core.platform.VectorMenuProvider
|
||||
import im.vector.app.core.resources.ColorProvider
|
||||
import im.vector.app.core.time.Clock
|
||||
import im.vector.app.core.utils.toast
|
||||
import im.vector.app.databinding.FragmentRoomSettingGenericBinding
|
||||
import im.vector.app.features.home.AvatarRenderer
|
||||
@ -69,8 +68,7 @@ class SpaceSettingsFragment :
|
||||
VectorMenuProvider {
|
||||
|
||||
@Inject lateinit var epoxyController: SpaceSettingsController
|
||||
@Inject lateinit var colorProvider: ColorProvider
|
||||
@Inject lateinit var clock: Clock
|
||||
@Inject lateinit var galleryOrCameraDialogHelperFactory: GalleryOrCameraDialogHelperFactory
|
||||
@Inject lateinit var avatarRenderer: AvatarRenderer
|
||||
|
||||
private val viewModel: RoomSettingsViewModel by fragmentViewModel()
|
||||
@ -78,7 +76,7 @@ class SpaceSettingsFragment :
|
||||
|
||||
private lateinit var roomJoinRuleSharedActionViewModel: RoomJoinRuleSharedActionViewModel
|
||||
|
||||
private val galleryOrCameraDialogHelper = GalleryOrCameraDialogHelper(this, colorProvider, clock)
|
||||
private lateinit var galleryOrCameraDialogHelper: GalleryOrCameraDialogHelper
|
||||
|
||||
override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = FragmentRoomSettingGenericBinding.inflate(inflater)
|
||||
|
||||
@ -86,6 +84,11 @@ class SpaceSettingsFragment :
|
||||
|
||||
override fun getMenuRes() = R.menu.vector_room_settings
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
galleryOrCameraDialogHelper = galleryOrCameraDialogHelperFactory.create(this)
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
setupToolbar(views.roomSettingsToolbar)
|
||||
|
Loading…
Reference in New Issue
Block a user