Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release v6.9.0 #2096

Closed
wants to merge 20 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
213673c
Merge pull request #2085 from bugsnag/master
YYChen01988 Oct 3, 2024
3ef6dc3
Simplifying discardOldestFileIfNeeded function
hannah-smartbear Sep 17, 2024
f8e1551
Merge pull request #2074 from bugsnag/PLAT-11195/improve-discardoldes…
lemnik Oct 7, 2024
d54e6fb
feat(ndk): identify the error reporting thread in native crashes
lemnik Oct 4, 2024
f5fd26b
Merge pull request #2087 from bugsnag/PLAT-12699/ndk-reporting-thread
lemnik Oct 7, 2024
08fb1b5
test(ManualSessionSmokeScenario): moved the test onto a background th…
lemnik Oct 29, 2024
6488ddc
Merge pull request #2095 from bugsnag/lemnik/ManualSessionSmokeScenar…
lemnik Oct 29, 2024
97eeab6
refactor(delivery): moved much of the delivery mechanics into EventPa…
lemnik Oct 22, 2024
00262a7
refactor(EventPayload): cache the byte[] form of an EventPayload when…
lemnik Oct 23, 2024
152f9a3
refactor(OkHttpDelivery): added @JvmOverloads to the OkHttpDelivery c…
lemnik Oct 23, 2024
583c949
test(OkHttpDelivery): added an end-to-end scenario for OkHttpDelivery
lemnik Oct 23, 2024
852e5a6
chore(Session): use Java `default` methods in `interface`s so that De…
lemnik Oct 23, 2024
aab0c27
fix(EventPayload): correctly clear the JSON cache when trimming bread…
lemnik Oct 23, 2024
3892c00
chore(CHANGELOG): added a changelog entry
lemnik Oct 23, 2024
4ee30b8
refactor(DeliveryStatus): made DeliveryStatus.forHttpResponseCode Jvm…
lemnik Oct 24, 2024
0aa3b9d
refactor(interfaces): switched back to non-Java interface default met…
lemnik Oct 25, 2024
f2a0afa
chore(okhttp): added a TrafficStats tag to the OkHttp delivery
lemnik Oct 29, 2024
80fd618
Merge pull request #2092 from bugsnag/PLAT-12835/improved-delivery
lemnik Oct 29, 2024
07fca78
release/v6.9.0
YYChen01988 Oct 29, 2024
79832d1
chore(ci): move Android 14 tests to BrowserStack
lemnik Oct 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 11 additions & 15 deletions .buildkite/pipeline.full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -764,7 +764,7 @@ steps:
concurrency_group: 'browserstack-app'
concurrency_method: eager

- label: ':bitbar: Android 14 NDK r21 end-to-end tests - batch 1'
- label: ':browserstack: Android 14 NDK r21 end-to-end tests - batch 1'
depends_on: "fixture-r21"
timeout_in_minutes: 60
plugins:
Expand All @@ -783,23 +783,21 @@ steps:
- "features/full_tests"
- "--exclude=features/full_tests/[^a-k].*.feature"
- "--exclude=features/full_tests/anr.feature"
- "--app=@build/fixture-r21-url.txt"
- "--appium-version=1.22"
- "--no-tunnel"
- "--aws-public-ip"
- "--farm=bb"
- "--app=@build/bs-fixture-r21-url.txt"
- "--appium-version=1.22.0"
- "--farm=bs"
- "--device=ANDROID_14"
test-collector#v1.10.2:
files: "reports/TEST-*.xml"
format: "junit"
branch: "^master|next$$"
env:
TEST_FIXTURE_SYMBOL_DIR: "build/fixture-r21"
concurrency: 25
concurrency_group: 'bitbar'
concurrency: 5
concurrency_group: 'browserstack-app'
concurrency_method: eager

- label: ':bitbar: Android 14 NDK r21 end-to-end tests - batch 2'
- label: ':browserstack: Android 14 NDK r21 end-to-end tests - batch 2'
depends_on: "fixture-r21"
timeout_in_minutes: 60
plugins:
Expand All @@ -818,10 +816,8 @@ steps:
- "features/full_tests"
- "--exclude=features/full_tests/[^l-z].*.feature"
- "--exclude=features/full_tests/anr.feature"
- "--app=@build/fixture-r21-url.txt"
- "--appium-version=1.22"
- "--no-tunnel"
- "--aws-public-ip"
- "--app=@build/bs-fixture-r21-url.txt"
- "--appium-version=1.22.0"
- "--farm=bb"
- "--device=ANDROID_14"
test-collector#v1.10.2:
Expand All @@ -830,8 +826,8 @@ steps:
branch: "^master|next$$"
env:
TEST_FIXTURE_SYMBOL_DIR: "build/fixture-r21"
concurrency: 25
concurrency_group: 'bitbar'
concurrency: 5
concurrency_group: 'browserstack-app'
concurrency_method: eager

- label: ':browserstack: Android 14 NDK r21 end-to-end tests - ANRs'
Expand Down
14 changes: 6 additions & 8 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,7 @@ steps:
concurrency_group: 'browserstack-app'
concurrency_method: eager

- label: ':bitbar: Android 14 NDK r21 smoke tests'
- label: ':browserstack: Android 14 NDK r21 smoke tests'
depends_on: "fixture-r21"
timeout_in_minutes: 60
plugins:
Expand All @@ -613,20 +613,18 @@ steps:
command:
- "features/smoke_tests"
- "--exclude=features/smoke_tests/01_anr.feature"
- "--app=@build/fixture-r21-url.txt"
- "--appium-version=1.22"
- "--no-tunnel"
- "--aws-public-ip"
- "--farm=bb"
- "--app=@build/bs-fixture-r21-url.txt"
- "--appium-version=1.22.0"
- "--farm=bs"
- "--device=ANDROID_14"
test-collector#v1.10.2:
files: "reports/TEST-*.xml"
format: "junit"
branch: "^master|next$$"
env:
TEST_FIXTURE_SYMBOL_DIR: "build/fixture-r21"
concurrency: 25
concurrency_group: 'bitbar'
concurrency: 5
concurrency_group: 'browserstack-app'
concurrency_method: eager

- label: ':browserstack: Android 14 NDK r21 ANR smoke tests'
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 6.9.0 (2024-10-29)

### Enhancements

* Native crashes will now identify the crashing/error reporting thread
[#2087](https://github.com/bugsnag/bugsnag-android/pull/2087)
* A new `OkHttpDelivery` delivery implementation is available in the [bugsnag-plugin-android-okhttp](bugsnag-plugin-android-okhttp) module
[#2092](https://github.com/bugsnag/bugsnag-android/pull/2092)

## 6.8.0 (2024-09-30)

### Enhancements
Expand Down
51 changes: 40 additions & 11 deletions bugsnag-android-core/api/bugsnag-android-core.api
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,15 @@ public class com/bugsnag/android/Configuration : com/bugsnag/android/CallbackAwa
public fun setVersionCode (Ljava/lang/Integer;)V
}

public abstract interface class com/bugsnag/android/Deliverable {
public abstract fun getIntegrityToken ()Ljava/lang/String;
public abstract fun toByteArray ()[B
}

public final class com/bugsnag/android/Deliverable$DefaultImpls {
public static fun getIntegrityToken (Lcom/bugsnag/android/Deliverable;)Ljava/lang/String;
}

public abstract interface class com/bugsnag/android/Delivery {
public abstract fun deliver (Lcom/bugsnag/android/EventPayload;Lcom/bugsnag/android/DeliveryParams;)Lcom/bugsnag/android/DeliveryStatus;
public abstract fun deliver (Lcom/bugsnag/android/Session;Lcom/bugsnag/android/DeliveryParams;)Lcom/bugsnag/android/DeliveryStatus;
Expand All @@ -248,13 +257,19 @@ public final class com/bugsnag/android/DeliveryParams {
}

public final class com/bugsnag/android/DeliveryStatus : java/lang/Enum {
public static final field Companion Lcom/bugsnag/android/DeliveryStatus$Companion;
public static final field DELIVERED Lcom/bugsnag/android/DeliveryStatus;
public static final field FAILURE Lcom/bugsnag/android/DeliveryStatus;
public static final field UNDELIVERED Lcom/bugsnag/android/DeliveryStatus;
public static final fun forHttpResponseCode (I)Lcom/bugsnag/android/DeliveryStatus;
public static fun valueOf (Ljava/lang/String;)Lcom/bugsnag/android/DeliveryStatus;
public static fun values ()[Lcom/bugsnag/android/DeliveryStatus;
}

public final class com/bugsnag/android/DeliveryStatus$Companion {
public final fun forHttpResponseCode (I)Lcom/bugsnag/android/DeliveryStatus;
}

public class com/bugsnag/android/Device : com/bugsnag/android/JsonStream$Streamable {
public final fun getCpuAbi ()[Ljava/lang/String;
public final fun getId ()Ljava/lang/String;
Expand Down Expand Up @@ -395,13 +410,23 @@ public class com/bugsnag/android/Event : com/bugsnag/android/FeatureFlagAware, c
protected fun updateSeverityReason (Ljava/lang/String;)V
}

public final class com/bugsnag/android/EventPayload : com/bugsnag/android/JsonStream$Streamable {
public final class com/bugsnag/android/EventPayload : com/bugsnag/android/Deliverable, com/bugsnag/android/JsonStream$Streamable {
public static final field Companion Lcom/bugsnag/android/EventPayload$Companion;
public static final field DEFAULT_MAX_PAYLOAD_SIZE I
public fun <init> (Ljava/lang/String;Lcom/bugsnag/android/Event;Lcom/bugsnag/android/Notifier;Lcom/bugsnag/android/internal/ImmutableConfig;)V
public fun <init> (Ljava/lang/String;Lcom/bugsnag/android/Notifier;Lcom/bugsnag/android/internal/ImmutableConfig;)V
public final fun getApiKey ()Ljava/lang/String;
public final fun getEvent ()Lcom/bugsnag/android/Event;
public fun getIntegrityToken ()Ljava/lang/String;
public final fun setApiKey (Ljava/lang/String;)V
public fun toByteArray ()[B
public fun toStream (Lcom/bugsnag/android/JsonStream;)V
public final fun trimToSize ()Lcom/bugsnag/android/EventPayload;
public final fun trimToSize (I)Lcom/bugsnag/android/EventPayload;
public static synthetic fun trimToSize$default (Lcom/bugsnag/android/EventPayload;IILjava/lang/Object;)Lcom/bugsnag/android/EventPayload;
}

public final class com/bugsnag/android/EventPayload$Companion {
}

public final class com/bugsnag/android/FeatureFlag : java/util/Map$Entry {
Expand Down Expand Up @@ -585,17 +610,19 @@ public abstract interface class com/bugsnag/android/Plugin {
public abstract fun unload ()V
}

public final class com/bugsnag/android/Session : com/bugsnag/android/JsonStream$Streamable, com/bugsnag/android/UserAware {
public final class com/bugsnag/android/Session : com/bugsnag/android/Deliverable, com/bugsnag/android/JsonStream$Streamable, com/bugsnag/android/UserAware {
public fun getApiKey ()Ljava/lang/String;
public fun getApp ()Lcom/bugsnag/android/App;
public fun getDevice ()Lcom/bugsnag/android/Device;
public fun getId ()Ljava/lang/String;
public fun getIntegrityToken ()Ljava/lang/String;
public fun getStartedAt ()Ljava/util/Date;
public fun getUser ()Lcom/bugsnag/android/User;
public fun setApiKey (Ljava/lang/String;)V
public fun setId (Ljava/lang/String;)V
public fun setStartedAt (Ljava/util/Date;)V
public fun setUser (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
public fun toByteArray ()[B
public fun toStream (Lcom/bugsnag/android/JsonStream;)V
}

Expand Down Expand Up @@ -876,7 +903,7 @@ public final class com/bugsnag/android/internal/DateUtils {
}

public final class com/bugsnag/android/internal/ImmutableConfig {
public fun <init> (Ljava/lang/String;ZLcom/bugsnag/android/ErrorTypes;ZLcom/bugsnag/android/ThreadSendPolicy;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/bugsnag/android/Delivery;Lcom/bugsnag/android/EndpointConfiguration;ZJLcom/bugsnag/android/Logger;IIIIJLkotlin/Lazy;ZZZLandroid/content/pm/PackageInfo;Landroid/content/pm/ApplicationInfo;Ljava/util/Collection;)V
public fun <init> (Ljava/lang/String;ZLcom/bugsnag/android/ErrorTypes;ZLcom/bugsnag/android/ThreadSendPolicy;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/bugsnag/android/Delivery;Lcom/bugsnag/android/EndpointConfiguration;ZJLcom/bugsnag/android/Logger;IIIIIJLkotlin/Lazy;ZZZLandroid/content/pm/PackageInfo;Landroid/content/pm/ApplicationInfo;Ljava/util/Collection;)V
public final fun component1 ()Ljava/lang/String;
public final fun component10 ()Ljava/util/Set;
public final fun component11 ()Ljava/lang/String;
Expand All @@ -894,23 +921,24 @@ public final class com/bugsnag/android/internal/ImmutableConfig {
public final fun component22 ()I
public final fun component23 ()I
public final fun component24 ()I
public final fun component25 ()J
public final fun component26 ()Lkotlin/Lazy;
public final fun component27 ()Z
public final fun component25 ()I
public final fun component26 ()J
public final fun component27 ()Lkotlin/Lazy;
public final fun component28 ()Z
public final fun component29 ()Z
public final fun component3 ()Lcom/bugsnag/android/ErrorTypes;
public final fun component30 ()Landroid/content/pm/PackageInfo;
public final fun component31 ()Landroid/content/pm/ApplicationInfo;
public final fun component32 ()Ljava/util/Collection;
public final fun component30 ()Z
public final fun component31 ()Landroid/content/pm/PackageInfo;
public final fun component32 ()Landroid/content/pm/ApplicationInfo;
public final fun component33 ()Ljava/util/Collection;
public final fun component4 ()Z
public final fun component5 ()Lcom/bugsnag/android/ThreadSendPolicy;
public final fun component6 ()Ljava/util/Collection;
public final fun component7 ()Ljava/util/Collection;
public final fun component8 ()Ljava/util/Collection;
public final fun component9 ()Ljava/util/Set;
public final fun copy (Ljava/lang/String;ZLcom/bugsnag/android/ErrorTypes;ZLcom/bugsnag/android/ThreadSendPolicy;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/bugsnag/android/Delivery;Lcom/bugsnag/android/EndpointConfiguration;ZJLcom/bugsnag/android/Logger;IIIIJLkotlin/Lazy;ZZZLandroid/content/pm/PackageInfo;Landroid/content/pm/ApplicationInfo;Ljava/util/Collection;)Lcom/bugsnag/android/internal/ImmutableConfig;
public static synthetic fun copy$default (Lcom/bugsnag/android/internal/ImmutableConfig;Ljava/lang/String;ZLcom/bugsnag/android/ErrorTypes;ZLcom/bugsnag/android/ThreadSendPolicy;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/bugsnag/android/Delivery;Lcom/bugsnag/android/EndpointConfiguration;ZJLcom/bugsnag/android/Logger;IIIIJLkotlin/Lazy;ZZZLandroid/content/pm/PackageInfo;Landroid/content/pm/ApplicationInfo;Ljava/util/Collection;ILjava/lang/Object;)Lcom/bugsnag/android/internal/ImmutableConfig;
public final fun copy (Ljava/lang/String;ZLcom/bugsnag/android/ErrorTypes;ZLcom/bugsnag/android/ThreadSendPolicy;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/bugsnag/android/Delivery;Lcom/bugsnag/android/EndpointConfiguration;ZJLcom/bugsnag/android/Logger;IIIIIJLkotlin/Lazy;ZZZLandroid/content/pm/PackageInfo;Landroid/content/pm/ApplicationInfo;Ljava/util/Collection;)Lcom/bugsnag/android/internal/ImmutableConfig;
public static synthetic fun copy$default (Lcom/bugsnag/android/internal/ImmutableConfig;Ljava/lang/String;ZLcom/bugsnag/android/ErrorTypes;ZLcom/bugsnag/android/ThreadSendPolicy;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/bugsnag/android/Delivery;Lcom/bugsnag/android/EndpointConfiguration;ZJLcom/bugsnag/android/Logger;IIIIIJLkotlin/Lazy;ZZZLandroid/content/pm/PackageInfo;Landroid/content/pm/ApplicationInfo;Ljava/util/Collection;IILjava/lang/Object;)Lcom/bugsnag/android/internal/ImmutableConfig;
public fun equals (Ljava/lang/Object;)Z
public final fun getApiKey ()Ljava/lang/String;
public final fun getAppInfo ()Landroid/content/pm/ApplicationInfo;
Expand All @@ -933,6 +961,7 @@ public final class com/bugsnag/android/internal/ImmutableConfig {
public final fun getMaxPersistedEvents ()I
public final fun getMaxPersistedSessions ()I
public final fun getMaxReportedThreads ()I
public final fun getMaxStringValueLength ()I
public final fun getPackageInfo ()Landroid/content/pm/PackageInfo;
public final fun getPersistUser ()Z
public final fun getPersistenceDirectory ()Lkotlin/Lazy;
Expand Down
12 changes: 5 additions & 7 deletions bugsnag-android-core/detekt-baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<CurrentIssues>
<ID>CyclomaticComplexMethod:AppDataCollector.kt$AppDataCollector$@SuppressLint("SwitchIntDef") @Suppress("DEPRECATION") private fun getProcessImportance(): String?</ID>
<ID>CyclomaticComplexMethod:ConfigInternal.kt$ConfigInternal$fun getConfigDifferences(): Map&lt;String, Any></ID>
<ID>ImplicitDefaultLocale:DeliveryHeaders.kt$String.format("%02x", byte)</ID>
<ID>ImplicitDefaultLocale:Deliverable.kt$Deliverable$String.format("%02x", byte)</ID>
<ID>LongParameterList:App.kt$App$( /** * The architecture of the running application binary */ var binaryArch: String?, /** * The package name of the application */ var id: String?, /** * The release stage set in [Configuration.releaseStage] */ var releaseStage: String?, /** * The version of the application set in [Configuration.version] */ var version: String?, /** The revision ID from the manifest (React Native apps only) */ var codeBundleId: String?, /** * The unique identifier for the build of the application set in [Configuration.buildUuid] */ var buildUuid: String?, /** * The application type set in [Configuration#version] */ var type: String?, /** * The version code of the application set in [Configuration.versionCode] */ var versionCode: Number? )</ID>
<ID>LongParameterList:AppDataCollector.kt$AppDataCollector$( appContext: Context, private val packageManager: PackageManager?, private val config: ImmutableConfig, private val sessionTracker: SessionTracker, private val activityManager: ActivityManager?, private val launchCrashTracker: LaunchCrashTracker, private val memoryTrimState: MemoryTrimState )</ID>
<ID>LongParameterList:AppWithState.kt$AppWithState$( binaryArch: String?, id: String?, releaseStage: String?, version: String?, codeBundleId: String?, buildUuid: String?, type: String?, versionCode: Number?, /** * The number of milliseconds the application was running before the event occurred */ var duration: Number?, /** * The number of milliseconds the application was running in the foreground before the * event occurred */ var durationInForeground: Number?, /** * Whether the application was in the foreground when the event occurred */ var inForeground: Boolean?, /** * Whether the application was launching when the event occurred */ var isLaunching: Boolean? )</ID>
Expand All @@ -23,9 +23,9 @@
<ID>MagicNumber:BugsnagEventMapper.kt$BugsnagEventMapper$16</ID>
<ID>MagicNumber:BugsnagEventMapper.kt$BugsnagEventMapper$32</ID>
<ID>MagicNumber:BugsnagEventMapper.kt$BugsnagEventMapper$56</ID>
<ID>MagicNumber:DefaultDelivery.kt$DefaultDelivery$299</ID>
<ID>MagicNumber:DefaultDelivery.kt$DefaultDelivery$429</ID>
<ID>MagicNumber:DefaultDelivery.kt$DefaultDelivery$499</ID>
<ID>MagicNumber:DeliveryStatus.kt$DeliveryStatus.Companion$299</ID>
<ID>MagicNumber:DeliveryStatus.kt$DeliveryStatus.Companion$429</ID>
<ID>MagicNumber:DeliveryStatus.kt$DeliveryStatus.Companion$499</ID>
<ID>MagicNumber:EventStore.kt$EventStore$60</ID>
<ID>MagicNumber:JsonHelper.kt$JsonHelper$0xff</ID>
<ID>MagicNumber:JsonHelper.kt$JsonHelper$1000</ID>
Expand All @@ -39,16 +39,14 @@
<ID>MaxLineLength:LastRunInfo.kt$LastRunInfo$return "LastRunInfo(consecutiveLaunchCrashes=$consecutiveLaunchCrashes, crashed=$crashed, crashedDuringLaunch=$crashedDuringLaunch)"</ID>
<ID>MaxLineLength:ThreadState.kt$ThreadState$"[${allThreads.size - maxThreadCount} threads omitted as the maxReportedThreads limit ($maxThreadCount) was exceeded]"</ID>
<ID>NestedBlockDepth:FileStore.kt$FileStore$fun deleteStoredFiles(storedFiles: Collection&lt;File>?)</ID>
<ID>NestedBlockDepth:FileStore.kt$FileStore$fun discardOldestFileIfNeeded()</ID>
<ID>NestedBlockDepth:FileStore.kt$FileStore$fun findStoredFiles(): MutableList&lt;File></ID>
<ID>NestedBlockDepth:JsonHelper.kt$JsonHelper$fun jsonToLong(value: Any?): Long?</ID>
<ID>ProtectedMemberInFinalClass:ConfigInternal.kt$ConfigInternal$protected val plugins = HashSet&lt;Plugin>()</ID>
<ID>ProtectedMemberInFinalClass:EventInternal.kt$EventInternal$protected fun isAnr(event: Event): Boolean</ID>
<ID>ProtectedMemberInFinalClass:EventInternal.kt$EventInternal$protected fun shouldDiscardClass(): Boolean</ID>
<ID>ProtectedMemberInFinalClass:EventInternal.kt$EventInternal$protected fun updateSeverityInternal(severity: Severity)</ID>
<ID>ProtectedMemberInFinalClass:EventInternal.kt$EventInternal$protected fun updateSeverityReason(@SeverityReason.SeverityReasonType reason: String)</ID>
<ID>ReturnCount:DefaultDelivery.kt$DefaultDelivery$fun deliver( urlString: String, json: ByteArray, headers: Map&lt;String, String?> ): DeliveryStatus</ID>
<ID>SpreadOperator:FileStore.kt$FileStore$(*listFiles)</ID>
<ID>ReturnCount:DefaultDelivery.kt$DefaultDelivery$fun deliver( urlString: String, json: ByteArray, integrity: String?, headers: Map&lt;String, String?> ): DeliveryStatus</ID>
<ID>SwallowedException:ActivityBreadcrumbCollector.kt$ActivityBreadcrumbCollector$re: Exception</ID>
<ID>SwallowedException:AppDataCollector.kt$AppDataCollector$e: Exception</ID>
<ID>SwallowedException:BugsnagEventMapper.kt$BugsnagEventMapper$pe: IllegalArgumentException</ID>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@ package com.bugsnag.android

import android.app.Application
import androidx.test.core.app.ApplicationProvider
import com.bugsnag.android.EventStore.Companion.EVENT_COMPARATOR
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.junit.MockitoJUnitRunner
import java.io.File
import java.util.Comparator

@RunWith(MockitoJUnitRunner::class)
class FileStoreTest {
Expand All @@ -18,7 +16,7 @@ class FileStoreTest {

val delegate = CustomDelegate()
val dir = File(ApplicationProvider.getApplicationContext<Application>().cacheDir, "tmp")
val store = CustomFileStore(dir, 1, EVENT_COMPARATOR, delegate)
val store = CustomFileStore(dir, 1, delegate)
val exc = RuntimeException("Whoops")
store.write(CustomStreamable(exc))

Expand Down Expand Up @@ -49,8 +47,7 @@ class CustomStreamable(private val exc: Throwable) : JsonStream.Streamable {
internal class CustomFileStore(
folder: File,
maxStoreCount: Int,
comparator: Comparator<in File?>,
delegate: Delegate?
) : FileStore(folder, maxStoreCount, comparator, NoopLogger, delegate) {
) : FileStore(folder, maxStoreCount, NoopLogger, delegate) {
override fun getFilename(obj: Any?) = "foo.json"
}
Loading