Skip to content

Commit 6a52f23

Browse files
authored
Expose restricted ImageHolder.from(Image) (#3027)
1 parent c321db3 commit 6a52f23

File tree

3 files changed

+29
-7
lines changed

3 files changed

+29
-7
lines changed

sdk-base/api/Release/metalava.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,20 @@ package com.mapbox.maps {
5353
@kotlinx.parcelize.Parcelize public final class ImageHolder implements android.os.Parcelable {
5454
method public static com.mapbox.maps.ImageHolder from(@DrawableRes int drawableId);
5555
method public static com.mapbox.maps.ImageHolder from(android.graphics.Bitmap bitmap);
56+
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static com.mapbox.maps.ImageHolder from(com.mapbox.maps.Image image);
5657
method public android.graphics.Bitmap? getBitmap();
5758
method public Integer? getDrawableId();
59+
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public com.mapbox.maps.Image? getImage();
5860
property public final android.graphics.Bitmap? bitmap;
5961
property public final Integer? drawableId;
62+
property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final com.mapbox.maps.Image? image;
6063
field public static final com.mapbox.maps.ImageHolder.Companion Companion;
6164
}
6265

6366
public static final class ImageHolder.Companion {
6467
method public com.mapbox.maps.ImageHolder from(@DrawableRes int drawableId);
6568
method public com.mapbox.maps.ImageHolder from(android.graphics.Bitmap bitmap);
69+
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public com.mapbox.maps.ImageHolder from(com.mapbox.maps.Image image);
6670
}
6771

6872
@com.mapbox.maps.MapboxExperimental public final class LongClickInteraction<T extends com.mapbox.maps.interactions.FeaturesetFeature<?>> extends com.mapbox.maps.MapInteraction {

sdk-base/api/sdk-base.api

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,15 @@ public final class com/mapbox/maps/ExtensionUtils {
5858
public final class com/mapbox/maps/ImageHolder : android/os/Parcelable {
5959
public static final field CREATOR Landroid/os/Parcelable$Creator;
6060
public static final field Companion Lcom/mapbox/maps/ImageHolder$Companion;
61-
public synthetic fun <init> (Ljava/lang/Integer;Landroid/graphics/Bitmap;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
61+
public synthetic fun <init> (Ljava/lang/Integer;Landroid/graphics/Bitmap;Lcom/mapbox/maps/Image;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
6262
public fun describeContents ()I
6363
public fun equals (Ljava/lang/Object;)Z
6464
public static final fun from (I)Lcom/mapbox/maps/ImageHolder;
6565
public static final fun from (Landroid/graphics/Bitmap;)Lcom/mapbox/maps/ImageHolder;
66+
public static final fun from (Lcom/mapbox/maps/Image;)Lcom/mapbox/maps/ImageHolder;
6667
public final fun getBitmap ()Landroid/graphics/Bitmap;
6768
public final fun getDrawableId ()Ljava/lang/Integer;
69+
public final fun getImage ()Lcom/mapbox/maps/Image;
6870
public fun hashCode ()I
6971
public fun toString ()Ljava/lang/String;
7072
public fun writeToParcel (Landroid/os/Parcel;I)V
@@ -73,6 +75,7 @@ public final class com/mapbox/maps/ImageHolder : android/os/Parcelable {
7375
public final class com/mapbox/maps/ImageHolder$Companion {
7476
public final fun from (I)Lcom/mapbox/maps/ImageHolder;
7577
public final fun from (Landroid/graphics/Bitmap;)Lcom/mapbox/maps/ImageHolder;
78+
public final fun from (Lcom/mapbox/maps/Image;)Lcom/mapbox/maps/ImageHolder;
7679
}
7780

7881
public final class com/mapbox/maps/ImageHolder$Creator : android/os/Parcelable$Creator {

sdk-base/src/main/java/com/mapbox/maps/ImageHolder.kt

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.mapbox.maps
33
import android.graphics.Bitmap
44
import android.os.Parcelable
55
import androidx.annotation.DrawableRes
6+
import androidx.annotation.RestrictTo
67
import kotlinx.parcelize.Parcelize
78
import java.util.Objects
89

@@ -18,7 +19,12 @@ class ImageHolder private constructor(
1819
/**
1920
* Image represented as the bitmap.
2021
*/
21-
val bitmap: Bitmap?
22+
val bitmap: Bitmap?,
23+
/**
24+
* Image represented as the internal Mapbox image.
25+
*/
26+
@get:RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
27+
val image: Image?,
2228
) : Parcelable {
2329

2430
/**
@@ -28,21 +34,21 @@ class ImageHolder private constructor(
2834
if (this === other) return true
2935
if (javaClass != other?.javaClass) return false
3036
other as ImageHolder
31-
return drawableId == other.drawableId && bitmap == other.bitmap
37+
return drawableId == other.drawableId && bitmap == other.bitmap && image == other.image
3238
}
3339

3440
/**
3541
* Overloaded hashCode function based on all class properties.
3642
*/
3743
override fun hashCode(): Int {
38-
return Objects.hash(drawableId, bitmap)
44+
return Objects.hash(drawableId, bitmap, image)
3945
}
4046

4147
/**
4248
* Overloaded toString function.
4349
*/
4450
override fun toString(): String {
45-
return "ImageHolder(bitmap=$bitmap, drawableId=$drawableId)"
51+
return "ImageHolder(bitmap=$bitmap, drawableId=$drawableId, image=$image)"
4652
}
4753

4854
/**
@@ -54,15 +60,24 @@ class ImageHolder private constructor(
5460
*/
5561
@JvmStatic
5662
fun from(@DrawableRes drawableId: Int): ImageHolder {
57-
return ImageHolder(drawableId, null)
63+
return ImageHolder(drawableId, null, null)
5864
}
5965

6066
/**
6167
* Create an instance of [ImageHolder] from given [Bitmap].
6268
*/
6369
@JvmStatic
6470
fun from(bitmap: Bitmap): ImageHolder {
65-
return ImageHolder(null, bitmap)
71+
return ImageHolder(null, bitmap, null)
72+
}
73+
74+
/**
75+
* Create an instance of [ImageHolder] from given [Image].
76+
*/
77+
@JvmStatic
78+
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX)
79+
fun from(image: Image): ImageHolder {
80+
return ImageHolder(null, null, image)
6681
}
6782
}
6883
}

0 commit comments

Comments
 (0)