Skip to content

Commit

Permalink
Migrate from @experimental to @RequiresOptIn. (#306)
Browse files Browse the repository at this point in the history
* Migrate from @experimental to @RequiresOptIn.

* Rename ExperimentalCoil -> ExperimentalCoilApi.
  • Loading branch information
colinrtwhite authored Mar 4, 2020
1 parent 6d2e0e5 commit 856b3f8
Show file tree
Hide file tree
Showing 21 changed files with 47 additions and 44 deletions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ allprojects {

tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-progressive", "-Xuse-experimental=kotlin.Experimental")
freeCompilerArgs = listOf("-progressive", "-Xopt-in=kotlin.RequiresOptIn")
jvmTarget = "1.8"
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import androidx.core.net.toUri
import androidx.test.core.app.ApplicationProvider
import coil.ImageLoader
import coil.RealImageLoader
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.api.load
import coil.util.CoilUtils
import coil.util.requestManager
Expand All @@ -22,7 +22,7 @@ import kotlin.test.assertNotNull
import kotlin.test.assertNull
import kotlin.test.assertTrue

@UseExperimental(ExperimentalCoil::class)
@OptIn(ExperimentalCoilApi::class)
class RequestDisposableTest {

private lateinit var context: Context
Expand Down
4 changes: 2 additions & 2 deletions coil-base/src/main/java/coil/DefaultRequestOptions.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
@file:UseExperimental(ExperimentalCoil::class)
@file:OptIn(ExperimentalCoilApi::class)

package coil

import android.graphics.drawable.Drawable
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.request.RequestBuilder
import coil.size.Precision
import coil.transition.Transition
Expand Down
6 changes: 3 additions & 3 deletions coil-base/src/main/java/coil/ImageLoaderBuilder.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@file:Suppress("MemberVisibilityCanBePrivate", "unused")
@file:UseExperimental(ExperimentalCoil::class)
@file:OptIn(ExperimentalCoilApi::class)

package coil

Expand All @@ -9,7 +9,7 @@ import android.graphics.drawable.Drawable
import androidx.annotation.DrawableRes
import androidx.annotation.FloatRange
import coil.annotation.BuilderMarker
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.bitmappool.BitmapPool
import coil.drawable.CrossfadeDrawable
import coil.memory.BitmapReferenceCounter
Expand Down Expand Up @@ -186,7 +186,7 @@ class ImageLoaderBuilder(context: Context) {
/**
* Set the default [Transition] for each request.
*/
@ExperimentalCoil
@ExperimentalCoilApi
fun transition(transition: Transition?) = apply {
this.defaults = this.defaults.copy(transition = transition)
}
Expand Down
4 changes: 2 additions & 2 deletions coil-base/src/main/java/coil/RealImageLoader.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@file:Suppress("unused")
@file:UseExperimental(ExperimentalCoil::class)
@file:OptIn(ExperimentalCoilApi::class)

package coil

Expand All @@ -12,7 +12,7 @@ import android.util.Log
import androidx.annotation.MainThread
import androidx.annotation.VisibleForTesting
import androidx.lifecycle.LifecycleObserver
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.bitmappool.BitmapPool
import coil.decode.BitmapFactoryDecoder
import coil.decode.DataSource
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,8 @@ package coil.annotation
*/
@MustBeDocumented
@Retention(AnnotationRetention.BINARY)
@Experimental(Experimental.Level.WARNING)
annotation class ExperimentalCoil
@RequiresOptIn(
message = "This API is experimental and may contain breaking changes in the future as its design is still incubating.",
level = RequiresOptIn.Level.WARNING
)
annotation class ExperimentalCoilApi
4 changes: 2 additions & 2 deletions coil-base/src/main/java/coil/memory/TargetDelegate.kt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@file:UseExperimental(ExperimentalCoil::class)
@file:OptIn(ExperimentalCoilApi::class)

package coil.memory

Expand All @@ -8,7 +8,7 @@ import android.graphics.drawable.Drawable
import android.util.Log
import androidx.annotation.MainThread
import coil.ImageLoader
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.base.R
import coil.request.Request
import coil.target.PoolableViewTarget
Expand Down
4 changes: 2 additions & 2 deletions coil-base/src/main/java/coil/request/Request.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@file:Suppress("FunctionName", "NOTHING_TO_INLINE", "unused")
@file:UseExperimental(ExperimentalCoil::class)
@file:OptIn(ExperimentalCoilApi::class)

package coil.request

Expand All @@ -12,7 +12,7 @@ import androidx.annotation.MainThread
import androidx.lifecycle.Lifecycle
import coil.DefaultRequestOptions
import coil.ImageLoader
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.decode.DataSource
import coil.decode.Decoder
import coil.size.Precision
Expand Down
6 changes: 3 additions & 3 deletions coil-base/src/main/java/coil/request/RequestBuilder.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@file:Suppress("unused")
@file:UseExperimental(ExperimentalCoil::class)
@file:OptIn(ExperimentalCoilApi::class)

package coil.request

Expand All @@ -20,7 +20,7 @@ import coil.DefaultRequestOptions
import coil.ImageLoader
import coil.ImageLoaderBuilder
import coil.annotation.BuilderMarker
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.decode.DataSource
import coil.decode.Decoder
import coil.drawable.CrossfadeDrawable
Expand Down Expand Up @@ -496,7 +496,7 @@ class LoadRequestBuilder : RequestBuilder<LoadRequestBuilder> {
/**
* See: [ImageLoaderBuilder.transition]
*/
@ExperimentalCoil
@ExperimentalCoilApi
fun transition(transition: Transition?) = apply {
this.transition = transition
}
Expand Down
8 changes: 4 additions & 4 deletions coil-base/src/main/java/coil/request/RequestDisposable.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package coil.request

import android.view.View
import coil.ImageLoader
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.target.ViewTarget
import coil.util.requestManager
import kotlinx.coroutines.Job
Expand All @@ -26,7 +26,7 @@ interface RequestDisposable {
/**
* Suspends until any in progress work completes.
*/
@ExperimentalCoil
@ExperimentalCoilApi
suspend fun await()
}

Expand All @@ -44,7 +44,7 @@ internal class BaseTargetRequestDisposable(private val job: Job) : RequestDispos
}
}

@ExperimentalCoil
@ExperimentalCoilApi
override suspend fun await() {
if (!isDisposed) {
job.join()
Expand Down Expand Up @@ -73,7 +73,7 @@ internal class ViewTargetRequestDisposable(
}
}

@ExperimentalCoil
@ExperimentalCoilApi
override suspend fun await() {
if (!isDisposed) {
target.view.requestManager.currentRequestJob?.join()
Expand Down
4 changes: 2 additions & 2 deletions coil-base/src/main/java/coil/target/ImageViewTarget.kt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@file:UseExperimental(ExperimentalCoil::class)
@file:OptIn(ExperimentalCoilApi::class)

package coil.target

Expand All @@ -7,7 +7,7 @@ import android.graphics.drawable.Drawable
import android.widget.ImageView
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.transition.TransitionTarget

/** A [Target] that handles setting images on an [ImageView]. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package coil.transition
import android.graphics.drawable.Drawable
import android.widget.ImageView
import androidx.vectordrawable.graphics.drawable.Animatable2Compat
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.drawable.CrossfadeDrawable
import coil.size.Scale
import coil.transition.TransitionResult.Error
Expand All @@ -15,7 +15,7 @@ import kotlinx.coroutines.suspendCancellableCoroutine
import kotlin.coroutines.resume

/** A [Transition] that crossfades from the current drawable to a new one. */
@ExperimentalCoil
@ExperimentalCoilApi
class CrossfadeTransition @JvmOverloads constructor(
val durationMillis: Int = CrossfadeDrawable.DEFAULT_DURATION
) : Transition {
Expand Down
4 changes: 2 additions & 2 deletions coil-base/src/main/java/coil/transition/Transition.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package coil.transition

import android.graphics.Bitmap
import androidx.annotation.MainThread
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.target.Target

/**
Expand All @@ -11,7 +11,7 @@ import coil.target.Target
* NOTE: A [Target] must implement [TransitionTarget] to support applying [Transition]s.
* If the [Target] does not implement [TransitionTarget], any [Transition]s will be ignored.
*/
@ExperimentalCoil
@ExperimentalCoilApi
interface Transition {

/**
Expand Down
4 changes: 2 additions & 2 deletions coil-base/src/main/java/coil/transition/TransitionResult.kt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package coil.transition

import android.graphics.drawable.Drawable
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.target.Target

/**
* Represents the result of an image request.
*/
@ExperimentalCoil
@ExperimentalCoilApi
sealed class TransitionResult {

/**
Expand Down
4 changes: 2 additions & 2 deletions coil-base/src/main/java/coil/transition/TransitionTarget.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ package coil.transition

import android.graphics.drawable.Drawable
import android.view.View
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.target.Target
import coil.target.ViewTarget

/**
* A [Target] that supports applying [Transition]s.
*/
@ExperimentalCoil
@ExperimentalCoilApi
interface TransitionTarget<T : View> : ViewTarget<T> {

/**
Expand Down
4 changes: 2 additions & 2 deletions coil-base/src/main/java/coil/util/CoilUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package coil.util

import android.content.Context
import android.view.View
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import okhttp3.Cache

/** Public utility methods for Coil. */
Expand All @@ -17,7 +17,7 @@ object CoilUtils {
}

/** Cancel any in progress requests attached to [view] and clear any associated resources. */
@ExperimentalCoil
@ExperimentalCoilApi
@JvmStatic
fun clear(view: View) {
view.requestManager.clearCurrentRequest()
Expand Down
4 changes: 2 additions & 2 deletions coil-base/src/test/java/coil/RealImageLoaderBasicTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import android.graphics.BitmapFactory
import android.graphics.ImageDecoder
import android.graphics.drawable.BitmapDrawable
import androidx.test.core.app.ApplicationProvider
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.api.newLoadBuilder
import coil.bitmappool.BitmapPool
import coil.decode.Options
Expand Down Expand Up @@ -50,7 +50,7 @@ import kotlin.test.assertTrue
* Basic tests for [RealImageLoader] that don't touch Android's graphics pipeline ([BitmapFactory], [ImageDecoder], etc.).
*/
@RunWith(RobolectricTestRunner::class)
@UseExperimental(ExperimentalCoil::class)
@OptIn(ExperimentalCoilApi::class)
class RealImageLoaderBasicTest {

private lateinit var context: Context
Expand Down
2 changes: 1 addition & 1 deletion coil-base/src/test/java/coil/fetch/HttpFetcherTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import kotlin.test.assertFalse
import kotlin.test.assertTrue

@RunWith(RobolectricTestRunner::class)
@UseExperimental(ExperimentalCoroutinesApi::class)
@OptIn(ExperimentalCoroutinesApi::class)
class HttpFetcherTest {

private lateinit var context: Context
Expand Down
4 changes: 2 additions & 2 deletions coil-base/src/test/java/coil/memory/TargetDelegateTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import android.content.Context
import android.widget.ImageView
import androidx.test.core.app.ApplicationProvider
import coil.ImageLoader
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.bitmappool.FakeBitmapPool
import coil.target.FakeTarget
import coil.target.ImageViewTarget
Expand All @@ -31,7 +31,7 @@ import kotlin.test.assertFalse
import kotlin.test.assertTrue

@RunWith(RobolectricTestRunner::class)
@UseExperimental(ExperimentalCoil::class, ExperimentalCoroutinesApi::class)
@OptIn(ExperimentalCoilApi::class, ExperimentalCoroutinesApi::class)
class TargetDelegateTest {

private lateinit var context: Context
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.Drawable
import android.widget.ImageView
import androidx.test.core.app.ApplicationProvider
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.drawable.CrossfadeDrawable
import coil.util.createTestMainDispatcher
import coil.util.error
Expand All @@ -24,7 +24,7 @@ import kotlin.test.assertFalse
import kotlin.test.assertTrue

@RunWith(RobolectricTestRunner::class)
@UseExperimental(ExperimentalCoil::class, ExperimentalCoroutinesApi::class)
@OptIn(ExperimentalCoilApi::class, ExperimentalCoroutinesApi::class)
class CrossfadeTransitionTest {

private lateinit var context: Context
Expand Down
4 changes: 2 additions & 2 deletions coil-default/src/main/java/coil/api/ImageViews.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@file:JvmName("ImageViews")
@file:Suppress("unused")
@file:UseExperimental(ExperimentalCoil::class)
@file:OptIn(ExperimentalCoilApi::class)

package coil.api

Expand All @@ -11,7 +11,7 @@ import android.widget.ImageView
import androidx.annotation.DrawableRes
import coil.Coil
import coil.ImageLoader
import coil.annotation.ExperimentalCoil
import coil.annotation.ExperimentalCoilApi
import coil.request.LoadRequestBuilder
import coil.request.RequestDisposable
import coil.util.CoilUtils
Expand Down

0 comments on commit 856b3f8

Please sign in to comment.