Skip to content

Commit

Permalink
Release 7.3.4
Browse files Browse the repository at this point in the history
Release 7.3.4
  • Loading branch information
SpertsyanKM authored Apr 25, 2024
2 parents ee609de + 95eb803 commit 12376c2
Show file tree
Hide file tree
Showing 18 changed files with 139 additions and 149 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask
buildscript {
ext {
release = [
versionName: "7.3.3",
versionName: "7.3.4",
versionCode: 1
]
}
Expand Down
10 changes: 3 additions & 7 deletions config/detekt/baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@
<ID>MaxLineLength:AutomationsEventMapperTest.kt$AutomationsEventMapperTest.GetEventFromRemoteMessage$"{\"name\": \"subscription_started\", \"happened\": $timeInSec}" to AutomationsEventType.SubscriptionStarted</ID>
<ID>MaxLineLength:AutomationsEventMapperTest.kt$AutomationsEventMapperTest.GetEventFromRemoteMessage$"{\"name\": \"subscription_upgraded\", \"happened\": $timeInSec}" to AutomationsEventType.SubscriptionUpgraded</ID>
<ID>MaxLineLength:AutomationsEventMapperTest.kt$AutomationsEventMapperTest.GetEventFromRemoteMessage$"{\"name\": \"trial_billing_retry_entered\", \"happened\": $timeInSec}" to AutomationsEventType.TrialBillingRetry</ID>
<ID>MaxLineLength:BillingClientWrapperBase.kt$BillingClientWrapperBase$logger.release("launchBillingFlow() -&gt; Failed to launch billing flow. ${billingResult.getDescription()}")</ID>
<ID>MaxLineLength:OutagerIntegrationTest.kt$OutagerIntegrationTest$"lgeigljfpmeoddkcebkcepjc.AO-J1Oy305qZj99jXTPEVBN8UZGoYAtjDLj4uTjRQvUFaG0vie-nr6VBlN0qnNDMU8eJR-sI7o3CwQyMOEHKl8eJsoQ86KSFzxKBR07PSpHLI_o7agXhNKY"</ID>
<ID>MaxLineLength:OutagerIntegrationTest.kt$OutagerIntegrationTest$purchaseToken = "lgeigljfpmeoddkcebkcepjc.AO-J1Oy305qZj99jXTPEVBN8UZGoYAtjDLj4uTjRQvUFaG0vie-nr6VBlN0qnNDMU8eJR-sI7o3CwQyMOEHKl8eJsoQ86KSFzxKBR07PSpHLI_o7agXhNKY"</ID>
<ID>MaxLineLength:OutagerIntegrationTest.kt$OutagerIntegrationTest$val token = "dt70kovLQdKymNnhIY6I94:APA91bGfg6m108VFio2ZdgLR6U0B2PtqAn0hIPVU7M4jKklkMxqDUrjoThpX_K60M7CfH8IVZqtku31ei2hmjdJZDfm-bdAl7uxLDWFU8yVcA6-3wBMn3nsYmUrhYWom-qgGC7yIUYzR"</ID>
Expand All @@ -109,7 +108,6 @@
<ID>MaxLineLength:Qonversion.kt$Qonversion$*</ID>
<ID>MaxLineLength:QonversionBillingService.kt$QonversionBillingService$"updatePurchase() -&gt; Purchase was found successfully for store product: ${purchaseHistoryRecord.productId}"</ID>
<ID>MaxLineLength:QonversionBillingService.kt$QonversionBillingService$logger.debug("queryPurchaseHistoryAsync() -&gt; purchase history for $productType is retrieved ${record.getDescription()}")</ID>
<ID>MaxLineLength:QonversionBillingService.kt$QonversionBillingService${ error -&gt; logger.release("Failed to fetch product type for purchase $productId - " + error.message) }</ID>
<ID>MaxLineLength:QonversionConfig.kt$QonversionConfig.Builder$*</ID>
<ID>MaxLineLength:QonversionError.kt$QonversionErrorCode$*</ID>
<ID>MaxLineLength:QonversionError.kt$QonversionErrorCode$RemoteConfigurationNotAvailable : QonversionErrorCode</ID>
Expand Down Expand Up @@ -156,8 +154,6 @@
<ID>MaximumLineLength:com.qonversion.android.sdk.internal.QonversionRepositoryIntegrationTest.kt:905</ID>
<ID>MaximumLineLength:com.qonversion.android.sdk.internal.api.ApiErrorMapper.kt:117</ID>
<ID>MaximumLineLength:com.qonversion.android.sdk.internal.api.ApiErrorMapper.kt:118</ID>
<ID>MaximumLineLength:com.qonversion.android.sdk.internal.billing.BillingClientWrapperBase.kt:59</ID>
<ID>MaximumLineLength:com.qonversion.android.sdk.internal.billing.QonversionBillingService.kt:143</ID>
<ID>MaximumLineLength:com.qonversion.android.sdk.internal.billing.QonversionBillingService.kt:253</ID>
<ID>MaximumLineLength:com.qonversion.android.sdk.internal.billing.QonversionBillingService.kt:371</ID>
<ID>MaximumLineLength:com.qonversion.android.sdk.internal.billing.utils.kt:22</ID>
Expand Down Expand Up @@ -243,14 +239,14 @@
<ID>StringTemplate:com.qonversion.android.sdk.utils.kt:50</ID>
<ID>SwallowedException:ApiErrorMapper.kt$ApiErrorMapper$catch (e: JSONException) { errorMessage = "$ERROR=failed to parse the backend response" }</ID>
<ID>SwallowedException:Automations.kt$Automations.Companion$catch (e: UninitializedPropertyAccessException) { throw UninitializedPropertyAccessException("Qonversion has not been initialized. " + "Automations should be used after Qonversion is initialized.") }</ID>
<ID>SwallowedException:AutomationsEventMapper.kt$AutomationsEventMapper$catch (e: JSONException) { logger.release("getEventFromRemoteMessage() -&gt; Failed to retrieve event that triggered push notification") }</ID>
<ID>SwallowedException:AutomationsEventMapper.kt$AutomationsEventMapper$catch (e: JSONException) { logger.error("getEventFromRemoteMessage() -&gt; Failed to retrieve event that triggered push notification") }</ID>
<ID>SwallowedException:EnvironmentProvider.kt$EnvironmentProvider$catch (throwable: Throwable) { UNKNOWN }</ID>
<ID>SwallowedException:ExceptionHandler.kt$ExceptionHandler$catch (e: Exception) { "" }</ID>
<ID>SwallowedException:FacebookAttribution.kt$FacebookAttribution$catch (e: Exception) { null }</ID>
<ID>SwallowedException:PurchasesCache.kt$PurchasesCache$catch (e: IOException) { setOf() }</ID>
<ID>SwallowedException:QAutomationsManager.kt$QAutomationsManager$catch (e: JSONException) { null }</ID>
<ID>SwallowedException:ScreenFragment.kt$ScreenFragment$catch (e: ActivityNotFoundException) { logger.release("Couldn't find any Activity to handle the Intent with deeplink $url") automationsManager.automationsDidFailExecuting(actionResult) }</ID>
<ID>SwallowedException:ScreenFragment.kt$ScreenFragment$catch (e: ActivityNotFoundException) { logger.release("Couldn't find any Activity to handle the Intent with url $url") automationsManager.automationsDidFailExecuting(actionResult) }</ID>
<ID>SwallowedException:ScreenFragment.kt$ScreenFragment$catch (e: ActivityNotFoundException) { logger.error("Couldn't find any Activity to handle the Intent with deeplink $url") automationsManager.automationsDidFailExecuting(actionResult) }</ID>
<ID>SwallowedException:ScreenFragment.kt$ScreenFragment$catch (e: ActivityNotFoundException) { logger.error("Couldn't find any Activity to handle the Intent with url $url") automationsManager.automationsDidFailExecuting(actionResult) }</ID>
<ID>SwallowedException:ScreenFragment.kt$ScreenFragment$catch (e: Exception) { automationsManager.automationsDidFailExecuting(actionResult) }</ID>
<ID>SwallowedException:SharedPreferencesCache.kt$SharedPreferencesCache$catch (e: IOException) { null }</ID>
<ID>ThrowingExceptionsWithoutMessageOrCause:AdvertisingProvider.kt$AdvertisingProvider.AdvertisingConnection$IllegalStateException()</ID>
Expand Down
2 changes: 1 addition & 1 deletion fastlane/report.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@



<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000646">
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000322">

</testcase>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ internal class AutomationsEventMapper(private val logger: Logger) {
null
}
} catch (e: JSONException) {
logger.release("getEventFromRemoteMessage() -> Failed to retrieve event that triggered push notification")
logger.error("getEventFromRemoteMessage() -> Failed to retrieve event that triggered push notification")
}

return null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ internal class QAutomationsManager @Inject constructor(
callback?.onSuccess()
} catch (e: Exception) {
val errorMessage = "Failed to start screen with id $screenId with exception: $e"
logger.release("loadScreen() -> $errorMessage")
logger.error("loadScreen() -> $errorMessage")
callback?.onError(
QonversionError(
QonversionErrorCode.UnknownError,
Expand All @@ -158,7 +158,7 @@ internal class QAutomationsManager @Inject constructor(
{
val errorMessage =
"Failed to load screen with id $screenId. ${it.additionalMessage}"
logger.release("loadScreen() -> $errorMessage")
logger.error("loadScreen() -> $errorMessage")
callback?.onError(QonversionError(it.code, errorMessage))
}
)
Expand Down Expand Up @@ -190,7 +190,7 @@ internal class QAutomationsManager @Inject constructor(
}

private fun logDelegateErrorForFunctionName(functionName: String?) {
logger.release(
logger.error(
"AutomationsDelegate.$functionName() function can not be executed. " +
"It looks like Automations.setDelegate() was not called or delegate has been destroyed by GC"
)
Expand All @@ -203,10 +203,10 @@ internal class QAutomationsManager @Inject constructor(
actionPoint?.let {
logger.debug("loadScreenIfPossible() -> Screen with id ${it.screenId} was found to show")
loadScreen(it.screenId)
} ?: logger.release("loadScreenIfPossible() -> No screens to show")
} ?: logger.warn("loadScreenIfPossible() -> No screens to show")
},
{
logger.debug("loadScreenIfPossible() -> Failed to retrieve screenId to show")
logger.error("loadScreenIfPossible() -> Failed to retrieve screenId to show")
}
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,15 @@ internal class ScreenProcessor {
val id = json.getString(MACROS_ID_KEY)

if (category != MACROS_PRODUCT_CATEGORY || id.isEmpty()) {
logger.release("Invalid macros value")
logger.error("Invalid macros value")
return@forEach
}

val macrosType = MacrosType.fromType(type)
val macros = Macros(macrosType, id, value)
result.add(macros)
} catch (e: JSONException) {
logger.release("Failed to parse screen macros. $e")
logger.error("Failed to parse screen macros. $e")
return@forEach
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class ScreenFragment : Fragment(), ScreenContract.View {
startActivity(intent)
automationsManager.automationsDidFinishExecuting(actionResult)
} catch (e: ActivityNotFoundException) {
logger.release("Couldn't find any Activity to handle the Intent with url $url")
logger.error("Couldn't find any Activity to handle the Intent with url $url")
automationsManager.automationsDidFailExecuting(actionResult)
}
}
Expand All @@ -104,7 +104,7 @@ class ScreenFragment : Fragment(), ScreenContract.View {
startActivity(intent)
close(QActionResult(QActionResultType.DeepLink, getActionResultMap(url)))
} catch (e: ActivityNotFoundException) {
logger.release("Couldn't find any Activity to handle the Intent with deeplink $url")
logger.error("Couldn't find any Activity to handle the Intent with deeplink $url")
automationsManager.automationsDidFailExecuting(actionResult)
}
}
Expand Down Expand Up @@ -211,11 +211,11 @@ class ScreenFragment : Fragment(), ScreenContract.View {
null
)
}, { error ->
logger.release("loadWebView() -> Failed to process screen macros ${error.description}")
logger.error("loadWebView() -> Failed to process screen macros ${error.description}")
onError(error, true)
})
} ?: run {
logger.release("loadWebView() -> Failed to fetch html page for the app screen")
logger.error("loadWebView() -> Failed to fetch html page for the app screen")
onError(QonversionError(QonversionErrorCode.UnknownError), true)
}
}
Expand All @@ -238,7 +238,7 @@ class ScreenFragment : Fragment(), ScreenContract.View {
actionResult: QActionResult
) {
binding?.progressBarLayout?.progressBar?.visibility = View.GONE
logger.debug("ScreenActivity $functionName -> $error.description")
logger.error("ScreenActivity $functionName -> $error.description")
actionResult.error = error
automationsManager.automationsDidFailExecuting(actionResult)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,13 @@ internal class QProductCenterManager internal constructor(
purchaseModel: PurchaseModelInternal,
callback: QonversionEntitlementsCallback
) {
if (internalConfig.isAnalyticsMode) {
logger.warn(
"Making purchases via Qonversion in the Analytics mode can lead to " +
"an inconsistent state in the store. Consider switching to " +
"the Subscription management mode.")
}

fun tryToPurchase() {
tryToPurchase(context, purchaseModel, callback)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ internal class QUserPropertiesManager @Inject internal constructor(
try {
FacebookAttribution().getAttributionId(context.contentResolver, this)
} catch (e: IllegalStateException) {
logger.release("Failed to retrieve facebook attribution ${e.localizedMessage}")
logger.error("Failed to retrieve facebook attribution ${e.localizedMessage}")
}
}

Expand All @@ -81,7 +81,7 @@ internal class QUserPropertiesManager @Inject internal constructor(
repository.sendProperties(properties,
onSuccess = { result ->
result.propertyErrors.forEach { propertyError ->
logger.release("Failed to save property ${propertyError.key}: ${propertyError.error}")
logger.error("Failed to save property ${propertyError.key}: ${propertyError.error}")
}

isRequestInProgress = false
Expand Down Expand Up @@ -119,13 +119,13 @@ internal class QUserPropertiesManager @Inject internal constructor(
delayCalculator.countDelay(PROPERTY_UPLOAD_MIN_DELAY, retriesCounter)
sendPropertiesWithDelay(retryDelay)
} catch (e: IllegalArgumentException) {
logger.debug("The error occurred during send properties. $e")
logger.error("The error occurred during properties sending. $e")
}
}

fun setUserProperty(key: QUserPropertyKey, value: String) {
if (key === QUserPropertyKey.Custom) {
logger.release("Can not set user property with the key `QUserPropertyKey.Custom`. " +
logger.error("Can not set user property with the key `QUserPropertyKey.Custom`. " +
"To set custom user property, use the `setCustomUserProperty` method.")
return
}
Expand Down
Loading

0 comments on commit 12376c2

Please sign in to comment.