Skip to content

Commit

Permalink
Merge pull request #89 from superwall-me/develop
Browse files Browse the repository at this point in the history
1.0.0-alpha.41
  • Loading branch information
yusuftor authored Jan 26, 2024
2 parents 3afe01d + 6932898 commit ab095f6
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 15 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

The changelog for `Superwall`. Also see the [releases](https://github.com/superwall-me/Superwall-Android/releases) on GitHub.

## 1.0.0-alpha.41

### Fixes

- Removes need for `SCHEDULED_EXACT_ALARM` permission in manifest.

## 1.0.0-alpha.40

### Fixes
Expand Down
2 changes: 1 addition & 1 deletion superwall/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ plugins {
id("maven-publish")
}

version = "1.0.0-alpha.40"
version = "1.0.0-alpha.41"

android {
compileSdk = 33
Expand Down
2 changes: 0 additions & 2 deletions superwall/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ import kotlinx.serialization.Serializable
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json

fun String.jsonStringToDictionary(): Map<String, Any> {
inline fun <reified T> String.jsonStringToType(): T {
val gson = Gson()
val type = object : TypeToken<Map<String, Any>>() {}.type
return gson.fromJson(this, type)
return gson.fromJson(this, object : TypeToken<T>() {}.type)
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,8 @@ import com.superwall.sdk.Superwall
import com.superwall.sdk.analytics.SessionEventsManager
import com.superwall.sdk.analytics.internal.track
import com.superwall.sdk.analytics.internal.trackable.InternalSuperwallEvent
import com.superwall.sdk.analytics.trigger_session.LoadState
import com.superwall.sdk.dependencies.VariablesFactory
import com.superwall.sdk.models.paywall.Paywall
import com.superwall.sdk.models.serialization.jsonStringToDictionary
import com.superwall.sdk.paywall.presentation.PaywallInfo
import com.superwall.sdk.paywall.presentation.internal.PresentationRequest
import com.superwall.sdk.paywall.vc.delegate.PaywallLoadingState
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.superwall.sdk.paywall.vc.web_view.templating.models

import com.superwall.sdk.models.serialization.jsonStringToDictionary
import com.superwall.sdk.models.serialization.jsonStringToType
import kotlinx.serialization.Serializable
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
Expand Down Expand Up @@ -50,7 +50,6 @@ data class DeviceTemplate(
fun toDictionary(): Map<String, Any> {
val json = Json { encodeDefaults = true }
val jsonString = json.encodeToString(this)
val dictionary = jsonString.jsonStringToDictionary()
return dictionary
return jsonString.jsonStringToType()
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
package com.superwall.sdk.store.abstractions.transactions

import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.superwall.sdk.models.serialization.DateSerializer
import com.superwall.sdk.models.serialization.UUIDSerializer
import com.superwall.sdk.models.serialization.jsonStringToDictionary
import com.superwall.sdk.models.serialization.jsonStringToType
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.encodeToString
Expand Down Expand Up @@ -56,7 +54,7 @@ class StoreTransaction(
fun toDictionary(): Map<String, Any?> {
val json = Json { encodeDefaults = true }
val jsonString = json.encodeToString(this)
val dictionary = jsonString.jsonStringToDictionary().toMutableMap()
val dictionary = jsonString.jsonStringToType<Map<String, Any>>().toMutableMap()

val transactionMap = dictionary["transaction"] as? Map<String, Any>
transactionMap?.let {
Expand Down

0 comments on commit ab095f6

Please sign in to comment.