Skip to content

Commit

Permalink
refactor: modularise interfaces
Browse files Browse the repository at this point in the history
  • Loading branch information
fractalwrench committed Jul 30, 2024
1 parent 8ad3ef7 commit 0883867
Show file tree
Hide file tree
Showing 16 changed files with 190 additions and 188 deletions.
133 changes: 133 additions & 0 deletions embrace-android-api/api/embrace-android-api.api
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,139 @@ public final class io/embrace/android/embracesdk/internal/InternalTracingApi$Def
public static synthetic fun stopSpan$default (Lio/embrace/android/embracesdk/internal/InternalTracingApi;Ljava/lang/String;Lio/embrace/android/embracesdk/spans/ErrorCode;Ljava/lang/Long;ILjava/lang/Object;)Z
}

public abstract interface class io/embrace/android/embracesdk/internal/api/BreadcrumbApi {
public abstract fun addBreadcrumb (Ljava/lang/String;)V
}

public abstract interface class io/embrace/android/embracesdk/internal/api/InternalWebViewApi {
public abstract fun logWebView (Ljava/lang/String;)V
public abstract fun trackWebViewPerformance (Ljava/lang/String;Landroid/webkit/ConsoleMessage;)V
public abstract fun trackWebViewPerformance (Ljava/lang/String;Ljava/lang/String;)V
}

public abstract interface class io/embrace/android/embracesdk/internal/api/LogsApi {
public abstract fun logCustomStacktrace ([Ljava/lang/StackTraceElement;)V
public abstract fun logCustomStacktrace ([Ljava/lang/StackTraceElement;Lio/embrace/android/embracesdk/Severity;)V
public abstract fun logCustomStacktrace ([Ljava/lang/StackTraceElement;Lio/embrace/android/embracesdk/Severity;Ljava/util/Map;)V
public abstract fun logCustomStacktrace ([Ljava/lang/StackTraceElement;Lio/embrace/android/embracesdk/Severity;Ljava/util/Map;Ljava/lang/String;)V
public abstract fun logError (Ljava/lang/String;)V
public abstract fun logException (Ljava/lang/Throwable;)V
public abstract fun logException (Ljava/lang/Throwable;Lio/embrace/android/embracesdk/Severity;)V
public abstract fun logException (Ljava/lang/Throwable;Lio/embrace/android/embracesdk/Severity;Ljava/util/Map;)V
public abstract fun logException (Ljava/lang/Throwable;Lio/embrace/android/embracesdk/Severity;Ljava/util/Map;Ljava/lang/String;)V
public abstract fun logInfo (Ljava/lang/String;)V
public abstract fun logMessage (Ljava/lang/String;Lio/embrace/android/embracesdk/Severity;)V
public abstract fun logMessage (Ljava/lang/String;Lio/embrace/android/embracesdk/Severity;Ljava/util/Map;)V
public abstract fun logPushNotification (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
public abstract fun logWarning (Ljava/lang/String;)V
}

public abstract interface class io/embrace/android/embracesdk/internal/api/MomentsApi {
public abstract fun endAppStartup ()V
public abstract fun endAppStartup (Ljava/util/Map;)V
public abstract fun endMoment (Ljava/lang/String;)V
public abstract fun endMoment (Ljava/lang/String;Ljava/lang/String;)V
public abstract fun endMoment (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
public abstract fun endMoment (Ljava/lang/String;Ljava/util/Map;)V
public abstract fun startMoment (Ljava/lang/String;)V
public abstract fun startMoment (Ljava/lang/String;Ljava/lang/String;)V
public abstract fun startMoment (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
}

public abstract interface class io/embrace/android/embracesdk/internal/api/OTelApi {
public abstract fun addLogRecordExporter (Lio/opentelemetry/sdk/logs/export/LogRecordExporter;)V
public abstract fun addSpanExporter (Lio/opentelemetry/sdk/trace/export/SpanExporter;)V
public abstract fun getOpenTelemetry ()Lio/opentelemetry/api/OpenTelemetry;
}

public abstract interface class io/embrace/android/embracesdk/internal/api/SessionApi {
public abstract fun addSessionProperty (Ljava/lang/String;Ljava/lang/String;Z)Z
public abstract fun endSession ()V
public abstract fun endSession (Z)V
public abstract fun getSessionProperties ()Ljava/util/Map;
public abstract fun removeSessionProperty (Ljava/lang/String;)Z
}

public abstract interface class io/embrace/android/embracesdk/internal/api/UserApi {
public abstract fun addUserPersona (Ljava/lang/String;)V
public abstract fun clearAllUserPersonas ()V
public abstract fun clearUserAsPayer ()V
public abstract fun clearUserEmail ()V
public abstract fun clearUserIdentifier ()V
public abstract fun clearUserPersona (Ljava/lang/String;)V
public abstract fun clearUsername ()V
public abstract fun setUserAsPayer ()V
public abstract fun setUserEmail (Ljava/lang/String;)V
public abstract fun setUserIdentifier (Ljava/lang/String;)V
public abstract fun setUsername (Ljava/lang/String;)V
}

public final class io/embrace/android/embracesdk/internal/network/http/NetworkCaptureData {
public fun <init> (Ljava/util/Map;Ljava/lang/String;[BLjava/util/Map;[BLjava/lang/String;)V
public synthetic fun <init> (Ljava/util/Map;Ljava/lang/String;[BLjava/util/Map;[BLjava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ljava/util/Map;
public final fun component2 ()Ljava/lang/String;
public final fun component3 ()[B
public final fun component4 ()Ljava/util/Map;
public final fun component5 ()[B
public final fun component6 ()Ljava/lang/String;
public final fun copy (Ljava/util/Map;Ljava/lang/String;[BLjava/util/Map;[BLjava/lang/String;)Lio/embrace/android/embracesdk/internal/network/http/NetworkCaptureData;
public static synthetic fun copy$default (Lio/embrace/android/embracesdk/internal/network/http/NetworkCaptureData;Ljava/util/Map;Ljava/lang/String;[BLjava/util/Map;[BLjava/lang/String;ILjava/lang/Object;)Lio/embrace/android/embracesdk/internal/network/http/NetworkCaptureData;
public fun equals (Ljava/lang/Object;)Z
public final fun getCapturedRequestBody ()[B
public final fun getCapturedResponseBody ()[B
public final fun getDataCaptureErrorMessage ()Ljava/lang/String;
public final fun getRequestBodySize ()I
public final fun getRequestHeaders ()Ljava/util/Map;
public final fun getRequestQueryParams ()Ljava/lang/String;
public final fun getResponseBodySize ()I
public final fun getResponseHeaders ()Ljava/util/Map;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class io/embrace/android/embracesdk/network/EmbraceNetworkRequest {
public static fun fromCompletedRequest (Ljava/lang/String;Lio/embrace/android/embracesdk/network/http/HttpMethod;JJJJI)Lio/embrace/android/embracesdk/network/EmbraceNetworkRequest;
public static fun fromCompletedRequest (Ljava/lang/String;Lio/embrace/android/embracesdk/network/http/HttpMethod;JJJJILjava/lang/String;)Lio/embrace/android/embracesdk/network/EmbraceNetworkRequest;
public static fun fromCompletedRequest (Ljava/lang/String;Lio/embrace/android/embracesdk/network/http/HttpMethod;JJJJILjava/lang/String;Lio/embrace/android/embracesdk/internal/network/http/NetworkCaptureData;)Lio/embrace/android/embracesdk/network/EmbraceNetworkRequest;
public static fun fromCompletedRequest (Ljava/lang/String;Lio/embrace/android/embracesdk/network/http/HttpMethod;JJJJILjava/lang/String;Ljava/lang/String;Lio/embrace/android/embracesdk/internal/network/http/NetworkCaptureData;)Lio/embrace/android/embracesdk/network/EmbraceNetworkRequest;
public static fun fromIncompleteRequest (Ljava/lang/String;Lio/embrace/android/embracesdk/network/http/HttpMethod;JJLjava/lang/String;Ljava/lang/String;)Lio/embrace/android/embracesdk/network/EmbraceNetworkRequest;
public static fun fromIncompleteRequest (Ljava/lang/String;Lio/embrace/android/embracesdk/network/http/HttpMethod;JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/embrace/android/embracesdk/network/EmbraceNetworkRequest;
public static fun fromIncompleteRequest (Ljava/lang/String;Lio/embrace/android/embracesdk/network/http/HttpMethod;JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/embrace/android/embracesdk/internal/network/http/NetworkCaptureData;)Lio/embrace/android/embracesdk/network/EmbraceNetworkRequest;
public static fun fromIncompleteRequest (Ljava/lang/String;Lio/embrace/android/embracesdk/network/http/HttpMethod;JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/embrace/android/embracesdk/internal/network/http/NetworkCaptureData;)Lio/embrace/android/embracesdk/network/EmbraceNetworkRequest;
public fun getBytesIn ()Ljava/lang/Long;
public fun getBytesOut ()Ljava/lang/Long;
public fun getBytesReceived ()Ljava/lang/Long;
public fun getBytesSent ()Ljava/lang/Long;
public fun getEndTime ()Ljava/lang/Long;
public fun getError ()Ljava/lang/Throwable;
public fun getErrorMessage ()Ljava/lang/String;
public fun getErrorType ()Ljava/lang/String;
public fun getHttpMethod ()Ljava/lang/String;
public fun getNetworkCaptureData ()Lio/embrace/android/embracesdk/internal/network/http/NetworkCaptureData;
public fun getResponseCode ()Ljava/lang/Integer;
public fun getStartTime ()Ljava/lang/Long;
public fun getTraceId ()Ljava/lang/String;
public fun getUrl ()Ljava/lang/String;
public fun getW3cTraceparent ()Ljava/lang/String;
}

public final class io/embrace/android/embracesdk/network/http/HttpMethod : java/lang/Enum {
public static final field CONNECT Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static final field DELETE Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static final field GET Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static final field HEAD Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static final field OPTIONS Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static final field PATCH Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static final field POST Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static final field PUT Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static final field TRACE Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static fun fromInt (Ljava/lang/Integer;)Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static fun fromString (Ljava/lang/String;)Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static fun valueOf (Ljava/lang/String;)Lio/embrace/android/embracesdk/network/http/HttpMethod;
public static fun values ()[Lio/embrace/android/embracesdk/network/http/HttpMethod;
}

public abstract interface class io/embrace/android/embracesdk/spans/EmbraceSpan {
public abstract fun addAttribute (Ljava/lang/String;Ljava/lang/String;)Z
public abstract fun addEvent (Ljava/lang/String;)Z
Expand Down
2 changes: 2 additions & 0 deletions embrace-android-api/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,6 @@ android {
dependencies {
compileOnly(platform(libs.opentelemetry.bom))
compileOnly(libs.opentelemetry.api)
compileOnly(libs.opentelemetry.sdk)
implementation(libs.lifecycle.process)
}
55 changes: 55 additions & 0 deletions embrace-android-api/lint-baseline.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 8.5.1" type="baseline" client="gradle" dependencies="false" name="AGP (8.5.1)" variant="all" version="8.5.1">

<issue
id="DefaultLocale"
message="Implicitly using the default locale is a common source of bugs: Use `toUpperCase(Locale)` instead. For strings meant to be internal use `Locale.ROOT`, otherwise `Locale.getDefault()`."
errorLine1=" return httpMethod != null ? httpMethod.name().toUpperCase() : null;"
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/io/embrace/android/embracesdk/network/EmbraceNetworkRequest.java"
line="431"
column="55"/>
</issue>

<issue
id="EmbracePublicApiPackageRule"
message="Don&apos;t put classes in the io.embrace.android.embracesdk package unless they&apos;re part of the public API. Please move the new class to an appropriate package or (if you&apos;re adding to the public API) suppress this error via the lint baseline file."
Expand All @@ -12,4 +23,48 @@
column="13"/>
</issue>

<issue
id="UnknownNullness"
message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
errorLine1=" public static HttpMethod fromString(String method) {"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/io/embrace/android/embracesdk/network/http/HttpMethod.java"
line="24"
column="19"/>
</issue>

<issue
id="UnknownNullness"
message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
errorLine1=" public static HttpMethod fromString(String method) {"
errorLine2=" ~~~~~~">
<location
file="src/main/java/io/embrace/android/embracesdk/network/http/HttpMethod.java"
line="24"
column="41"/>
</issue>

<issue
id="UnknownNullness"
message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
errorLine1=" public static HttpMethod fromInt(Integer method) {"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/io/embrace/android/embracesdk/network/http/HttpMethod.java"
line="57"
column="19"/>
</issue>

<issue
id="UnknownNullness"
message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
errorLine1=" public static HttpMethod fromInt(Integer method) {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/io/embrace/android/embracesdk/network/http/HttpMethod.java"
line="57"
column="38"/>
</issue>

</issues>
Loading

0 comments on commit 0883867

Please sign in to comment.