Skip to content

Commit

Permalink
Added new FrescoVitoSetup interface to set up Vito
Browse files Browse the repository at this point in the history
Reviewed By: defHLT

Differential Revision: D58590726

fbshipit-source-id: ddedada319dae4296c9fedef3ac793c7a01b9749
  • Loading branch information
oprisnik authored and facebook-github-bot committed Jun 19, 2024
1 parent 1d34bca commit 60b8ca9
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,23 @@ import com.facebook.fresco.vito.core.FrescoController2
import com.facebook.fresco.vito.core.FrescoVitoConfig
import com.facebook.fresco.vito.core.FrescoVitoPrefetcher
import com.facebook.fresco.vito.core.VitoImagePipeline
import com.facebook.fresco.vito.provider.setup.FrescoVitoSetup
import java.lang.RuntimeException

object FrescoVitoComponents {
object FrescoVitoComponents : FrescoVitoSetup {

private var _implementation: Implementation? = null

@JvmStatic
@Synchronized
fun getController(): FrescoController2 = getImplementation().getController()
override fun getController(): FrescoController2 = getImplementation().getController()

@JvmStatic
@Synchronized
fun getPrefetcher(): FrescoVitoPrefetcher = getImplementation().getPrefetcher()
override fun getPrefetcher(): FrescoVitoPrefetcher = getImplementation().getPrefetcher()

@JvmStatic
@Synchronized
fun getImagePipeline(): VitoImagePipeline = getImplementation().getImagePipeline()
override fun getImagePipeline(): VitoImagePipeline = getImplementation().getImagePipeline()

@JvmStatic @Synchronized fun getConfig(): FrescoVitoConfig = getImplementation().getConfig()
@Synchronized override fun getConfig(): FrescoVitoConfig = getImplementation().getConfig()

/**
* Reset the implementation. This will remove any implementation currently set up and has to be
Expand Down Expand Up @@ -65,13 +63,5 @@ object FrescoVitoComponents {
_implementation = implementation
}

interface Implementation {
fun getController(): FrescoController2

fun getPrefetcher(): FrescoVitoPrefetcher

fun getImagePipeline(): VitoImagePipeline

fun getConfig(): FrescoVitoConfig
}
interface Implementation : FrescoVitoSetup
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

package com.facebook.fresco.vito.provider.setup

import com.facebook.fresco.vito.core.FrescoController2
import com.facebook.fresco.vito.core.FrescoVitoConfig
import com.facebook.fresco.vito.core.FrescoVitoPrefetcher
import com.facebook.fresco.vito.core.VitoImagePipeline

interface FrescoVitoSetup {

fun getController(): FrescoController2

fun getPrefetcher(): FrescoVitoPrefetcher

fun getImagePipeline(): VitoImagePipeline

fun getConfig(): FrescoVitoConfig
}

0 comments on commit 60b8ca9

Please sign in to comment.