Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
19 changes: 10 additions & 9 deletions sentry-android/sentry-android.iml
Original file line number Diff line number Diff line change
Expand Up @@ -62,37 +62,38 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/docs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/libs" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/poms" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,52 @@
import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;

public class SentryEventBuilderTest extends TestCase {

// Tests the adding an extra with a helper method
public void testAddExtra() throws JSONException {
Map<String, String> initialExtra = new HashMap<String, String>();
initialExtra.put("key1", "value1");
initialExtra.put("key2", "value2");

Sentry.SentryEventBuilder builder = new Sentry.SentryEventBuilder()
.setMessage("Being awesome")
.setExtra(initialExtra);

JSONObject extra = builder.getExtra();
assertEquals("value1", extra.getString("key1"));
assertEquals("value2", extra.getString("key2"));

builder.addExtra("key3", "value3");

JSONObject moreExtra = builder.getExtra();
assertEquals("value3", moreExtra.getString("key3"));
}

// Tests the adding a tag with a helper method
public void testAddTag() throws JSONException {
Map<String, String> initialTags = new HashMap<String, String>();
initialTags.put("tag1", "value1");
initialTags.put("tag2", "value2");

Sentry.SentryEventBuilder builder = new Sentry.SentryEventBuilder()
.setMessage("Being awesome")
.setTags(initialTags);

JSONObject tags = builder.getTags();
assertEquals("value1", tags.getString("key1"));
assertEquals("value2", tags.getString("key2"));

builder.addTag("key3", "value3");

JSONObject moreTags = builder.getExtra();
assertEquals("value3", moreTags.getString("key3"));
}

// Since regexes are very hard to read, we build the regex to recognize an internal package
// name programatically.
// Given a list of packages, return a regex to match them.
Expand Down
24 changes: 24 additions & 0 deletions sentry-android/src/main/java/com/joshdholtz/sentry/Sentry.java
Original file line number Diff line number Diff line change
Expand Up @@ -696,6 +696,10 @@ public static class SentryEventBuilder implements Serializable {

private final Map<String, Object> event;

public JSONObject toJSON() {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't called anywhere? We can delete?

return new JSONObject(event);
}

public static enum SentryEventLevel {

FATAL("fatal"),
Expand Down Expand Up @@ -816,6 +820,16 @@ public SentryEventBuilder setTags(JSONObject tags) {
return this;
}

public SentryEventBuilder addTag(String key, String value) {
try {
getTags().put(key, value);
} catch (JSONException e) {
Log.e(Sentry.TAG, "Error adding tag in SentryEventBuilder");
}

return this;
}

public JSONObject getTags() {
if (!event.containsKey("tags")) {
setTags(new HashMap<String, String>());
Expand Down Expand Up @@ -882,6 +896,16 @@ public SentryEventBuilder setExtra(JSONObject extra) {
return this;
}

public SentryEventBuilder addExtra(String key, String value) {
try {
getExtra().put(key, value);
} catch (JSONException e) {
Log.e(Sentry.TAG, "Error adding extra in SentryEventBuilder");
}

return this;
}

public JSONObject getExtra() {
if (!event.containsKey("extra")) {
setExtra(new HashMap<String, String>());
Expand Down
8 changes: 0 additions & 8 deletions sentry-app/sentry-app.iml
Original file line number Diff line number Diff line change
Expand Up @@ -83,18 +83,10 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.1.1/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
Expand Down