From ee0e053e2b7bad4cb644e792cec9a54a2904844c Mon Sep 17 00:00:00 2001 From: Josh Kasten Date: Wed, 26 Apr 2017 19:48:54 -0700 Subject: [PATCH] Added toJSONObject to new state classes --- .../java/com/onesignal/OSPermissionState.java | 20 ++++++++ .../onesignal/OSPermissionStateChanges.java | 21 ++++++++ .../OSPermissionSubscriptionState.java | 48 +++++++++++++++++++ .../com/onesignal/OSSubscriptionState.java | 23 +++++++++ .../onesignal/OSSubscriptionStateChanges.java | 21 ++++++++ 5 files changed, 133 insertions(+) diff --git a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionState.java b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionState.java index c03d8941f6..d4b9140634 100644 --- a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionState.java +++ b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionState.java @@ -29,6 +29,8 @@ import android.content.SharedPreferences; +import org.json.JSONObject; + import static com.onesignal.OneSignal.appContext; import static com.onesignal.OneSignal.getGcmPreferences; @@ -84,6 +86,24 @@ protected Object clone() { return null; } + public JSONObject toJSONObject() { + JSONObject mainObj = new JSONObject(); + + try { + mainObj.put("enabled", enabled); + } + catch(Throwable t) { + t.printStackTrace(); + } + + return mainObj; + } + + @Override + public String toString() { + return toJSONObject().toString(); + } + // FUTURE: Can add a list of categories here for Android O. } diff --git a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionStateChanges.java b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionStateChanges.java index 141be2b9bf..1b8e24f091 100644 --- a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionStateChanges.java +++ b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionStateChanges.java @@ -27,6 +27,8 @@ package com.onesignal; +import org.json.JSONObject; + public class OSPermissionStateChanges { OSPermissionState to, from; @@ -37,4 +39,23 @@ public OSPermissionState getTo() { public OSPermissionState getFrom() { return from; } + + public JSONObject toJSONObject() { + JSONObject mainObj = new JSONObject(); + + try { + mainObj.put("from", from.toJSONObject()); + mainObj.put("to", to.toJSONObject()); + } + catch(Throwable t) { + t.printStackTrace(); + } + + return mainObj; + } + + @Override + public String toString() { + return toJSONObject().toString(); + } } diff --git a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionSubscriptionState.java b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionSubscriptionState.java index 2fbf21fe79..a1759d028d 100644 --- a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionSubscriptionState.java +++ b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSPermissionSubscriptionState.java @@ -1,5 +1,34 @@ +/** + * Modified MIT License + * + * Copyright 2017 OneSignal + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * 1. The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * 2. All copies of substantial portions of the Software may only be used in connection + * with services provided by OneSignal. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + package com.onesignal; +import org.json.JSONObject; + public class OSPermissionSubscriptionState { OSSubscriptionState subscriptionStatus; OSPermissionState permissionStatus; @@ -11,4 +40,23 @@ public OSPermissionState getPermissionStatus() { public OSSubscriptionState getSubscriptionStatus() { return subscriptionStatus; } + + public JSONObject toJSONObject() { + JSONObject mainObj = new JSONObject(); + + try { + mainObj.put("permissionStatus", permissionStatus.toJSONObject()); + mainObj.put("subscriptionStatus", subscriptionStatus.toJSONObject()); + } + catch(Throwable t) { + t.printStackTrace(); + } + + return mainObj; + } + + @Override + public String toString() { + return toJSONObject().toString(); + } } diff --git a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSSubscriptionState.java b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSSubscriptionState.java index 86fe530598..e3c20fc7c8 100644 --- a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSSubscriptionState.java +++ b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSSubscriptionState.java @@ -30,6 +30,8 @@ import android.content.SharedPreferences; +import org.json.JSONObject; + import static com.onesignal.OneSignal.appContext; import static com.onesignal.OneSignal.getGcmPreferences; @@ -136,4 +138,25 @@ protected Object clone() { } catch (Throwable t) {} return null; } + + public JSONObject toJSONObject() { + JSONObject mainObj = new JSONObject(); + + try { + mainObj.put("userId", userId); + mainObj.put("pushToken", pushToken); + mainObj.put("userSubscriptionSetting", userSubscriptionSetting); + mainObj.put("subscribed", getSubscribed()); + } + catch(Throwable t) { + t.printStackTrace(); + } + + return mainObj; + } + + @Override + public String toString() { + return toJSONObject().toString(); + } } \ No newline at end of file diff --git a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSSubscriptionStateChanges.java b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSSubscriptionStateChanges.java index 7f5b392231..38593bff68 100644 --- a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSSubscriptionStateChanges.java +++ b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSSubscriptionStateChanges.java @@ -27,6 +27,8 @@ package com.onesignal; +import org.json.JSONObject; + public class OSSubscriptionStateChanges { OSSubscriptionState to, from; @@ -37,4 +39,23 @@ public OSSubscriptionState getTo() { public OSSubscriptionState getFrom() { return from; } + + public JSONObject toJSONObject() { + JSONObject mainObj = new JSONObject(); + + try { + mainObj.put("from", from.toJSONObject()); + mainObj.put("to", to.toJSONObject()); + } + catch(Throwable t) { + t.printStackTrace(); + } + + return mainObj; + } + + @Override + public String toString() { + return toJSONObject().toString(); + } }