Add Image.Factory and Image.Builder for constructing Image inst… (#1673)

* Add `Image.Factory` and `Image.Builder` for constructing `Image` instances with specific properties. close #1672

* Remove redundant `create`s

* Add docs for `Image.Builder`

* Remove Image.Factory, use Image.Builder in all places.

* Fix cache & parameters

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
This commit is contained in:
Him188
2021-11-20 23:36:14 +00:00
committed by GitHub
parent 3bd56bd480
commit 7c550bff7d
8 changed files with 322 additions and 42 deletions

View File

@@ -86,7 +86,7 @@ public abstract interface class net/mamoe/mirai/IMirai : net/mamoe/mirai/LowLeve
public fun calculateGroupUinByGroupCode (J)J
public abstract fun constructMessageSource (JLnet/mamoe/mirai/message/data/MessageSourceKind;JJ[II[ILnet/mamoe/mirai/message/data/MessageChain;)Lnet/mamoe/mirai/message/data/OfflineMessageSource;
public abstract fun createFileMessage (Ljava/lang/String;ILjava/lang/String;J)Lnet/mamoe/mirai/message/data/FileMessage;
public abstract fun createImage (Ljava/lang/String;)Lnet/mamoe/mirai/message/data/Image;
public fun createImage (Ljava/lang/String;)Lnet/mamoe/mirai/message/data/Image;
public abstract fun createUnsupportedMessage ([B)Lnet/mamoe/mirai/message/data/UnsupportedMessage;
public fun downloadForwardMessage (Lnet/mamoe/mirai/Bot;Ljava/lang/String;)Ljava/util/List;
public abstract fun downloadForwardMessage (Lnet/mamoe/mirai/Bot;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
@@ -4453,6 +4453,7 @@ public abstract interface class net/mamoe/mirai/message/data/Image : net/mamoe/m
public static fun isUploaded (Lnet/mamoe/mirai/Bot;[BJLkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static fun isUploaded (Lnet/mamoe/mirai/message/data/Image;Lnet/mamoe/mirai/Bot;)Z
public static fun isUploaded (Lnet/mamoe/mirai/message/data/Image;Lnet/mamoe/mirai/Bot;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static fun newBuilder (Ljava/lang/String;)Lnet/mamoe/mirai/message/data/Image$Builder;
public static fun queryUrl (Lnet/mamoe/mirai/message/data/Image;)Ljava/lang/String;
public static fun queryUrl (Lnet/mamoe/mirai/message/data/Image;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}
@@ -4466,6 +4467,29 @@ public final class net/mamoe/mirai/message/data/Image$AsStringSerializer : kotli
public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lnet/mamoe/mirai/message/data/Image;)V
}
public final class net/mamoe/mirai/message/data/Image$Builder {
public static final field Companion Lnet/mamoe/mirai/message/data/Image$Builder$Companion;
public synthetic fun <init> (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun build ()Lnet/mamoe/mirai/message/data/Image;
public final fun getHeight ()I
public final fun getImageId ()Ljava/lang/String;
public final fun getSize ()J
public final fun getType ()Lnet/mamoe/mirai/message/data/ImageType;
public final fun getWidth ()I
public final fun isEmoji ()Z
public static final fun newBuilder (Ljava/lang/String;)Lnet/mamoe/mirai/message/data/Image$Builder;
public final fun setEmoji (Z)V
public final fun setHeight (I)V
public final fun setImageId (Ljava/lang/String;)V
public final fun setSize (J)V
public final fun setType (Lnet/mamoe/mirai/message/data/ImageType;)V
public final fun setWidth (I)V
}
public final class net/mamoe/mirai/message/data/Image$Builder$Companion {
public final fun newBuilder (Ljava/lang/String;)Lnet/mamoe/mirai/message/data/Image$Builder;
}
public final class net/mamoe/mirai/message/data/Image$Key : net/mamoe/mirai/message/data/AbstractMessageKey {
public static final field SERIAL_NAME Ljava/lang/String;
public final fun calculateImageMd5ByImageId (Ljava/lang/String;)[B
@@ -4477,6 +4501,7 @@ public final class net/mamoe/mirai/message/data/Image$Key : net/mamoe/mirai/mess
public final fun isUploaded (Lnet/mamoe/mirai/Bot;[BJLkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun isUploaded (Lnet/mamoe/mirai/message/data/Image;Lnet/mamoe/mirai/Bot;)Z
public final fun isUploaded (Lnet/mamoe/mirai/message/data/Image;Lnet/mamoe/mirai/Bot;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun newBuilder (Ljava/lang/String;)Lnet/mamoe/mirai/message/data/Image$Builder;
public final fun queryUrl (Lnet/mamoe/mirai/message/data/Image;)Ljava/lang/String;
public final fun queryUrl (Lnet/mamoe/mirai/message/data/Image;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}
@@ -4856,6 +4881,8 @@ public final class net/mamoe/mirai/message/data/MessageUtils {
public static final synthetic fun At (Lnet/mamoe/mirai/contact/UserOrBot;)Lnet/mamoe/mirai/message/data/At;
public static final synthetic fun FileMessage (Ljava/lang/String;ILjava/lang/String;J)Lnet/mamoe/mirai/message/data/FileMessage;
public static final synthetic fun Image (Ljava/lang/String;)Lnet/mamoe/mirai/message/data/Image;
public static final synthetic fun Image (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lnet/mamoe/mirai/message/data/Image;
public static synthetic fun Image$default (Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lnet/mamoe/mirai/message/data/Image;
public static final synthetic fun OfflineAudio (Ljava/lang/String;[BJLnet/mamoe/mirai/message/data/AudioCodec;[B)Lnet/mamoe/mirai/message/data/OfflineAudio;
public static final synthetic fun OfflineAudio (Lnet/mamoe/mirai/message/data/OnlineAudio;)Lnet/mamoe/mirai/message/data/OfflineAudio;
public static final synthetic fun UnsupportedMessage ([B)Lnet/mamoe/mirai/message/data/UnsupportedMessage;