From c6034f31deb3a0a023302005833fec48d1eb8e46 Mon Sep 17 00:00:00 2001 From: fractalwrench Date: Tue, 11 Dec 2018 10:05:36 +0000 Subject: [PATCH 1/2] feat: improve kotlin support by allowing property access adds public getters/setters that will allow property access when calling from Kotlin --- sdk/lint-baseline.xml | 98 +++++++++---------- .../com/bugsnag/android/Configuration.java | 15 ++- .../main/java/com/bugsnag/android/Error.java | 2 +- .../com/bugsnag/android/SessionTracker.java | 6 +- 4 files changed, 66 insertions(+), 55 deletions(-) diff --git a/sdk/lint-baseline.xml b/sdk/lint-baseline.xml index cfa00f3ed5..2403f11a13 100644 --- a/sdk/lint-baseline.xml +++ b/sdk/lint-baseline.xml @@ -1,39 +1,6 @@ - - - - - - - - - - - - @@ -1163,10 +1130,32 @@ errorLine2=" ~~~~~~"> + + + + + + + + @@ -1185,7 +1174,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~"> @@ -1196,7 +1185,7 @@ errorLine2=" ~~~~~~~~~~"> @@ -1207,7 +1196,7 @@ errorLine2=" ~~~~~~"> @@ -1218,7 +1207,7 @@ errorLine2=" ~~~~~~"> @@ -1229,7 +1218,7 @@ errorLine2=" ~~~~~~~~~~~~"> @@ -1240,7 +1229,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> @@ -1251,7 +1240,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -1827,6 +1816,17 @@ column="44"/> + + + + @@ -1845,7 +1845,7 @@ errorLine2=" ~~~~~~~~"> @@ -1856,7 +1856,7 @@ errorLine2=" ~~~~~~~~"> @@ -1867,7 +1867,7 @@ errorLine2=" ~~~~~~"> @@ -1878,7 +1878,7 @@ errorLine2=" ~~~~~~"> @@ -1889,7 +1889,7 @@ errorLine2=" ~~~~~~~~"> diff --git a/sdk/src/main/java/com/bugsnag/android/Configuration.java b/sdk/src/main/java/com/bugsnag/android/Configuration.java index 0d466ec0dd..7428e4be45 100644 --- a/sdk/src/main/java/com/bugsnag/android/Configuration.java +++ b/sdk/src/main/java/com/bugsnag/android/Configuration.java @@ -405,8 +405,19 @@ public void setEnableExceptionHandler(boolean enableExceptionHandler) { * Get whether or not User sessions are captured automatically. * * @return true if sessions are captured automatically + * @deprecated use {@link #getAutoCaptureSessions()} */ + @Deprecated public boolean shouldAutoCaptureSessions() { + return getAutoCaptureSessions(); + } + + /** + * Get whether or not User sessions are captured automatically. + * + * @return true if sessions are captured automatically + */ + public boolean getAutoCaptureSessions() { return autoCaptureSessions; } @@ -555,11 +566,11 @@ public void setCodeBundleId(String codeBundleId) { this.codeBundleId = codeBundleId; } - String getCodeBundleId() { + public String getCodeBundleId() { return codeBundleId; } - String getNotifierType() { + public String getNotifierType() { return notifierType; } diff --git a/sdk/src/main/java/com/bugsnag/android/Error.java b/sdk/src/main/java/com/bugsnag/android/Error.java index 246aa07f59..653b4e0b29 100644 --- a/sdk/src/main/java/com/bugsnag/android/Error.java +++ b/sdk/src/main/java/com/bugsnag/android/Error.java @@ -404,7 +404,7 @@ static class Builder { this.severityReasonType = HandledState.REASON_USER_SPECIFIED; // default if (session != null - && !config.shouldAutoCaptureSessions() && session.isAutoCaptured()) { + && !config.getAutoCaptureSessions() && session.isAutoCaptured()) { this.session = null; } else { this.session = session; diff --git a/sdk/src/main/java/com/bugsnag/android/SessionTracker.java b/sdk/src/main/java/com/bugsnag/android/SessionTracker.java index 37409b5eac..0aa3192ee3 100644 --- a/sdk/src/main/java/com/bugsnag/android/SessionTracker.java +++ b/sdk/src/main/java/com/bugsnag/android/SessionTracker.java @@ -59,7 +59,7 @@ class SessionTracker extends Observable implements Application.ActivityLifecycle /** * Starts a new session with the given date and user. *

- * A session will only be created if {@link Configuration#shouldAutoCaptureSessions()} returns + * A session will only be created if {@link Configuration#getAutoCaptureSessions()} returns * true. * * @param date the session start date @@ -88,7 +88,7 @@ private void trackSessionIfNeeded(final Session session) { boolean notifyForRelease = configuration.shouldNotifyForReleaseStage(getReleaseStage()); if (notifyForRelease - && (configuration.shouldAutoCaptureSessions() || !session.isAutoCaptured()) + && (configuration.getAutoCaptureSessions() || !session.isAutoCaptured()) && session.isTracked().compareAndSet(false, true)) { try { final String endpoint = configuration.getSessionEndpoint(); @@ -288,7 +288,7 @@ void updateForegroundTracker(String activityName, boolean activityStarting, long //FUTURE:SM Race condition between isEmpty and put if (foregroundActivities.isEmpty() && noActivityRunningForMs >= timeoutMs - && configuration.shouldAutoCaptureSessions()) { + && configuration.getAutoCaptureSessions()) { activityFirstStartedAtMs.set(nowMs); startNewSession(new Date(nowMs), client.getUser(), true); From 3859271c8586fa5fcbb0605cf7c231a0c01ab24b Mon Sep 17 00:00:00 2001 From: fractalwrench Date: Tue, 11 Dec 2018 11:52:26 +0000 Subject: [PATCH 2/2] test: update test code to use getAutoCaptureSessions rather than deprecated shouldAutoCaptureSession --- .../java/com/bugsnag/android/ClientConfigTest.java | 2 +- .../java/com/bugsnag/android/ClientTest.java | 2 +- .../java/com/bugsnag/android/ConfigurationTest.java | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sdk/src/androidTest/java/com/bugsnag/android/ClientConfigTest.java b/sdk/src/androidTest/java/com/bugsnag/android/ClientConfigTest.java index db8692112d..461b69acfd 100644 --- a/sdk/src/androidTest/java/com/bugsnag/android/ClientConfigTest.java +++ b/sdk/src/androidTest/java/com/bugsnag/android/ClientConfigTest.java @@ -47,7 +47,7 @@ public void testSetReleaseStage() throws Exception { @Test public void testSetAutoCaptureSessions() throws Exception { client.setAutoCaptureSessions(true); - assertEquals(true, config.shouldAutoCaptureSessions()); + assertEquals(true, config.getAutoCaptureSessions()); } @Test diff --git a/sdk/src/androidTest/java/com/bugsnag/android/ClientTest.java b/sdk/src/androidTest/java/com/bugsnag/android/ClientTest.java index 53df93aaa3..a7f087ac15 100644 --- a/sdk/src/androidTest/java/com/bugsnag/android/ClientTest.java +++ b/sdk/src/androidTest/java/com/bugsnag/android/ClientTest.java @@ -218,7 +218,7 @@ public void testFullManifestConfig() { assertEquals(false, protoConfig.getSendThreads()); assertEquals(false, protoConfig.getEnableExceptionHandler()); assertEquals(true, protoConfig.getPersistUserBetweenSessions()); - assertEquals(true, protoConfig.shouldAutoCaptureSessions()); + assertEquals(true, protoConfig.getAutoCaptureSessions()); } @SuppressWarnings("deprecation") // test backwards compatibility of client.setMaxBreadcrumbs diff --git a/sdk/src/androidTest/java/com/bugsnag/android/ConfigurationTest.java b/sdk/src/androidTest/java/com/bugsnag/android/ConfigurationTest.java index b989c8a009..4f77d3cf9e 100644 --- a/sdk/src/androidTest/java/com/bugsnag/android/ConfigurationTest.java +++ b/sdk/src/androidTest/java/com/bugsnag/android/ConfigurationTest.java @@ -58,15 +58,15 @@ public void testEmptyNotifyEndpoint() { public void testInvalidSessionEndpoint() { //noinspection ConstantConditions config.setEndpoints("http://example.com", null); - assertFalse(config.shouldAutoCaptureSessions()); + assertFalse(config.getAutoCaptureSessions()); assertNull(config.getSessionEndpoint()); config.setEndpoints("http://example.com", ""); - assertFalse(config.shouldAutoCaptureSessions()); + assertFalse(config.getAutoCaptureSessions()); assertNull(config.getSessionEndpoint()); config.setEndpoints("http://example.com", "http://sessions.example.com"); - assertFalse(config.shouldAutoCaptureSessions()); + assertFalse(config.getAutoCaptureSessions()); assertEquals("http://sessions.example.com", config.getSessionEndpoint()); } @@ -74,7 +74,7 @@ public void testInvalidSessionEndpoint() { public void testAutoCaptureOverride() { config.setAutoCaptureSessions(false); config.setEndpoints("http://example.com", "http://example.com"); - assertFalse(config.shouldAutoCaptureSessions()); + assertFalse(config.getAutoCaptureSessions()); } @SuppressWarnings("deprecation") @@ -163,9 +163,9 @@ public void testLaunchThreshold() throws Exception { @Test public void testAutoCaptureSessions() throws Exception { - assertTrue(config.shouldAutoCaptureSessions()); + assertTrue(config.getAutoCaptureSessions()); config.setAutoCaptureSessions(false); - assertFalse(config.shouldAutoCaptureSessions()); + assertFalse(config.getAutoCaptureSessions()); } @Test