| /* |
| * Copyright (C) 2017 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.module |
| |
| import android.app.Activity |
| import android.content.Context |
| import android.content.Intent |
| import android.net.Uri |
| import androidx.fragment.app.Fragment |
| import com.android.wallpaper.compat.WallpaperManagerCompat |
| import com.android.wallpaper.config.BaseFlags |
| import com.android.wallpaper.effects.EffectsController |
| import com.android.wallpaper.effects.EffectsController.EffectsServiceListener |
| import com.android.wallpaper.model.CategoryProvider |
| import com.android.wallpaper.model.WallpaperInfo |
| import com.android.wallpaper.monitor.PerformanceMonitor |
| import com.android.wallpaper.network.Requester |
| import com.android.wallpaper.picker.PreviewFragment |
| import com.android.wallpaper.picker.undo.domain.interactor.SnapshotRestorer |
| import com.android.wallpaper.picker.undo.domain.interactor.UndoInteractor |
| import com.android.wallpaper.util.DisplayUtils |
| |
| /** |
| * Interface for a provider of "injected dependencies." (NOTE: The term "injector" is somewhat of a |
| * misnomer; this is more aptly a service registry as part of a service locator design pattern.) |
| */ |
| interface Injector { |
| fun getAlarmManagerWrapper(context: Context): AlarmManagerWrapper |
| |
| fun getBitmapCropper(): BitmapCropper |
| |
| fun getCategoryProvider(context: Context): CategoryProvider |
| |
| fun getCurrentWallpaperInfoFactory(context: Context): CurrentWallpaperInfoFactory |
| |
| fun getCustomizationSections(activity: Activity): CustomizationSections |
| |
| fun getDeepLinkRedirectIntent(context: Context, uri: Uri): Intent |
| |
| fun getDisplayUtils(context: Context): DisplayUtils |
| |
| fun getDownloadableIntentAction(): String? |
| |
| fun getDrawableLayerResolver(): DrawableLayerResolver |
| |
| fun getEffectsController(context: Context, listener: EffectsServiceListener): EffectsController? |
| |
| fun getExploreIntentChecker(context: Context): ExploreIntentChecker |
| |
| fun getIndividualPickerFragment(collectionId: String): Fragment |
| |
| fun getLiveWallpaperInfoFactory(context: Context): LiveWallpaperInfoFactory |
| |
| fun getNetworkStatusNotifier(context: Context): NetworkStatusNotifier |
| |
| fun getPackageStatusNotifier(context: Context): PackageStatusNotifier |
| |
| fun getPartnerProvider(context: Context): PartnerProvider |
| |
| fun getPerformanceMonitor(): PerformanceMonitor? |
| |
| // TODO b/242908637 Remove this method when migrating to the new wallpaper preview screen |
| fun getPreviewFragment( |
| context: Context, |
| wallpaperInfo: WallpaperInfo, |
| @PreviewFragment.PreviewMode mode: Int, |
| viewAsHome: Boolean, |
| viewFullScreen: Boolean, |
| testingModeEnabled: Boolean |
| ): Fragment |
| |
| fun getRequester(context: Context): Requester |
| |
| fun getSystemFeatureChecker(): SystemFeatureChecker |
| |
| fun getUserEventLogger(context: Context): UserEventLogger |
| |
| fun getWallpaperManagerCompat(context: Context): WallpaperManagerCompat |
| |
| fun getWallpaperPersister(context: Context): WallpaperPersister |
| |
| fun getPreferences(context: Context): WallpaperPreferences |
| |
| fun getWallpaperPreviewFragmentManager(): WallpaperPreviewFragmentManager |
| |
| fun getWallpaperRefresher(context: Context): WallpaperRefresher |
| |
| fun getWallpaperRotationRefresher(): WallpaperRotationRefresher |
| |
| fun getWallpaperStatusChecker(): WallpaperStatusChecker |
| |
| fun getFragmentFactory(): FragmentFactory? { |
| return null |
| } |
| |
| fun getFlags(): BaseFlags |
| |
| fun getUndoInteractor(context: Context): UndoInteractor |
| |
| fun getSnapshotRestorers(context: Context): Map<Int, SnapshotRestorer> { |
| // Empty because we don't support undoing in WallpaperPicker2. |
| return HashMap() |
| } |
| } |