From 82bf835d3105a58614b3d235f1f03afeb1a3893a Mon Sep 17 00:00:00 2001 From: Travis Wyatt Date: Sun, 12 Apr 2020 15:19:15 -0700 Subject: [PATCH] Add binary compatibility validator --- build.gradle | 2 + core/api/core.api | 271 ++++++++++++++++++++++++++++ keep-alive/api/keep-alive.api | 79 ++++++++ processor/api/processor.api | 35 ++++ settings.gradle | 2 + throw/api/throw.api | 26 +++ timber-logger/api/timber-logger.api | 17 ++ 7 files changed, 432 insertions(+) create mode 100644 core/api/core.api create mode 100644 keep-alive/api/keep-alive.api create mode 100644 processor/api/processor.api create mode 100644 throw/api/throw.api create mode 100644 timber-logger/api/timber-logger.api diff --git a/build.gradle b/build.gradle index 8072087..a840cc1 100644 --- a/build.gradle +++ b/build.gradle @@ -16,6 +16,8 @@ plugins { // groovy.lang.GroovyRuntimeException: Cannot set the value of read-only property 'executionData'... // https://github.com/arturdm/jacoco-android-gradle-plugin/issues/72 id 'com.hiya.jacoco-android' version '0.2' apply false + + id 'binary-compatibility-validator' version '0.2.3' } subprojects { diff --git a/core/api/core.api b/core/api/core.api new file mode 100644 index 0000000..0c9c1cb --- /dev/null +++ b/core/api/core.api @@ -0,0 +1,271 @@ +public final class com/juul/able/Able { + public static final field INSTANCE Lcom/juul/able/Able; + public final fun assert (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public static synthetic fun assert$default (Lcom/juul/able/Able;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V + public final fun debug (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public static synthetic fun debug$default (Lcom/juul/able/Able;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V + public final fun error (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public static synthetic fun error$default (Lcom/juul/able/Able;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V + public final fun getLogger ()Lcom/juul/able/logger/Logger; + public final fun info (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public static synthetic fun info$default (Lcom/juul/able/Able;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V + public final fun log (ILjava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public static synthetic fun log$default (Lcom/juul/able/Able;ILjava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V + public final fun setLogger (Lcom/juul/able/logger/Logger;)V + public final fun verbose (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public static synthetic fun verbose$default (Lcom/juul/able/Able;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V + public final fun warn (Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V + public static synthetic fun warn$default (Lcom/juul/able/Able;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V +} + +public final class com/juul/able/BuildConfig { + public static final field APPLICATION_ID Ljava/lang/String; + public static final field BUILD_TYPE Ljava/lang/String; + public static final field DEBUG Z + public static final field FLAVOR Ljava/lang/String; + public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; + public static final field VERSION_CODE I + public static final field VERSION_NAME Ljava/lang/String; + public fun ()V +} + +public final class com/juul/able/android/BluetoothDeviceKt { + public static final fun connectGatt (Landroid/bluetooth/BluetoothDevice;Landroid/content/Context;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract class com/juul/able/device/ConnectGattResult { +} + +public abstract class com/juul/able/device/ConnectGattResult$Failure : com/juul/able/device/ConnectGattResult { + public abstract fun getCause ()Ljava/lang/Exception; +} + +public final class com/juul/able/device/ConnectGattResult$Failure$Connection : com/juul/able/device/ConnectGattResult$Failure { + public fun (Ljava/lang/Exception;)V + public final fun component1 ()Ljava/lang/Exception; + public final fun copy (Ljava/lang/Exception;)Lcom/juul/able/device/ConnectGattResult$Failure$Connection; + public static synthetic fun copy$default (Lcom/juul/able/device/ConnectGattResult$Failure$Connection;Ljava/lang/Exception;ILjava/lang/Object;)Lcom/juul/able/device/ConnectGattResult$Failure$Connection; + public fun equals (Ljava/lang/Object;)Z + public fun getCause ()Ljava/lang/Exception; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/device/ConnectGattResult$Failure$Rejected : com/juul/able/device/ConnectGattResult$Failure { + public fun (Ljava/lang/Exception;)V + public final fun component1 ()Ljava/lang/Exception; + public final fun copy (Ljava/lang/Exception;)Lcom/juul/able/device/ConnectGattResult$Failure$Rejected; + public static synthetic fun copy$default (Lcom/juul/able/device/ConnectGattResult$Failure$Rejected;Ljava/lang/Exception;ILjava/lang/Object;)Lcom/juul/able/device/ConnectGattResult$Failure$Rejected; + public fun equals (Ljava/lang/Object;)Z + public fun getCause ()Ljava/lang/Exception; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/device/ConnectGattResult$Success : com/juul/able/device/ConnectGattResult { + public fun (Lcom/juul/able/gatt/Gatt;)V + public final fun component1 ()Lcom/juul/able/gatt/Gatt; + public final fun copy (Lcom/juul/able/gatt/Gatt;)Lcom/juul/able/device/ConnectGattResult$Success; + public static synthetic fun copy$default (Lcom/juul/able/device/ConnectGattResult$Success;Lcom/juul/able/gatt/Gatt;ILjava/lang/Object;)Lcom/juul/able/device/ConnectGattResult$Success; + public fun equals (Ljava/lang/Object;)Z + public final fun getGatt ()Lcom/juul/able/gatt/Gatt; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract interface class com/juul/able/device/Device { + public abstract fun connectGatt (Landroid/content/Context;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class com/juul/able/gatt/ConnectionLost : java/io/IOException { + public fun ()V +} + +public final class com/juul/able/gatt/CoroutinesGatt : com/juul/able/gatt/Gatt { + public fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun discoverServices (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getOnCharacteristicChanged ()Lkotlinx/coroutines/flow/Flow; + public fun getOnConnectionStateChange ()Lkotlinx/coroutines/flow/Flow; + public fun getService (Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattService; + public fun getServices ()Ljava/util/List; + public fun readCharacteristic (Landroid/bluetooth/BluetoothGattCharacteristic;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun readRemoteRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun requestMtu (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun setCharacteristicNotification (Landroid/bluetooth/BluetoothGattCharacteristic;Z)Z + public fun toString ()Ljava/lang/String; + public fun writeCharacteristic (Landroid/bluetooth/BluetoothGattCharacteristic;[BILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun writeDescriptor (Landroid/bluetooth/BluetoothGattDescriptor;[BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class com/juul/able/gatt/EventsKt { + public static final fun isSuccess (Lcom/juul/able/gatt/HasGattStatus;)Z +} + +public abstract interface class com/juul/able/gatt/Gatt : com/juul/able/gatt/GattConnection, com/juul/able/gatt/GattIo { +} + +public abstract interface class com/juul/able/gatt/GattConnection { + public abstract fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getOnConnectionStateChange ()Lkotlinx/coroutines/flow/Flow; +} + +public final class com/juul/able/gatt/GattErrorStatus : java/io/IOException { + public final fun getEvent ()Lcom/juul/able/gatt/OnConnectionStateChange; +} + +public abstract interface class com/juul/able/gatt/GattIo { + public abstract fun discoverServices (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getOnCharacteristicChanged ()Lkotlinx/coroutines/flow/Flow; + public abstract fun getService (Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattService; + public abstract fun getServices ()Ljava/util/List; + public abstract fun readCharacteristic (Landroid/bluetooth/BluetoothGattCharacteristic;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun readRemoteRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun requestMtu (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun setCharacteristicNotification (Landroid/bluetooth/BluetoothGattCharacteristic;Z)Z + public abstract fun writeCharacteristic (Landroid/bluetooth/BluetoothGattCharacteristic;[BILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun writeDescriptor (Landroid/bluetooth/BluetoothGattDescriptor;[BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class com/juul/able/gatt/GattIoKt { + public static final fun writeCharacteristic (Lcom/juul/able/gatt/GattIo;Landroid/bluetooth/BluetoothGattCharacteristic;[BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class com/juul/able/gatt/HasGattStatus { + public abstract fun getStatus ()I +} + +public final class com/juul/able/gatt/OnCharacteristicChanged { + public fun (Landroid/bluetooth/BluetoothGattCharacteristic;[B)V + public final fun component1 ()Landroid/bluetooth/BluetoothGattCharacteristic; + public final fun component2 ()[B + public final fun copy (Landroid/bluetooth/BluetoothGattCharacteristic;[B)Lcom/juul/able/gatt/OnCharacteristicChanged; + public static synthetic fun copy$default (Lcom/juul/able/gatt/OnCharacteristicChanged;Landroid/bluetooth/BluetoothGattCharacteristic;[BILjava/lang/Object;)Lcom/juul/able/gatt/OnCharacteristicChanged; + public fun equals (Ljava/lang/Object;)Z + public final fun getCharacteristic ()Landroid/bluetooth/BluetoothGattCharacteristic; + public final fun getValue ()[B + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/gatt/OnCharacteristicRead : com/juul/able/gatt/HasGattStatus { + public fun (Landroid/bluetooth/BluetoothGattCharacteristic;[BI)V + public final fun component1 ()Landroid/bluetooth/BluetoothGattCharacteristic; + public final fun component2 ()[B + public final fun component3 ()I + public final fun copy (Landroid/bluetooth/BluetoothGattCharacteristic;[BI)Lcom/juul/able/gatt/OnCharacteristicRead; + public static synthetic fun copy$default (Lcom/juul/able/gatt/OnCharacteristicRead;Landroid/bluetooth/BluetoothGattCharacteristic;[BIILjava/lang/Object;)Lcom/juul/able/gatt/OnCharacteristicRead; + public fun equals (Ljava/lang/Object;)Z + public final fun getCharacteristic ()Landroid/bluetooth/BluetoothGattCharacteristic; + public fun getStatus ()I + public final fun getValue ()[B + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/gatt/OnCharacteristicWrite : com/juul/able/gatt/HasGattStatus { + public fun (Landroid/bluetooth/BluetoothGattCharacteristic;I)V + public final fun component1 ()Landroid/bluetooth/BluetoothGattCharacteristic; + public final fun component2 ()I + public final fun copy (Landroid/bluetooth/BluetoothGattCharacteristic;I)Lcom/juul/able/gatt/OnCharacteristicWrite; + public static synthetic fun copy$default (Lcom/juul/able/gatt/OnCharacteristicWrite;Landroid/bluetooth/BluetoothGattCharacteristic;IILjava/lang/Object;)Lcom/juul/able/gatt/OnCharacteristicWrite; + public fun equals (Ljava/lang/Object;)Z + public final fun getCharacteristic ()Landroid/bluetooth/BluetoothGattCharacteristic; + public fun getStatus ()I + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/gatt/OnConnectionStateChange : com/juul/able/gatt/HasGattStatus { + public fun (II)V + public final fun component1 ()I + public final fun component2 ()I + public final fun copy (II)Lcom/juul/able/gatt/OnConnectionStateChange; + public static synthetic fun copy$default (Lcom/juul/able/gatt/OnConnectionStateChange;IIILjava/lang/Object;)Lcom/juul/able/gatt/OnConnectionStateChange; + public fun equals (Ljava/lang/Object;)Z + public final fun getNewState ()I + public fun getStatus ()I + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/gatt/OnDescriptorRead : com/juul/able/gatt/HasGattStatus { + public fun (Landroid/bluetooth/BluetoothGattDescriptor;[BI)V + public final fun component1 ()Landroid/bluetooth/BluetoothGattDescriptor; + public final fun component2 ()[B + public final fun component3 ()I + public final fun copy (Landroid/bluetooth/BluetoothGattDescriptor;[BI)Lcom/juul/able/gatt/OnDescriptorRead; + public static synthetic fun copy$default (Lcom/juul/able/gatt/OnDescriptorRead;Landroid/bluetooth/BluetoothGattDescriptor;[BIILjava/lang/Object;)Lcom/juul/able/gatt/OnDescriptorRead; + public fun equals (Ljava/lang/Object;)Z + public final fun getDescriptor ()Landroid/bluetooth/BluetoothGattDescriptor; + public fun getStatus ()I + public final fun getValue ()[B + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/gatt/OnDescriptorWrite : com/juul/able/gatt/HasGattStatus { + public fun (Landroid/bluetooth/BluetoothGattDescriptor;I)V + public final fun component1 ()Landroid/bluetooth/BluetoothGattDescriptor; + public final fun component2 ()I + public final fun copy (Landroid/bluetooth/BluetoothGattDescriptor;I)Lcom/juul/able/gatt/OnDescriptorWrite; + public static synthetic fun copy$default (Lcom/juul/able/gatt/OnDescriptorWrite;Landroid/bluetooth/BluetoothGattDescriptor;IILjava/lang/Object;)Lcom/juul/able/gatt/OnDescriptorWrite; + public fun equals (Ljava/lang/Object;)Z + public final fun getDescriptor ()Landroid/bluetooth/BluetoothGattDescriptor; + public fun getStatus ()I + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/gatt/OnMtuChanged : com/juul/able/gatt/HasGattStatus { + public fun (II)V + public final fun component1 ()I + public final fun component2 ()I + public final fun copy (II)Lcom/juul/able/gatt/OnMtuChanged; + public static synthetic fun copy$default (Lcom/juul/able/gatt/OnMtuChanged;IIILjava/lang/Object;)Lcom/juul/able/gatt/OnMtuChanged; + public fun equals (Ljava/lang/Object;)Z + public final fun getMtu ()I + public fun getStatus ()I + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/gatt/OnReadRemoteRssi : com/juul/able/gatt/HasGattStatus { + public fun (II)V + public final fun component1 ()I + public final fun component2 ()I + public final fun copy (II)Lcom/juul/able/gatt/OnReadRemoteRssi; + public static synthetic fun copy$default (Lcom/juul/able/gatt/OnReadRemoteRssi;IIILjava/lang/Object;)Lcom/juul/able/gatt/OnReadRemoteRssi; + public fun equals (Ljava/lang/Object;)Z + public final fun getRssi ()I + public fun getStatus ()I + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/gatt/OutOfOrderGattCallback : java/io/IOException { +} + +public final class com/juul/able/logger/AndroidLogger : com/juul/able/logger/Logger { + public fun ()V + public fun isLoggable (I)Z + public fun log (ILjava/lang/Throwable;Ljava/lang/String;)V +} + +public abstract interface class com/juul/able/logger/Logger { + public abstract fun isLoggable (I)Z + public abstract fun log (ILjava/lang/Throwable;Ljava/lang/String;)V +} + +public final class com/juul/able/logger/Logger$DefaultImpls { + public static synthetic fun log$default (Lcom/juul/able/logger/Logger;ILjava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V +} + +public final class com/juul/able/logger/LoggerKt { + public static final field ASSERT I + public static final field DEBUG I + public static final field ERROR I + public static final field INFO I + public static final field VERBOSE I + public static final field WARN I +} + diff --git a/keep-alive/api/keep-alive.api b/keep-alive/api/keep-alive.api new file mode 100644 index 0000000..23d3c11 --- /dev/null +++ b/keep-alive/api/keep-alive.api @@ -0,0 +1,79 @@ +public final class com/juul/able/keepalive/BuildConfig { + public static final field APPLICATION_ID Ljava/lang/String; + public static final field BUILD_TYPE Ljava/lang/String; + public static final field DEBUG Z + public static final field FLAVOR Ljava/lang/String; + public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; + public static final field VERSION_CODE I + public static final field VERSION_NAME Ljava/lang/String; + public fun ()V +} + +public final class com/juul/able/keepalive/ConnectionRejected : java/io/IOException { +} + +public final class com/juul/able/keepalive/KeepAliveGatt : com/juul/able/gatt/GattIo { + public final fun connect ()Z + public final fun disconnect (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun discoverServices (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getOnCharacteristicChanged ()Lkotlinx/coroutines/flow/Flow; + public fun getService (Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattService; + public fun getServices ()Ljava/util/List; + public final fun getState ()Lkotlinx/coroutines/flow/Flow; + public fun readCharacteristic (Landroid/bluetooth/BluetoothGattCharacteristic;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun readRemoteRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun requestMtu (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun setCharacteristicNotification (Landroid/bluetooth/BluetoothGattCharacteristic;Z)Z + public fun toString ()Ljava/lang/String; + public fun writeCharacteristic (Landroid/bluetooth/BluetoothGattCharacteristic;[BILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun writeDescriptor (Landroid/bluetooth/BluetoothGattDescriptor;[BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class com/juul/able/keepalive/KeepAliveGattKt { + public static final fun keepAliveGatt (Lkotlinx/coroutines/CoroutineScope;Landroid/content/Context;Landroid/bluetooth/BluetoothDevice;JLkotlin/jvm/functions/Function2;)Lcom/juul/able/keepalive/KeepAliveGatt; + public static synthetic fun keepAliveGatt$default (Lkotlinx/coroutines/CoroutineScope;Landroid/content/Context;Landroid/bluetooth/BluetoothDevice;JLkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lcom/juul/able/keepalive/KeepAliveGatt; +} + +public final class com/juul/able/keepalive/NotReady : java/lang/IllegalStateException { +} + +public abstract class com/juul/able/keepalive/State { + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/keepalive/State$Cancelled : com/juul/able/keepalive/State { + public fun (Ljava/lang/Throwable;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lcom/juul/able/keepalive/State$Cancelled; + public static synthetic fun copy$default (Lcom/juul/able/keepalive/State$Cancelled;Ljava/lang/Throwable;ILjava/lang/Object;)Lcom/juul/able/keepalive/State$Cancelled; + public fun equals (Ljava/lang/Object;)Z + public final fun getCause ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/keepalive/State$Connected : com/juul/able/keepalive/State { + public static final field INSTANCE Lcom/juul/able/keepalive/State$Connected; +} + +public final class com/juul/able/keepalive/State$Connecting : com/juul/able/keepalive/State { + public static final field INSTANCE Lcom/juul/able/keepalive/State$Connecting; +} + +public final class com/juul/able/keepalive/State$Disconnected : com/juul/able/keepalive/State { + public fun ()V + public fun (Ljava/lang/Throwable;)V + public synthetic fun (Ljava/lang/Throwable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/Throwable; + public final fun copy (Ljava/lang/Throwable;)Lcom/juul/able/keepalive/State$Disconnected; + public static synthetic fun copy$default (Lcom/juul/able/keepalive/State$Disconnected;Ljava/lang/Throwable;ILjava/lang/Object;)Lcom/juul/able/keepalive/State$Disconnected; + public fun equals (Ljava/lang/Object;)Z + public final fun getCause ()Ljava/lang/Throwable; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/juul/able/keepalive/State$Disconnecting : com/juul/able/keepalive/State { + public static final field INSTANCE Lcom/juul/able/keepalive/State$Disconnecting; +} + diff --git a/processor/api/processor.api b/processor/api/processor.api new file mode 100644 index 0000000..7a3ec7d --- /dev/null +++ b/processor/api/processor.api @@ -0,0 +1,35 @@ +public final class com/juul/able/processor/BuildConfig { + public static final field APPLICATION_ID Ljava/lang/String; + public static final field BUILD_TYPE Ljava/lang/String; + public static final field DEBUG Z + public static final field FLAVOR Ljava/lang/String; + public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; + public static final field VERSION_CODE I + public static final field VERSION_NAME Ljava/lang/String; + public fun ()V +} + +public final class com/juul/able/processor/GattProcessor : com/juul/able/gatt/GattIo { + public fun (Lcom/juul/able/gatt/GattIo;[Lcom/juul/able/processor/Processor;)V + public fun discoverServices (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getOnCharacteristicChanged ()Lkotlinx/coroutines/flow/Flow; + public fun getService (Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattService; + public fun getServices ()Ljava/util/List; + public fun readCharacteristic (Landroid/bluetooth/BluetoothGattCharacteristic;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun readRemoteRssi (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun requestMtu (ILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun setCharacteristicNotification (Landroid/bluetooth/BluetoothGattCharacteristic;Z)Z + public fun writeCharacteristic (Landroid/bluetooth/BluetoothGattCharacteristic;[BILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun writeDescriptor (Landroid/bluetooth/BluetoothGattDescriptor;[BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class com/juul/able/processor/GattProcessorKt { + public static final fun withProcessors (Lcom/juul/able/gatt/GattIo;[Lcom/juul/able/processor/Processor;)Lcom/juul/able/processor/GattProcessor; +} + +public abstract interface class com/juul/able/processor/Processor { + public abstract fun readCharacteristic (Landroid/bluetooth/BluetoothGattCharacteristic;[B)[B + public abstract fun writeCharacteristic (Landroid/bluetooth/BluetoothGattCharacteristic;[BI)[B + public abstract fun writeDescriptor (Landroid/bluetooth/BluetoothGattDescriptor;[B)[B +} + diff --git a/settings.gradle b/settings.gradle index fda0804..5af875a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,6 +10,8 @@ pluginManagement { // https://medium.com/@StefMa/its-time-to-ditch-the-buildscript-block-a1ab12e0d9ce if (requested.id.id.startsWith("com.android")) { useModule("com.android.tools.build:gradle:${requested.version}") + } else if (requested.id.id == "binary-compatibility-validator") { + useModule("org.jetbrains.kotlinx:binary-compatibility-validator:${requested.version}") } } } diff --git a/throw/api/throw.api b/throw/api/throw.api new file mode 100644 index 0000000..315e728 --- /dev/null +++ b/throw/api/throw.api @@ -0,0 +1,26 @@ +public final class com/juul/able/throwable/BuildConfig { + public static final field APPLICATION_ID Ljava/lang/String; + public static final field BUILD_TYPE Ljava/lang/String; + public static final field DEBUG Z + public static final field FLAVOR Ljava/lang/String; + public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; + public static final field VERSION_CODE I + public static final field VERSION_NAME Ljava/lang/String; + public fun ()V +} + +public final class com/juul/able/throwable/GattOrThrowKt { + public static final fun discoverServicesOrThrow (Lcom/juul/able/gatt/GattIo;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun readCharacteristicOrThrow (Lcom/juul/able/gatt/GattIo;Landroid/bluetooth/BluetoothGattCharacteristic;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun readRemoteRssiOrThrow (Lcom/juul/able/gatt/GattIo;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun requestMtuOrThrow (Lcom/juul/able/gatt/GattIo;ILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun setCharacteristicNotificationOrThrow (Lcom/juul/able/gatt/GattIo;Landroid/bluetooth/BluetoothGattCharacteristic;Z)V + public static final fun writeCharacteristicOrThrow (Lcom/juul/able/gatt/GattIo;Landroid/bluetooth/BluetoothGattCharacteristic;[BILkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun writeCharacteristicOrThrow$default (Lcom/juul/able/gatt/GattIo;Landroid/bluetooth/BluetoothGattCharacteristic;[BILkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun writeDescriptorOrThrow (Lcom/juul/able/gatt/GattIo;Landroid/bluetooth/BluetoothGattDescriptor;[BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class com/juul/able/throwable/android/BluetoothDeviceOrThrowKt { + public static final fun connectGattOrThrow (Landroid/bluetooth/BluetoothDevice;Landroid/content/Context;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + diff --git a/timber-logger/api/timber-logger.api b/timber-logger/api/timber-logger.api new file mode 100644 index 0000000..58a5fce --- /dev/null +++ b/timber-logger/api/timber-logger.api @@ -0,0 +1,17 @@ +public final class com/juul/able/logger/timber/BuildConfig { + public static final field APPLICATION_ID Ljava/lang/String; + public static final field BUILD_TYPE Ljava/lang/String; + public static final field DEBUG Z + public static final field FLAVOR Ljava/lang/String; + public static final field LIBRARY_PACKAGE_NAME Ljava/lang/String; + public static final field VERSION_CODE I + public static final field VERSION_NAME Ljava/lang/String; + public fun ()V +} + +public final class com/juul/able/logger/timber/TimberLogger : com/juul/able/logger/Logger { + public fun ()V + public fun isLoggable (I)Z + public fun log (ILjava/lang/Throwable;Ljava/lang/String;)V +} +