From 24a958ec450520beba9629345cf9c24e4eb52dbf Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Sat, 17 Aug 2024 23:30:29 +0530 Subject: [PATCH 01/14] refactor PushTemplateImageUtils to a separate module --- code/build.gradle.kts | 1 + code/notificationbuilder/build.gradle.kts | 1 + .../NotificationBuilder.kt | 4 +- .../notificationbuilder/RemindLaterHandler.kt | 12 +- .../internal/PendingIntentUtils.kt | 8 +- .../AutoCarouselNotificationBuilder.kt | 12 +- .../builders/BasicNotificationBuilder.kt | 8 +- .../builders/InputBoxNotificationBuilder.kt | 10 +- .../builders/LegacyNotificationBuilder.kt | 2 +- .../ManualCarouselNotificationBuilder.kt | 14 +- .../builders/MultiIconNotificationBuilder.kt | 10 +- .../ProductCatalogNotificationBuilder.kt | 32 ++--- .../ProductRatingNotificationBuilder.kt | 20 +-- .../builders/TimerNotificationBuilder.kt | 8 +- .../builders/ZeroBezelNotificationBuilder.kt | 4 +- .../extensions/AppResourceExtensions.kt | 2 +- .../NotificationCompatBuilderExtensions.kt | 12 +- .../NotificationManagerExtensions.kt | 10 +- .../extensions/RemoteViewsExtensions.kt | 26 ++-- .../internal/templates/AEPPushTemplate.kt | 4 +- .../internal/templates/BasicPushTemplate.kt | 8 +- .../templates/CarouselPushTemplate.kt | 8 +- .../templates/InputBoxPushTemplate.kt | 2 +- .../templates/ManualCarouselPushTemplate.kt | 12 +- .../templates/MultiIconPushTemplate.kt | 38 +++--- .../templates/ProductCatalogPushTemplate.kt | 12 +- .../templates/ProductRatingPushTemplate.kt | 33 ++--- .../internal/templates/TimerPushTemplate.kt | 2 +- .../templates/ZeroBezelPushTemplate.kt | 2 +- .../NotificationBuilderTests.kt | 38 +++--- .../RemindLaterHandlerTests.kt | 18 +-- .../AEPPushNotificationBuilderTest.kt | 12 +- .../AutoCarouselNotificationBuilderTest.kt | 8 +- .../builders/BasicNotificationBuilderTest.kt | 29 ++-- .../InputBoxNotificationBuilderTest.kt | 23 ++-- .../builders/LegacyNotificationBuilderTest.kt | 28 ++-- .../ManualCarouselNotificationBuilderTest.kt | 28 ++-- .../ProductCatalogNotificationBuilderTest.kt | 20 +-- .../ProductRatingNotificationBuilderTest.kt | 18 +-- .../builders/TimerNotificationBuilderTests.kt | 4 +- .../ZeroBezelNotificationBuilderTest.kt | 26 ++-- ...NotificationCompatBuilderExtensionsTest.kt | 56 ++++---- .../NotificationManagerExtensionsTest.kt | 8 +- .../extensions/RemoteViewsExtensionsTest.kt | 38 +++--- .../internal/templates/AEPPushTemplateTest.kt | 18 +-- .../templates/BasicPushTemplateTests.kt | 12 +- .../templates/CarousalPushTemplateTests.kt | 14 +- .../MockAEPPushTemplateDataProvider.kt | 126 ++++++++--------- .../MockCarousalTemplateDataProvider.kt | 74 +++++----- .../MockInputBoxPushTemplateDataProvider.kt | 128 +++++++++--------- .../MockMultiIconTemplateDataProvider.kt | 28 ++-- .../MockProductCatalogTemplateDataProvider.kt | 38 +++--- .../MockProductRatingTemplateDataProvider.kt | 50 +++---- .../MockTimerTemplateDataProvider.kt | 94 ++++++------- .../templates/MultiIconPushTemplateTests.kt | 26 ++-- code/settings.gradle.kts | 3 +- code/testapp/build.gradle.kts | 1 + .../NotificationTrackerActivity.kt | 10 +- code/ui-utils/.gitignore | 1 + code/ui-utils/build.gradle.kts | 47 +++++++ code/ui-utils/consumer-rules.pro | 0 code/ui-utils/proguard-rules.pro | 21 +++ .../adobe/ui_utils/ExampleInstrumentedTest.kt | 24 ++++ code/ui-utils/src/main/AndroidManifest.xml | 4 + .../adobe/ui_utils}/PushTemplateConstants.kt | 118 ++++++++-------- .../adobe/ui_utils}/PushTemplateImageUtils.kt | 54 +++++--- .../com/adobe/ui_utils/ExampleUnitTest.kt | 17 +++ 67 files changed, 854 insertions(+), 725 deletions(-) create mode 100644 code/ui-utils/.gitignore create mode 100644 code/ui-utils/build.gradle.kts create mode 100644 code/ui-utils/consumer-rules.pro create mode 100644 code/ui-utils/proguard-rules.pro create mode 100644 code/ui-utils/src/androidTest/java/com/adobe/ui_utils/ExampleInstrumentedTest.kt create mode 100644 code/ui-utils/src/main/AndroidManifest.xml rename code/{notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder => ui-utils/src/main/java/com/adobe/ui_utils}/PushTemplateConstants.kt (62%) rename code/{notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal => ui-utils/src/main/java/com/adobe/ui_utils}/PushTemplateImageUtils.kt (87%) create mode 100644 code/ui-utils/src/test/java/com/adobe/ui_utils/ExampleUnitTest.kt diff --git a/code/build.gradle.kts b/code/build.gradle.kts index fec4663b..6795d14d 100644 --- a/code/build.gradle.kts +++ b/code/build.gradle.kts @@ -20,5 +20,6 @@ buildscript { } dependencies { classpath("com.github.adobe:aepsdk-commons:gp-3.0.0") +// classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20") } } diff --git a/code/notificationbuilder/build.gradle.kts b/code/notificationbuilder/build.gradle.kts index 60943c91..af67489c 100644 --- a/code/notificationbuilder/build.gradle.kts +++ b/code/notificationbuilder/build.gradle.kts @@ -38,6 +38,7 @@ aepLibrary { dependencies { implementation("com.adobe.marketing.mobile:core:$mavenCoreVersion") + implementation(project(":ui-utils")) testImplementation("org.robolectric:robolectric:4.7") testImplementation("io.mockk:mockk:1.13.11") } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt index ba64f9a5..c92ef819 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt @@ -17,7 +17,7 @@ import android.content.Context import android.content.Intent import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationBuilder.constructNotificationBuilder -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.builders.AutoCarouselNotificationBuilder import com.adobe.marketing.mobile.notificationbuilder.internal.builders.BasicNotificationBuilder @@ -118,7 +118,7 @@ object NotificationBuilder { ): NotificationCompat.Builder { val pushTemplateType = - PushTemplateType.fromString(notificationData.getString(PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE)) + PushTemplateType.fromString(notificationData.getString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE)) when (pushTemplateType) { PushTemplateType.BASIC -> { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt index a82fd8a8..31e66b68 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt @@ -49,23 +49,23 @@ object RemindLaterHandler { val intentExtras = remindLaterIntent.extras ?: throw NotificationConstructionFailedException("Intent extras are null, cannot schedule notification for later.") val remindLaterTimestamp = - intentExtras.getString(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP)?.toLongOrNull() ?: 0 + intentExtras.getString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP)?.toLongOrNull() ?: 0 val remindLaterDuration = - intentExtras.getString(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION)?.toLongOrNull() ?: 0 + intentExtras.getString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION)?.toLongOrNull() ?: 0 // calculate difference in fire date from the current date if timestamp is provided val secondsUntilFireDate: Long = if (remindLaterDuration > 0) remindLaterDuration else remindLaterTimestamp - TimeUtils.getUnixTimeInSeconds() val notificationManager = NotificationManagerCompat.from(context) - val tag = intentExtras.getString(PushTemplateConstants.PushPayloadKeys.TAG) + val tag = intentExtras.getString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) // if fire date is greater than 0 then we want to schedule a reminder notification. if (secondsUntilFireDate <= 0) { tag?.let { notificationManager.cancel(tag.hashCode()) } throw IllegalArgumentException("Remind later timestamp or duration is less than or equal to current timestamp, cannot schedule notification for later.") } - Log.trace(PushTemplateConstants.LOG_TAG, SELF_TAG, "Remind later pressed, will reschedule the notification to be displayed $secondsUntilFireDate seconds from now") + Log.trace(com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Remind later pressed, will reschedule the notification to be displayed $secondsUntilFireDate seconds from now") // calculate the trigger time val triggerTimeInSeconds: Long = if (remindLaterDuration > 0) remindLaterDuration + TimeUtils.getUnixTimeInSeconds() @@ -74,14 +74,14 @@ object RemindLaterHandler { // schedule a pending intent to be broadcast at the specified timestamp if (broadcastReceiverClass == null) { Log.warning( - PushTemplateConstants.LOG_TAG, + com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Broadcast receiver class is null, cannot schedule notification for later." ) tag?.let { notificationManager.cancel(tag.hashCode()) } return } - val scheduledIntent = Intent(PushTemplateConstants.IntentActions.SCHEDULED_NOTIFICATION_BROADCAST) + val scheduledIntent = Intent(com.adobe.ui_utils.PushTemplateConstants.IntentActions.SCHEDULED_NOTIFICATION_BROADCAST) scheduledIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) scheduledIntent.putExtras(intentExtras) PendingIntentUtils.scheduleNotification(context, scheduledIntent, broadcastReceiverClass, triggerTimeInSeconds) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt index 6b6e6c55..96a37fdb 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt @@ -19,7 +19,7 @@ import android.content.Context import android.content.Intent import android.os.Build import android.os.Bundle -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.services.Log import java.util.Random @@ -106,7 +106,7 @@ internal object PendingIntentUtils { actionID: String?, intentExtras: Bundle? ): PendingIntent? { - val intent = Intent(PushTemplateConstants.NotificationAction.CLICKED) + val intent = Intent(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED) trackerActivityClass?.let { intent.setClass(context.applicationContext, trackerActivityClass) } @@ -140,10 +140,10 @@ internal object PendingIntentUtils { actionId: String? ) { if (!actionUri.isNullOrEmpty()) { - intent.putExtra(PushTemplateConstants.TrackingKeys.ACTION_URI, actionUri) + intent.putExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI, actionUri) } if (!actionId.isNullOrEmpty()) { - intent.putExtra(PushTemplateConstants.TrackingKeys.ACTION_ID, actionId) + intent.putExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID, actionId) } } } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt index 2b6aabf1..d4650f1b 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt @@ -19,10 +19,10 @@ import android.graphics.Bitmap import android.widget.RemoteViews import androidx.annotation.VisibleForTesting import androidx.core.app.NotificationCompat -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate @@ -48,12 +48,12 @@ internal object AutoCarouselNotificationBuilder { val expandedLayout = RemoteViews(packageName, R.layout.push_template_auto_carousel) // load images into the carousel - val downloadedImageCount = PushTemplateImageUtils.cacheImages( + val downloadedImageCount = com.adobe.ui_utils.PushTemplateImageUtils.cacheImages( pushTemplate.carouselItems.map { it.imageUri } ) // fallback to a basic push template notification builder if less than 3 images were able to be downloaded - if (downloadedImageCount < PushTemplateConstants.DefaultValues.CAROUSEL_MINIMUM_IMAGE_COUNT) { + if (downloadedImageCount < com.adobe.ui_utils.PushTemplateConstants.DefaultValues.CAROUSEL_MINIMUM_IMAGE_COUNT) { Log.warning(LOG_TAG, SELF_TAG, "Less than 3 images are available for the auto carousel push template, falling back to a basic push template.") return BasicNotificationBuilder.fallbackToBasicNotification( context, @@ -115,7 +115,7 @@ internal object AutoCarouselNotificationBuilder { val downloadedImageUris = mutableListOf() for (item: CarouselPushTemplate.CarouselItem in items) { val imageUri: String = item.imageUri - val pushImage: Bitmap? = PushTemplateImageUtils.getCachedImage(imageUri) + val pushImage: Bitmap? = com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(imageUri) if (pushImage == null) { Log.trace( LOG_TAG, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt index a9b00bae..8b6ca281 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt @@ -20,9 +20,9 @@ import android.widget.RemoteViews import androidx.annotation.VisibleForTesting import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.addActionButtons import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired @@ -139,7 +139,7 @@ internal object BasicNotificationBuilder { ) val remindIntent = AEPPushNotificationBuilder.createIntent( - PushTemplateConstants.IntentActions.REMIND_LATER_CLICKED, + com.adobe.ui_utils.PushTemplateConstants.IntentActions.REMIND_LATER_CLICKED, pushTemplate ) remindIntent.putExtra(PushPayloadKeys.CHANNEL_ID, channelId) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt index 97a4d595..5c8d1107 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt @@ -21,9 +21,9 @@ import android.widget.RemoteViews import androidx.core.app.NotificationCompat import androidx.core.app.RemoteInput import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteImage @@ -119,7 +119,7 @@ internal object InputBoxNotificationBuilder { pushTemplate: InputBoxPushTemplate ) { val inputHint = - if (pushTemplate.inputTextHint.isNullOrEmpty()) PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT else pushTemplate.inputTextHint + if (pushTemplate.inputTextHint.isNullOrEmpty()) com.adobe.ui_utils.PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT else pushTemplate.inputTextHint val remoteInput = RemoteInput.Builder(pushTemplate.inputBoxReceiverName) .setLabel(inputHint) .build() @@ -156,7 +156,7 @@ internal object InputBoxNotificationBuilder { ): PendingIntent { val inputReceivedIntentExtras = pushTemplate.data.getBundle() inputReceivedIntentExtras.putString(PushPayloadKeys.CHANNEL_ID, channelId) - val intent = Intent(PushTemplateConstants.NotificationAction.INPUT_RECEIVED) + val intent = Intent(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.INPUT_RECEIVED) trackerActivityClass?.let { intent.setClass(context.applicationContext, trackerActivityClass) } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt index e4144089..9cffcb55 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt @@ -16,7 +16,7 @@ import android.app.NotificationManager import android.content.Context import android.os.Build import androidx.core.app.NotificationCompat -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.addActionButtons import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setLargeIcon diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt index f0ab8e0b..6832ed90 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt @@ -22,16 +22,16 @@ import android.widget.RemoteViews import androidx.annotation.VisibleForTesting import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualCarouselPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys +import com.adobe.ui_utils.PushTemplateImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a manual or filmstrip carousel push template notification. @@ -137,7 +137,8 @@ internal object ManualCarouselNotificationBuilder { val validCarouselItems = mutableListOf() for (item: CarouselPushTemplate.CarouselItem in items) { val imageUri: String = item.imageUri - val pushImage: Bitmap? = PushTemplateImageUtils.getCachedImage(imageUri) + val pushImage: Bitmap? = + PushTemplateImageUtils.getCachedImage(imageUri) if (pushImage == null) { Log.warning( LOG_TAG, @@ -278,7 +279,8 @@ internal object ManualCarouselNotificationBuilder { ) { for (item: CarouselPushTemplate.CarouselItem in items) { val imageUri = item.imageUri - val pushImage: Bitmap? = PushTemplateImageUtils.getCachedImage(imageUri) + val pushImage: Bitmap? = + PushTemplateImageUtils.getCachedImage(imageUri) if (pushImage == null) { Log.warning( LOG_TAG, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt index d2e97946..391ad861 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt @@ -20,7 +20,7 @@ import android.os.Bundle import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction @@ -39,7 +39,7 @@ internal object MultiIconNotificationBuilder { ): NotificationCompat.Builder { Log.trace( - PushTemplateConstants.LOG_TAG, + com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Building an icon template push notification." ) @@ -69,8 +69,8 @@ internal object MultiIconNotificationBuilder { ) val closeButtonIntentExtra = Bundle(pushTemplate.data.getBundle()) // copy the bundle - closeButtonIntentExtra.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "false") - val dismissIntent = Intent(PushTemplateConstants.NotificationAction.DISMISSED) + closeButtonIntentExtra.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "false") + val dismissIntent = Intent(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.DISMISSED) trackerActivityClass?.let { dismissIntent.setClass(context.applicationContext, trackerActivityClass) } @@ -133,7 +133,7 @@ internal object MultiIconNotificationBuilder { } notificationLayout.addView(R.id.icons_layout_linear, iconItem) } - if (validImagesAddedCount < PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MIN_IMAGE_COUNT) { + if (validImagesAddedCount < com.adobe.ui_utils.PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MIN_IMAGE_COUNT) { throw NotificationConstructionFailedException("Valid icons are less then 3, cannot build a notification.") } } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt index b03eebdc..2c49f4b9 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt @@ -19,11 +19,11 @@ import android.content.Context import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setElementColor import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductCatalogPushTemplate @@ -51,7 +51,7 @@ internal object ProductCatalogNotificationBuilder { // fast fail if we can't download a catalog item image val catalogImageUris = pushTemplate.catalogItems.map { it.img } - downloadedImageCount = PushTemplateImageUtils.cacheImages(catalogImageUris) + downloadedImageCount = com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(catalogImageUris) if (downloadedImageCount != catalogImageUris.size) { Log.error( LOG_TAG, @@ -64,7 +64,7 @@ internal object ProductCatalogNotificationBuilder { val packageName = context.packageName val smallLayout = RemoteViews(packageName, R.layout.push_template_collapsed) val expandedLayout = - if (pushTemplate.displayLayout == PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT) { + if (pushTemplate.displayLayout == com.adobe.ui_utils.PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT) { RemoteViews(packageName, R.layout.push_tempate_vertical_catalog) } else { RemoteViews(packageName, R.layout.push_template_horizontal_catalog) @@ -146,7 +146,7 @@ internal object ProductCatalogNotificationBuilder { ) val pushImage = - PushTemplateImageUtils.getCachedImage(pushTemplate.catalogItems[pushTemplate.currentIndex].img) + com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(pushTemplate.catalogItems[pushTemplate.currentIndex].img) expandedLayout.setImageViewBitmap(R.id.product_image, pushImage) expandedLayout.setOnClickPendingIntent( R.id.product_image, @@ -154,7 +154,7 @@ internal object ProductCatalogNotificationBuilder { context, trackerActivityClass, pushTemplate.catalogItems[pushTemplate.currentIndex].uri, - PushTemplateConstants.CatalogActionIds.PRODUCT_IMAGE_CLICKED, + com.adobe.ui_utils.PushTemplateConstants.CatalogActionIds.PRODUCT_IMAGE_CLICKED, pushTemplate.data.getBundle() ) ) @@ -190,7 +190,7 @@ internal object ProductCatalogNotificationBuilder { R.id.product_thumbnail_3 ) for (index in catalogItems.indices) { - val thumbImage = PushTemplateImageUtils.getCachedImage(catalogItems[index].img) + val thumbImage = com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(catalogItems[index].img) if (thumbImage == null) { Log.warning( LOG_TAG, @@ -247,7 +247,7 @@ internal object ProductCatalogNotificationBuilder { context, trackerActivityClass, pushTemplate.ctaButtonUri, - PushTemplateConstants.CatalogActionIds.CTA_BUTTON_CLICKED, + com.adobe.ui_utils.PushTemplateConstants.CatalogActionIds.CTA_BUTTON_CLICKED, pushTemplate.data.getBundle() ) ) @@ -266,8 +266,8 @@ internal object ProductCatalogNotificationBuilder { setElementColor( containerViewId, "#$buttonColor", - PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, - PushTemplateConstants.FriendlyViewNames.CTA_BUTTON + com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, + com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.CTA_BUTTON ) } @@ -284,8 +284,8 @@ internal object ProductCatalogNotificationBuilder { setElementColor( containerViewId, "#$buttonTextColor", - PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - PushTemplateConstants.FriendlyViewNames.CTA_BUTTON + com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.CTA_BUTTON ) } @@ -317,13 +317,13 @@ internal object ProductCatalogNotificationBuilder { ) val thumbnailClickIntent = AEPPushNotificationBuilder.createIntent( - PushTemplateConstants.IntentActions.CATALOG_THUMBNAIL_CLICKED, + com.adobe.ui_utils.PushTemplateConstants.IntentActions.CATALOG_THUMBNAIL_CLICKED, pushTemplate ).apply { setClass(context.applicationContext, broadcastReceiverClass) - putExtra(PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, channelId) + putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, channelId) putExtra( - PushTemplateConstants.IntentKeys.CATALOG_ITEM_INDEX, + com.adobe.ui_utils.PushTemplateConstants.IntentKeys.CATALOG_ITEM_INDEX, currentIndex.toString() ) } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt index ceff33da..26b4b569 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt @@ -21,10 +21,10 @@ import android.view.View import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setNotificationTitleTextColor import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction @@ -71,7 +71,7 @@ internal object ProductRatingNotificationBuilder { // set the image on the notification val imageUri = pushTemplate.imageUrl - val downloadedImageCount = PushTemplateImageUtils.cacheImages(listOf(imageUri)) + val downloadedImageCount = com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf(imageUri)) if (downloadedImageCount == 0) { Log.trace( @@ -83,7 +83,7 @@ internal object ProductRatingNotificationBuilder { } else { expandedLayout.setImageViewBitmap( R.id.expanded_template_image, - PushTemplateImageUtils.getCachedImage(imageUri) + com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(imageUri) ) } @@ -98,7 +98,7 @@ internal object ProductRatingNotificationBuilder { ) // check if confirm button needs to be shown - if (pushTemplate.ratingSelected > PushTemplateConstants.ProductRatingKeys.RATING_UNSELECTED) { + if (pushTemplate.ratingSelected > com.adobe.ui_utils.PushTemplateConstants.ProductRatingKeys.RATING_UNSELECTED) { expandedLayout.setViewVisibility(R.id.rating_confirm, View.VISIBLE) expandedLayout.setNotificationTitleTextColor( pushTemplate.titleTextColor, @@ -108,7 +108,7 @@ internal object ProductRatingNotificationBuilder { // add pending intent for confirm click // sticky is set to false as the notification will be dismissed after confirm click val ratingConfirmedIntentExtras = Bundle(pushTemplate.data.getBundle()) // copy the bundle - ratingConfirmedIntentExtras.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "false") + ratingConfirmedIntentExtras.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "false") val selectedRatingAction = pushTemplate.ratingActionList[pushTemplate.ratingSelected] expandedLayout.setRemoteViewClickAction( context, @@ -190,16 +190,16 @@ internal object ProductRatingNotificationBuilder { } Log.trace(LOG_TAG, SELF_TAG, "Creating a rating click pending intent from a push template object.") - val ratingButtonClickIntent = AEPPushNotificationBuilder.createIntent(PushTemplateConstants.IntentActions.RATING_ICON_CLICKED, pushTemplate) + val ratingButtonClickIntent = AEPPushNotificationBuilder.createIntent(com.adobe.ui_utils.PushTemplateConstants.IntentActions.RATING_ICON_CLICKED, pushTemplate) broadcastReceiverClass.let { ratingButtonClickIntent.setClass(context.applicationContext, broadcastReceiverClass) } ratingButtonClickIntent.putExtra( - PushTemplateConstants.IntentKeys.RATING_SELECTED, + com.adobe.ui_utils.PushTemplateConstants.IntentKeys.RATING_SELECTED, ratingButtonSelection.toString() ) ratingButtonClickIntent.putExtra( - PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, channelId ) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt index 9845ba90..7a04f608 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt @@ -22,9 +22,9 @@ import android.os.SystemClock import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys.TimerKeys +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired @@ -173,7 +173,7 @@ internal object TimerNotificationBuilder { * @return the intent for the timer expiry */ private fun createIntent(template: TimerPushTemplate): Intent { - val intent = AEPPushNotificationBuilder.createIntent(PushTemplateConstants.IntentActions.TIMER_EXPIRED, template) + val intent = AEPPushNotificationBuilder.createIntent(com.adobe.ui_utils.PushTemplateConstants.IntentActions.TIMER_EXPIRED, template) // remove timer to prevent countdown from being recreated intent.removeExtra(TimerKeys.TIMER_DURATION) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt index e790c970..8c9fb37f 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt @@ -18,12 +18,12 @@ import android.view.View import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBezelPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateImageUtils internal object ZeroBezelNotificationBuilder { private const val SELF_TAG = "ZeroBezelNotificationBuilder" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt index 8b4c7c40..58924dad 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt @@ -15,7 +15,7 @@ import android.content.ContentResolver import android.content.Context import android.content.pm.PackageManager import android.net.Uri -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.services.Log private const val SELF_TAG = "AppResourceExtensions" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt index 3d82a06d..b8920c97 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt @@ -20,10 +20,10 @@ import android.media.RingtoneManager import android.os.Bundle import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.MobileCore -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.services.Log import java.util.Random @@ -212,7 +212,7 @@ internal fun NotificationCompat.Builder.setNotificationDeleteAction( context: Context, trackerActivityClass: Class? ): NotificationCompat.Builder { - val deleteIntent = Intent(PushTemplateConstants.NotificationAction.DISMISSED) + val deleteIntent = Intent(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.DISMISSED) trackerActivityClass?.let { deleteIntent.setClass(context.applicationContext, trackerActivityClass) } @@ -247,8 +247,8 @@ internal fun NotificationCompat.Builder.addActionButtons( } for (eachButton in actionButtons) { val pendingIntent: PendingIntent? = - if (eachButton.type === PushTemplateConstants.ActionType.DEEPLINK || - eachButton.type === PushTemplateConstants.ActionType.WEBURL + if (eachButton.type === com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK || + eachButton.type === com.adobe.ui_utils.PushTemplateConstants.ActionType.WEBURL ) { PendingIntentUtils.createPendingIntentForTrackerActivity( context, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt index 58abcf0f..92eb269f 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt @@ -16,8 +16,8 @@ import android.app.NotificationManager import android.content.Context import android.media.RingtoneManager import android.os.Build -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AEPPushTemplate import com.adobe.marketing.mobile.services.Log @@ -39,8 +39,8 @@ internal fun NotificationManager.createNotificationChannelIfRequired( // create a silent notification channel if push is from intent // if not from intent and channel id is not provided, use the default channel id val channelIdToUse = - if (template.isFromIntent) PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID - else template.channelId ?: PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID + if (template.isFromIntent) com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID + else template.channelId ?: com.adobe.ui_utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID // No channel creation required. if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { @@ -60,7 +60,7 @@ internal fun NotificationManager.createNotificationChannelIfRequired( // Create a channel val channel = NotificationChannel( channelIdToUse, - if (template.isFromIntent) PushTemplateConstants.DefaultValues.SILENT_CHANNEL_NAME else PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_NAME, + if (template.isFromIntent) com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_CHANNEL_NAME else com.adobe.ui_utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_NAME, template.getNotificationImportance() ) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt index 61520901..a4b3d284 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt @@ -18,10 +18,10 @@ import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.RemoteViews -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider import com.adobe.marketing.mobile.util.UrlUtils @@ -79,8 +79,8 @@ internal fun RemoteViews.setNotificationBackgroundColor( setElementColor( containerViewId, "#$backgroundColor", - PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, - PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BACKGROUND + com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, + com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BACKGROUND ) } @@ -98,8 +98,8 @@ internal fun RemoteViews.setTimerTextColor( setElementColor( containerViewId, "#$timerTextColor", - PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - PushTemplateConstants.FriendlyViewNames.TIMER_TEXT + com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.TIMER_TEXT ) } @@ -117,8 +117,8 @@ internal fun RemoteViews.setNotificationTitleTextColor( setElementColor( containerViewId, "#$titleTextColor", - PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - PushTemplateConstants.FriendlyViewNames.NOTIFICATION_TITLE + com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_TITLE ) } @@ -137,8 +137,8 @@ internal fun RemoteViews.setNotificationBodyTextColor( setElementColor( containerViewId, "#$expandedBodyTextColor", - PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BODY_TEXT + com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BODY_TEXT ) } @@ -222,7 +222,7 @@ internal fun RemoteViews.setRemoteImage( if (!UrlUtils.isValidUrl(imageUrl)) { return false } - val downloadedIconCount = PushTemplateImageUtils.cacheImages(listOf(imageUrl)) + val downloadedIconCount = com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf(imageUrl)) if (downloadedIconCount == 0) { Log.warning( LOG_TAG, @@ -234,7 +234,7 @@ internal fun RemoteViews.setRemoteImage( } setImageViewBitmap( containerViewId, - PushTemplateImageUtils.getCachedImage(imageUrl) + com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(imageUrl) ) return true } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt index c500a985..48cd898a 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt @@ -16,8 +16,8 @@ import android.os.Build import androidx.annotation.RequiresApi import com.adobe.marketing.mobile.notificationbuilder.NotificationPriority import com.adobe.marketing.mobile.notificationbuilder.NotificationVisibility -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.ActionType -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys +import com.adobe.ui_utils.PushTemplateConstants.ActionType +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt index a8906b54..a933e421 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt @@ -12,10 +12,10 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import androidx.annotation.VisibleForTesting -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.ActionButtons -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.ActionType -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys +import com.adobe.ui_utils.PushTemplateConstants.ActionButtons +import com.adobe.ui_utils.PushTemplateConstants.ActionType +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log import org.json.JSONArray diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt index 32a7bbe2..8311ac67 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt @@ -11,10 +11,10 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.CarouselItemKeys -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys +import com.adobe.ui_utils.PushTemplateConstants.CarouselItemKeys +import com.adobe.ui_utils.PushTemplateConstants.DefaultValues +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log import org.json.JSONArray diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt index 5f914d83..4dd701b1 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt @@ -11,7 +11,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData /** diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt index 35448e9e..5df3f39b 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt @@ -11,14 +11,14 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData internal class ManualCarouselPushTemplate(data: NotificationData) : CarouselPushTemplate(data) { internal var intentAction: String? = null private set - internal var centerImageIndex: Int = PushTemplateConstants.DefaultValues.NO_CENTER_INDEX_SET + internal var centerImageIndex: Int = com.adobe.ui_utils.PushTemplateConstants.DefaultValues.NO_CENTER_INDEX_SET /** * Constructs a Manual Carousel Push Template from the provided data. @@ -29,17 +29,17 @@ internal class ManualCarouselPushTemplate(data: NotificationData) : CarouselPush if (data is IntentData && data.actionName != null) { this.intentAction = data.actionName centerImageIndex = - data.getInteger(PushTemplateConstants.IntentKeys.CENTER_IMAGE_INDEX) + data.getInteger(com.adobe.ui_utils.PushTemplateConstants.IntentKeys.CENTER_IMAGE_INDEX) ?: getDefaultCarouselIndex(carouselLayout) } } companion object { private fun getDefaultCarouselIndex(carouselLayoutType: String): Int { - return if (carouselLayoutType == PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) { - PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX + return if (carouselLayoutType == com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) { + com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX } else { - PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX + com.adobe.ui_utils.PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX } } } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt index 28e4cd8d..1c894033 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt @@ -11,8 +11,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log import org.json.JSONArray @@ -24,7 +24,7 @@ internal class MultiIconPushTemplate(data: NotificationData) : AEPPushTemplate(d private val SELF_TAG = "MultiIconNotificationTemplate" data class MultiIconTemplateItem( val iconUrl: String, - val actionType: PushTemplateConstants.ActionType, + val actionType: com.adobe.ui_utils.PushTemplateConstants.ActionType, val actionUri: String? ) @@ -32,17 +32,17 @@ internal class MultiIconPushTemplate(data: NotificationData) : AEPPushTemplate(d internal var cancelIcon: String? = null init { - val itemsJson = data.getRequiredString(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS) + val itemsJson = data.getRequiredString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS) templateItemList = getTemplateItemList(itemsJson) - ?: throw IllegalArgumentException("Required field \"${PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.") + ?: throw IllegalArgumentException("Required field \"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.") - if (templateItemList.size < PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MIN_IMAGE_COUNT || - templateItemList.size > PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MAX_IMAGE_COUNT + if (templateItemList.size < com.adobe.ui_utils.PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MIN_IMAGE_COUNT || + templateItemList.size > com.adobe.ui_utils.PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MAX_IMAGE_COUNT ) { - throw IllegalArgumentException("\"${PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" field must have 3 to 5 valid items") + throw IllegalArgumentException("\"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" field must have 3 to 5 valid items") } - cancelIcon = data.getString(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON) + cancelIcon = data.getString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON) if (cancelIcon.isNullOrEmpty()) { cancelIcon = DEFAULT_DELETE_ICON_NAME } @@ -51,7 +51,7 @@ internal class MultiIconPushTemplate(data: NotificationData) : AEPPushTemplate(d private fun getTemplateItemList(templateIconListJsonString: String?): MutableList? { if (templateIconListJsonString.isNullOrEmpty()) { Log.warning( - PushTemplateConstants.LOG_TAG, + com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Exception in converting rating uri json string to json array, Error :" + " templateIconList Json String is null or empty" @@ -68,7 +68,7 @@ internal class MultiIconPushTemplate(data: NotificationData) : AEPPushTemplate(d } } catch (e: JSONException) { Log.debug( - PushTemplateConstants.LOG_TAG, + com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Exception in converting template action json string to json array, Error : ${e.localizedMessage}" ) @@ -79,28 +79,28 @@ internal class MultiIconPushTemplate(data: NotificationData) : AEPPushTemplate(d private fun getIconItemFromJsonObject(jsonObject: JSONObject): MultiIconTemplateItem? { return try { - val imageUri = jsonObject.getString(PushTemplateConstants.MultiIconTemplateKeys.IMG) + val imageUri = jsonObject.getString(com.adobe.ui_utils.PushTemplateConstants.MultiIconTemplateKeys.IMG) // In case of invalid image URI, return null as icon is mandatory if (imageUri.isNullOrEmpty()) { Log.debug( - PushTemplateConstants.LOG_TAG, + com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Image uri is empty, cannot create icon item." ) return null } var uri: String? = null - val actionTypeString = jsonObject.getString(PushTemplateConstants.MultiIconTemplateKeys.TYPE) + val actionTypeString = jsonObject.getString(com.adobe.ui_utils.PushTemplateConstants.MultiIconTemplateKeys.TYPE) var actionType = if (actionTypeString.isNullOrEmpty()) { - PushTemplateConstants.ActionType.NONE + com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE } else { - PushTemplateConstants.ActionType.valueOf(actionTypeString) + com.adobe.ui_utils.PushTemplateConstants.ActionType.valueOf(actionTypeString) } - if (actionType == PushTemplateConstants.ActionType.WEBURL || actionType == PushTemplateConstants.ActionType.DEEPLINK) { - uri = jsonObject.getString(PushTemplateConstants.MultiIconTemplateKeys.URI) + if (actionType == com.adobe.ui_utils.PushTemplateConstants.ActionType.WEBURL || actionType == com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK) { + uri = jsonObject.getString(com.adobe.ui_utils.PushTemplateConstants.MultiIconTemplateKeys.URI) if (uri.isNullOrEmpty()) { Log.debug( - PushTemplateConstants.LOG_TAG, + com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Uri is empty for action type $actionType, cannot create icon item." ) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt index fde3a03b..c1f2200a 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt @@ -11,11 +11,11 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.CatalogItemKeys -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.CatalogItemKeys +import com.adobe.ui_utils.PushTemplateConstants.DefaultValues +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log import org.json.JSONArray @@ -75,7 +75,7 @@ internal class ProductCatalogPushTemplate(data: NotificationData) : AEPPushTempl displayLayout = data.getRequiredString(PushPayloadKeys.CATALOG_LAYOUT) rawCatalogItems = data.getRequiredString(PushPayloadKeys.CATALOG_ITEMS) catalogItems = parseCatalogItemsFromString(rawCatalogItems) - currentIndex = data.getInteger(PushTemplateConstants.IntentKeys.CATALOG_ITEM_INDEX) + currentIndex = data.getInteger(com.adobe.ui_utils.PushTemplateConstants.IntentKeys.CATALOG_ITEM_INDEX) ?: DefaultValues.PRODUCT_CATALOG_START_INDEX } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt index a88a1b0b..579db770 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt @@ -11,7 +11,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log import org.json.JSONArray @@ -21,7 +21,7 @@ internal class ProductRatingPushTemplate(data: NotificationData) : AEPPushTempla private val SELF_TAG = "ProductRatingPushTemplate" - class RatingAction(val type: PushTemplateConstants.ActionType, val link: String?) { + class RatingAction(val type: com.adobe.ui_utils.PushTemplateConstants.ActionType, val link: String?) { companion object { private const val SELF_TAG = "RatingAction" @@ -34,19 +34,20 @@ internal class ProductRatingPushTemplate(data: NotificationData) : AEPPushTempla fun from(jsonObject: JSONObject): RatingAction? { return try { var uri: String? = null - val type = PushTemplateConstants.ActionType.valueOf(jsonObject.getString(PushTemplateConstants.RatingAction.TYPE)) - if (type == PushTemplateConstants.ActionType.WEBURL || type == PushTemplateConstants.ActionType.DEEPLINK) { - uri = jsonObject.getString(PushTemplateConstants.RatingAction.URI) + val type = com.adobe.ui_utils.PushTemplateConstants.ActionType.valueOf(jsonObject.getString( + com.adobe.ui_utils.PushTemplateConstants.RatingAction.TYPE)) + if (type == com.adobe.ui_utils.PushTemplateConstants.ActionType.WEBURL || type == com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK) { + uri = jsonObject.getString(com.adobe.ui_utils.PushTemplateConstants.RatingAction.URI) } Log.trace( - PushTemplateConstants.LOG_TAG, + com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Creating a rating action with uri ($uri), and type ($type)." ) RatingAction(type, uri) } catch (e: Exception) { Log.warning( - PushTemplateConstants.LOG_TAG, + com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Exception in converting rating action json string to json object, Error : ${e.localizedMessage}." ) @@ -63,22 +64,22 @@ internal class ProductRatingPushTemplate(data: NotificationData) : AEPPushTempla internal val ratingSelected: Int init { - ratingUnselectedIcon = data.getRequiredString(PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON) - ratingSelectedIcon = data.getRequiredString(PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON) - ratingActionString = data.getRequiredString(PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS) + ratingUnselectedIcon = data.getRequiredString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON) + ratingSelectedIcon = data.getRequiredString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON) + ratingActionString = data.getRequiredString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS) ratingActionList = getRatingActionsFromString(ratingActionString) - ?: throw IllegalArgumentException("Required field \"${PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS}\" is invalid.") + ?: throw IllegalArgumentException("Required field \"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS}\" is invalid.") if (ratingActionList.size < 3 || ratingActionList.size > 5) { - throw IllegalArgumentException("\"${PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS}\" field must have 3 to 5 rating actions") + throw IllegalArgumentException("\"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS}\" field must have 3 to 5 rating actions") } - ratingSelected = data.getInteger(PushTemplateConstants.IntentKeys.RATING_SELECTED) - ?: PushTemplateConstants.ProductRatingKeys.RATING_UNSELECTED + ratingSelected = data.getInteger(com.adobe.ui_utils.PushTemplateConstants.IntentKeys.RATING_SELECTED) + ?: com.adobe.ui_utils.PushTemplateConstants.ProductRatingKeys.RATING_UNSELECTED } private fun getRatingActionsFromString(ratingActionJsonString: String?): List? { if (ratingActionJsonString.isNullOrEmpty()) { Log.debug( - PushTemplateConstants.LOG_TAG, + com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Exception in converting rating uri json string to json array, Error :" + " rating uris is null" @@ -95,7 +96,7 @@ internal class ProductRatingPushTemplate(data: NotificationData) : AEPPushTempla } } catch (e: Exception) { Log.debug( - PushTemplateConstants.LOG_TAG, + com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Exception in converting rating uri json string to json array, Error : ${e.localizedMessage}" ) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt index 7a41eb39..3b388576 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt @@ -11,7 +11,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys.TimerKeys +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.util.TimeUtils diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt index 469654e4..ddd3fe40 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt @@ -11,7 +11,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData internal class ZeroBezelPushTemplate(data: NotificationData) : AEPPushTemplate(data) { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt index 4362c756..086619a3 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt @@ -20,7 +20,7 @@ import android.content.Context import android.content.Intent import androidx.core.app.NotificationManagerCompat import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.builders.AutoCarouselNotificationBuilder import com.adobe.marketing.mobile.notificationbuilder.internal.builders.BasicNotificationBuilder @@ -76,7 +76,7 @@ class NotificationBuilderTests { trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass mockkObject(PendingIntentUtils) - mockkObject(PushTemplateImageUtils) + mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) } @After @@ -205,7 +205,7 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls LegacyNotificationBuilder construct`() { val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = "some unknown type" + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = "some unknown type" NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { LegacyNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass) } } @@ -234,8 +234,8 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls InputBoxNotificationBuilder construct`() { val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.INPUT_BOX.value - mapData[PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME] = "receiverName" + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.INPUT_BOX.value + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME] = "receiverName" NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { InputBoxNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass, broadcastReceiverClass) } } @@ -243,40 +243,40 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls ZeroBezelNotificationBuilder construct`() { val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.ZERO_BEZEL.value + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.ZERO_BEZEL.value NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { ZeroBezelNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass) } } @Test fun `verify private createNotificationBuilder calls ProductRatingNotificationBuilder construct`() { - every { PushTemplateImageUtils.cacheImages(any()) } answers { 1 } + every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(any()) } answers { 1 } val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_RATING.value - mapData[PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON] = "https://i.imgur.com/unselected.png" - mapData[PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON] = "https://i.imgur.com/selected.png" - mapData[PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS] = "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"type\":\"DISMISS\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"instabiz://opensecond\", \"type\":\"DEEPLINK\"}]" + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_RATING.value + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON] = "https://i.imgur.com/unselected.png" + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON] = "https://i.imgur.com/selected.png" + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS] = "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"type\":\"DISMISS\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"instabiz://opensecond\", \"type\":\"DEEPLINK\"}]" NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { ProductRatingNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass, broadcastReceiverClass) } } @Test fun `verify private createNotificationBuilder calls ProductCatalogNotificationBuilder construct`() { - every { PushTemplateImageUtils.cacheImages(any()) } answers { 3 } - every { PushTemplateImageUtils.getCachedImage(any()) } answers { mockk() } + every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(any()) } answers { 3 } + every { com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(any()) } answers { mockk() } val mapData = MockProductCatalogTemplateDataProvider.getMockedMapWithProductCatalogData() - mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_CATALOG.value + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_CATALOG.value NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { ProductCatalogNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass, broadcastReceiverClass) } } @Test fun `verify private createNotificationBuilder calls MultiIconNotificationBuilder construct`() { - every { PushTemplateImageUtils.cacheImages(any()) } answers { 3 } - every { PushTemplateImageUtils.getCachedImage(any()) } answers { mockk() } + every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(any()) } answers { 3 } + every { com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(any()) } answers { mockk() } val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.MULTI_ICON.value - mapData[PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS] = "[{\"img\":\"https://sneakerland.com/products/assets/shoe1.png\",\"uri\":\"myapp://chooseShoeType/shoe1\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe2.png\",\"uri\":\"myapp://chooseShoeType/shoe2\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe3.png\",\"uri\":\"myapp://chooseShoeType/shoe3\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe4.png\",\"uri\":\"myapp://chooseShoeType/shoe4\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe5.png\",\"uri\":\"myapp://chooseShoeType/shoe5\",\"type\":\"DEEPLINK\"}]" + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.MULTI_ICON.value + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS] = "[{\"img\":\"https://sneakerland.com/products/assets/shoe1.png\",\"uri\":\"myapp://chooseShoeType/shoe1\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe2.png\",\"uri\":\"myapp://chooseShoeType/shoe2\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe3.png\",\"uri\":\"myapp://chooseShoeType/shoe3\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe4.png\",\"uri\":\"myapp://chooseShoeType/shoe4\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe5.png\",\"uri\":\"myapp://chooseShoeType/shoe5\",\"type\":\"DEEPLINK\"}]" NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { MultiIconNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass) } } @@ -284,7 +284,7 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls TimerNotificationBuilder construct`() { val mapData = MockTimerTemplateDataProvider.getMockedMapWithTimerData(true, "10") - mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.TIMER.value + mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.TIMER.value NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { TimerNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass, broadcastReceiverClass) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt index 45266a4b..8b4e7540 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt @@ -94,7 +94,7 @@ class RemindLaterHandlerTests { @Test(expected = IllegalArgumentException::class) fun `handleRemindIntent should throw IllegalArgumentException when remindLaterDuration is less than or equal to current timestamp`() { val remindLaterIntent = getRemindLaterIntentDuration() - remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "-20") + remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "-20") RemindLaterHandler.handleRemindIntent(remindLaterIntent, mockBroadcastReceiverClass) @@ -105,7 +105,7 @@ class RemindLaterHandlerTests { @Test(expected = IllegalArgumentException::class) fun `handleRemindIntent should throw IllegalArgumentException when remindLaterDuration is invalid`() { val remindLaterIntent = getRemindLaterIntentDuration() - remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "invalid") + remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "invalid") RemindLaterHandler.handleRemindIntent(remindLaterIntent, mockBroadcastReceiverClass) @@ -116,7 +116,7 @@ class RemindLaterHandlerTests { @Test(expected = IllegalArgumentException::class) fun `handleRemindIntent should schedule notification when valid remindLaterTimestamp is less than or equal to current timestamp`() { val remindLaterIntent = getRemindLaterIntentTimestamp() - remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, (System.currentTimeMillis() / 1000L - 10).toString()) + remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, (System.currentTimeMillis() / 1000L - 10).toString()) RemindLaterHandler.handleRemindIntent(remindLaterIntent, mockBroadcastReceiverClass) @@ -127,7 +127,7 @@ class RemindLaterHandlerTests { @Test(expected = IllegalArgumentException::class) fun `handleRemindIntent should schedule notification when remindLaterTimestamp is invalid`() { val remindLaterIntent = getRemindLaterIntentTimestamp() - remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, "invalid") + remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, "invalid") RemindLaterHandler.handleRemindIntent(remindLaterIntent, mockBroadcastReceiverClass) @@ -146,7 +146,7 @@ class RemindLaterHandlerTests { @Test fun `handleRemindIntent should not schedule notification when tag is null`() { val remindLaterIntent = getRemindLaterIntentDuration() - remindLaterIntent.removeExtra(PushTemplateConstants.PushPayloadKeys.TAG) + remindLaterIntent.removeExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) RemindLaterHandler.handleRemindIntent(remindLaterIntent, mockBroadcastReceiverClass) verify(atLeast = 1) { PendingIntentUtils.scheduleNotification(any(), any(), any(), any()) } @@ -155,15 +155,15 @@ class RemindLaterHandlerTests { private fun getRemindLaterIntentDuration(): Intent { val remindLaterIntent = Intent() - remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "20") - remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.TAG, "testTag") + remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "20") + remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, "testTag") return remindLaterIntent } private fun getRemindLaterIntentTimestamp(): Intent { val remindLaterIntent = Intent() - remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, (System.currentTimeMillis() / 1000L + 10).toString()) - remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.TAG, "testTag") + remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, (System.currentTimeMillis() / 1000L + 10).toString()) + remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, "testTag") return remindLaterIntent } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt index 4680d60b..c1996248 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt @@ -19,8 +19,8 @@ import android.os.Build import android.os.Bundle import android.widget.RemoteViews import androidx.core.app.NotificationCompat -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.IntentActions.TIMER_EXPIRED +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.IntentActions.TIMER_EXPIRED import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setNotificationBackgroundColor import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setNotificationBodyTextColor @@ -130,7 +130,7 @@ class AEPPushNotificationBuilderTest { fun `construct should not set notification sound if pushTemplate sound is invalid`() { dataMap.replaceValueInMap( Pair( - PushTemplateConstants.PushPayloadKeys.SOUND, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND, "invalid_sound" ) ) @@ -216,15 +216,15 @@ class AEPPushNotificationBuilderTest { assertNotNull(notification.deleteIntent) assertEquals( pushTemplate.actionUri, - intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) ) assertEquals( pushTemplate.tag, - intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) ) assertEquals( pushTemplate.isNotificationSticky.toString(), - intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) ) } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt index 25c6e0ae..02b45e4b 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt @@ -17,9 +17,9 @@ import android.content.Context import android.graphics.Bitmap import android.widget.RemoteViews import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.cacheImages -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.getCachedImage +import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages +import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedAutoCarousalTemplate @@ -61,7 +61,7 @@ class AutoCarouselNotificationBuilderTest { autoCarouselPushTemplate = provideMockedAutoCarousalTemplate(false) mockkObject(BasicNotificationBuilder) mockkObject(PendingIntentUtils) - mockkObject(PushTemplateImageUtils) + mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) mockkConstructor(RemoteViews::class) } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt index 8d005678..44133031 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt @@ -17,9 +17,9 @@ import android.content.Context import android.content.Intent import android.widget.RemoteViews import androidx.core.app.NotificationCompat -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_CHANNEL_ID @@ -33,7 +33,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEP import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithAllKeys import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithRequiredData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.google.common.base.Verify.verify import io.mockk.every import io.mockk.mockkConstructor import io.mockk.mockkObject @@ -73,7 +72,7 @@ class BasicNotificationBuilderTest { mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setRemoteViewImage) - mockkObject(PushTemplateImageUtils) + mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) } @After @@ -133,11 +132,11 @@ class BasicNotificationBuilderTest { assertEquals( pushTemplate.tag, - intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) ) assertEquals( pushTemplate.isNotificationSticky.toString(), - intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) ) assertEquals(pushTemplate.tag, MOCKED_TAG) assertEquals(build.channelId, MOCKED_CHANNEL_ID) @@ -148,10 +147,10 @@ class BasicNotificationBuilderTest { fun `construct should set STICKY flag to false when isNotificationSticky parameter is false`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT - dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION] = + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION] = MOCK_REMIND_LATER_DURATION - dataMap[PushTemplateConstants.PushPayloadKeys.STICKY] = "false" + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY] = "false" val pushTemplate = BasicPushTemplate(MapData(dataMap)) @@ -167,7 +166,7 @@ class BasicNotificationBuilderTest { val shadowPendingIntent = Shadows.shadowOf(pendingIntent) val intent = shadowPendingIntent.savedIntent - assertEquals("false", intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY)) + assertEquals("false", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY)) } @Test @@ -232,7 +231,7 @@ class BasicNotificationBuilderTest { @Test fun `remindLaterButton is not added when remindLaterText is not null, remindLaterTimestamp is null, remindLaterDuration is null`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT val pushTemplate = BasicPushTemplate(MapData(dataMap)) val notificationBuilder = BasicNotificationBuilder.construct( @@ -252,8 +251,8 @@ class BasicNotificationBuilderTest { @Test fun `remindLaterButton is added when remindLaterText is not null, remindLaterTimestamp is not null, remindLaterDuration is null`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT - dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP] = + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP] = MOCK_REMIND_LATER_TIME val pushTemplate = BasicPushTemplate(MapData(dataMap)) @@ -274,8 +273,8 @@ class BasicNotificationBuilderTest { @Test fun `remindLaterButton is added when remindLaterText is not null, remindLaterTimestamp is null, remindLaterDuration is not null`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT - dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION] = + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION] = MOCK_REMIND_LATER_DURATION val pushTemplate = BasicPushTemplate(MapData(dataMap)) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt index d362bc8b..dd5382f0 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt @@ -16,7 +16,7 @@ import android.content.BroadcastReceiver import android.content.Context import android.widget.RemoteViews import androidx.core.app.NotificationCompat -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.InputBoxPushTemplate @@ -35,7 +35,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provide import com.adobe.marketing.mobile.notificationbuilder.internal.templates.removeKeysFromMap import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.google.common.base.Verify.verify import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -176,18 +175,18 @@ class InputBoxNotificationBuilderTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(MOCKED_TITLE, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TITLE)) - assertEquals(MOCKED_BODY, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.BODY)) - assertEquals(MOCKED_RECEIVER_NAME, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME)) - assertEquals(MOCKED_FEEDBACK_IMAGE, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE)) - assertEquals(MOCKED_FEEDBACK_TEXT, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT)) - assertEquals(MOCKED_HINT, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT)) + assertEquals(MOCKED_TITLE, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE)) + assertEquals(MOCKED_BODY, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY)) + assertEquals(MOCKED_RECEIVER_NAME, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME)) + assertEquals(MOCKED_FEEDBACK_IMAGE, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE)) + assertEquals(MOCKED_FEEDBACK_TEXT, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT)) + assertEquals(MOCKED_HINT, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT)) } @Test fun `Action with default hint text should be created when inputTextHint field is empty`() { val dataMap = MockInputBoxPushTemplateDataProvider.getMockedInputBoxDataMapWithRequiredData() - dataMap.replaceValueInMap(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, "") + dataMap.replaceValueInMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, "") val pushTemplate = InputBoxPushTemplate(MapData(dataMap)) val notificationBuilder = InputBoxNotificationBuilder.construct( @@ -200,13 +199,13 @@ class InputBoxNotificationBuilderTest { assertNotNull(notificationBuilder) val actions = notificationBuilder.mActions - assertEquals(PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT, actions[0].title) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT, actions[0].title) } @Test fun `Action with default hint text should be created when inputTextHint field is null`() { val dataMap = MockInputBoxPushTemplateDataProvider.getMockedInputBoxDataMapWithRequiredData() - dataMap.removeKeysFromMap(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT) + dataMap.removeKeysFromMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT) val pushTemplate = InputBoxPushTemplate(MapData(dataMap)) val notificationBuilder = InputBoxNotificationBuilder.construct( @@ -219,7 +218,7 @@ class InputBoxNotificationBuilderTest { assertNotNull(notificationBuilder) val actions = notificationBuilder.mActions - assertEquals(PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT, actions[0].title) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT, actions[0].title) } @Test diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt index 0fa776a3..dd26fc46 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt @@ -17,9 +17,9 @@ import android.content.Context import android.os.Build import android.os.Bundle import androidx.core.app.NotificationCompat -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID +import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEPPushTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.removeKeysFromMap @@ -91,15 +91,15 @@ class LegacyNotificationBuilderTest { assertNotNull(notification.deleteIntent) assertEquals( pushTemplate.actionUri, - intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) ) assertEquals( pushTemplate.tag, - intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) ) assertEquals( pushTemplate.isNotificationSticky.toString(), - intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) ) } @@ -114,7 +114,7 @@ class LegacyNotificationBuilderTest { @Test fun `construct should set default channel ID if pushTemplate channelId is null`() { - dataMap.removeKeysFromMap(PushTemplateConstants.PushPayloadKeys.CHANNEL_ID) + dataMap.removeKeysFromMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID) val pushTemplate = BasicPushTemplate(MapData(dataMap)) val notification = LegacyNotificationBuilder.construct(context, pushTemplate, trackerActivityClass) @@ -148,15 +148,15 @@ class LegacyNotificationBuilderTest { assertNotNull(notification.deleteIntent) assertEquals( pushTemplate.actionUri, - intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) ) assertEquals( pushTemplate.tag, - intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) ) assertEquals( pushTemplate.isNotificationSticky.toString(), - intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) ) } @@ -164,7 +164,7 @@ class LegacyNotificationBuilderTest { fun `construct should not set smallIcon if pushTemplate smallIcon is invalid`() { dataMap.replaceValueInMap( Pair( - PushTemplateConstants.PushPayloadKeys.SMALL_ICON, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON, "invalid_small_icon" ) ) @@ -179,7 +179,7 @@ class LegacyNotificationBuilderTest { fun `construct should not set notification sound if pushTemplate sound is invalid`() { dataMap.replaceValueInMap( Pair( - PushTemplateConstants.PushPayloadKeys.SOUND, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND, "invalid_sound" ) ) @@ -194,7 +194,7 @@ class LegacyNotificationBuilderTest { fun `construct should set sticky flag to false when isNotificationSticky is false`() { dataMap.replaceValueInMap( Pair( - PushTemplateConstants.PushPayloadKeys.STICKY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "false" ) ) @@ -207,7 +207,7 @@ class LegacyNotificationBuilderTest { val intent = shadowPendingIntent.savedIntent // Assert that the sticky flag is false assertEquals( - "false", intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) + "false", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) ) } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt index 073a997a..a97e902a 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt @@ -16,12 +16,12 @@ import android.content.BroadcastReceiver import android.content.Context import android.graphics.Bitmap import android.widget.RemoteViews -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.cacheImages -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.getAssetCacheLocation -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.getCachedImage +import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages +import com.adobe.ui_utils.PushTemplateImageUtils.getAssetCacheLocation +import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import com.adobe.marketing.mobile.notificationbuilder.internal.builders.ManualCarouselNotificationBuilder.getCarouselIndices import com.adobe.marketing.mobile.notificationbuilder.internal.builders.ManualCarouselNotificationBuilder.populateFilmstripCarouselImages import com.adobe.marketing.mobile.notificationbuilder.internal.builders.ManualCarouselNotificationBuilder.populateManualCarouselImages @@ -66,7 +66,7 @@ class ManualCarouselNotificationBuilderTest { pushTemplate = provideMockedManualCarousalTemplate(false) trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(PushTemplateImageUtils) + mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) mockkObject(BasicNotificationBuilder) mockkObject(PendingIntentUtils) mockkConstructor(RemoteViews::class) @@ -139,7 +139,7 @@ class ManualCarouselNotificationBuilderTest { fun `test getCarouselIndices with left click intent action`() { val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() val data = - IntentData(mockBundle, PushTemplateConstants.IntentActions.MANUAL_CAROUSEL_LEFT_CLICKED) + IntentData(mockBundle, com.adobe.ui_utils.PushTemplateConstants.IntentActions.MANUAL_CAROUSEL_LEFT_CLICKED) val mcPushTemplate = CarouselPushTemplate(data) as ManualCarouselPushTemplate val result = getCarouselIndices(mcPushTemplate, 3) assertEquals(Triple(1, 2, 0), result) @@ -149,7 +149,7 @@ class ManualCarouselNotificationBuilderTest { fun `test getCarouselIndices with filmstrip left click intent action`() { val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() val data = - IntentData(mockBundle, PushTemplateConstants.IntentActions.FILMSTRIP_LEFT_CLICKED) + IntentData(mockBundle, com.adobe.ui_utils.PushTemplateConstants.IntentActions.FILMSTRIP_LEFT_CLICKED) val mcPushTemplate = CarouselPushTemplate(data) as ManualCarouselPushTemplate val result = getCarouselIndices(mcPushTemplate, 3) assertEquals(Triple(1, 2, 0), result) @@ -159,14 +159,14 @@ class ManualCarouselNotificationBuilderTest { fun `test getCarouselIndices with no intent action and filmstrip layout`() { val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() val data = - IntentData(mockBundle, PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) + IntentData(mockBundle, com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) val mcPushTemplate = CarouselPushTemplate(data) as ManualCarouselPushTemplate val result = getCarouselIndices(mcPushTemplate, 3) assertEquals( Triple( - PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX - 1, - PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX, - PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX + 1 + com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX - 1, + com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX, + com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX + 1 ), result ) @@ -178,8 +178,8 @@ class ManualCarouselNotificationBuilderTest { assertEquals( Triple( pushTemplate.carouselItems.size - 1, - PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX, - PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX + 1 + com.adobe.ui_utils.PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX, + com.adobe.ui_utils.PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX + 1 ), result ) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt index 9e0bc29f..63942c9a 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt @@ -17,12 +17,12 @@ import android.content.Context import android.graphics.Bitmap import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.cacheImages -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.getCachedImage +import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages +import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockProductCatalogTemplateDataProvider.getMockedMapWithProductCatalogData import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductCatalogPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductCatalogTemplate @@ -59,7 +59,7 @@ class ProductCatalogNotificationBuilderTest { context = RuntimeEnvironment.getApplication() trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(PushTemplateImageUtils) + mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) } @After @@ -84,7 +84,7 @@ class ProductCatalogNotificationBuilderTest { fun `construct should throw IllegalArgumentException if downloaded image count is more than 3`() { val dataMap = getMockedMapWithProductCatalogData() dataMap.replaceValueInMap( - PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, "[" + "{\"title\":\"title1\",\"body\":\"body1\",\"img\":\"img1\",\"price\":\"price1\",\"uri\":\"uri1\"}," + "{\"title\":\"title2\",\"body\":\"body2\",\"img\":\"img2\",\"price\":\"price2\",\"uri\":\"uri2\"}," + @@ -112,7 +112,7 @@ class ProductCatalogNotificationBuilderTest { fun `construct should throw IllegalArgumentException if downloaded image count is less than 3`() { val dataMap = getMockedMapWithProductCatalogData() dataMap.replaceValueInMap( - PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, "[" + "{\"title\":\"title1\",\"body\":\"body1\",\"img\":\"img1\",\"price\":\"price1\",\"uri\":\"uri1\"}," + "{\"title\":\"title2\",\"body\":\"body2\",\"img\":\"img2\",\"price\":\"price2\",\"uri\":\"uri2\"}," + @@ -151,7 +151,7 @@ class ProductCatalogNotificationBuilderTest { @Test fun `construct should build a notification with a vertical layout if vertical layout is provided`() { val dataMap = getMockedMapWithProductCatalogData() - dataMap.replaceValueInMap(PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT, PRODUCT_CATALOG_VERTICAL_LAYOUT) + dataMap.replaceValueInMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT, PRODUCT_CATALOG_VERTICAL_LAYOUT) val pushTemplate = ProductCatalogPushTemplate(MapData(dataMap)) val cachedItem = mockkClass(Bitmap::class) @@ -194,7 +194,7 @@ class ProductCatalogNotificationBuilderTest { @Test fun `construct should return a NotificationCompat Builder if Tag is provided in Push Template`() { val dataMap = getMockedMapWithProductCatalogData() - dataMap[PushTemplateConstants.PushPayloadKeys.TAG] = "tag" + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG] = "tag" val pushTemplate = ProductCatalogPushTemplate(MapData(dataMap)) val cachedItem = mockkClass(Bitmap::class) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt index 0cf9da7e..0fba7ca2 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt @@ -19,11 +19,11 @@ import android.view.View import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.cacheImages -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.getCachedImage +import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages +import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockProductRatingTemplateDataProvider.getMockedDataMapForRatingTemplate @@ -64,7 +64,7 @@ class ProductRatingNotificationBuilderTest { mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setRemoteViewImage) mockkStatic(RemoteViews::setRemoteViewClickAction) - mockkObject(PushTemplateImageUtils) + mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) } @After @@ -129,7 +129,7 @@ class ProductRatingNotificationBuilderTest { every { anyConstructed().setViewVisibility(any(), any()) } just Runs val dataMap = getMockedDataMapForRatingTemplate() - dataMap[PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" + dataMap[com.adobe.ui_utils.PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" val pushTemplate = ProductRatingPushTemplate(MapData(dataMap)) val notificationBuilder = ProductRatingNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) @@ -143,7 +143,7 @@ class ProductRatingNotificationBuilderTest { every { any().setRemoteViewImage("rating_star_filled", any()) } returns true val dataMap = getMockedDataMapForRatingTemplate() - dataMap[PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" + dataMap[com.adobe.ui_utils.PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" val pushTemplate = ProductRatingPushTemplate(MapData(dataMap)) assertFailsWith( @@ -161,7 +161,7 @@ class ProductRatingNotificationBuilderTest { every { any().setRemoteViewImage("rating_star_filled", any()) } returns false val dataMap = getMockedDataMapForRatingTemplate() - dataMap[PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" + dataMap[com.adobe.ui_utils.PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" val pushTemplate = ProductRatingPushTemplate(MapData(dataMap)) assertFailsWith( @@ -188,7 +188,7 @@ class ProductRatingNotificationBuilderTest { every { any().setRemoteViewImage(any(), any()) } returns true val dataMap = getMockedDataMapForRatingTemplate() - dataMap[PushTemplateConstants.PushPayloadKeys.TAG] = "tag" + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG] = "tag" val pushTemplate = ProductRatingPushTemplate(MapData(dataMap)) val notificationBuilder = ProductRatingNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt index 6df12b2e..264d7ee8 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt @@ -21,7 +21,7 @@ import android.service.notification.StatusBarNotification import android.widget.RemoteViews import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setTimerTextColor import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_ALT_BODY @@ -76,7 +76,7 @@ class TimerNotificationBuilderTests { pushTemplate = provideMockedTimerTemplate(false, true) trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(PushTemplateImageUtils) + mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) mockkObject(PendingIntentUtils) mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setTimerTextColor) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt index 66f2796e..422b9302 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt @@ -18,10 +18,10 @@ import android.graphics.Bitmap import android.os.Bundle import android.view.View import android.widget.RemoteViews -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.cacheImages -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils.getCachedImage +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages +import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEPPushTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBezelPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap @@ -60,7 +60,7 @@ class ZeroBezelNotificationBuilderTest { fun setup() { context = RuntimeEnvironment.getApplication() dataMap = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mockkObject(PushTemplateImageUtils) + mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) mockkConstructor(RemoteViews::class) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java @@ -96,7 +96,7 @@ class ZeroBezelNotificationBuilderTest { fun `verify construct with image downloaded and collapsedStyle is txt`() { dataMap.replaceValueInMap( Pair( - PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, "txt" ) ) @@ -152,7 +152,7 @@ class ZeroBezelNotificationBuilderTest { ).build() assertEquals( - PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, + com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) @@ -164,7 +164,7 @@ class ZeroBezelNotificationBuilderTest { @Test fun `verify construct with image downloaded and collapsedStyle is txt for IntentData`() { mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, "txt" ) @@ -180,7 +180,7 @@ class ZeroBezelNotificationBuilderTest { ).build() assertEquals( - PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, + com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) @@ -203,7 +203,7 @@ class ZeroBezelNotificationBuilderTest { ).build() assertEquals( - PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, + com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) @@ -227,15 +227,15 @@ class ZeroBezelNotificationBuilderTest { assertNotNull(notification.deleteIntent) assertEquals( pushTemplate.actionUri, - intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) ) assertEquals( pushTemplate.tag, - intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) ) assertEquals( pushTemplate.isNotificationSticky.toString(), - intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) ) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt index 82a5cb15..7bb69257 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt @@ -21,8 +21,8 @@ import android.net.Uri import android.os.Bundle import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.MobileCore -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import io.mockk.every @@ -59,7 +59,7 @@ class NotificationCompatBuilderExtensionsTest { mockContext = mockk(relaxed = true) mockkStatic(Context::getIconWithResourceName) mockkStatic(MobileCore::class) - mockkObject(PushTemplateImageUtils) + mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java } @@ -197,8 +197,8 @@ class NotificationCompatBuilderExtensionsTest { @Test fun `setLargeIcon with valid imageUrl`() { - every { PushTemplateImageUtils.cacheImages(listOf("valid_image_url")) } returns 1 - every { PushTemplateImageUtils.getCachedImage("valid_image_url") } returns mockBitmap + every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf("valid_image_url")) } returns 1 + every { com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage("valid_image_url") } returns mockBitmap val spyBuilder = spyk(NotificationCompat.Builder(mockContext, "mockChannelId")) @@ -210,7 +210,7 @@ class NotificationCompatBuilderExtensionsTest { @Test fun `setLargeIcon with imageUrl that cannot be downloaded`() { - every { PushTemplateImageUtils.cacheImages(listOf("invalid_image_url")) } returns 0 + every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf("invalid_image_url")) } returns 0 val spyBuilder = spyk(NotificationCompat.Builder(mockContext, "mockChannelId")) @@ -262,12 +262,12 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals("testValue", intent.getStringExtra("testKey")) - assertEquals(testActionUri, intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI)) - assertEquals(null, intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID)) + assertEquals(testActionUri, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI)) + assertEquals(null, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID)) } @Test @@ -289,7 +289,7 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(null, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals(null, intent.extras) @@ -314,7 +314,7 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(PushTemplateConstants.NotificationAction.DISMISSED, intent.action) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.DISMISSED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP, intent.flags) assertNull(intent.extras) @@ -339,7 +339,7 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(PushTemplateConstants.NotificationAction.DISMISSED, intent.action) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.DISMISSED, intent.action) assertNull(intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP, intent.flags) assertNull(intent.extras) @@ -356,7 +356,7 @@ class NotificationCompatBuilderExtensionsTest { mockBuilder.addActionButtons( mockContext, trackerActivityClass, listOf( - BasicPushTemplate.ActionButton("testLabel", "testLink", PushTemplateConstants.ActionType.DEEPLINK.name) + BasicPushTemplate.ActionButton("testLabel", "testLink", com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK.name) ), testIntentExtras ) @@ -374,12 +374,12 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals("testValue", intent.getStringExtra("testKey")) - assertEquals("testLink", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI)) - assertEquals("testLabel", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID)) + assertEquals("testLink", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI)) + assertEquals("testLabel", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID)) } @Test @@ -393,7 +393,7 @@ class NotificationCompatBuilderExtensionsTest { mockBuilder.addActionButtons( mockContext, trackerActivityClass, listOf( - BasicPushTemplate.ActionButton("testLabel", "testLink", PushTemplateConstants.ActionType.WEBURL.name) + BasicPushTemplate.ActionButton("testLabel", "testLink", com.adobe.ui_utils.PushTemplateConstants.ActionType.WEBURL.name) ), testIntentExtras ) @@ -411,12 +411,12 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals("testValue", intent.getStringExtra("testKey")) - assertEquals("testLink", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI)) - assertEquals("testLabel", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID)) + assertEquals("testLink", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI)) + assertEquals("testLabel", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID)) } @Test @@ -430,7 +430,7 @@ class NotificationCompatBuilderExtensionsTest { mockBuilder.addActionButtons( mockContext, trackerActivityClass, listOf( - BasicPushTemplate.ActionButton("testLabel", null, PushTemplateConstants.ActionType.OPENAPP.name) + BasicPushTemplate.ActionButton("testLabel", null, com.adobe.ui_utils.PushTemplateConstants.ActionType.OPENAPP.name) ), testIntentExtras ) @@ -448,12 +448,12 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals("testValue", intent.getStringExtra("testKey")) - assertEquals(null, intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI)) - assertEquals("testLabel", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID)) + assertEquals(null, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI)) + assertEquals("testLabel", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID)) } @Test @@ -467,7 +467,7 @@ class NotificationCompatBuilderExtensionsTest { mockBuilder.addActionButtons( mockContext, trackerActivityClass, listOf( - BasicPushTemplate.ActionButton("testLabel", "testLink", PushTemplateConstants.ActionType.NONE.name) + BasicPushTemplate.ActionButton("testLabel", "testLink", com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE.name) ), testIntentExtras ) @@ -485,12 +485,12 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals("testValue", intent.getStringExtra("testKey")) - assertEquals(null, intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI)) - assertEquals("testLabel", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID)) + assertEquals(null, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI)) + assertEquals("testLabel", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID)) } @Test diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt index 4b578343..a29c0ec6 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt @@ -15,7 +15,7 @@ import android.app.NotificationChannel import android.app.NotificationManager import android.content.Context import android.media.RingtoneManager -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_CHANNEL_ID import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEPPushTemplateDataProvider @@ -53,7 +53,7 @@ class NotificationManagerExtensionsTest { val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val notificationChannelId = notificationManager.createNotificationChannelIfRequired(context, template) - assertEquals(PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID, notificationChannelId) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID, notificationChannelId) } @Test @@ -79,7 +79,7 @@ class NotificationManagerExtensionsTest { @Test fun `createNotificationChannelIfRequired should set a default sound if template sound is empty`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - dataMap[PushTemplateConstants.PushPayloadKeys.SOUND] = "" + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND] = "" val template = BasicPushTemplate(MapData(dataMap)) val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val notificationChannelId = notificationManager.createNotificationChannelIfRequired(context, template) @@ -95,6 +95,6 @@ class NotificationManagerExtensionsTest { val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val notificationChannelId = notificationManager.createNotificationChannelIfRequired(context, template) - assertEquals(PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, notificationChannelId) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, notificationChannelId) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt index c836e527..d87327f9 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt @@ -20,8 +20,8 @@ import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.RemoteViews -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.services.Logging import com.adobe.marketing.mobile.services.ServiceProvider @@ -59,7 +59,7 @@ class RemoteViewsExtensionsTest { @Before fun setup() { remoteViews = mockk(relaxed = true) - mockkObject(PushTemplateImageUtils) + mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java } @@ -125,8 +125,8 @@ class RemoteViewsExtensionsTest { remoteViews.setElementColor( 1, "#$colorHex", - PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, - PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BACKGROUND + com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, + com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BACKGROUND ) } } @@ -141,8 +141,8 @@ class RemoteViewsExtensionsTest { remoteViews.setElementColor( 1, "#$colorHex", - PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - PushTemplateConstants.FriendlyViewNames.TIMER_TEXT + com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.TIMER_TEXT ) } } @@ -157,8 +157,8 @@ class RemoteViewsExtensionsTest { remoteViews.setElementColor( 1, "#$colorHex", - PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - PushTemplateConstants.FriendlyViewNames.NOTIFICATION_TITLE + com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_TITLE ) } } @@ -173,8 +173,8 @@ class RemoteViewsExtensionsTest { remoteViews.setElementColor( 1, "#$colorHex", - PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BODY_TEXT + com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BODY_TEXT ) } } @@ -182,8 +182,8 @@ class RemoteViewsExtensionsTest { @Test fun `setRemoteViewImage applies image when valid URL provided`() { val imageUrl = "http://example.com/image.png" - every { PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 1 - every { PushTemplateImageUtils.getCachedImage(imageUrl) } returns mockBitmap + every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 1 + every { com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(imageUrl) } returns mockBitmap val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -236,7 +236,7 @@ class RemoteViewsExtensionsTest { fun `setRemoteViewImage does not apply image when URL is invalid`() { val imageUrl = "invalid_url" every { remoteViews.setViewVisibility(any(), any()) } just Runs - every { PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 0 + every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 0 val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -250,7 +250,7 @@ class RemoteViewsExtensionsTest { fun `setRemoteViewImage does not apply image URL could not be downloaded`() { val imageUrl = "http://example.com/image.png" every { remoteViews.setViewVisibility(any(), any()) } just Runs - every { PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 0 + every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 0 val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -306,7 +306,7 @@ class RemoteViewsExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals( Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, @@ -315,11 +315,11 @@ class RemoteViewsExtensionsTest { assertEquals("testValue", intent.getStringExtra("testKey")) assertEquals( testActionUri, - intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) ) assertEquals( testActionID, - intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID) ) } @@ -343,7 +343,7 @@ class RemoteViewsExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(null, intent.component?.className) assertEquals( Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt index ddc2d460..0c2c59a5 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt @@ -14,7 +14,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.app.NotificationManager import com.adobe.marketing.mobile.notificationbuilder.NotificationPriority import com.adobe.marketing.mobile.notificationbuilder.NotificationVisibility -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData import org.junit.Assert.assertEquals @@ -37,12 +37,12 @@ class AEPPushTemplateTest { @Test fun `Test exception with missing data adb_title`() { val aepPushBasicData = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - aepPushBasicData.remove(PushTemplateConstants.PushPayloadKeys.TITLE) + aepPushBasicData.remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE) val exception = assertFailsWith { BasicPushTemplate(MapData(aepPushBasicData)) } assertEquals( - "Required push template key ${PushTemplateConstants.PushPayloadKeys.TITLE} not found or null", + "Required push template key ${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE} not found or null", exception.message ) } @@ -50,12 +50,12 @@ class AEPPushTemplateTest { @Test fun `Test AEPPushTemplate initialization with missing body`() { val aepPushData = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - aepPushData.remove(PushTemplateConstants.PushPayloadKeys.BODY) + aepPushData.remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY) val exception = assertFailsWith { BasicPushTemplate(MapData(aepPushData)) } assertEquals( - "Required push template key ${PushTemplateConstants.PushPayloadKeys.BODY} not found or null", + "Required push template key ${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY} not found or null", exception.message ) } @@ -63,12 +63,12 @@ class AEPPushTemplateTest { @Test fun `Test AEPPushTemplate initialization with missing version`() { val aepPushData = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - aepPushData.remove(PushTemplateConstants.PushPayloadKeys.VERSION) + aepPushData.remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION) val exception = assertFailsWith { BasicPushTemplate(MapData(aepPushData)) } assertEquals( - "Required push template key ${PushTemplateConstants.PushPayloadKeys.VERSION} not found or null", + "Required push template key ${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION} not found or null", exception.message ) } @@ -80,7 +80,7 @@ class AEPPushTemplateTest { assertEquals(MOCKED_TAG, aepPushTemplate.tag) assertFalse(aepPushTemplate.isFromIntent) assertEquals(MOCKED_ACTION_URI, aepPushTemplate.actionUri) - assertEquals(PushTemplateConstants.ActionType.NONE, aepPushTemplate.actionType) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE, aepPushTemplate.actionType) assertEquals(5, aepPushTemplate.badgeCount) assertEquals(MOCKED_BASIC_TEMPLATE_BODY, aepPushTemplate.body) assertEquals(MOCKED_CHANNEL_ID, aepPushTemplate.channelId) @@ -109,7 +109,7 @@ class AEPPushTemplateTest { @Test fun `Test AEPPushTemplate initialization with null priority`() { val data = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - data.remove(PushTemplateConstants.PushPayloadKeys.PRIORITY) + data.remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY) val aepPushTemplate = BasicPushTemplate(MapData(data)) assertEquals("PRIORITY_DEFAULT", aepPushTemplate.priority.stringValue) } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt index 9ce49548..f1548439 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt @@ -11,7 +11,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData import org.junit.Assert.assertEquals import org.junit.Assert.assertNull @@ -31,12 +31,12 @@ class BasicPushTemplateTests { val actionButton1 = basicPushTemplate.actionButtonsList?.get(0) assertEquals("Go to chess.com", actionButton1?.label) assertEquals("https://chess.com/games/552", actionButton1?.link) - assertEquals(PushTemplateConstants.ActionType.DEEPLINK, actionButton1?.type) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK, actionButton1?.type) val actionButton2 = basicPushTemplate.actionButtonsList?.get(1) assertEquals("Open the app", actionButton2?.label) assertNull(actionButton2?.link) - assertEquals(PushTemplateConstants.ActionType.OPENAPP, actionButton2?.type) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.ActionType.OPENAPP, actionButton2?.type) assertEquals(MOCK_REMIND_LATER_TIME, basicPushTemplate.remindLaterTimestamp.toString()) assertEquals(MOCK_REMIND_LATER_DURATION, basicPushTemplate.remindLaterDuration.toString()) @@ -47,7 +47,7 @@ class BasicPushTemplateTests { @Test fun `Test BasicPushTemplate initialization with invalid JSON`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - dataMap[PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS] = "" + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS] = "" val basicPushTemplate = BasicPushTemplate(MapData(dataMap)) assertEquals(null, basicPushTemplate.actionButtonsList) } @@ -55,13 +55,13 @@ class BasicPushTemplateTests { @Test fun `Test BasicPushTemplate initialization with malformed JSON`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - dataMap[PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS] = MOCKED_MALFORMED_JSON_ACTION_BUTTON + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS] = MOCKED_MALFORMED_JSON_ACTION_BUTTON val basicPushTemplate = BasicPushTemplate(MapData(dataMap)) // Two wrong JSON objects are ignored out of 4 assertEquals(2, basicPushTemplate.actionButtonsList?.size) val actionButton1 = basicPushTemplate.actionButtonsList?.get(0) // Wrong Action type in JSON is converted to NONE - assertEquals(PushTemplateConstants.ActionType.NONE, actionButton1?.type) + assertEquals(com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE, actionButton1?.type) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt index 0223d99f..70d1a0a8 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt @@ -11,7 +11,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider.getMockedBundleWithAutoCarouselData import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData @@ -68,29 +68,29 @@ class CarousalPushTemplateTests { @Test fun `Test CarouselPushTemplate initialization with missing carouselLayout`() { val mockedMap = getMockedMapWithAutoCarouselData().apply { - remove(PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT) + remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT) } val exception = assertFailsWith { CarouselPushTemplate(MapData(mockedMap)) } - assertEquals("Required push template key ${PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT} not found or null", exception.message) + assertEquals("Required push template key ${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT} not found or null", exception.message) } @Test fun `Test CarouselPushTemplate initialization with missing rawCarouselItems`() { val mockedMap = getMockedMapWithAutoCarouselData().apply { - remove(PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS) + remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS) } val exception = assertFailsWith { CarouselPushTemplate(MapData(mockedMap)) } - assertEquals("Required push template key ${PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS} not found or null", exception.message) + assertEquals("Required push template key ${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS} not found or null", exception.message) } @Test fun `Test CarouselPushTemplate initialization with empty rawCarouselItems`() { val mockedMap = getMockedMapWithAutoCarouselData().apply { - put(PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, "") + put(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, "") } val template = CarouselPushTemplate(MapData(mockedMap)) assertEquals(PushTemplateType.CAROUSEL, template.templateType) @@ -100,7 +100,7 @@ class CarousalPushTemplateTests { @Test fun `Test CarouselPushTemplate initialization with malformed rawCarouselItems`() { val mockedMap = getMockedMapWithAutoCarouselData().apply { - put(PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, "malformed_json_string") + put(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, "malformed_json_string") } val template = CarouselPushTemplate(MapData(mockedMap)) assertEquals(PushTemplateType.CAROUSEL, template.templateType) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt index c6cbca9d..c62c9118 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt @@ -12,15 +12,15 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType object MockAEPPushTemplateDataProvider { fun getMockedDataMapWithRequiredData(): MutableMap { return mutableMapOf( - PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION ) } @@ -29,96 +29,96 @@ object MockAEPPushTemplateDataProvider { */ fun getMockedBundleWithRequiredData(): Bundle { val mockBundle = Bundle() - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) return mockBundle } fun getMockedAEPDataMapWithAllKeys(): MutableMap { return mutableMapOf( - PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, - PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.BASIC.value, - PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_ACTION_URI, - PushTemplateConstants.PushPayloadKeys.ACTION_TYPE to PushTemplateConstants.ActionType.NONE.name, - PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS to MOCKED_ACTION_BUTTON_DATA, - PushTemplateConstants.PushPayloadKeys.BADGE_COUNT to "5", - PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BASIC_TEMPLATE_BODY, - PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, - PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, - PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to "FFD966", - PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, - PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, - PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR to "FFD966", - PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, - PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, - PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT to MOCK_REMIND_LATER_TEXT, - PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP to MOCK_REMIND_LATER_TIME, - PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION to MOCK_REMIND_LATER_DURATION, - PushTemplateConstants.PushPayloadKeys.SOUND to "bell", - PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, - PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR to "FFD966", - PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, - PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - PushTemplateConstants.PushPayloadKeys.STICKY to "true", - PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE to "img" + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.BASIC.value, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_ACTION_URI, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_TYPE to com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE.name, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS to MOCKED_ACTION_BUTTON_DATA, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BADGE_COUNT to "5", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BASIC_TEMPLATE_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to "FFD966", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR to "FFD966", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT to MOCK_REMIND_LATER_TEXT, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP to MOCK_REMIND_LATER_TIME, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION to MOCK_REMIND_LATER_DURATION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND to "bell", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR to "FFD966", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY to "true", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE to "img" ) } fun getMockedAEPBundleWithAllKeys(): Bundle { val mockBundle = Bundle() - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.BASIC.value ) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_ACTION_URI) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_ACTION_URI) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.ACTION_TYPE, - PushTemplateConstants.ActionType.NONE.name + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_TYPE, + com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE.name ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS, MOCKED_ACTION_BUTTON_DATA ) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BADGE_COUNT, "5") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BASIC_TEMPLATE_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, "2024") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BADGE_COUNT, "5") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BASIC_TEMPLATE_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, "2024") mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BASIC_TEMPLATE_BODY_EXPANDED ) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, "FFD966") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR, "FFD966") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.PRIORITY, (MOCKED_PRIORITY)) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, "FFD966") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR, "FFD966") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY, (MOCKED_PRIORITY)) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT, MOCK_REMIND_LATER_TEXT ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, MOCK_REMIND_LATER_TIME ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, MOCK_REMIND_LATER_DURATION ) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SOUND, "bell") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR, "FFD966") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "true") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND, "bell") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR, "FFD966") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "true") mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, "img" ) return mockBundle diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt index b3e6a756..1ed8ddf8 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt @@ -12,72 +12,72 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType object MockCarousalTemplateDataProvider { fun getMockedMapWithAutoCarouselData(): MutableMap { val dataMap = getMockedMapWithCarousalData() - dataMap[PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE] = "auto" + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE] = "auto" return dataMap } fun getMockedMapWithManualCarouselData(): MutableMap { val dataMap = getMockedMapWithCarousalData() - dataMap[PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE] = "manual" + dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE] = "manual" return dataMap } private fun getMockedMapWithCarousalData(): MutableMap { return mutableMapOf( - PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.CAROUSEL.value, - PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT to MOCKED_CAROUSEL_LAYOUT, - PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to MOCKED_BODY_TEXT_COLOR, - PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, - PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, - PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR to MOCKED_SMALL_ICON_COLOR, - PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, - PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, - PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, - PushTemplateConstants.PushPayloadKeys.STICKY to "true", - PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, - PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_URI, - PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS to MOCKED_CAROUSEL_LAYOUT_DATA + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.CAROUSEL.value, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT to MOCKED_CAROUSEL_LAYOUT, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to MOCKED_BODY_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR to MOCKED_SMALL_ICON_COLOR, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY to "true", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_URI, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS to MOCKED_CAROUSEL_LAYOUT_DATA ) } fun getMockedBundleWithManualCarouselData(): Bundle { val mockBundle = getMockedBundleWithCarousalData() - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE, "manual") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE, "manual") return mockBundle } fun getMockedBundleWithAutoCarouselData(): Bundle { val mockBundle = getMockedBundleWithCarousalData() - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE, "auto") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE, "auto") return mockBundle } private fun getMockedBundleWithCarousalData(): Bundle { val mockBundle = Bundle() - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.CAROUSEL.value) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT, MOCKED_CAROUSEL_LAYOUT) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, MOCKED_BODY_TEXT_COLOR) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR, MOCKED_SMALL_ICON_COLOR) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.PRIORITY, MOCKED_PRIORITY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "true") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_URI) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, MOCKED_CAROUSEL_LAYOUT_DATA) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.CAROUSEL.value) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT, MOCKED_CAROUSEL_LAYOUT) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, MOCKED_BODY_TEXT_COLOR) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR, MOCKED_SMALL_ICON_COLOR) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY, MOCKED_PRIORITY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "true") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_URI) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, MOCKED_CAROUSEL_LAYOUT_DATA) return mockBundle } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt index 2d1684b3..45316300 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt @@ -12,90 +12,90 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType object MockInputBoxPushTemplateDataProvider { fun getMockedInputBoxDataMapWithRequiredData(): MutableMap { return mutableMapOf( - PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME to MOCKED_RECEIVER_NAME, - PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT to MOCKED_HINT, - PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT to MOCKED_FEEDBACK_TEXT, - PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE to MOCKED_FEEDBACK_IMAGE + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME to MOCKED_RECEIVER_NAME, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT to MOCKED_HINT, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT to MOCKED_FEEDBACK_TEXT, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE to MOCKED_FEEDBACK_IMAGE ) } fun getMockedInputBoxBundleWithRequiredData(): Bundle { val mockBundle = Bundle() - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME, MOCKED_RECEIVER_NAME) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, MOCKED_HINT) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT, MOCKED_FEEDBACK_TEXT) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE, MOCKED_FEEDBACK_IMAGE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME, MOCKED_RECEIVER_NAME) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, MOCKED_HINT) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT, MOCKED_FEEDBACK_TEXT) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE, MOCKED_FEEDBACK_IMAGE) return mockBundle } fun getMockedInputBoxDataMapWithAllKeys(): MutableMap { return mutableMapOf( - PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, - PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.BASIC.value, - PushTemplateConstants.PushPayloadKeys.BADGE_COUNT to "5", - PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BASIC_TEMPLATE_BODY, - PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, - PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, - PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to "FFD966", - PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, - PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, - PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR to "FFD966", - PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, - PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, - PushTemplateConstants.PushPayloadKeys.SOUND to "bell", - PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, - PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR to "FFD966", - PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, - PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - PushTemplateConstants.PushPayloadKeys.STICKY to "true", - PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME to MOCKED_RECEIVER_NAME, - PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT to MOCKED_HINT, - PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT to MOCKED_FEEDBACK_TEXT, - PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE to MOCKED_FEEDBACK_IMAGE + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.BASIC.value, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BADGE_COUNT to "5", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BASIC_TEMPLATE_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to "FFD966", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR to "FFD966", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND to "bell", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR to "FFD966", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY to "true", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME to MOCKED_RECEIVER_NAME, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT to MOCKED_HINT, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT to MOCKED_FEEDBACK_TEXT, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE to MOCKED_FEEDBACK_IMAGE ) } fun getMockedInputBoxBundleWithAllKeys(): Bundle { val mockBundle = Bundle() - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.BASIC.value) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BADGE_COUNT, "5") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BASIC_TEMPLATE_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, "2024") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BASIC_TEMPLATE_BODY_EXPANDED) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, "FFD966") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR, "FFD966") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.PRIORITY, (MOCKED_PRIORITY)) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SOUND, "bell") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR, "FFD966") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "true") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME, MOCKED_RECEIVER_NAME) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, MOCKED_HINT) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT, MOCKED_FEEDBACK_TEXT) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE, MOCKED_FEEDBACK_IMAGE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.BASIC.value) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BADGE_COUNT, "5") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BASIC_TEMPLATE_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, "2024") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BASIC_TEMPLATE_BODY_EXPANDED) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, "FFD966") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR, "FFD966") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY, (MOCKED_PRIORITY)) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND, "bell") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR, "FFD966") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "true") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME, MOCKED_RECEIVER_NAME) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, MOCKED_HINT) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT, MOCKED_FEEDBACK_TEXT) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE, MOCKED_FEEDBACK_IMAGE) return mockBundle } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt index d6ba1c24..ea596385 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt @@ -11,26 +11,26 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType object MockMultiIconTemplateDataProvider { fun getMockedDataMapWithForMultiIcon(): MutableMap { return mutableMapOf( - PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, - PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.MULTI_ICON.value, - PushTemplateConstants.PushPayloadKeys.BODY to "", - PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, - PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, - PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, - PushTemplateConstants.PushPayloadKeys.SOUND to "bell", - PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, - PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - PushTemplateConstants.PushPayloadKeys.STICKY to "true", - PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON to "delete", - PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS to MOCK_MULTI_ICON_ITEM_PAYLOAD, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.MULTI_ICON.value, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to "", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND to "bell", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY to "true", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON to "delete", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS to MOCK_MULTI_ICON_ITEM_PAYLOAD, ) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt index a21f9ae6..ccf365cd 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt @@ -12,20 +12,20 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants object MockProductCatalogTemplateDataProvider { fun getMockedMapWithProductCatalogData(): MutableMap { return mutableMapOf( - PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT to "ctaButtonText", - PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_COLOR to "ctaButtonColor", - PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT_COLOR to "ctaButtonTextColor", - PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_URI to "ctaButtonUri", - PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT to "horizontal", - PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS to "[" + + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT to "ctaButtonText", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_COLOR to "ctaButtonColor", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT_COLOR to "ctaButtonTextColor", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_URI to "ctaButtonUri", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT to "horizontal", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS to "[" + "{\"title\":\"title1\",\"body\":\"body1\",\"img\":\"https://images.pexels.com/photos/260024/pexels-photo-260024.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\"price\":\"price1\",\"uri\":\"uri1\"}," + "{\"title\":\"title2\",\"body\":\"body2\",\"img\":\"https://images.pexels.com/photos/260024/pexels-photo-260024.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\"price\":\"price2\",\"uri\":\"uri2\"}," + "{\"title\":\"title3\",\"body\":\"body3\",\"img\":\"https://images.pexels.com/photos/260024/pexels-photo-260024.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\"price\":\"price3\",\"uri\":\"uri3\"}" + @@ -35,28 +35,28 @@ object MockProductCatalogTemplateDataProvider { fun getMockedBundleWithProductCatalogData(): Bundle { val mockBundle = Bundle() - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT, "ctaButtonText" ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_COLOR, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_COLOR, "ctaButtonColor" ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT_COLOR, "ctaButtonTextColor" ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_URI, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_URI, "ctaButtonUri" ) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT, "horizontal") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT, "horizontal") mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, "[" + "{\"title\":\"title1\",\"body\":\"body1\",\"img\":\"https://images.pexels.com/photos/260024/pexels-photo-260024.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\"price\":\"price1\",\"uri\":\"uri1\"}," + "{\"title\":\"title2\",\"body\":\"body2\",\"img\":\"https://images.pexels.com/photos/260024/pexels-photo-260024.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\"price\":\"price2\",\"uri\":\"uri2\"}," + diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt index 4e6a39fe..58850d76 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt @@ -12,41 +12,41 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType object MockProductRatingTemplateDataProvider { fun getMockedDataMapForRatingTemplate(): MutableMap { return mutableMapOf( - PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.PRODUCT_RATING.value, - PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, - PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, - PushTemplateConstants.PushPayloadKeys.ACTION_TYPE to "WEBURL", - PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_ACTION_URI, - PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON to "rating_star_outline", - PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON to "rating_star_filled", - PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS to "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"}]" + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.PRODUCT_RATING.value, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_TYPE to "WEBURL", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_ACTION_URI, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON to "rating_star_outline", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON to "rating_star_filled", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS to "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"}]" ) } fun getMockedBundleForRatingTemplate(): Bundle { val mockBundle = Bundle() - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.PRODUCT_RATING.value) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BASIC_TEMPLATE_BODY_EXPANDED) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.ACTION_TYPE, "WEBURL") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_ACTION_URI) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON, "rating_star_outline") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON, "rating_star_filled") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS, "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"}]") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.PRODUCT_RATING.value) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BASIC_TEMPLATE_BODY_EXPANDED) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_TYPE, "WEBURL") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_ACTION_URI) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON, "rating_star_outline") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON, "rating_star_filled") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS, "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"}]") return mockBundle } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt index 6929317c..16462998 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt @@ -12,7 +12,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType object MockTimerTemplateDataProvider { @@ -21,32 +21,32 @@ object MockTimerTemplateDataProvider { duration: String ): MutableMap { val map = mutableMapOf( - PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_EXPANDED_BODY, - PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, - PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.TIMER.value, - PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to MOCKED_BODY_TEXT_COLOR, - PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, - PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, - PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR to MOCKED_SMALL_ICON_COLOR, - PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, - PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, - PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, - PushTemplateConstants.PushPayloadKeys.STICKY to "true", - PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, - PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_URI, - PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_EXPANDED_BODY to MOCKED_ALT_EXPANDED_BODY, - PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_TITLE to MOCKED_ALT_TITLE, - PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_BODY to MOCKED_ALT_BODY, - PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_IMAGE to MOCKED_ALT_IMAGE_URI, - PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_COLOR to MOCKED_TIMER_COLOR, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_EXPANDED_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.TIMER.value, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to MOCKED_BODY_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR to MOCKED_SMALL_ICON_COLOR, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY to "true", + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_URI, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_EXPANDED_BODY to MOCKED_ALT_EXPANDED_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_TITLE to MOCKED_ALT_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_BODY to MOCKED_ALT_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_IMAGE to MOCKED_ALT_IMAGE_URI, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_COLOR to MOCKED_TIMER_COLOR, ) if (isUsingDuration) { - map[PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_DURATION] = duration + map[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_DURATION] = duration } else { - map[PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_END_TIME] = + map[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_END_TIME] = MOCKED_TIMER_EXPIRY_TIME } return map @@ -54,59 +54,59 @@ object MockTimerTemplateDataProvider { internal fun getMockedBundleWithTimerData(isUsingDuration: Boolean, duration: String): Bundle { val mockBundle = Bundle() - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_EXPANDED_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BODY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_EXPANDED_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BODY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.TIMER.value ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, MOCKED_BODY_TEXT_COLOR ) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR, MOCKED_SMALL_ICON_COLOR ) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.PRIORITY, MOCKED_PRIORITY) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "true") - mockBundle.putString(PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_URI) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY, MOCKED_PRIORITY) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "true") + mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_URI) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_EXPANDED_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_EXPANDED_BODY, MOCKED_ALT_EXPANDED_BODY ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_TITLE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_TITLE, MOCKED_ALT_TITLE ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_BODY, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_BODY, MOCKED_ALT_BODY ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_IMAGE, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_IMAGE, MOCKED_ALT_IMAGE_URI ) mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_COLOR, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_COLOR, MOCKED_TIMER_COLOR ) if (isUsingDuration) { mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_DURATION, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_DURATION, duration ) } else { mockBundle.putString( - PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_END_TIME, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_END_TIME, MOCKED_TIMER_EXPIRY_TIME ) } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt index a0f1845d..56349a5c 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt @@ -11,8 +11,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockMultiIconTemplateDataProvider.getMockedDataMapWithForMultiIcon import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData import org.junit.Assert.assertEquals @@ -41,7 +41,7 @@ class MultiIconPushTemplateTests { fun testMultiIconPushTemplateWithNoCrossButtonIconKey() { // Arrange val dataMap = getMockedDataMapWithForMultiIcon() - dataMap.remove(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON) + dataMap.remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON) val data = MapData(dataMap) val multiIconPushTemplate = MultiIconPushTemplate(data) assertEquals(5, multiIconPushTemplate.templateItemList.size) @@ -53,20 +53,20 @@ class MultiIconPushTemplateTests { // Arrange val dataMap = getMockedDataMapWithForMultiIcon() dataMap.replaceValueInMap( - PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, MOCK_MULTI_ICON_ITEM_PAYLOAD_INVALID_IMAGE ) val data = MapData(dataMap) val multiIconPushTemplate = MultiIconPushTemplate(data) assertEquals(3, multiIconPushTemplate.templateItemList.size) - assertEquals(multiIconPushTemplate.templateItemList[0].actionType, PushTemplateConstants.ActionType.NONE) + assertEquals(multiIconPushTemplate.templateItemList[0].actionType, com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE) } @Test fun testMultiIconPushTemplateNoJson() { val dataMap = getMockedDataMapWithForMultiIcon() dataMap.replaceValueInMap( - PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, MOCK_MULTI_ICON_ITEM_PAYLOAD_INCOMPLETE_JSON ) val multiIconPushTemplate = MultiIconPushTemplate(MapData(dataMap)) @@ -76,13 +76,13 @@ class MultiIconPushTemplateTests { @Test fun testMultiIconPushTemplateEmptyJson() { val dataMap = getMockedDataMapWithForMultiIcon() - dataMap.replaceValueInMap(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, "") + dataMap.replaceValueInMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, "") val data = MapData(dataMap) val exception = assertFailsWith { MultiIconPushTemplate(data) } assertEquals( - "Required field \"${PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.", + "Required field \"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.", exception.message ) } @@ -91,7 +91,7 @@ class MultiIconPushTemplateTests { fun testMultiIconPushTemplateIncompleteJson() { val dataMap = getMockedDataMapWithForMultiIcon() dataMap.replaceValueInMap( - PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, + com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, MOCK_MULTI_ICON_ITEM_PAYLOAD_INCOMPLETE_JSON ) val multiIconPushTemplate = MultiIconPushTemplate(MapData(dataMap)) @@ -101,13 +101,13 @@ class MultiIconPushTemplateTests { @Test fun testAMultiIconPushTemplateInvalidJson() { val dataMap = getMockedDataMapWithForMultiIcon() - dataMap.replaceValueInMap(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, MOCKED_MALFORMED_JSON_ACTION_BUTTON) + dataMap.replaceValueInMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, MOCKED_MALFORMED_JSON_ACTION_BUTTON) val data = MapData(dataMap) val exception = assertFailsWith { MultiIconPushTemplate(data) } assertEquals( - "\"${PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" field must have 3 to 5 valid items", + "\"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" field must have 3 to 5 valid items", exception.message ) } @@ -115,13 +115,13 @@ class MultiIconPushTemplateTests { @Test fun testBMultiIconPushTemplateEmptyJson2() { val dataMap = getMockedDataMapWithForMultiIcon() - dataMap.replaceValueInMap(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, "{}") + dataMap.replaceValueInMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, "{}") val data = MapData(dataMap) val exception = assertFailsWith { MultiIconPushTemplate(data) } assertEquals( - "Required field \"${PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.", + "Required field \"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.", exception.message ) } diff --git a/code/settings.gradle.kts b/code/settings.gradle.kts index 5c9ab072..39de243d 100755 --- a/code/settings.gradle.kts +++ b/code/settings.gradle.kts @@ -33,4 +33,5 @@ rootProject.name = "aepsdk-ui-android" include ( ":notificationbuilder", ":testapp" -) \ No newline at end of file +) +include(":ui-utils") diff --git a/code/testapp/build.gradle.kts b/code/testapp/build.gradle.kts index d914e552..2f6d92ce 100644 --- a/code/testapp/build.gradle.kts +++ b/code/testapp/build.gradle.kts @@ -82,6 +82,7 @@ dependencies { implementation(platform("androidx.compose:compose-bom:2023.08.00")) implementation("androidx.compose.ui:ui-graphics") implementation("androidx.compose.material3:material3") + implementation(project(":ui-utils")) testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") diff --git a/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt b/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt index 9538521d..5bf0f747 100644 --- a/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt +++ b/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt @@ -17,14 +17,14 @@ import android.net.Uri import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.core.app.NotificationManagerCompat -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.services.ServiceProvider class NotificationTrackerActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) when (intent?.action) { - PushTemplateConstants.NotificationAction.CLICKED -> executePushAction(intent) + com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED -> executePushAction(intent) else -> {} } @@ -34,7 +34,7 @@ class NotificationTrackerActivity : AppCompatActivity() { private fun executePushAction(intent: Intent) { val actionUri = - intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) if (actionUri.isNullOrEmpty()) { openApplication() } else { @@ -42,11 +42,11 @@ class NotificationTrackerActivity : AppCompatActivity() { } // remove the notification if sticky notifications are false - val isStickyNotification = intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY)?.toBoolean() ?: false + val isStickyNotification = intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY)?.toBoolean() ?: false if (isStickyNotification) { return } - val tag = intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) + val tag = intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) val context = ServiceProvider.getInstance().appContextService.applicationContext ?: return val notificationManager = NotificationManagerCompat.from(context) notificationManager.cancel(tag.hashCode()) diff --git a/code/ui-utils/.gitignore b/code/ui-utils/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/code/ui-utils/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/code/ui-utils/build.gradle.kts b/code/ui-utils/build.gradle.kts new file mode 100644 index 00000000..f8bfe748 --- /dev/null +++ b/code/ui-utils/build.gradle.kts @@ -0,0 +1,47 @@ +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") +} + +val mavenCoreVersion: String by project + + +android { + namespace = "com.adobe.ui_utils" + compileSdk = 34 + + defaultConfig { + minSdk = 21 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +dependencies { + implementation("com.adobe.marketing.mobile:core:$mavenCoreVersion") + + implementation("androidx.core:core-ktx:1.13.1") + implementation("androidx.appcompat:appcompat:1.7.0") + implementation("com.google.android.material:material:1.12.0") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.2.1") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") +} \ No newline at end of file diff --git a/code/ui-utils/consumer-rules.pro b/code/ui-utils/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/code/ui-utils/proguard-rules.pro b/code/ui-utils/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/code/ui-utils/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/code/ui-utils/src/androidTest/java/com/adobe/ui_utils/ExampleInstrumentedTest.kt b/code/ui-utils/src/androidTest/java/com/adobe/ui_utils/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..0bd65d25 --- /dev/null +++ b/code/ui-utils/src/androidTest/java/com/adobe/ui_utils/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.adobe.ui_utils + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.adobe.ui_utils.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/code/ui-utils/src/main/AndroidManifest.xml b/code/ui-utils/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a5918e68 --- /dev/null +++ b/code/ui-utils/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt b/code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateConstants.kt similarity index 62% rename from code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt rename to code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateConstants.kt index 4c5bb17e..3ebdb70b 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt +++ b/code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateConstants.kt @@ -9,7 +9,7 @@ governing permissions and limitations under the License. */ -package com.adobe.marketing.mobile.notificationbuilder +package com.adobe.ui_utils import java.util.concurrent.TimeUnit @@ -17,26 +17,26 @@ import java.util.concurrent.TimeUnit * This object holds all constant values for handling out-of-the-box push template notifications */ object PushTemplateConstants { - internal const val LOG_TAG = "PushTemplates" - internal const val CACHE_BASE_DIR = "pushtemplates" - internal const val PUSH_IMAGE_CACHE = "pushimagecache" + const val LOG_TAG = "PushTemplates" + const val CACHE_BASE_DIR = "pushtemplates" + const val PUSH_IMAGE_CACHE = "pushimagecache" - internal const val DEFAULT_DELETE_ICON_NAME = "cross" + const val DEFAULT_DELETE_ICON_NAME = "cross" /** Enum to denote the type of action */ - internal enum class ActionType { + enum class ActionType { DEEPLINK, WEBURL, DISMISS, OPENAPP, NONE } - internal object ActionButtons { - internal const val LABEL = "label" - internal const val URI = "uri" - internal const val TYPE = "type" + object ActionButtons { + const val LABEL = "label" + const val URI = "uri" + const val TYPE = "type" } - internal object RatingAction { - internal const val URI = "uri" - internal const val TYPE = "type" + object RatingAction { + const val URI = "uri" + const val TYPE = "type" } object NotificationAction { @@ -49,45 +49,45 @@ object PushTemplateConstants { const val ACTION_URI = "actionUri" } - internal object DefaultValues { + object DefaultValues { // When no channel name is received from the push notification, this default channel name is used. // This will appear in the notification settings for the app. - internal const val DEFAULT_CHANNEL_NAME = "General Notifications" - internal const val SILENT_CHANNEL_NAME = "Silent Notifications" - internal const val DEFAULT_CHANNEL_ID = "AEPSDKPushChannel" - internal const val SILENT_NOTIFICATION_CHANNEL_ID = "AEPSDKSilentPushChannel" - internal const val CAROUSEL_MAX_BITMAP_WIDTH = 300 - internal const val CAROUSEL_MAX_BITMAP_HEIGHT = 200 - internal const val AUTO_CAROUSEL_MODE = "auto" - internal const val DEFAULT_MANUAL_CAROUSEL_MODE = "default" - internal const val FILMSTRIP_CAROUSEL_MODE = "filmstrip" - internal const val CAROUSEL_MINIMUM_IMAGE_COUNT = 3 - internal const val MANUAL_CAROUSEL_START_INDEX = 0 - internal const val FILMSTRIP_CAROUSEL_CENTER_INDEX = 1 - internal const val NO_CENTER_INDEX_SET = -1 - internal const val INPUT_BOX_DEFAULT_REPLY_TEXT = "Reply" - internal const val PRODUCT_CATALOG_START_INDEX = 0 - internal const val PRODUCT_CATALOG_VERTICAL_LAYOUT = "vertical" - internal const val ICON_TEMPLATE_MIN_IMAGE_COUNT = 3 - internal const val ICON_TEMPLATE_MAX_IMAGE_COUNT = 5 + const val DEFAULT_CHANNEL_NAME = "General Notifications" + const val SILENT_CHANNEL_NAME = "Silent Notifications" + const val DEFAULT_CHANNEL_ID = "AEPSDKPushChannel" + const val SILENT_NOTIFICATION_CHANNEL_ID = "AEPSDKSilentPushChannel" + const val CAROUSEL_MAX_BITMAP_WIDTH = 300 + const val CAROUSEL_MAX_BITMAP_HEIGHT = 200 + const val AUTO_CAROUSEL_MODE = "auto" + const val DEFAULT_MANUAL_CAROUSEL_MODE = "default" + const val FILMSTRIP_CAROUSEL_MODE = "filmstrip" + const val CAROUSEL_MINIMUM_IMAGE_COUNT = 3 + const val MANUAL_CAROUSEL_START_INDEX = 0 + const val FILMSTRIP_CAROUSEL_CENTER_INDEX = 1 + const val NO_CENTER_INDEX_SET = -1 + const val INPUT_BOX_DEFAULT_REPLY_TEXT = "Reply" + const val PRODUCT_CATALOG_START_INDEX = 0 + const val PRODUCT_CATALOG_VERTICAL_LAYOUT = "vertical" + const val ICON_TEMPLATE_MIN_IMAGE_COUNT = 3 + const val ICON_TEMPLATE_MAX_IMAGE_COUNT = 5 // TODO: revisit this value. should cache time be configurable rather than have a static // value? - internal val PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = + val PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = TimeUnit.DAYS.toMillis(3) // 3 days } - internal object MethodNames { - internal const val SET_BACKGROUND_COLOR = "setBackgroundColor" - internal const val SET_TEXT_COLOR = "setTextColor" + object MethodNames { + const val SET_BACKGROUND_COLOR = "setBackgroundColor" + const val SET_TEXT_COLOR = "setTextColor" } - internal object FriendlyViewNames { - internal const val NOTIFICATION_BACKGROUND = "notification background" - internal const val NOTIFICATION_TITLE = "notification title" - internal const val NOTIFICATION_BODY_TEXT = "notification body text" - internal const val CTA_BUTTON = "product catalog cta button" - internal const val TIMER_TEXT = "Timer Text" + object FriendlyViewNames { + const val NOTIFICATION_BACKGROUND = "notification background" + const val NOTIFICATION_TITLE = "notification title" + const val NOTIFICATION_BODY_TEXT = "notification body text" + const val CTA_BUTTON = "product catalog cta button" + const val TIMER_TEXT = "Timer Text" } object PushPayloadKeys { @@ -139,7 +139,7 @@ object PushTemplateConstants { const val MULTI_ICON_ITEMS = "adb_items" const val MULTI_ICON_CLOSE_BUTTON = "adb_cancel_image" - internal object TimerKeys { + object TimerKeys { const val ALTERNATE_TITLE = "adb_title_alt" const val ALTERNATE_BODY = "adb_body_alt" const val ALTERNATE_EXPANDED_BODY = "adb_body_ex_alt" @@ -150,27 +150,27 @@ object PushTemplateConstants { } } - internal object CarouselItemKeys { - internal const val IMAGE = "img" - internal const val TEXT = "txt" - internal const val URI = "uri" + object CarouselItemKeys { + const val IMAGE = "img" + const val TEXT = "txt" + const val URI = "uri" } - internal object CatalogItemKeys { - internal const val TITLE = "title" - internal const val BODY = "body" - internal const val IMAGE = "img" - internal const val PRICE = "price" - internal const val URI = "uri" + object CatalogItemKeys { + const val TITLE = "title" + const val BODY = "body" + const val IMAGE = "img" + const val PRICE = "price" + const val URI = "uri" } - internal object CatalogActionIds { - internal const val CTA_BUTTON_CLICKED = "cta_button_clicked" - internal const val PRODUCT_IMAGE_CLICKED = "product_image_clicked" + object CatalogActionIds { + const val CTA_BUTTON_CLICKED = "cta_button_clicked" + const val PRODUCT_IMAGE_CLICKED = "product_image_clicked" } - internal object ProductRatingKeys { - internal const val RATING_UNSELECTED = -1 + object ProductRatingKeys { + const val RATING_UNSELECTED = -1 } object IntentActions { @@ -192,7 +192,7 @@ object PushTemplateConstants { const val RATING_SELECTED = "ratingSelected" } - internal object MultiIconTemplateKeys { + object MultiIconTemplateKeys { const val IMG = "img" const val URI = "uri" const val TYPE = "type" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PushTemplateImageUtils.kt b/code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateImageUtils.kt similarity index 87% rename from code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PushTemplateImageUtils.kt rename to code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateImageUtils.kt index 8144e654..33f6a7f9 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PushTemplateImageUtils.kt +++ b/code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateImageUtils.kt @@ -9,14 +9,12 @@ governing permissions and limitations under the License. */ -package com.adobe.marketing.mobile.notificationbuilder.internal +package com.adobe.ui_utils import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.Matrix import android.graphics.RectF -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.services.HttpConnecting import com.adobe.marketing.mobile.services.HttpMethod import com.adobe.marketing.mobile.services.Log @@ -27,6 +25,7 @@ import com.adobe.marketing.mobile.services.caching.CacheEntry import com.adobe.marketing.mobile.services.caching.CacheExpiry import com.adobe.marketing.mobile.services.caching.CacheService import com.adobe.marketing.mobile.util.UrlUtils +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import java.io.ByteArrayInputStream import java.io.ByteArrayOutputStream import java.io.File @@ -42,10 +41,10 @@ import java.util.concurrent.atomic.AtomicInteger * Utility functions to assist in downloading and caching images for push template notifications. */ -internal object PushTemplateImageUtils { +object PushTemplateImageUtils { private const val SELF_TAG = "PushTemplateImageUtil" - private const val FULL_BITMAP_QUALITY = 100 - private const val DOWNLOAD_TIMEOUT_SECS = 10 + private const val DEFAULT_BITMAP_QUALITY = 100 + private const val DEFAULT_DOWNLOAD_TIMEOUT_SECS = 10 /** * Downloads and caches images provided in the [urlList]. Prior to downloading, the image url @@ -59,8 +58,13 @@ internal object PushTemplateImageUtils { * @param urlList [String] containing an image asset url * @return [Int] number of images that were found in cache or successfully downloaded */ - internal fun cacheImages( - urlList: List + fun cacheImages( + urlList: List, + downloadTimeoutInSeconds: Int = DEFAULT_DOWNLOAD_TIMEOUT_SECS, + bitmapQuality: Int = DEFAULT_BITMAP_QUALITY, + bitmapWidth: Float = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + bitmapHeight: Float = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + scaleToFit: Matrix.ScaleToFit = Matrix.ScaleToFit.CENTER ): Int { val assetCacheLocation = getAssetCacheLocation() if (urlList.isEmpty() || assetCacheLocation.isNullOrEmpty()) { @@ -89,16 +93,16 @@ internal object PushTemplateImageUtils { continue } - downloadImage(url) { connection -> + downloadImage(url, downloadTimeoutInSeconds) { connection -> if (!latchAborted.get()) { val image = handleDownloadResponse(url, connection) // scale down the bitmap to 300dp x 200dp as we don't want to use a full // size image due to memory constraints image?.let { - val pushImage = scaleBitmap(it) + val pushImage = scaleBitmap(it, bitmapWidth, bitmapHeight, scaleToFit) // write bitmap to cache try { - bitmapToInputStream(pushImage).use { bitmapInputStream -> + bitmapToInputStream(pushImage, bitmapQuality).use { bitmapInputStream -> cacheBitmapInputStream( cacheService, bitmapInputStream, @@ -120,7 +124,7 @@ internal object PushTemplateImageUtils { } } try { - if (latch.await(DOWNLOAD_TIMEOUT_SECS.toLong(), TimeUnit.SECONDS)) { + if (latch.await(downloadTimeoutInSeconds.toLong(), TimeUnit.SECONDS)) { Log.trace( LOG_TAG, SELF_TAG, @@ -154,6 +158,7 @@ internal object PushTemplateImageUtils { */ private fun downloadImage( url: String, + downloadTimeoutInSeconds: Int, completionCallback: (HttpConnecting?) -> Unit ) { val networkRequest = NetworkRequest( @@ -161,8 +166,8 @@ internal object PushTemplateImageUtils { HttpMethod.GET, null, null, - DOWNLOAD_TIMEOUT_SECS, - DOWNLOAD_TIMEOUT_SECS + downloadTimeoutInSeconds, + downloadTimeoutInSeconds ) val networkCallback = NetworkCallback { connection: HttpConnecting? -> @@ -180,7 +185,7 @@ internal object PushTemplateImageUtils { * @param url [String] containing the image url to retrieve from cache * @return [Bitmap] containing the image retrieved from cache, or `null` if no image is found */ - internal fun getCachedImage(url: String?): Bitmap? { + fun getCachedImage(url: String?): Bitmap? { val assetCacheLocation = getAssetCacheLocation() if (url == null || !UrlUtils.isValidUrl(url) || assetCacheLocation.isNullOrEmpty()) { return null @@ -228,9 +233,9 @@ internal object PushTemplateImageUtils { * @param bitmap [Bitmap] to be converted into an [InputStream] * @return an `InputStream` created from the provided bitmap */ - private fun bitmapToInputStream(bitmap: Bitmap): InputStream { + private fun bitmapToInputStream(bitmap: Bitmap, bitmapQuality: Int): InputStream { ByteArrayOutputStream().use { - bitmap.compress(Bitmap.CompressFormat.PNG, FULL_BITMAP_QUALITY, it) + bitmap.compress(Bitmap.CompressFormat.PNG, bitmapQuality, it) val bitmapData = it.toByteArray() return ByteArrayInputStream(bitmapData) } @@ -274,17 +279,22 @@ internal object PushTemplateImageUtils { * @param downloadedBitmap [Bitmap] to be scaled * @return [Bitmap] containing the scaled image */ - private fun scaleBitmap(downloadedBitmap: Bitmap): Bitmap { + private fun scaleBitmap( + downloadedBitmap: Bitmap, + bitmapWidth: Float, + bitmapHeight: Float, + scaleToFit: Matrix.ScaleToFit + ): Bitmap { val matrix = Matrix() matrix.setRectToRect( RectF(0f, 0f, downloadedBitmap.width.toFloat(), downloadedBitmap.height.toFloat()), RectF( 0f, 0f, - PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat() + bitmapWidth, + bitmapHeight ), - Matrix.ScaleToFit.CENTER + scaleToFit ) return Bitmap.createBitmap( downloadedBitmap, @@ -302,7 +312,7 @@ internal object PushTemplateImageUtils { * * @return [String] containing the asset cache location to use for storing downloaded push template images. */ - internal fun getAssetCacheLocation(): String? { + fun getAssetCacheLocation(): String? { val deviceInfoService = ServiceProvider.getInstance().deviceInfoService ?: return null val applicationCacheDir = deviceInfoService.applicationCacheDir diff --git a/code/ui-utils/src/test/java/com/adobe/ui_utils/ExampleUnitTest.kt b/code/ui-utils/src/test/java/com/adobe/ui_utils/ExampleUnitTest.kt new file mode 100644 index 00000000..090960f2 --- /dev/null +++ b/code/ui-utils/src/test/java/com/adobe/ui_utils/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.adobe.ui_utils + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file From 75e5155ea81339191062bd955ce4bc6a62e24ed3 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Sat, 17 Aug 2024 23:43:28 +0530 Subject: [PATCH 02/14] optimize imports --- code/build.gradle.kts | 1 - .../NotificationBuilder.kt | 5 +-- .../notificationbuilder/RemindLaterHandler.kt | 20 ++++++++---- .../internal/PendingIntentUtils.kt | 8 ++--- .../AutoCarouselNotificationBuilder.kt | 12 +++---- .../builders/BasicNotificationBuilder.kt | 8 ++--- .../builders/InputBoxNotificationBuilder.kt | 10 +++--- .../builders/MultiIconNotificationBuilder.kt | 10 +++--- .../ProductCatalogNotificationBuilder.kt | 32 +++++++++---------- .../ProductRatingNotificationBuilder.kt | 26 +++++++++------ .../builders/TimerNotificationBuilder.kt | 11 ++++--- .../NotificationCompatBuilderExtensions.kt | 12 +++---- .../NotificationManagerExtensions.kt | 10 +++--- .../extensions/RemoteViewsExtensions.kt | 26 +++++++-------- .../NotificationManagerExtensionsTest.kt | 8 ++--- .../templates/MultiIconPushTemplateTests.kt | 26 +++++++-------- 16 files changed, 121 insertions(+), 104 deletions(-) diff --git a/code/build.gradle.kts b/code/build.gradle.kts index 6795d14d..fec4663b 100644 --- a/code/build.gradle.kts +++ b/code/build.gradle.kts @@ -20,6 +20,5 @@ buildscript { } dependencies { classpath("com.github.adobe:aepsdk-commons:gp-3.0.0") -// classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20") } } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt index c92ef819..44ce9705 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt @@ -17,7 +17,6 @@ import android.content.Context import android.content.Intent import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationBuilder.constructNotificationBuilder -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.builders.AutoCarouselNotificationBuilder import com.adobe.marketing.mobile.notificationbuilder.internal.builders.BasicNotificationBuilder @@ -45,6 +44,8 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG /** * Public facing object to construct a [NotificationCompat.Builder] object for the specified [PushTemplateType]. @@ -118,7 +119,7 @@ object NotificationBuilder { ): NotificationCompat.Builder { val pushTemplateType = - PushTemplateType.fromString(notificationData.getString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE)) + PushTemplateType.fromString(notificationData.getString(PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE)) when (pushTemplateType) { PushTemplateType.BASIC -> { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt index 31e66b68..aa76d250 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt @@ -19,6 +19,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtil import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider import com.adobe.marketing.mobile.util.TimeUtils +import com.adobe.ui_utils.PushTemplateConstants /** * Public facing object to handle the remind later intent. @@ -49,23 +50,29 @@ object RemindLaterHandler { val intentExtras = remindLaterIntent.extras ?: throw NotificationConstructionFailedException("Intent extras are null, cannot schedule notification for later.") val remindLaterTimestamp = - intentExtras.getString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP)?.toLongOrNull() ?: 0 + intentExtras.getString(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP) + ?.toLongOrNull() ?: 0 val remindLaterDuration = - intentExtras.getString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION)?.toLongOrNull() ?: 0 + intentExtras.getString(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION) + ?.toLongOrNull() ?: 0 // calculate difference in fire date from the current date if timestamp is provided val secondsUntilFireDate: Long = if (remindLaterDuration > 0) remindLaterDuration else remindLaterTimestamp - TimeUtils.getUnixTimeInSeconds() val notificationManager = NotificationManagerCompat.from(context) - val tag = intentExtras.getString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) + val tag = intentExtras.getString(PushTemplateConstants.PushPayloadKeys.TAG) // if fire date is greater than 0 then we want to schedule a reminder notification. if (secondsUntilFireDate <= 0) { tag?.let { notificationManager.cancel(tag.hashCode()) } throw IllegalArgumentException("Remind later timestamp or duration is less than or equal to current timestamp, cannot schedule notification for later.") } - Log.trace(com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, SELF_TAG, "Remind later pressed, will reschedule the notification to be displayed $secondsUntilFireDate seconds from now") + Log.trace( + PushTemplateConstants.LOG_TAG, + SELF_TAG, + "Remind later pressed, will reschedule the notification to be displayed $secondsUntilFireDate seconds from now" + ) // calculate the trigger time val triggerTimeInSeconds: Long = if (remindLaterDuration > 0) remindLaterDuration + TimeUtils.getUnixTimeInSeconds() @@ -74,14 +81,15 @@ object RemindLaterHandler { // schedule a pending intent to be broadcast at the specified timestamp if (broadcastReceiverClass == null) { Log.warning( - com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, + PushTemplateConstants.LOG_TAG, SELF_TAG, "Broadcast receiver class is null, cannot schedule notification for later." ) tag?.let { notificationManager.cancel(tag.hashCode()) } return } - val scheduledIntent = Intent(com.adobe.ui_utils.PushTemplateConstants.IntentActions.SCHEDULED_NOTIFICATION_BROADCAST) + val scheduledIntent = + Intent(PushTemplateConstants.IntentActions.SCHEDULED_NOTIFICATION_BROADCAST) scheduledIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) scheduledIntent.putExtras(intentExtras) PendingIntentUtils.scheduleNotification(context, scheduledIntent, broadcastReceiverClass, triggerTimeInSeconds) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt index 96a37fdb..33df3d04 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt @@ -19,8 +19,8 @@ import android.content.Context import android.content.Intent import android.os.Build import android.os.Bundle -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants import java.util.Random internal object PendingIntentUtils { @@ -106,7 +106,7 @@ internal object PendingIntentUtils { actionID: String?, intentExtras: Bundle? ): PendingIntent? { - val intent = Intent(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED) + val intent = Intent(PushTemplateConstants.NotificationAction.CLICKED) trackerActivityClass?.let { intent.setClass(context.applicationContext, trackerActivityClass) } @@ -140,10 +140,10 @@ internal object PendingIntentUtils { actionId: String? ) { if (!actionUri.isNullOrEmpty()) { - intent.putExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI, actionUri) + intent.putExtra(PushTemplateConstants.TrackingKeys.ACTION_URI, actionUri) } if (!actionId.isNullOrEmpty()) { - intent.putExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID, actionId) + intent.putExtra(PushTemplateConstants.TrackingKeys.ACTION_ID, actionId) } } } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt index d4650f1b..aa9451a3 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt @@ -19,15 +19,15 @@ import android.graphics.Bitmap import android.widget.RemoteViews import androidx.annotation.VisibleForTesting import androidx.core.app.NotificationCompat -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a auto carousel push template notification. @@ -48,12 +48,12 @@ internal object AutoCarouselNotificationBuilder { val expandedLayout = RemoteViews(packageName, R.layout.push_template_auto_carousel) // load images into the carousel - val downloadedImageCount = com.adobe.ui_utils.PushTemplateImageUtils.cacheImages( + val downloadedImageCount = PushTemplateImageUtils.cacheImages( pushTemplate.carouselItems.map { it.imageUri } ) // fallback to a basic push template notification builder if less than 3 images were able to be downloaded - if (downloadedImageCount < com.adobe.ui_utils.PushTemplateConstants.DefaultValues.CAROUSEL_MINIMUM_IMAGE_COUNT) { + if (downloadedImageCount < PushTemplateConstants.DefaultValues.CAROUSEL_MINIMUM_IMAGE_COUNT) { Log.warning(LOG_TAG, SELF_TAG, "Less than 3 images are available for the auto carousel push template, falling back to a basic push template.") return BasicNotificationBuilder.fallbackToBasicNotification( context, @@ -115,7 +115,7 @@ internal object AutoCarouselNotificationBuilder { val downloadedImageUris = mutableListOf() for (item: CarouselPushTemplate.CarouselItem in items) { val imageUri: String = item.imageUri - val pushImage: Bitmap? = com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(imageUri) + val pushImage: Bitmap? = PushTemplateImageUtils.getCachedImage(imageUri) if (pushImage == null) { Log.trace( LOG_TAG, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt index 8b6ca281..10cf0704 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt @@ -20,9 +20,6 @@ import android.widget.RemoteViews import androidx.annotation.VisibleForTesting import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.addActionButtons import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired @@ -30,6 +27,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a basic push template notification. @@ -139,7 +139,7 @@ internal object BasicNotificationBuilder { ) val remindIntent = AEPPushNotificationBuilder.createIntent( - com.adobe.ui_utils.PushTemplateConstants.IntentActions.REMIND_LATER_CLICKED, + PushTemplateConstants.IntentActions.REMIND_LATER_CLICKED, pushTemplate ) remindIntent.putExtra(PushPayloadKeys.CHANNEL_ID, channelId) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt index 5c8d1107..a049e1cd 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt @@ -21,14 +21,14 @@ import android.widget.RemoteViews import androidx.core.app.NotificationCompat import androidx.core.app.RemoteInput import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.InputBoxPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import java.util.Random /** @@ -119,7 +119,7 @@ internal object InputBoxNotificationBuilder { pushTemplate: InputBoxPushTemplate ) { val inputHint = - if (pushTemplate.inputTextHint.isNullOrEmpty()) com.adobe.ui_utils.PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT else pushTemplate.inputTextHint + if (pushTemplate.inputTextHint.isNullOrEmpty()) PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT else pushTemplate.inputTextHint val remoteInput = RemoteInput.Builder(pushTemplate.inputBoxReceiverName) .setLabel(inputHint) .build() @@ -156,7 +156,7 @@ internal object InputBoxNotificationBuilder { ): PendingIntent { val inputReceivedIntentExtras = pushTemplate.data.getBundle() inputReceivedIntentExtras.putString(PushPayloadKeys.CHANNEL_ID, channelId) - val intent = Intent(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.INPUT_RECEIVED) + val intent = Intent(PushTemplateConstants.NotificationAction.INPUT_RECEIVED) trackerActivityClass?.let { intent.setClass(context.applicationContext, trackerActivityClass) } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt index 391ad861..f3c97213 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt @@ -20,13 +20,13 @@ import android.os.Bundle import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MultiIconPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants import java.util.Random internal object MultiIconNotificationBuilder { @@ -39,7 +39,7 @@ internal object MultiIconNotificationBuilder { ): NotificationCompat.Builder { Log.trace( - com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, + PushTemplateConstants.LOG_TAG, SELF_TAG, "Building an icon template push notification." ) @@ -69,8 +69,8 @@ internal object MultiIconNotificationBuilder { ) val closeButtonIntentExtra = Bundle(pushTemplate.data.getBundle()) // copy the bundle - closeButtonIntentExtra.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "false") - val dismissIntent = Intent(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.DISMISSED) + closeButtonIntentExtra.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "false") + val dismissIntent = Intent(PushTemplateConstants.NotificationAction.DISMISSED) trackerActivityClass?.let { dismissIntent.setClass(context.applicationContext, trackerActivityClass) } @@ -133,7 +133,7 @@ internal object MultiIconNotificationBuilder { } notificationLayout.addView(R.id.icons_layout_linear, iconItem) } - if (validImagesAddedCount < com.adobe.ui_utils.PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MIN_IMAGE_COUNT) { + if (validImagesAddedCount < PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MIN_IMAGE_COUNT) { throw NotificationConstructionFailedException("Valid icons are less then 3, cannot build a notification.") } } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt index 2c49f4b9..5a1dc0e2 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt @@ -19,15 +19,15 @@ import android.content.Context import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setElementColor import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductCatalogPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a product catalog template notification. @@ -51,7 +51,7 @@ internal object ProductCatalogNotificationBuilder { // fast fail if we can't download a catalog item image val catalogImageUris = pushTemplate.catalogItems.map { it.img } - downloadedImageCount = com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(catalogImageUris) + downloadedImageCount = PushTemplateImageUtils.cacheImages(catalogImageUris) if (downloadedImageCount != catalogImageUris.size) { Log.error( LOG_TAG, @@ -64,7 +64,7 @@ internal object ProductCatalogNotificationBuilder { val packageName = context.packageName val smallLayout = RemoteViews(packageName, R.layout.push_template_collapsed) val expandedLayout = - if (pushTemplate.displayLayout == com.adobe.ui_utils.PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT) { + if (pushTemplate.displayLayout == PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT) { RemoteViews(packageName, R.layout.push_tempate_vertical_catalog) } else { RemoteViews(packageName, R.layout.push_template_horizontal_catalog) @@ -146,7 +146,7 @@ internal object ProductCatalogNotificationBuilder { ) val pushImage = - com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(pushTemplate.catalogItems[pushTemplate.currentIndex].img) + PushTemplateImageUtils.getCachedImage(pushTemplate.catalogItems[pushTemplate.currentIndex].img) expandedLayout.setImageViewBitmap(R.id.product_image, pushImage) expandedLayout.setOnClickPendingIntent( R.id.product_image, @@ -154,7 +154,7 @@ internal object ProductCatalogNotificationBuilder { context, trackerActivityClass, pushTemplate.catalogItems[pushTemplate.currentIndex].uri, - com.adobe.ui_utils.PushTemplateConstants.CatalogActionIds.PRODUCT_IMAGE_CLICKED, + PushTemplateConstants.CatalogActionIds.PRODUCT_IMAGE_CLICKED, pushTemplate.data.getBundle() ) ) @@ -190,7 +190,7 @@ internal object ProductCatalogNotificationBuilder { R.id.product_thumbnail_3 ) for (index in catalogItems.indices) { - val thumbImage = com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(catalogItems[index].img) + val thumbImage = PushTemplateImageUtils.getCachedImage(catalogItems[index].img) if (thumbImage == null) { Log.warning( LOG_TAG, @@ -247,7 +247,7 @@ internal object ProductCatalogNotificationBuilder { context, trackerActivityClass, pushTemplate.ctaButtonUri, - com.adobe.ui_utils.PushTemplateConstants.CatalogActionIds.CTA_BUTTON_CLICKED, + PushTemplateConstants.CatalogActionIds.CTA_BUTTON_CLICKED, pushTemplate.data.getBundle() ) ) @@ -266,8 +266,8 @@ internal object ProductCatalogNotificationBuilder { setElementColor( containerViewId, "#$buttonColor", - com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, - com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.CTA_BUTTON + PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, + PushTemplateConstants.FriendlyViewNames.CTA_BUTTON ) } @@ -284,8 +284,8 @@ internal object ProductCatalogNotificationBuilder { setElementColor( containerViewId, "#$buttonTextColor", - com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.CTA_BUTTON + PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + PushTemplateConstants.FriendlyViewNames.CTA_BUTTON ) } @@ -317,13 +317,13 @@ internal object ProductCatalogNotificationBuilder { ) val thumbnailClickIntent = AEPPushNotificationBuilder.createIntent( - com.adobe.ui_utils.PushTemplateConstants.IntentActions.CATALOG_THUMBNAIL_CLICKED, + PushTemplateConstants.IntentActions.CATALOG_THUMBNAIL_CLICKED, pushTemplate ).apply { setClass(context.applicationContext, broadcastReceiverClass) - putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, channelId) + putExtra(PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, channelId) putExtra( - com.adobe.ui_utils.PushTemplateConstants.IntentKeys.CATALOG_ITEM_INDEX, + PushTemplateConstants.IntentKeys.CATALOG_ITEM_INDEX, currentIndex.toString() ) } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt index 26b4b569..33446241 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt @@ -21,16 +21,16 @@ import android.view.View import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setNotificationTitleTextColor import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateImageUtils internal object ProductRatingNotificationBuilder { private const val SELF_TAG = "ProductRatingNotificationBuilder" @@ -71,7 +71,7 @@ internal object ProductRatingNotificationBuilder { // set the image on the notification val imageUri = pushTemplate.imageUrl - val downloadedImageCount = com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf(imageUri)) + val downloadedImageCount = PushTemplateImageUtils.cacheImages(listOf(imageUri)) if (downloadedImageCount == 0) { Log.trace( @@ -83,7 +83,7 @@ internal object ProductRatingNotificationBuilder { } else { expandedLayout.setImageViewBitmap( R.id.expanded_template_image, - com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(imageUri) + PushTemplateImageUtils.getCachedImage(imageUri) ) } @@ -98,7 +98,7 @@ internal object ProductRatingNotificationBuilder { ) // check if confirm button needs to be shown - if (pushTemplate.ratingSelected > com.adobe.ui_utils.PushTemplateConstants.ProductRatingKeys.RATING_UNSELECTED) { + if (pushTemplate.ratingSelected > PushTemplateConstants.ProductRatingKeys.RATING_UNSELECTED) { expandedLayout.setViewVisibility(R.id.rating_confirm, View.VISIBLE) expandedLayout.setNotificationTitleTextColor( pushTemplate.titleTextColor, @@ -108,7 +108,10 @@ internal object ProductRatingNotificationBuilder { // add pending intent for confirm click // sticky is set to false as the notification will be dismissed after confirm click val ratingConfirmedIntentExtras = Bundle(pushTemplate.data.getBundle()) // copy the bundle - ratingConfirmedIntentExtras.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "false") + ratingConfirmedIntentExtras.putString( + PushTemplateConstants.PushPayloadKeys.STICKY, + "false" + ) val selectedRatingAction = pushTemplate.ratingActionList[pushTemplate.ratingSelected] expandedLayout.setRemoteViewClickAction( context, @@ -190,16 +193,19 @@ internal object ProductRatingNotificationBuilder { } Log.trace(LOG_TAG, SELF_TAG, "Creating a rating click pending intent from a push template object.") - val ratingButtonClickIntent = AEPPushNotificationBuilder.createIntent(com.adobe.ui_utils.PushTemplateConstants.IntentActions.RATING_ICON_CLICKED, pushTemplate) + val ratingButtonClickIntent = AEPPushNotificationBuilder.createIntent( + PushTemplateConstants.IntentActions.RATING_ICON_CLICKED, + pushTemplate + ) broadcastReceiverClass.let { ratingButtonClickIntent.setClass(context.applicationContext, broadcastReceiverClass) } ratingButtonClickIntent.putExtra( - com.adobe.ui_utils.PushTemplateConstants.IntentKeys.RATING_SELECTED, + PushTemplateConstants.IntentKeys.RATING_SELECTED, ratingButtonSelection.toString() ) ratingButtonClickIntent.putExtra( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, + PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, channelId ) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt index 7a04f608..76fe2920 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt @@ -22,9 +22,6 @@ import android.os.SystemClock import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired @@ -33,6 +30,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setTim import com.adobe.marketing.mobile.notificationbuilder.internal.templates.TimerPushTemplate import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.util.TimeUtils +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys private const val TAG = "TimerNotificationBuilder" @@ -173,7 +173,10 @@ internal object TimerNotificationBuilder { * @return the intent for the timer expiry */ private fun createIntent(template: TimerPushTemplate): Intent { - val intent = AEPPushNotificationBuilder.createIntent(com.adobe.ui_utils.PushTemplateConstants.IntentActions.TIMER_EXPIRED, template) + val intent = AEPPushNotificationBuilder.createIntent( + PushTemplateConstants.IntentActions.TIMER_EXPIRED, + template + ) // remove timer to prevent countdown from being recreated intent.removeExtra(TimerKeys.TIMER_DURATION) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt index b8920c97..d8eb7a83 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt @@ -20,12 +20,12 @@ import android.media.RingtoneManager import android.os.Bundle import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.MobileCore -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateImageUtils import java.util.Random private const val SELF_TAG = "RemoteViewExtensions" @@ -212,7 +212,7 @@ internal fun NotificationCompat.Builder.setNotificationDeleteAction( context: Context, trackerActivityClass: Class? ): NotificationCompat.Builder { - val deleteIntent = Intent(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.DISMISSED) + val deleteIntent = Intent(PushTemplateConstants.NotificationAction.DISMISSED) trackerActivityClass?.let { deleteIntent.setClass(context.applicationContext, trackerActivityClass) } @@ -247,8 +247,8 @@ internal fun NotificationCompat.Builder.addActionButtons( } for (eachButton in actionButtons) { val pendingIntent: PendingIntent? = - if (eachButton.type === com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK || - eachButton.type === com.adobe.ui_utils.PushTemplateConstants.ActionType.WEBURL + if (eachButton.type === PushTemplateConstants.ActionType.DEEPLINK || + eachButton.type === PushTemplateConstants.ActionType.WEBURL ) { PendingIntentUtils.createPendingIntentForTrackerActivity( context, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt index 92eb269f..32f14a8e 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt @@ -16,10 +16,10 @@ import android.app.NotificationManager import android.content.Context import android.media.RingtoneManager import android.os.Build -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AEPPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG private const val SELF_TAG = "NotificationManagerExtensions" @@ -39,8 +39,8 @@ internal fun NotificationManager.createNotificationChannelIfRequired( // create a silent notification channel if push is from intent // if not from intent and channel id is not provided, use the default channel id val channelIdToUse = - if (template.isFromIntent) com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID - else template.channelId ?: com.adobe.ui_utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID + if (template.isFromIntent) PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID + else template.channelId ?: PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID // No channel creation required. if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { @@ -60,7 +60,7 @@ internal fun NotificationManager.createNotificationChannelIfRequired( // Create a channel val channel = NotificationChannel( channelIdToUse, - if (template.isFromIntent) com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_CHANNEL_NAME else com.adobe.ui_utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_NAME, + if (template.isFromIntent) PushTemplateConstants.DefaultValues.SILENT_CHANNEL_NAME else PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_NAME, template.getNotificationImportance() ) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt index a4b3d284..e3ea3014 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt @@ -18,13 +18,13 @@ import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.RemoteViews -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider import com.adobe.marketing.mobile.util.UrlUtils +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.ui_utils.PushTemplateImageUtils private const val SELF_TAG = "RemoteViewExtensions" @@ -79,8 +79,8 @@ internal fun RemoteViews.setNotificationBackgroundColor( setElementColor( containerViewId, "#$backgroundColor", - com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, - com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BACKGROUND + PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, + PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BACKGROUND ) } @@ -98,8 +98,8 @@ internal fun RemoteViews.setTimerTextColor( setElementColor( containerViewId, "#$timerTextColor", - com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.TIMER_TEXT + PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + PushTemplateConstants.FriendlyViewNames.TIMER_TEXT ) } @@ -117,8 +117,8 @@ internal fun RemoteViews.setNotificationTitleTextColor( setElementColor( containerViewId, "#$titleTextColor", - com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_TITLE + PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + PushTemplateConstants.FriendlyViewNames.NOTIFICATION_TITLE ) } @@ -137,8 +137,8 @@ internal fun RemoteViews.setNotificationBodyTextColor( setElementColor( containerViewId, "#$expandedBodyTextColor", - com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BODY_TEXT + PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BODY_TEXT ) } @@ -222,7 +222,7 @@ internal fun RemoteViews.setRemoteImage( if (!UrlUtils.isValidUrl(imageUrl)) { return false } - val downloadedIconCount = com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf(imageUrl)) + val downloadedIconCount = PushTemplateImageUtils.cacheImages(listOf(imageUrl)) if (downloadedIconCount == 0) { Log.warning( LOG_TAG, @@ -234,7 +234,7 @@ internal fun RemoteViews.setRemoteImage( } setImageViewBitmap( containerViewId, - com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(imageUrl) + PushTemplateImageUtils.getCachedImage(imageUrl) ) return true } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt index a29c0ec6..b33b9c19 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt @@ -15,13 +15,13 @@ import android.app.NotificationChannel import android.app.NotificationManager import android.content.Context import android.media.RingtoneManager -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_CHANNEL_ID import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEPPushTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithAllKeys import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithRequiredData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test @@ -53,7 +53,7 @@ class NotificationManagerExtensionsTest { val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val notificationChannelId = notificationManager.createNotificationChannelIfRequired(context, template) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID, notificationChannelId) + assertEquals(PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID, notificationChannelId) } @Test @@ -79,7 +79,7 @@ class NotificationManagerExtensionsTest { @Test fun `createNotificationChannelIfRequired should set a default sound if template sound is empty`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND] = "" + dataMap[PushTemplateConstants.PushPayloadKeys.SOUND] = "" val template = BasicPushTemplate(MapData(dataMap)) val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val notificationChannelId = notificationManager.createNotificationChannelIfRequired(context, template) @@ -95,6 +95,6 @@ class NotificationManagerExtensionsTest { val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val notificationChannelId = notificationManager.createNotificationChannelIfRequired(context, template) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, notificationChannelId) + assertEquals(PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, notificationChannelId) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt index 56349a5c..bc8f5d21 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt @@ -11,10 +11,10 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockMultiIconTemplateDataProvider.getMockedDataMapWithForMultiIcon import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import org.junit.Assert.assertEquals import org.junit.Before import org.junit.runner.RunWith @@ -41,7 +41,7 @@ class MultiIconPushTemplateTests { fun testMultiIconPushTemplateWithNoCrossButtonIconKey() { // Arrange val dataMap = getMockedDataMapWithForMultiIcon() - dataMap.remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON) + dataMap.remove(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON) val data = MapData(dataMap) val multiIconPushTemplate = MultiIconPushTemplate(data) assertEquals(5, multiIconPushTemplate.templateItemList.size) @@ -53,20 +53,20 @@ class MultiIconPushTemplateTests { // Arrange val dataMap = getMockedDataMapWithForMultiIcon() dataMap.replaceValueInMap( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, + PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, MOCK_MULTI_ICON_ITEM_PAYLOAD_INVALID_IMAGE ) val data = MapData(dataMap) val multiIconPushTemplate = MultiIconPushTemplate(data) assertEquals(3, multiIconPushTemplate.templateItemList.size) - assertEquals(multiIconPushTemplate.templateItemList[0].actionType, com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE) + assertEquals(multiIconPushTemplate.templateItemList[0].actionType, PushTemplateConstants.ActionType.NONE) } @Test fun testMultiIconPushTemplateNoJson() { val dataMap = getMockedDataMapWithForMultiIcon() dataMap.replaceValueInMap( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, + PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, MOCK_MULTI_ICON_ITEM_PAYLOAD_INCOMPLETE_JSON ) val multiIconPushTemplate = MultiIconPushTemplate(MapData(dataMap)) @@ -76,13 +76,13 @@ class MultiIconPushTemplateTests { @Test fun testMultiIconPushTemplateEmptyJson() { val dataMap = getMockedDataMapWithForMultiIcon() - dataMap.replaceValueInMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, "") + dataMap.replaceValueInMap(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, "") val data = MapData(dataMap) val exception = assertFailsWith { MultiIconPushTemplate(data) } assertEquals( - "Required field \"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.", + "Required field \"${PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.", exception.message ) } @@ -91,7 +91,7 @@ class MultiIconPushTemplateTests { fun testMultiIconPushTemplateIncompleteJson() { val dataMap = getMockedDataMapWithForMultiIcon() dataMap.replaceValueInMap( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, + PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, MOCK_MULTI_ICON_ITEM_PAYLOAD_INCOMPLETE_JSON ) val multiIconPushTemplate = MultiIconPushTemplate(MapData(dataMap)) @@ -101,13 +101,13 @@ class MultiIconPushTemplateTests { @Test fun testAMultiIconPushTemplateInvalidJson() { val dataMap = getMockedDataMapWithForMultiIcon() - dataMap.replaceValueInMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, MOCKED_MALFORMED_JSON_ACTION_BUTTON) + dataMap.replaceValueInMap(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, MOCKED_MALFORMED_JSON_ACTION_BUTTON) val data = MapData(dataMap) val exception = assertFailsWith { MultiIconPushTemplate(data) } assertEquals( - "\"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" field must have 3 to 5 valid items", + "\"${PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" field must have 3 to 5 valid items", exception.message ) } @@ -115,13 +115,13 @@ class MultiIconPushTemplateTests { @Test fun testBMultiIconPushTemplateEmptyJson2() { val dataMap = getMockedDataMapWithForMultiIcon() - dataMap.replaceValueInMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, "{}") + dataMap.replaceValueInMap(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS, "{}") val data = MapData(dataMap) val exception = assertFailsWith { MultiIconPushTemplate(data) } assertEquals( - "Required field \"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.", + "Required field \"${PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.", exception.message ) } From 93279a2368fca56483af219f07bb16ee5e409c76 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Sat, 17 Aug 2024 23:52:09 +0530 Subject: [PATCH 03/14] optimize imports --- .../NotificationBuilderTests.kt | 39 +++--- .../RemindLaterHandlerTests.kt | 19 +-- .../AEPPushNotificationBuilderTest.kt | 12 +- .../AutoCarouselNotificationBuilderTest.kt | 8 +- .../builders/BasicNotificationBuilderTest.kt | 28 ++-- .../InputBoxNotificationBuilderTest.kt | 22 +-- .../builders/LegacyNotificationBuilderTest.kt | 28 ++-- .../ManualCarouselNotificationBuilderTest.kt | 28 ++-- .../ProductCatalogNotificationBuilderTest.kt | 20 +-- .../ProductRatingNotificationBuilderTest.kt | 18 +-- .../builders/TimerNotificationBuilderTests.kt | 4 +- .../ZeroBezelNotificationBuilderTest.kt | 26 ++-- ...NotificationCompatBuilderExtensionsTest.kt | 56 ++++---- .../extensions/RemoteViewsExtensionsTest.kt | 38 +++--- .../internal/templates/AEPPushTemplateTest.kt | 18 +-- .../templates/BasicPushTemplateTests.kt | 12 +- .../templates/CarousalPushTemplateTests.kt | 14 +- .../MockAEPPushTemplateDataProvider.kt | 126 ++++++++--------- .../MockCarousalTemplateDataProvider.kt | 74 +++++----- .../MockInputBoxPushTemplateDataProvider.kt | 128 +++++++++--------- .../MockMultiIconTemplateDataProvider.kt | 28 ++-- .../MockProductCatalogTemplateDataProvider.kt | 36 ++--- .../MockProductRatingTemplateDataProvider.kt | 50 +++---- .../MockTimerTemplateDataProvider.kt | 94 ++++++------- .../NotificationTrackerActivity.kt | 10 +- 25 files changed, 469 insertions(+), 467 deletions(-) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt index 086619a3..49a077e3 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt @@ -20,7 +20,6 @@ import android.content.Context import android.content.Intent import androidx.core.app.NotificationManagerCompat import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.builders.AutoCarouselNotificationBuilder import com.adobe.marketing.mobile.notificationbuilder.internal.builders.BasicNotificationBuilder @@ -38,6 +37,8 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockTimerTemplateDataProvider import com.adobe.marketing.mobile.services.AppContextService import com.adobe.marketing.mobile.services.ServiceProvider +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateImageUtils import io.mockk.every import io.mockk.mockk import io.mockk.mockkClass @@ -76,7 +77,7 @@ class NotificationBuilderTests { trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass mockkObject(PendingIntentUtils) - mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) + mockkObject(PushTemplateImageUtils) } @After @@ -205,7 +206,7 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls LegacyNotificationBuilder construct`() { val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = "some unknown type" + mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = "some unknown type" NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { LegacyNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass) } } @@ -234,8 +235,8 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls InputBoxNotificationBuilder construct`() { val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.INPUT_BOX.value - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME] = "receiverName" + mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.INPUT_BOX.value + mapData[PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME] = "receiverName" NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { InputBoxNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass, broadcastReceiverClass) } } @@ -243,40 +244,40 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls ZeroBezelNotificationBuilder construct`() { val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.ZERO_BEZEL.value + mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.ZERO_BEZEL.value NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { ZeroBezelNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass) } } @Test fun `verify private createNotificationBuilder calls ProductRatingNotificationBuilder construct`() { - every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(any()) } answers { 1 } + every { PushTemplateImageUtils.cacheImages(any()) } answers { 1 } val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_RATING.value - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON] = "https://i.imgur.com/unselected.png" - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON] = "https://i.imgur.com/selected.png" - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS] = "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"type\":\"DISMISS\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"instabiz://opensecond\", \"type\":\"DEEPLINK\"}]" + mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_RATING.value + mapData[PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON] = "https://i.imgur.com/unselected.png" + mapData[PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON] = "https://i.imgur.com/selected.png" + mapData[PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS] = "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"type\":\"DISMISS\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"instabiz://opensecond\", \"type\":\"DEEPLINK\"}]" NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { ProductRatingNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass, broadcastReceiverClass) } } @Test fun `verify private createNotificationBuilder calls ProductCatalogNotificationBuilder construct`() { - every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(any()) } answers { 3 } - every { com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(any()) } answers { mockk() } + every { PushTemplateImageUtils.cacheImages(any()) } answers { 3 } + every { PushTemplateImageUtils.getCachedImage(any()) } answers { mockk() } val mapData = MockProductCatalogTemplateDataProvider.getMockedMapWithProductCatalogData() - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_CATALOG.value + mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_CATALOG.value NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { ProductCatalogNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass, broadcastReceiverClass) } } @Test fun `verify private createNotificationBuilder calls MultiIconNotificationBuilder construct`() { - every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(any()) } answers { 3 } - every { com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(any()) } answers { mockk() } + every { PushTemplateImageUtils.cacheImages(any()) } answers { 3 } + every { PushTemplateImageUtils.getCachedImage(any()) } answers { mockk() } val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.MULTI_ICON.value - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS] = "[{\"img\":\"https://sneakerland.com/products/assets/shoe1.png\",\"uri\":\"myapp://chooseShoeType/shoe1\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe2.png\",\"uri\":\"myapp://chooseShoeType/shoe2\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe3.png\",\"uri\":\"myapp://chooseShoeType/shoe3\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe4.png\",\"uri\":\"myapp://chooseShoeType/shoe4\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe5.png\",\"uri\":\"myapp://chooseShoeType/shoe5\",\"type\":\"DEEPLINK\"}]" + mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.MULTI_ICON.value + mapData[PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS] = "[{\"img\":\"https://sneakerland.com/products/assets/shoe1.png\",\"uri\":\"myapp://chooseShoeType/shoe1\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe2.png\",\"uri\":\"myapp://chooseShoeType/shoe2\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe3.png\",\"uri\":\"myapp://chooseShoeType/shoe3\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe4.png\",\"uri\":\"myapp://chooseShoeType/shoe4\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe5.png\",\"uri\":\"myapp://chooseShoeType/shoe5\",\"type\":\"DEEPLINK\"}]" NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { MultiIconNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass) } } @@ -284,7 +285,7 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls TimerNotificationBuilder construct`() { val mapData = MockTimerTemplateDataProvider.getMockedMapWithTimerData(true, "10") - mapData[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.TIMER.value + mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.TIMER.value NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) verify(exactly = 1) { TimerNotificationBuilder.construct(any(Context::class), any(), trackerActivityClass, broadcastReceiverClass) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt index 8b4e7540..4e5dafc4 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt @@ -16,6 +16,7 @@ import android.content.Intent import androidx.core.app.NotificationManagerCompat import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.services.ServiceProvider +import com.adobe.ui_utils.PushTemplateConstants import io.mockk.every import io.mockk.mockk import io.mockk.mockkObject @@ -94,7 +95,7 @@ class RemindLaterHandlerTests { @Test(expected = IllegalArgumentException::class) fun `handleRemindIntent should throw IllegalArgumentException when remindLaterDuration is less than or equal to current timestamp`() { val remindLaterIntent = getRemindLaterIntentDuration() - remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "-20") + remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "-20") RemindLaterHandler.handleRemindIntent(remindLaterIntent, mockBroadcastReceiverClass) @@ -105,7 +106,7 @@ class RemindLaterHandlerTests { @Test(expected = IllegalArgumentException::class) fun `handleRemindIntent should throw IllegalArgumentException when remindLaterDuration is invalid`() { val remindLaterIntent = getRemindLaterIntentDuration() - remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "invalid") + remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "invalid") RemindLaterHandler.handleRemindIntent(remindLaterIntent, mockBroadcastReceiverClass) @@ -116,7 +117,7 @@ class RemindLaterHandlerTests { @Test(expected = IllegalArgumentException::class) fun `handleRemindIntent should schedule notification when valid remindLaterTimestamp is less than or equal to current timestamp`() { val remindLaterIntent = getRemindLaterIntentTimestamp() - remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, (System.currentTimeMillis() / 1000L - 10).toString()) + remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, (System.currentTimeMillis() / 1000L - 10).toString()) RemindLaterHandler.handleRemindIntent(remindLaterIntent, mockBroadcastReceiverClass) @@ -127,7 +128,7 @@ class RemindLaterHandlerTests { @Test(expected = IllegalArgumentException::class) fun `handleRemindIntent should schedule notification when remindLaterTimestamp is invalid`() { val remindLaterIntent = getRemindLaterIntentTimestamp() - remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, "invalid") + remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, "invalid") RemindLaterHandler.handleRemindIntent(remindLaterIntent, mockBroadcastReceiverClass) @@ -146,7 +147,7 @@ class RemindLaterHandlerTests { @Test fun `handleRemindIntent should not schedule notification when tag is null`() { val remindLaterIntent = getRemindLaterIntentDuration() - remindLaterIntent.removeExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) + remindLaterIntent.removeExtra(PushTemplateConstants.PushPayloadKeys.TAG) RemindLaterHandler.handleRemindIntent(remindLaterIntent, mockBroadcastReceiverClass) verify(atLeast = 1) { PendingIntentUtils.scheduleNotification(any(), any(), any(), any()) } @@ -155,15 +156,15 @@ class RemindLaterHandlerTests { private fun getRemindLaterIntentDuration(): Intent { val remindLaterIntent = Intent() - remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "20") - remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, "testTag") + remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, "20") + remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.TAG, "testTag") return remindLaterIntent } private fun getRemindLaterIntentTimestamp(): Intent { val remindLaterIntent = Intent() - remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, (System.currentTimeMillis() / 1000L + 10).toString()) - remindLaterIntent.putExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, "testTag") + remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, (System.currentTimeMillis() / 1000L + 10).toString()) + remindLaterIntent.putExtra(PushTemplateConstants.PushPayloadKeys.TAG, "testTag") return remindLaterIntent } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt index c1996248..21308849 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt @@ -19,8 +19,6 @@ import android.os.Build import android.os.Bundle import android.widget.RemoteViews import androidx.core.app.NotificationCompat -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.IntentActions.TIMER_EXPIRED import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setNotificationBackgroundColor import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setNotificationBodyTextColor @@ -31,6 +29,8 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEP import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.IntentActions.TIMER_EXPIRED import io.mockk.unmockkAll import junit.framework.TestCase.assertEquals import junit.framework.TestCase.assertNotNull @@ -130,7 +130,7 @@ class AEPPushNotificationBuilderTest { fun `construct should not set notification sound if pushTemplate sound is invalid`() { dataMap.replaceValueInMap( Pair( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND, + PushTemplateConstants.PushPayloadKeys.SOUND, "invalid_sound" ) ) @@ -216,15 +216,15 @@ class AEPPushNotificationBuilderTest { assertNotNull(notification.deleteIntent) assertEquals( pushTemplate.actionUri, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) ) assertEquals( pushTemplate.tag, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) + intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) ) assertEquals( pushTemplate.isNotificationSticky.toString(), - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) + intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) ) } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt index 02b45e4b..26937350 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt @@ -17,12 +17,12 @@ import android.content.Context import android.graphics.Bitmap import android.widget.RemoteViews import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.ui_utils.PushTemplateImageUtils -import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages -import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedAutoCarousalTemplate +import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages +import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -61,7 +61,7 @@ class AutoCarouselNotificationBuilderTest { autoCarouselPushTemplate = provideMockedAutoCarousalTemplate(false) mockkObject(BasicNotificationBuilder) mockkObject(PendingIntentUtils) - mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) + mockkObject(PushTemplateImageUtils) mockkConstructor(RemoteViews::class) } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt index 44133031..bfb258e8 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt @@ -17,9 +17,7 @@ import android.content.Context import android.content.Intent import android.widget.RemoteViews import androidx.core.app.NotificationCompat -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_CHANNEL_ID @@ -33,6 +31,8 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEP import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithAllKeys import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithRequiredData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateImageUtils import io.mockk.every import io.mockk.mockkConstructor import io.mockk.mockkObject @@ -72,7 +72,7 @@ class BasicNotificationBuilderTest { mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setRemoteViewImage) - mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) + mockkObject(PushTemplateImageUtils) } @After @@ -132,11 +132,11 @@ class BasicNotificationBuilderTest { assertEquals( pushTemplate.tag, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) + intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) ) assertEquals( pushTemplate.isNotificationSticky.toString(), - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) + intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) ) assertEquals(pushTemplate.tag, MOCKED_TAG) assertEquals(build.channelId, MOCKED_CHANNEL_ID) @@ -147,10 +147,10 @@ class BasicNotificationBuilderTest { fun `construct should set STICKY flag to false when isNotificationSticky parameter is false`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION] = + dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT + dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION] = MOCK_REMIND_LATER_DURATION - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY] = "false" + dataMap[PushTemplateConstants.PushPayloadKeys.STICKY] = "false" val pushTemplate = BasicPushTemplate(MapData(dataMap)) @@ -166,7 +166,7 @@ class BasicNotificationBuilderTest { val shadowPendingIntent = Shadows.shadowOf(pendingIntent) val intent = shadowPendingIntent.savedIntent - assertEquals("false", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY)) + assertEquals("false", intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY)) } @Test @@ -231,7 +231,7 @@ class BasicNotificationBuilderTest { @Test fun `remindLaterButton is not added when remindLaterText is not null, remindLaterTimestamp is null, remindLaterDuration is null`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT + dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT val pushTemplate = BasicPushTemplate(MapData(dataMap)) val notificationBuilder = BasicNotificationBuilder.construct( @@ -251,8 +251,8 @@ class BasicNotificationBuilderTest { @Test fun `remindLaterButton is added when remindLaterText is not null, remindLaterTimestamp is not null, remindLaterDuration is null`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP] = + dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT + dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP] = MOCK_REMIND_LATER_TIME val pushTemplate = BasicPushTemplate(MapData(dataMap)) @@ -273,8 +273,8 @@ class BasicNotificationBuilderTest { @Test fun `remindLaterButton is added when remindLaterText is not null, remindLaterTimestamp is null, remindLaterDuration is not null`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION] = + dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT] = MOCK_REMIND_LATER_TEXT + dataMap[PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION] = MOCK_REMIND_LATER_DURATION val pushTemplate = BasicPushTemplate(MapData(dataMap)) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt index dd5382f0..b4c66ad6 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt @@ -16,7 +16,6 @@ import android.content.BroadcastReceiver import android.content.Context import android.widget.RemoteViews import androidx.core.app.NotificationCompat -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.InputBoxPushTemplate @@ -35,6 +34,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provide import com.adobe.marketing.mobile.notificationbuilder.internal.templates.removeKeysFromMap import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -175,18 +175,18 @@ class InputBoxNotificationBuilderTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(MOCKED_TITLE, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE)) - assertEquals(MOCKED_BODY, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY)) - assertEquals(MOCKED_RECEIVER_NAME, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME)) - assertEquals(MOCKED_FEEDBACK_IMAGE, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE)) - assertEquals(MOCKED_FEEDBACK_TEXT, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT)) - assertEquals(MOCKED_HINT, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT)) + assertEquals(MOCKED_TITLE, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TITLE)) + assertEquals(MOCKED_BODY, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.BODY)) + assertEquals(MOCKED_RECEIVER_NAME, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME)) + assertEquals(MOCKED_FEEDBACK_IMAGE, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE)) + assertEquals(MOCKED_FEEDBACK_TEXT, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT)) + assertEquals(MOCKED_HINT, intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT)) } @Test fun `Action with default hint text should be created when inputTextHint field is empty`() { val dataMap = MockInputBoxPushTemplateDataProvider.getMockedInputBoxDataMapWithRequiredData() - dataMap.replaceValueInMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, "") + dataMap.replaceValueInMap(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, "") val pushTemplate = InputBoxPushTemplate(MapData(dataMap)) val notificationBuilder = InputBoxNotificationBuilder.construct( @@ -199,13 +199,13 @@ class InputBoxNotificationBuilderTest { assertNotNull(notificationBuilder) val actions = notificationBuilder.mActions - assertEquals(com.adobe.ui_utils.PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT, actions[0].title) + assertEquals(PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT, actions[0].title) } @Test fun `Action with default hint text should be created when inputTextHint field is null`() { val dataMap = MockInputBoxPushTemplateDataProvider.getMockedInputBoxDataMapWithRequiredData() - dataMap.removeKeysFromMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT) + dataMap.removeKeysFromMap(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT) val pushTemplate = InputBoxPushTemplate(MapData(dataMap)) val notificationBuilder = InputBoxNotificationBuilder.construct( @@ -218,7 +218,7 @@ class InputBoxNotificationBuilderTest { assertNotNull(notificationBuilder) val actions = notificationBuilder.mActions - assertEquals(com.adobe.ui_utils.PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT, actions[0].title) + assertEquals(PushTemplateConstants.DefaultValues.INPUT_BOX_DEFAULT_REPLY_TEXT, actions[0].title) } @Test diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt index dd26fc46..75311177 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt @@ -17,15 +17,15 @@ import android.content.Context import android.os.Build import android.os.Bundle import androidx.core.app.NotificationCompat -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID -import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEPPushTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.removeKeysFromMap import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID +import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID import io.mockk.unmockkAll import junit.framework.TestCase.assertEquals import junit.framework.TestCase.assertNotNull @@ -91,15 +91,15 @@ class LegacyNotificationBuilderTest { assertNotNull(notification.deleteIntent) assertEquals( pushTemplate.actionUri, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) ) assertEquals( pushTemplate.tag, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) + intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) ) assertEquals( pushTemplate.isNotificationSticky.toString(), - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) + intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) ) } @@ -114,7 +114,7 @@ class LegacyNotificationBuilderTest { @Test fun `construct should set default channel ID if pushTemplate channelId is null`() { - dataMap.removeKeysFromMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID) + dataMap.removeKeysFromMap(PushTemplateConstants.PushPayloadKeys.CHANNEL_ID) val pushTemplate = BasicPushTemplate(MapData(dataMap)) val notification = LegacyNotificationBuilder.construct(context, pushTemplate, trackerActivityClass) @@ -148,15 +148,15 @@ class LegacyNotificationBuilderTest { assertNotNull(notification.deleteIntent) assertEquals( pushTemplate.actionUri, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) ) assertEquals( pushTemplate.tag, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) + intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) ) assertEquals( pushTemplate.isNotificationSticky.toString(), - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) + intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) ) } @@ -164,7 +164,7 @@ class LegacyNotificationBuilderTest { fun `construct should not set smallIcon if pushTemplate smallIcon is invalid`() { dataMap.replaceValueInMap( Pair( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON, + PushTemplateConstants.PushPayloadKeys.SMALL_ICON, "invalid_small_icon" ) ) @@ -179,7 +179,7 @@ class LegacyNotificationBuilderTest { fun `construct should not set notification sound if pushTemplate sound is invalid`() { dataMap.replaceValueInMap( Pair( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND, + PushTemplateConstants.PushPayloadKeys.SOUND, "invalid_sound" ) ) @@ -194,7 +194,7 @@ class LegacyNotificationBuilderTest { fun `construct should set sticky flag to false when isNotificationSticky is false`() { dataMap.replaceValueInMap( Pair( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, + PushTemplateConstants.PushPayloadKeys.STICKY, "false" ) ) @@ -207,7 +207,7 @@ class LegacyNotificationBuilderTest { val intent = shadowPendingIntent.savedIntent // Assert that the sticky flag is false assertEquals( - "false", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) + "false", intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) ) } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt index a97e902a..8aa9b2da 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt @@ -16,12 +16,7 @@ import android.content.BroadcastReceiver import android.content.Context import android.graphics.Bitmap import android.widget.RemoteViews -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.ui_utils.PushTemplateImageUtils -import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages -import com.adobe.ui_utils.PushTemplateImageUtils.getAssetCacheLocation -import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import com.adobe.marketing.mobile.notificationbuilder.internal.builders.ManualCarouselNotificationBuilder.getCarouselIndices import com.adobe.marketing.mobile.notificationbuilder.internal.builders.ManualCarouselNotificationBuilder.populateFilmstripCarouselImages import com.adobe.marketing.mobile.notificationbuilder.internal.builders.ManualCarouselNotificationBuilder.populateManualCarouselImages @@ -31,6 +26,11 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualC import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedManualCarousalTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages +import com.adobe.ui_utils.PushTemplateImageUtils.getAssetCacheLocation +import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -66,7 +66,7 @@ class ManualCarouselNotificationBuilderTest { pushTemplate = provideMockedManualCarousalTemplate(false) trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) + mockkObject(PushTemplateImageUtils) mockkObject(BasicNotificationBuilder) mockkObject(PendingIntentUtils) mockkConstructor(RemoteViews::class) @@ -139,7 +139,7 @@ class ManualCarouselNotificationBuilderTest { fun `test getCarouselIndices with left click intent action`() { val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() val data = - IntentData(mockBundle, com.adobe.ui_utils.PushTemplateConstants.IntentActions.MANUAL_CAROUSEL_LEFT_CLICKED) + IntentData(mockBundle, PushTemplateConstants.IntentActions.MANUAL_CAROUSEL_LEFT_CLICKED) val mcPushTemplate = CarouselPushTemplate(data) as ManualCarouselPushTemplate val result = getCarouselIndices(mcPushTemplate, 3) assertEquals(Triple(1, 2, 0), result) @@ -149,7 +149,7 @@ class ManualCarouselNotificationBuilderTest { fun `test getCarouselIndices with filmstrip left click intent action`() { val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() val data = - IntentData(mockBundle, com.adobe.ui_utils.PushTemplateConstants.IntentActions.FILMSTRIP_LEFT_CLICKED) + IntentData(mockBundle, PushTemplateConstants.IntentActions.FILMSTRIP_LEFT_CLICKED) val mcPushTemplate = CarouselPushTemplate(data) as ManualCarouselPushTemplate val result = getCarouselIndices(mcPushTemplate, 3) assertEquals(Triple(1, 2, 0), result) @@ -159,14 +159,14 @@ class ManualCarouselNotificationBuilderTest { fun `test getCarouselIndices with no intent action and filmstrip layout`() { val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() val data = - IntentData(mockBundle, com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) + IntentData(mockBundle, PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) val mcPushTemplate = CarouselPushTemplate(data) as ManualCarouselPushTemplate val result = getCarouselIndices(mcPushTemplate, 3) assertEquals( Triple( - com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX - 1, - com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX, - com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX + 1 + PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX - 1, + PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX, + PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX + 1 ), result ) @@ -178,8 +178,8 @@ class ManualCarouselNotificationBuilderTest { assertEquals( Triple( pushTemplate.carouselItems.size - 1, - com.adobe.ui_utils.PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX, - com.adobe.ui_utils.PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX + 1 + PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX, + PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX + 1 ), result ) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt index 63942c9a..31b3eeb5 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt @@ -17,17 +17,17 @@ import android.content.Context import android.graphics.Bitmap import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.ui_utils.PushTemplateImageUtils -import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages -import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockProductCatalogTemplateDataProvider.getMockedMapWithProductCatalogData import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductCatalogPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductCatalogTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT +import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages +import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import io.mockk.every import io.mockk.mockkClass import io.mockk.mockkObject @@ -59,7 +59,7 @@ class ProductCatalogNotificationBuilderTest { context = RuntimeEnvironment.getApplication() trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) + mockkObject(PushTemplateImageUtils) } @After @@ -84,7 +84,7 @@ class ProductCatalogNotificationBuilderTest { fun `construct should throw IllegalArgumentException if downloaded image count is more than 3`() { val dataMap = getMockedMapWithProductCatalogData() dataMap.replaceValueInMap( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, + PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, "[" + "{\"title\":\"title1\",\"body\":\"body1\",\"img\":\"img1\",\"price\":\"price1\",\"uri\":\"uri1\"}," + "{\"title\":\"title2\",\"body\":\"body2\",\"img\":\"img2\",\"price\":\"price2\",\"uri\":\"uri2\"}," + @@ -112,7 +112,7 @@ class ProductCatalogNotificationBuilderTest { fun `construct should throw IllegalArgumentException if downloaded image count is less than 3`() { val dataMap = getMockedMapWithProductCatalogData() dataMap.replaceValueInMap( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, + PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, "[" + "{\"title\":\"title1\",\"body\":\"body1\",\"img\":\"img1\",\"price\":\"price1\",\"uri\":\"uri1\"}," + "{\"title\":\"title2\",\"body\":\"body2\",\"img\":\"img2\",\"price\":\"price2\",\"uri\":\"uri2\"}," + @@ -151,7 +151,7 @@ class ProductCatalogNotificationBuilderTest { @Test fun `construct should build a notification with a vertical layout if vertical layout is provided`() { val dataMap = getMockedMapWithProductCatalogData() - dataMap.replaceValueInMap(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT, PRODUCT_CATALOG_VERTICAL_LAYOUT) + dataMap.replaceValueInMap(PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT, PRODUCT_CATALOG_VERTICAL_LAYOUT) val pushTemplate = ProductCatalogPushTemplate(MapData(dataMap)) val cachedItem = mockkClass(Bitmap::class) @@ -194,7 +194,7 @@ class ProductCatalogNotificationBuilderTest { @Test fun `construct should return a NotificationCompat Builder if Tag is provided in Push Template`() { val dataMap = getMockedMapWithProductCatalogData() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG] = "tag" + dataMap[PushTemplateConstants.PushPayloadKeys.TAG] = "tag" val pushTemplate = ProductCatalogPushTemplate(MapData(dataMap)) val cachedItem = mockkClass(Bitmap::class) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt index 0fba7ca2..9fee3d3e 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt @@ -19,17 +19,17 @@ import android.view.View import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R -import com.adobe.ui_utils.PushTemplateImageUtils -import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages -import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockProductRatingTemplateDataProvider.getMockedDataMapForRatingTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductRatingTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages +import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -64,7 +64,7 @@ class ProductRatingNotificationBuilderTest { mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setRemoteViewImage) mockkStatic(RemoteViews::setRemoteViewClickAction) - mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) + mockkObject(PushTemplateImageUtils) } @After @@ -129,7 +129,7 @@ class ProductRatingNotificationBuilderTest { every { anyConstructed().setViewVisibility(any(), any()) } just Runs val dataMap = getMockedDataMapForRatingTemplate() - dataMap[com.adobe.ui_utils.PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" + dataMap[PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" val pushTemplate = ProductRatingPushTemplate(MapData(dataMap)) val notificationBuilder = ProductRatingNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) @@ -143,7 +143,7 @@ class ProductRatingNotificationBuilderTest { every { any().setRemoteViewImage("rating_star_filled", any()) } returns true val dataMap = getMockedDataMapForRatingTemplate() - dataMap[com.adobe.ui_utils.PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" + dataMap[PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" val pushTemplate = ProductRatingPushTemplate(MapData(dataMap)) assertFailsWith( @@ -161,7 +161,7 @@ class ProductRatingNotificationBuilderTest { every { any().setRemoteViewImage("rating_star_filled", any()) } returns false val dataMap = getMockedDataMapForRatingTemplate() - dataMap[com.adobe.ui_utils.PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" + dataMap[PushTemplateConstants.IntentKeys.RATING_SELECTED] = "3" val pushTemplate = ProductRatingPushTemplate(MapData(dataMap)) assertFailsWith( @@ -188,7 +188,7 @@ class ProductRatingNotificationBuilderTest { every { any().setRemoteViewImage(any(), any()) } returns true val dataMap = getMockedDataMapForRatingTemplate() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG] = "tag" + dataMap[PushTemplateConstants.PushPayloadKeys.TAG] = "tag" val pushTemplate = ProductRatingPushTemplate(MapData(dataMap)) val notificationBuilder = ProductRatingNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt index 264d7ee8..c7e6e374 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt @@ -21,7 +21,6 @@ import android.service.notification.StatusBarNotification import android.widget.RemoteViews import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils -import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setTimerTextColor import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_ALT_BODY @@ -35,6 +34,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_TITLE import com.adobe.marketing.mobile.notificationbuilder.internal.templates.TimerPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedTimerTemplate +import com.adobe.ui_utils.PushTemplateImageUtils import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -76,7 +76,7 @@ class TimerNotificationBuilderTests { pushTemplate = provideMockedTimerTemplate(false, true) trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) + mockkObject(PushTemplateImageUtils) mockkObject(PendingIntentUtils) mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setTimerTextColor) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt index 422b9302..37696075 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt @@ -18,15 +18,15 @@ import android.graphics.Bitmap import android.os.Bundle import android.view.View import android.widget.RemoteViews -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateImageUtils -import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages -import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEPPushTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBezelPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages +import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -60,7 +60,7 @@ class ZeroBezelNotificationBuilderTest { fun setup() { context = RuntimeEnvironment.getApplication() dataMap = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) + mockkObject(PushTemplateImageUtils) mockkConstructor(RemoteViews::class) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java @@ -96,7 +96,7 @@ class ZeroBezelNotificationBuilderTest { fun `verify construct with image downloaded and collapsedStyle is txt`() { dataMap.replaceValueInMap( Pair( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, + PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, "txt" ) ) @@ -152,7 +152,7 @@ class ZeroBezelNotificationBuilderTest { ).build() assertEquals( - com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, + PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) @@ -164,7 +164,7 @@ class ZeroBezelNotificationBuilderTest { @Test fun `verify construct with image downloaded and collapsedStyle is txt for IntentData`() { mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, + PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, "txt" ) @@ -180,7 +180,7 @@ class ZeroBezelNotificationBuilderTest { ).build() assertEquals( - com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, + PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) @@ -203,7 +203,7 @@ class ZeroBezelNotificationBuilderTest { ).build() assertEquals( - com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, + PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID, notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) @@ -227,15 +227,15 @@ class ZeroBezelNotificationBuilderTest { assertNotNull(notification.deleteIntent) assertEquals( pushTemplate.actionUri, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) ) assertEquals( pushTemplate.tag, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) + intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) ) assertEquals( pushTemplate.isNotificationSticky.toString(), - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY) + intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY) ) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt index 7bb69257..914a80e5 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt @@ -21,10 +21,10 @@ import android.net.Uri import android.os.Bundle import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.MobileCore -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateImageUtils import io.mockk.every import io.mockk.mockk import io.mockk.mockkObject @@ -59,7 +59,7 @@ class NotificationCompatBuilderExtensionsTest { mockContext = mockk(relaxed = true) mockkStatic(Context::getIconWithResourceName) mockkStatic(MobileCore::class) - mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) + mockkObject(PushTemplateImageUtils) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java } @@ -197,8 +197,8 @@ class NotificationCompatBuilderExtensionsTest { @Test fun `setLargeIcon with valid imageUrl`() { - every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf("valid_image_url")) } returns 1 - every { com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage("valid_image_url") } returns mockBitmap + every { PushTemplateImageUtils.cacheImages(listOf("valid_image_url")) } returns 1 + every { PushTemplateImageUtils.getCachedImage("valid_image_url") } returns mockBitmap val spyBuilder = spyk(NotificationCompat.Builder(mockContext, "mockChannelId")) @@ -210,7 +210,7 @@ class NotificationCompatBuilderExtensionsTest { @Test fun `setLargeIcon with imageUrl that cannot be downloaded`() { - every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf("invalid_image_url")) } returns 0 + every { PushTemplateImageUtils.cacheImages(listOf("invalid_image_url")) } returns 0 val spyBuilder = spyk(NotificationCompat.Builder(mockContext, "mockChannelId")) @@ -262,12 +262,12 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals("testValue", intent.getStringExtra("testKey")) - assertEquals(testActionUri, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI)) - assertEquals(null, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID)) + assertEquals(testActionUri, intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI)) + assertEquals(null, intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID)) } @Test @@ -289,7 +289,7 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(null, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals(null, intent.extras) @@ -314,7 +314,7 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.DISMISSED, intent.action) + assertEquals(PushTemplateConstants.NotificationAction.DISMISSED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP, intent.flags) assertNull(intent.extras) @@ -339,7 +339,7 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.DISMISSED, intent.action) + assertEquals(PushTemplateConstants.NotificationAction.DISMISSED, intent.action) assertNull(intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP, intent.flags) assertNull(intent.extras) @@ -356,7 +356,7 @@ class NotificationCompatBuilderExtensionsTest { mockBuilder.addActionButtons( mockContext, trackerActivityClass, listOf( - BasicPushTemplate.ActionButton("testLabel", "testLink", com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK.name) + BasicPushTemplate.ActionButton("testLabel", "testLink", PushTemplateConstants.ActionType.DEEPLINK.name) ), testIntentExtras ) @@ -374,12 +374,12 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals("testValue", intent.getStringExtra("testKey")) - assertEquals("testLink", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI)) - assertEquals("testLabel", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID)) + assertEquals("testLink", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI)) + assertEquals("testLabel", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID)) } @Test @@ -393,7 +393,7 @@ class NotificationCompatBuilderExtensionsTest { mockBuilder.addActionButtons( mockContext, trackerActivityClass, listOf( - BasicPushTemplate.ActionButton("testLabel", "testLink", com.adobe.ui_utils.PushTemplateConstants.ActionType.WEBURL.name) + BasicPushTemplate.ActionButton("testLabel", "testLink", PushTemplateConstants.ActionType.WEBURL.name) ), testIntentExtras ) @@ -411,12 +411,12 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals("testValue", intent.getStringExtra("testKey")) - assertEquals("testLink", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI)) - assertEquals("testLabel", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID)) + assertEquals("testLink", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI)) + assertEquals("testLabel", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID)) } @Test @@ -430,7 +430,7 @@ class NotificationCompatBuilderExtensionsTest { mockBuilder.addActionButtons( mockContext, trackerActivityClass, listOf( - BasicPushTemplate.ActionButton("testLabel", null, com.adobe.ui_utils.PushTemplateConstants.ActionType.OPENAPP.name) + BasicPushTemplate.ActionButton("testLabel", null, PushTemplateConstants.ActionType.OPENAPP.name) ), testIntentExtras ) @@ -448,12 +448,12 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals("testValue", intent.getStringExtra("testKey")) - assertEquals(null, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI)) - assertEquals("testLabel", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID)) + assertEquals(null, intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI)) + assertEquals("testLabel", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID)) } @Test @@ -467,7 +467,7 @@ class NotificationCompatBuilderExtensionsTest { mockBuilder.addActionButtons( mockContext, trackerActivityClass, listOf( - BasicPushTemplate.ActionButton("testLabel", "testLink", com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE.name) + BasicPushTemplate.ActionButton("testLabel", "testLink", PushTemplateConstants.ActionType.NONE.name) ), testIntentExtras ) @@ -485,12 +485,12 @@ class NotificationCompatBuilderExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, intent.flags) assertEquals("testValue", intent.getStringExtra("testKey")) - assertEquals(null, intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI)) - assertEquals("testLabel", intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID)) + assertEquals(null, intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI)) + assertEquals("testLabel", intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID)) } @Test diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt index d87327f9..40311926 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt @@ -20,11 +20,11 @@ import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.RemoteViews -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateImageUtils import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.services.Logging import com.adobe.marketing.mobile.services.ServiceProvider +import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.ui_utils.PushTemplateImageUtils import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -59,7 +59,7 @@ class RemoteViewsExtensionsTest { @Before fun setup() { remoteViews = mockk(relaxed = true) - mockkObject(com.adobe.ui_utils.PushTemplateImageUtils) + mockkObject(PushTemplateImageUtils) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java } @@ -125,8 +125,8 @@ class RemoteViewsExtensionsTest { remoteViews.setElementColor( 1, "#$colorHex", - com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, - com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BACKGROUND + PushTemplateConstants.MethodNames.SET_BACKGROUND_COLOR, + PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BACKGROUND ) } } @@ -141,8 +141,8 @@ class RemoteViewsExtensionsTest { remoteViews.setElementColor( 1, "#$colorHex", - com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.TIMER_TEXT + PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + PushTemplateConstants.FriendlyViewNames.TIMER_TEXT ) } } @@ -157,8 +157,8 @@ class RemoteViewsExtensionsTest { remoteViews.setElementColor( 1, "#$colorHex", - com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_TITLE + PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + PushTemplateConstants.FriendlyViewNames.NOTIFICATION_TITLE ) } } @@ -173,8 +173,8 @@ class RemoteViewsExtensionsTest { remoteViews.setElementColor( 1, "#$colorHex", - com.adobe.ui_utils.PushTemplateConstants.MethodNames.SET_TEXT_COLOR, - com.adobe.ui_utils.PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BODY_TEXT + PushTemplateConstants.MethodNames.SET_TEXT_COLOR, + PushTemplateConstants.FriendlyViewNames.NOTIFICATION_BODY_TEXT ) } } @@ -182,8 +182,8 @@ class RemoteViewsExtensionsTest { @Test fun `setRemoteViewImage applies image when valid URL provided`() { val imageUrl = "http://example.com/image.png" - every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 1 - every { com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage(imageUrl) } returns mockBitmap + every { PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 1 + every { PushTemplateImageUtils.getCachedImage(imageUrl) } returns mockBitmap val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -236,7 +236,7 @@ class RemoteViewsExtensionsTest { fun `setRemoteViewImage does not apply image when URL is invalid`() { val imageUrl = "invalid_url" every { remoteViews.setViewVisibility(any(), any()) } just Runs - every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 0 + every { PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 0 val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -250,7 +250,7 @@ class RemoteViewsExtensionsTest { fun `setRemoteViewImage does not apply image URL could not be downloaded`() { val imageUrl = "http://example.com/image.png" every { remoteViews.setViewVisibility(any(), any()) } just Runs - every { com.adobe.ui_utils.PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 0 + every { PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 0 val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -306,7 +306,7 @@ class RemoteViewsExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(trackerActivityClass.name, intent.component?.className) assertEquals( Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, @@ -315,11 +315,11 @@ class RemoteViewsExtensionsTest { assertEquals("testValue", intent.getStringExtra("testKey")) assertEquals( testActionUri, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) ) assertEquals( testActionID, - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_ID) + intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_ID) ) } @@ -343,7 +343,7 @@ class RemoteViewsExtensionsTest { val intent = shadowPendingIntent.savedIntent assertNotNull(intent) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED, intent.action) + assertEquals(PushTemplateConstants.NotificationAction.CLICKED, intent.action) assertEquals(null, intent.component?.className) assertEquals( Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP, diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt index 0c2c59a5..1520233b 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt @@ -14,9 +14,9 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.app.NotificationManager import com.adobe.marketing.mobile.notificationbuilder.NotificationPriority import com.adobe.marketing.mobile.notificationbuilder.NotificationVisibility -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.runner.RunWith @@ -37,12 +37,12 @@ class AEPPushTemplateTest { @Test fun `Test exception with missing data adb_title`() { val aepPushBasicData = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - aepPushBasicData.remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE) + aepPushBasicData.remove(PushTemplateConstants.PushPayloadKeys.TITLE) val exception = assertFailsWith { BasicPushTemplate(MapData(aepPushBasicData)) } assertEquals( - "Required push template key ${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE} not found or null", + "Required push template key ${PushTemplateConstants.PushPayloadKeys.TITLE} not found or null", exception.message ) } @@ -50,12 +50,12 @@ class AEPPushTemplateTest { @Test fun `Test AEPPushTemplate initialization with missing body`() { val aepPushData = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - aepPushData.remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY) + aepPushData.remove(PushTemplateConstants.PushPayloadKeys.BODY) val exception = assertFailsWith { BasicPushTemplate(MapData(aepPushData)) } assertEquals( - "Required push template key ${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY} not found or null", + "Required push template key ${PushTemplateConstants.PushPayloadKeys.BODY} not found or null", exception.message ) } @@ -63,12 +63,12 @@ class AEPPushTemplateTest { @Test fun `Test AEPPushTemplate initialization with missing version`() { val aepPushData = MockAEPPushTemplateDataProvider.getMockedDataMapWithRequiredData() - aepPushData.remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION) + aepPushData.remove(PushTemplateConstants.PushPayloadKeys.VERSION) val exception = assertFailsWith { BasicPushTemplate(MapData(aepPushData)) } assertEquals( - "Required push template key ${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION} not found or null", + "Required push template key ${PushTemplateConstants.PushPayloadKeys.VERSION} not found or null", exception.message ) } @@ -80,7 +80,7 @@ class AEPPushTemplateTest { assertEquals(MOCKED_TAG, aepPushTemplate.tag) assertFalse(aepPushTemplate.isFromIntent) assertEquals(MOCKED_ACTION_URI, aepPushTemplate.actionUri) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE, aepPushTemplate.actionType) + assertEquals(PushTemplateConstants.ActionType.NONE, aepPushTemplate.actionType) assertEquals(5, aepPushTemplate.badgeCount) assertEquals(MOCKED_BASIC_TEMPLATE_BODY, aepPushTemplate.body) assertEquals(MOCKED_CHANNEL_ID, aepPushTemplate.channelId) @@ -109,7 +109,7 @@ class AEPPushTemplateTest { @Test fun `Test AEPPushTemplate initialization with null priority`() { val data = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - data.remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY) + data.remove(PushTemplateConstants.PushPayloadKeys.PRIORITY) val aepPushTemplate = BasicPushTemplate(MapData(data)) assertEquals("PRIORITY_DEFAULT", aepPushTemplate.priority.stringValue) } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt index f1548439..f45dab75 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt @@ -11,8 +11,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Assert.assertNull import org.junit.runner.RunWith @@ -31,12 +31,12 @@ class BasicPushTemplateTests { val actionButton1 = basicPushTemplate.actionButtonsList?.get(0) assertEquals("Go to chess.com", actionButton1?.label) assertEquals("https://chess.com/games/552", actionButton1?.link) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK, actionButton1?.type) + assertEquals(PushTemplateConstants.ActionType.DEEPLINK, actionButton1?.type) val actionButton2 = basicPushTemplate.actionButtonsList?.get(1) assertEquals("Open the app", actionButton2?.label) assertNull(actionButton2?.link) - assertEquals(com.adobe.ui_utils.PushTemplateConstants.ActionType.OPENAPP, actionButton2?.type) + assertEquals(PushTemplateConstants.ActionType.OPENAPP, actionButton2?.type) assertEquals(MOCK_REMIND_LATER_TIME, basicPushTemplate.remindLaterTimestamp.toString()) assertEquals(MOCK_REMIND_LATER_DURATION, basicPushTemplate.remindLaterDuration.toString()) @@ -47,7 +47,7 @@ class BasicPushTemplateTests { @Test fun `Test BasicPushTemplate initialization with invalid JSON`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS] = "" + dataMap[PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS] = "" val basicPushTemplate = BasicPushTemplate(MapData(dataMap)) assertEquals(null, basicPushTemplate.actionButtonsList) } @@ -55,13 +55,13 @@ class BasicPushTemplateTests { @Test fun `Test BasicPushTemplate initialization with malformed JSON`() { val dataMap = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS] = MOCKED_MALFORMED_JSON_ACTION_BUTTON + dataMap[PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS] = MOCKED_MALFORMED_JSON_ACTION_BUTTON val basicPushTemplate = BasicPushTemplate(MapData(dataMap)) // Two wrong JSON objects are ignored out of 4 assertEquals(2, basicPushTemplate.actionButtonsList?.size) val actionButton1 = basicPushTemplate.actionButtonsList?.get(0) // Wrong Action type in JSON is converted to NONE - assertEquals(com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE, actionButton1?.type) + assertEquals(PushTemplateConstants.ActionType.NONE, actionButton1?.type) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt index 70d1a0a8..41da8613 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt @@ -11,7 +11,6 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider.getMockedBundleWithAutoCarouselData import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData @@ -19,6 +18,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCar import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider.getMockedMapWithManualCarouselData import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.ui_utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue import org.junit.runner.RunWith @@ -68,29 +68,29 @@ class CarousalPushTemplateTests { @Test fun `Test CarouselPushTemplate initialization with missing carouselLayout`() { val mockedMap = getMockedMapWithAutoCarouselData().apply { - remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT) + remove(PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT) } val exception = assertFailsWith { CarouselPushTemplate(MapData(mockedMap)) } - assertEquals("Required push template key ${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT} not found or null", exception.message) + assertEquals("Required push template key ${PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT} not found or null", exception.message) } @Test fun `Test CarouselPushTemplate initialization with missing rawCarouselItems`() { val mockedMap = getMockedMapWithAutoCarouselData().apply { - remove(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS) + remove(PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS) } val exception = assertFailsWith { CarouselPushTemplate(MapData(mockedMap)) } - assertEquals("Required push template key ${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS} not found or null", exception.message) + assertEquals("Required push template key ${PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS} not found or null", exception.message) } @Test fun `Test CarouselPushTemplate initialization with empty rawCarouselItems`() { val mockedMap = getMockedMapWithAutoCarouselData().apply { - put(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, "") + put(PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, "") } val template = CarouselPushTemplate(MapData(mockedMap)) assertEquals(PushTemplateType.CAROUSEL, template.templateType) @@ -100,7 +100,7 @@ class CarousalPushTemplateTests { @Test fun `Test CarouselPushTemplate initialization with malformed rawCarouselItems`() { val mockedMap = getMockedMapWithAutoCarouselData().apply { - put(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, "malformed_json_string") + put(PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, "malformed_json_string") } val template = CarouselPushTemplate(MapData(mockedMap)) assertEquals(PushTemplateType.CAROUSEL, template.templateType) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt index c62c9118..b5975a95 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt @@ -12,15 +12,15 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType +import com.adobe.ui_utils.PushTemplateConstants object MockAEPPushTemplateDataProvider { fun getMockedDataMapWithRequiredData(): MutableMap { return mutableMapOf( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION + PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION ) } @@ -29,96 +29,96 @@ object MockAEPPushTemplateDataProvider { */ fun getMockedBundleWithRequiredData(): Bundle { val mockBundle = Bundle() - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) return mockBundle } fun getMockedAEPDataMapWithAllKeys(): MutableMap { return mutableMapOf( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.BASIC.value, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_ACTION_URI, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_TYPE to com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE.name, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS to MOCKED_ACTION_BUTTON_DATA, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BADGE_COUNT to "5", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BASIC_TEMPLATE_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to "FFD966", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR to "FFD966", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT to MOCK_REMIND_LATER_TEXT, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP to MOCK_REMIND_LATER_TIME, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION to MOCK_REMIND_LATER_DURATION, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND to "bell", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR to "FFD966", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY to "true", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE to "img" + PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, + PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.BASIC.value, + PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_ACTION_URI, + PushTemplateConstants.PushPayloadKeys.ACTION_TYPE to PushTemplateConstants.ActionType.NONE.name, + PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS to MOCKED_ACTION_BUTTON_DATA, + PushTemplateConstants.PushPayloadKeys.BADGE_COUNT to "5", + PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BASIC_TEMPLATE_BODY, + PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, + PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, + PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to "FFD966", + PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, + PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, + PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR to "FFD966", + PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, + PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, + PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT to MOCK_REMIND_LATER_TEXT, + PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP to MOCK_REMIND_LATER_TIME, + PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION to MOCK_REMIND_LATER_DURATION, + PushTemplateConstants.PushPayloadKeys.SOUND to "bell", + PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, + PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR to "FFD966", + PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, + PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + PushTemplateConstants.PushPayloadKeys.STICKY to "true", + PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE to "img" ) } fun getMockedAEPBundleWithAllKeys(): Bundle { val mockBundle = Bundle() - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, + PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.BASIC.value ) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_ACTION_URI) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_ACTION_URI) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_TYPE, - com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE.name + PushTemplateConstants.PushPayloadKeys.ACTION_TYPE, + PushTemplateConstants.ActionType.NONE.name ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS, + PushTemplateConstants.PushPayloadKeys.ACTION_BUTTONS, MOCKED_ACTION_BUTTON_DATA ) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BADGE_COUNT, "5") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BASIC_TEMPLATE_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, "2024") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BADGE_COUNT, "5") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BASIC_TEMPLATE_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, "2024") mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, + PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BASIC_TEMPLATE_BODY_EXPANDED ) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, "FFD966") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR, "FFD966") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY, (MOCKED_PRIORITY)) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, "FFD966") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR, "FFD966") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.PRIORITY, (MOCKED_PRIORITY)) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT, + PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TEXT, MOCK_REMIND_LATER_TEXT ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, + PushTemplateConstants.PushPayloadKeys.REMIND_LATER_TIMESTAMP, MOCK_REMIND_LATER_TIME ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, + PushTemplateConstants.PushPayloadKeys.REMIND_LATER_DURATION, MOCK_REMIND_LATER_DURATION ) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND, "bell") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR, "FFD966") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "true") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SOUND, "bell") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR, "FFD966") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "true") mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, + PushTemplateConstants.PushPayloadKeys.ZERO_BEZEL_COLLAPSED_STYLE, "img" ) return mockBundle diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt index 1ed8ddf8..06dc8c1e 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt @@ -12,72 +12,72 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType +import com.adobe.ui_utils.PushTemplateConstants object MockCarousalTemplateDataProvider { fun getMockedMapWithAutoCarouselData(): MutableMap { val dataMap = getMockedMapWithCarousalData() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE] = "auto" + dataMap[PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE] = "auto" return dataMap } fun getMockedMapWithManualCarouselData(): MutableMap { val dataMap = getMockedMapWithCarousalData() - dataMap[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE] = "manual" + dataMap[PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE] = "manual" return dataMap } private fun getMockedMapWithCarousalData(): MutableMap { return mutableMapOf( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.CAROUSEL.value, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT to MOCKED_CAROUSEL_LAYOUT, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to MOCKED_BODY_TEXT_COLOR, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR to MOCKED_SMALL_ICON_COLOR, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY to "true", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_URI, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS to MOCKED_CAROUSEL_LAYOUT_DATA + PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.CAROUSEL.value, + PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT to MOCKED_CAROUSEL_LAYOUT, + PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to MOCKED_BODY_TEXT_COLOR, + PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, + PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, + PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR to MOCKED_SMALL_ICON_COLOR, + PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, + PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, + PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, + PushTemplateConstants.PushPayloadKeys.STICKY to "true", + PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, + PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_URI, + PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS to MOCKED_CAROUSEL_LAYOUT_DATA ) } fun getMockedBundleWithManualCarouselData(): Bundle { val mockBundle = getMockedBundleWithCarousalData() - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE, "manual") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE, "manual") return mockBundle } fun getMockedBundleWithAutoCarouselData(): Bundle { val mockBundle = getMockedBundleWithCarousalData() - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE, "auto") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_OPERATION_MODE, "auto") return mockBundle } private fun getMockedBundleWithCarousalData(): Bundle { val mockBundle = Bundle() - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.CAROUSEL.value) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT, MOCKED_CAROUSEL_LAYOUT) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, MOCKED_BODY_TEXT_COLOR) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR, MOCKED_SMALL_ICON_COLOR) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY, MOCKED_PRIORITY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "true") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_URI) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, MOCKED_CAROUSEL_LAYOUT_DATA) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.CAROUSEL.value) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT, MOCKED_CAROUSEL_LAYOUT) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, MOCKED_BODY_TEXT_COLOR) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR, MOCKED_SMALL_ICON_COLOR) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.PRIORITY, MOCKED_PRIORITY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "true") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_URI) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_ITEMS, MOCKED_CAROUSEL_LAYOUT_DATA) return mockBundle } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt index 45316300..caa71183 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt @@ -12,90 +12,90 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType +import com.adobe.ui_utils.PushTemplateConstants object MockInputBoxPushTemplateDataProvider { fun getMockedInputBoxDataMapWithRequiredData(): MutableMap { return mutableMapOf( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME to MOCKED_RECEIVER_NAME, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT to MOCKED_HINT, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT to MOCKED_FEEDBACK_TEXT, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE to MOCKED_FEEDBACK_IMAGE + PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME to MOCKED_RECEIVER_NAME, + PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT to MOCKED_HINT, + PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT to MOCKED_FEEDBACK_TEXT, + PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE to MOCKED_FEEDBACK_IMAGE ) } fun getMockedInputBoxBundleWithRequiredData(): Bundle { val mockBundle = Bundle() - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME, MOCKED_RECEIVER_NAME) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, MOCKED_HINT) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT, MOCKED_FEEDBACK_TEXT) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE, MOCKED_FEEDBACK_IMAGE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME, MOCKED_RECEIVER_NAME) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, MOCKED_HINT) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT, MOCKED_FEEDBACK_TEXT) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE, MOCKED_FEEDBACK_IMAGE) return mockBundle } fun getMockedInputBoxDataMapWithAllKeys(): MutableMap { return mutableMapOf( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.BASIC.value, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BADGE_COUNT to "5", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BASIC_TEMPLATE_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to "FFD966", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR to "FFD966", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND to "bell", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR to "FFD966", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY to "true", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME to MOCKED_RECEIVER_NAME, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT to MOCKED_HINT, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT to MOCKED_FEEDBACK_TEXT, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE to MOCKED_FEEDBACK_IMAGE + PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, + PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.BASIC.value, + PushTemplateConstants.PushPayloadKeys.BADGE_COUNT to "5", + PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BASIC_TEMPLATE_BODY, + PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, + PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, + PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to "FFD966", + PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, + PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, + PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR to "FFD966", + PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, + PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, + PushTemplateConstants.PushPayloadKeys.SOUND to "bell", + PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, + PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR to "FFD966", + PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, + PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + PushTemplateConstants.PushPayloadKeys.STICKY to "true", + PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME to MOCKED_RECEIVER_NAME, + PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT to MOCKED_HINT, + PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT to MOCKED_FEEDBACK_TEXT, + PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE to MOCKED_FEEDBACK_IMAGE ) } fun getMockedInputBoxBundleWithAllKeys(): Bundle { val mockBundle = Bundle() - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.BASIC.value) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BADGE_COUNT, "5") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BASIC_TEMPLATE_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, "2024") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BASIC_TEMPLATE_BODY_EXPANDED) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, "FFD966") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR, "FFD966") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY, (MOCKED_PRIORITY)) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND, "bell") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR, "FFD966") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "true") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME, MOCKED_RECEIVER_NAME) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, MOCKED_HINT) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT, MOCKED_FEEDBACK_TEXT) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE, MOCKED_FEEDBACK_IMAGE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.BASIC.value) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BADGE_COUNT, "5") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BASIC_TEMPLATE_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CHANNEL_ID, "2024") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BASIC_TEMPLATE_BODY_EXPANDED) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, "FFD966") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BACKGROUND_COLOR, "FFD966") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.PRIORITY, (MOCKED_PRIORITY)) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SOUND, "bell") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE_TEXT_COLOR, "FFD966") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "true") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_RECEIVER_NAME, MOCKED_RECEIVER_NAME) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_HINT, MOCKED_HINT) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_TEXT, MOCKED_FEEDBACK_TEXT) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.INPUT_BOX_FEEDBACK_IMAGE, MOCKED_FEEDBACK_IMAGE) return mockBundle } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt index ea596385..ee7013f6 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt @@ -11,26 +11,26 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType +import com.adobe.ui_utils.PushTemplateConstants object MockMultiIconTemplateDataProvider { fun getMockedDataMapWithForMultiIcon(): MutableMap { return mutableMapOf( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.MULTI_ICON.value, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to "", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SOUND to "bell", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY to "true", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON to "delete", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS to MOCK_MULTI_ICON_ITEM_PAYLOAD, + PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, + PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.MULTI_ICON.value, + PushTemplateConstants.PushPayloadKeys.BODY to "", + PushTemplateConstants.PushPayloadKeys.CHANNEL_ID to MOCKED_CHANNEL_ID, + PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, + PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, + PushTemplateConstants.PushPayloadKeys.SOUND to "bell", + PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, + PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + PushTemplateConstants.PushPayloadKeys.STICKY to "true", + PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON to "delete", + PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS to MOCK_MULTI_ICON_ITEM_PAYLOAD, ) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt index ccf365cd..97d2092e 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt @@ -17,15 +17,15 @@ import com.adobe.ui_utils.PushTemplateConstants object MockProductCatalogTemplateDataProvider { fun getMockedMapWithProductCatalogData(): MutableMap { return mutableMapOf( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT to "ctaButtonText", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_COLOR to "ctaButtonColor", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT_COLOR to "ctaButtonTextColor", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_URI to "ctaButtonUri", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT to "horizontal", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS to "[" + + PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT to "ctaButtonText", + PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_COLOR to "ctaButtonColor", + PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT_COLOR to "ctaButtonTextColor", + PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_URI to "ctaButtonUri", + PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT to "horizontal", + PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS to "[" + "{\"title\":\"title1\",\"body\":\"body1\",\"img\":\"https://images.pexels.com/photos/260024/pexels-photo-260024.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\"price\":\"price1\",\"uri\":\"uri1\"}," + "{\"title\":\"title2\",\"body\":\"body2\",\"img\":\"https://images.pexels.com/photos/260024/pexels-photo-260024.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\"price\":\"price2\",\"uri\":\"uri2\"}," + "{\"title\":\"title3\",\"body\":\"body3\",\"img\":\"https://images.pexels.com/photos/260024/pexels-photo-260024.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\"price\":\"price3\",\"uri\":\"uri3\"}" + @@ -35,28 +35,28 @@ object MockProductCatalogTemplateDataProvider { fun getMockedBundleWithProductCatalogData(): Bundle { val mockBundle = Bundle() - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT, + PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT, "ctaButtonText" ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_COLOR, + PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_COLOR, "ctaButtonColor" ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT_COLOR, + PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_TEXT_COLOR, "ctaButtonTextColor" ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_URI, + PushTemplateConstants.PushPayloadKeys.CATALOG_CTA_BUTTON_URI, "ctaButtonUri" ) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT, "horizontal") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CATALOG_LAYOUT, "horizontal") mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, + PushTemplateConstants.PushPayloadKeys.CATALOG_ITEMS, "[" + "{\"title\":\"title1\",\"body\":\"body1\",\"img\":\"https://images.pexels.com/photos/260024/pexels-photo-260024.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\"price\":\"price1\",\"uri\":\"uri1\"}," + "{\"title\":\"title2\",\"body\":\"body2\",\"img\":\"https://images.pexels.com/photos/260024/pexels-photo-260024.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\"price\":\"price2\",\"uri\":\"uri2\"}," + diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt index 58850d76..4c2817bb 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt @@ -12,41 +12,41 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType +import com.adobe.ui_utils.PushTemplateConstants object MockProductRatingTemplateDataProvider { fun getMockedDataMapForRatingTemplate(): MutableMap { return mutableMapOf( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.PRODUCT_RATING.value, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_TYPE to "WEBURL", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_ACTION_URI, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON to "rating_star_outline", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON to "rating_star_filled", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS to "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"}]" + PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.PRODUCT_RATING.value, + PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_BASIC_TEMPLATE_BODY_EXPANDED, + PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, + PushTemplateConstants.PushPayloadKeys.ACTION_TYPE to "WEBURL", + PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_ACTION_URI, + PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON to "rating_star_outline", + PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON to "rating_star_filled", + PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS to "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"}]" ) } fun getMockedBundleForRatingTemplate(): Bundle { val mockBundle = Bundle() - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.PRODUCT_RATING.value) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BASIC_TEMPLATE_BODY_EXPANDED) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_TYPE, "WEBURL") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_ACTION_URI) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON, "rating_star_outline") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON, "rating_star_filled") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS, "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"}]") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.PRODUCT_RATING.value) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BASIC_TEMPLATE_BODY_EXPANDED) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.ACTION_TYPE, "WEBURL") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_ACTION_URI) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON, "rating_star_outline") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON, "rating_star_filled") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS, "[{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"type\":\"OPENAPP\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\": \"https://www.adobe.com\", \"type\":\"WEBURL\"},{\"uri\":\"https://www.adobe.com\", \"type\":\"WEBURL\"}]") return mockBundle } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt index 16462998..a209d8be 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt @@ -12,8 +12,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType +import com.adobe.ui_utils.PushTemplateConstants object MockTimerTemplateDataProvider { internal fun getMockedMapWithTimerData( @@ -21,32 +21,32 @@ object MockTimerTemplateDataProvider { duration: String ): MutableMap { val map = mutableMapOf( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_EXPANDED_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.TIMER.value, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to MOCKED_BODY_TEXT_COLOR, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR to MOCKED_SMALL_ICON_COLOR, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY to "true", - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_URI, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_EXPANDED_BODY to MOCKED_ALT_EXPANDED_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_TITLE to MOCKED_ALT_TITLE, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_BODY to MOCKED_ALT_BODY, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_IMAGE to MOCKED_ALT_IMAGE_URI, - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_COLOR to MOCKED_TIMER_COLOR, + PushTemplateConstants.PushPayloadKeys.TITLE to MOCKED_TITLE, + PushTemplateConstants.PushPayloadKeys.BODY to MOCKED_BODY, + PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT to MOCKED_EXPANDED_BODY, + PushTemplateConstants.PushPayloadKeys.IMAGE_URL to MOCKED_IMAGE_URI, + PushTemplateConstants.PushPayloadKeys.VERSION to MOCKED_PAYLOAD_VERSION, + PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE to PushTemplateType.TIMER.value, + PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR to MOCKED_BODY_TEXT_COLOR, + PushTemplateConstants.PushPayloadKeys.SMALL_ICON to MOCKED_SMALL_ICON, + PushTemplateConstants.PushPayloadKeys.LARGE_ICON to MOCKED_LARGE_ICON, + PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR to MOCKED_SMALL_ICON_COLOR, + PushTemplateConstants.PushPayloadKeys.VISIBILITY to MOCKED_VISIBILITY, + PushTemplateConstants.PushPayloadKeys.PRIORITY to MOCKED_PRIORITY, + PushTemplateConstants.PushPayloadKeys.TICKER to MOCKED_TICKER, + PushTemplateConstants.PushPayloadKeys.STICKY to "true", + PushTemplateConstants.PushPayloadKeys.TAG to MOCKED_TAG, + PushTemplateConstants.PushPayloadKeys.ACTION_URI to MOCKED_URI, + PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_EXPANDED_BODY to MOCKED_ALT_EXPANDED_BODY, + PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_TITLE to MOCKED_ALT_TITLE, + PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_BODY to MOCKED_ALT_BODY, + PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_IMAGE to MOCKED_ALT_IMAGE_URI, + PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_COLOR to MOCKED_TIMER_COLOR, ) if (isUsingDuration) { - map[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_DURATION] = duration + map[PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_DURATION] = duration } else { - map[com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_END_TIME] = + map[PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_END_TIME] = MOCKED_TIMER_EXPIRY_TIME } return map @@ -54,59 +54,59 @@ object MockTimerTemplateDataProvider { internal fun getMockedBundleWithTimerData(isUsingDuration: Boolean, duration: String): Bundle { val mockBundle = Bundle() - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_EXPANDED_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BODY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TITLE, MOCKED_TITLE) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.BODY, MOCKED_EXPANDED_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.EXPANDED_BODY_TEXT, MOCKED_BODY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.IMAGE_URL, MOCKED_IMAGE_URI) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VERSION, MOCKED_PAYLOAD_VERSION) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, + PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE, PushTemplateType.TIMER.value ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, + PushTemplateConstants.PushPayloadKeys.BODY_TEXT_COLOR, MOCKED_BODY_TEXT_COLOR ) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.SMALL_ICON, MOCKED_SMALL_ICON) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.LARGE_ICON, MOCKED_LARGE_ICON) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR, + PushTemplateConstants.PushPayloadKeys.SMALL_ICON_COLOR, MOCKED_SMALL_ICON_COLOR ) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.PRIORITY, MOCKED_PRIORITY) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY, "true") - mockBundle.putString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_URI) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.VISIBILITY, MOCKED_VISIBILITY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.PRIORITY, MOCKED_PRIORITY) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TICKER, MOCKED_TICKER) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.TAG, MOCKED_TAG) + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.STICKY, "true") + mockBundle.putString(PushTemplateConstants.PushPayloadKeys.ACTION_URI, MOCKED_URI) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_EXPANDED_BODY, + PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_EXPANDED_BODY, MOCKED_ALT_EXPANDED_BODY ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_TITLE, + PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_TITLE, MOCKED_ALT_TITLE ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_BODY, + PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_BODY, MOCKED_ALT_BODY ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_IMAGE, + PushTemplateConstants.PushPayloadKeys.TimerKeys.ALTERNATE_IMAGE, MOCKED_ALT_IMAGE_URI ) mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_COLOR, + PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_COLOR, MOCKED_TIMER_COLOR ) if (isUsingDuration) { mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_DURATION, + PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_DURATION, duration ) } else { mockBundle.putString( - com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_END_TIME, + PushTemplateConstants.PushPayloadKeys.TimerKeys.TIMER_END_TIME, MOCKED_TIMER_EXPIRY_TIME ) } diff --git a/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt b/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt index 5bf0f747..bb014c00 100644 --- a/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt +++ b/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt @@ -17,14 +17,14 @@ import android.net.Uri import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.core.app.NotificationManagerCompat -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.services.ServiceProvider +import com.adobe.ui_utils.PushTemplateConstants class NotificationTrackerActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) when (intent?.action) { - com.adobe.ui_utils.PushTemplateConstants.NotificationAction.CLICKED -> executePushAction(intent) + PushTemplateConstants.NotificationAction.CLICKED -> executePushAction(intent) else -> {} } @@ -34,7 +34,7 @@ class NotificationTrackerActivity : AppCompatActivity() { private fun executePushAction(intent: Intent) { val actionUri = - intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.TrackingKeys.ACTION_URI) + intent.getStringExtra(PushTemplateConstants.TrackingKeys.ACTION_URI) if (actionUri.isNullOrEmpty()) { openApplication() } else { @@ -42,11 +42,11 @@ class NotificationTrackerActivity : AppCompatActivity() { } // remove the notification if sticky notifications are false - val isStickyNotification = intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.STICKY)?.toBoolean() ?: false + val isStickyNotification = intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.STICKY)?.toBoolean() ?: false if (isStickyNotification) { return } - val tag = intent.getStringExtra(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TAG) + val tag = intent.getStringExtra(PushTemplateConstants.PushPayloadKeys.TAG) val context = ServiceProvider.getInstance().appContextService.applicationContext ?: return val notificationManager = NotificationManagerCompat.from(context) notificationManager.cancel(tag.hashCode()) From 71eaf74e478c87ed7b28c3339d8702b2d0ca9894 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Sat, 17 Aug 2024 23:59:54 +0530 Subject: [PATCH 04/14] code clean up --- .../internal/builders/LegacyNotificationBuilder.kt | 2 +- .../internal/extensions/AppResourceExtensions.kt | 2 +- .../internal/templates/AEPPushTemplate.kt | 4 ++-- .../internal/templates/BasicPushTemplate.kt | 4 ++-- .../internal/templates/CarouselPushTemplate.kt | 4 ++-- .../internal/templates/InputBoxPushTemplate.kt | 2 +- .../internal/templates/ManualCarouselPushTemplate.kt | 1 - .../internal/templates/MultiIconPushTemplate.kt | 3 +-- .../internal/templates/ProductCatalogPushTemplate.kt | 5 ++--- .../internal/templates/ProductRatingPushTemplate.kt | 8 +++++--- .../internal/templates/TimerPushTemplate.kt | 2 +- .../internal/templates/ZeroBezelPushTemplate.kt | 2 +- 12 files changed, 19 insertions(+), 20 deletions(-) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt index 9cffcb55..bbb98c61 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt @@ -16,7 +16,6 @@ import android.app.NotificationManager import android.content.Context import android.os.Build import androidx.core.app.NotificationCompat -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.addActionButtons import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setLargeIcon @@ -26,6 +25,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setSma import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setSound import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG /** * Object responsible for constructing a legacy push notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt index 58924dad..ee89a4f1 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt @@ -15,8 +15,8 @@ import android.content.ContentResolver import android.content.Context import android.content.pm.PackageManager import android.net.Uri -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG private const val SELF_TAG = "AppResourceExtensions" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt index 48cd898a..20a5f3f2 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt @@ -16,11 +16,11 @@ import android.os.Build import androidx.annotation.RequiresApi import com.adobe.marketing.mobile.notificationbuilder.NotificationPriority import com.adobe.marketing.mobile.notificationbuilder.NotificationVisibility -import com.adobe.ui_utils.PushTemplateConstants.ActionType -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData +import com.adobe.ui_utils.PushTemplateConstants.ActionType +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys /** * This class is used to parse the push template data payload or an intent and provide the necessary information diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt index a933e421..24d3d21d 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt @@ -12,12 +12,12 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import androidx.annotation.VisibleForTesting +import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData +import com.adobe.marketing.mobile.services.Log import com.adobe.ui_utils.PushTemplateConstants.ActionButtons import com.adobe.ui_utils.PushTemplateConstants.ActionType import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys -import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData -import com.adobe.marketing.mobile.services.Log import org.json.JSONArray import org.json.JSONException import org.json.JSONObject diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt index 8311ac67..494b93b9 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt @@ -11,12 +11,12 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData +import com.adobe.marketing.mobile.services.Log import com.adobe.ui_utils.PushTemplateConstants.CarouselItemKeys import com.adobe.ui_utils.PushTemplateConstants.DefaultValues import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys -import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData -import com.adobe.marketing.mobile.services.Log import org.json.JSONArray import org.json.JSONException diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt index 4dd701b1..1a9f4825 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt @@ -11,8 +11,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys /** * This class is used to parse the push template data payload or an intent and provide the necessary information diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt index 5df3f39b..b904df45 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt @@ -11,7 +11,6 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt index 1c894033..1163d352 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt @@ -11,10 +11,9 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log +import com.adobe.ui_utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import org.json.JSONArray import org.json.JSONException import org.json.JSONObject diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt index c1f2200a..9ae6b231 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt @@ -11,13 +11,12 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData +import com.adobe.marketing.mobile.services.Log import com.adobe.ui_utils.PushTemplateConstants.CatalogItemKeys import com.adobe.ui_utils.PushTemplateConstants.DefaultValues import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys -import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData -import com.adobe.marketing.mobile.services.Log import org.json.JSONArray import org.json.JSONException diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt index 579db770..48f89176 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt @@ -11,7 +11,6 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log import org.json.JSONArray @@ -34,8 +33,11 @@ internal class ProductRatingPushTemplate(data: NotificationData) : AEPPushTempla fun from(jsonObject: JSONObject): RatingAction? { return try { var uri: String? = null - val type = com.adobe.ui_utils.PushTemplateConstants.ActionType.valueOf(jsonObject.getString( - com.adobe.ui_utils.PushTemplateConstants.RatingAction.TYPE)) + val type = com.adobe.ui_utils.PushTemplateConstants.ActionType.valueOf( + jsonObject.getString( + com.adobe.ui_utils.PushTemplateConstants.RatingAction.TYPE + ) + ) if (type == com.adobe.ui_utils.PushTemplateConstants.ActionType.WEBURL || type == com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK) { uri = jsonObject.getString(com.adobe.ui_utils.PushTemplateConstants.RatingAction.URI) } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt index 3b388576..36d8e940 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt @@ -11,9 +11,9 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.util.TimeUtils +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys /** * Class for parsing the data required to display a Timer notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt index ddd3fe40..edab40ec 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt @@ -11,8 +11,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData +import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys internal class ZeroBezelPushTemplate(data: NotificationData) : AEPPushTemplate(data) { From 9a095dad40396081796f2caab004cbffc14cbba2 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Tue, 20 Aug 2024 15:56:38 +0530 Subject: [PATCH 05/14] optimize imports and code clean up --- .../NotificationBuilder.kt | 4 +- .../notificationbuilder/RemindLaterHandler.kt | 2 +- .../internal/PendingIntentUtils.kt | 2 +- .../AutoCarouselNotificationBuilder.kt | 6 +-- .../builders/BasicNotificationBuilder.kt | 6 +-- .../builders/InputBoxNotificationBuilder.kt | 6 +-- .../builders/LegacyNotificationBuilder.kt | 2 +- .../ManualCarouselNotificationBuilder.kt | 8 ++-- .../builders/MultiIconNotificationBuilder.kt | 2 +- .../ProductCatalogNotificationBuilder.kt | 6 +-- .../ProductRatingNotificationBuilder.kt | 6 +-- .../builders/TimerNotificationBuilder.kt | 6 +-- .../builders/ZeroBezelNotificationBuilder.kt | 4 +- .../extensions/AppResourceExtensions.kt | 2 +- .../NotificationCompatBuilderExtensions.kt | 6 +-- .../NotificationManagerExtensions.kt | 4 +- .../extensions/RemoteViewsExtensions.kt | 6 +-- .../internal/templates/AEPPushTemplate.kt | 4 +- .../internal/templates/BasicPushTemplate.kt | 8 ++-- .../templates/CarouselPushTemplate.kt | 8 ++-- .../templates/InputBoxPushTemplate.kt | 2 +- .../templates/ManualCarouselPushTemplate.kt | 11 +++--- .../templates/MultiIconPushTemplate.kt | 37 ++++++++++--------- .../templates/ProductCatalogPushTemplate.kt | 11 +++--- .../templates/ProductRatingPushTemplate.kt | 33 +++++++++-------- .../internal/templates/TimerPushTemplate.kt | 2 +- .../templates/ZeroBezelPushTemplate.kt | 2 +- .../NotificationBuilderTests.kt | 4 +- .../RemindLaterHandlerTests.kt | 2 +- .../AEPPushNotificationBuilderTest.kt | 4 +- .../AutoCarouselNotificationBuilderTest.kt | 6 +-- .../builders/BasicNotificationBuilderTest.kt | 4 +- .../InputBoxNotificationBuilderTest.kt | 2 +- .../builders/LegacyNotificationBuilderTest.kt | 6 +-- .../ManualCarouselNotificationBuilderTest.kt | 10 ++--- .../ProductCatalogNotificationBuilderTest.kt | 10 ++--- .../ProductRatingNotificationBuilderTest.kt | 8 ++-- .../builders/TimerNotificationBuilderTests.kt | 2 +- .../ZeroBezelNotificationBuilderTest.kt | 8 ++-- ...NotificationCompatBuilderExtensionsTest.kt | 4 +- .../NotificationManagerExtensionsTest.kt | 2 +- .../extensions/RemoteViewsExtensionsTest.kt | 4 +- .../internal/templates/AEPPushTemplateTest.kt | 2 +- .../templates/BasicPushTemplateTests.kt | 2 +- .../templates/CarousalPushTemplateTests.kt | 2 +- .../MockAEPPushTemplateDataProvider.kt | 2 +- .../MockCarousalTemplateDataProvider.kt | 2 +- .../MockInputBoxPushTemplateDataProvider.kt | 2 +- .../MockMultiIconTemplateDataProvider.kt | 2 +- .../MockProductCatalogTemplateDataProvider.kt | 2 +- .../MockProductRatingTemplateDataProvider.kt | 2 +- .../MockTimerTemplateDataProvider.kt | 2 +- .../templates/MultiIconPushTemplateTests.kt | 4 +- code/settings.gradle.kts | 4 +- .../NotificationTrackerActivity.kt | 2 +- code/ui-utils/build.gradle.kts | 33 +++++++---------- .../mobile/utils}/PushTemplateConstants.kt | 2 +- .../mobile/utils}/PushTemplateImageUtils.kt | 8 ++-- 58 files changed, 172 insertions(+), 173 deletions(-) rename code/ui-utils/src/main/java/com/adobe/{ui_utils => marketing/mobile/utils}/PushTemplateConstants.kt (99%) rename code/ui-utils/src/main/java/com/adobe/{ui_utils => marketing/mobile/utils}/PushTemplateImageUtils.kt (98%) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt index 44ce9705..f7af8da0 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt @@ -44,8 +44,8 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG /** * Public facing object to construct a [NotificationCompat.Builder] object for the specified [PushTemplateType]. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt index aa76d250..8895e530 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt @@ -19,7 +19,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtil import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider import com.adobe.marketing.mobile.util.TimeUtils -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants /** * Public facing object to handle the remind later intent. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt index 33df3d04..d3f95dbe 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt @@ -20,7 +20,7 @@ import android.content.Intent import android.os.Build import android.os.Bundle import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants import java.util.Random internal object PendingIntentUtils { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt index aa9451a3..e547497e 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt @@ -25,9 +25,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a auto carousel push template notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt index 10cf0704..8e34a93f 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt @@ -27,9 +27,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a basic push template notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt index a049e1cd..c742eb02 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt @@ -26,9 +26,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.create import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.InputBoxPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys import java.util.Random /** diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt index bbb98c61..396ef599 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt @@ -25,7 +25,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setSma import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setSound import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG /** * Object responsible for constructing a legacy push notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt index 6832ed90..fd641133 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt @@ -28,10 +28,10 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualCarouselPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a manual or filmstrip carousel push template notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt index f3c97213..f2f0eae5 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt @@ -26,7 +26,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MultiIconPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants import java.util.Random internal object MultiIconNotificationBuilder { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt index 5a1dc0e2..88eed570 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt @@ -25,9 +25,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.create import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setElementColor import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductCatalogPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a product catalog template notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt index 33446241..7bbf8009 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt @@ -28,9 +28,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils internal object ProductRatingNotificationBuilder { private const val SELF_TAG = "ProductRatingNotificationBuilder" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt index 76fe2920..fe72f1fe 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt @@ -30,9 +30,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setTim import com.adobe.marketing.mobile.notificationbuilder.internal.templates.TimerPushTemplate import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.util.TimeUtils -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys.TimerKeys private const val TAG = "TimerNotificationBuilder" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt index 8c9fb37f..dbd7f2c9 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt @@ -22,8 +22,8 @@ import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBezelPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils internal object ZeroBezelNotificationBuilder { private const val SELF_TAG = "ZeroBezelNotificationBuilder" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt index ee89a4f1..df21a428 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt @@ -16,7 +16,7 @@ import android.content.Context import android.content.pm.PackageManager import android.net.Uri import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG private const val SELF_TAG = "AppResourceExtensions" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt index d8eb7a83..57bc5684 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt @@ -23,9 +23,9 @@ import com.adobe.marketing.mobile.MobileCore import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import java.util.Random private const val SELF_TAG = "RemoteViewExtensions" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt index 32f14a8e..bb342189 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt @@ -18,8 +18,8 @@ import android.media.RingtoneManager import android.os.Build import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AEPPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG private const val SELF_TAG = "NotificationManagerExtensions" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt index e3ea3014..0357bbba 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt @@ -22,9 +22,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtil import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider import com.adobe.marketing.mobile.util.UrlUtils -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils private const val SELF_TAG = "RemoteViewExtensions" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt index 20a5f3f2..673dd78e 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt @@ -19,8 +19,8 @@ import com.adobe.marketing.mobile.notificationbuilder.NotificationVisibility import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData -import com.adobe.ui_utils.PushTemplateConstants.ActionType -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants.ActionType +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys /** * This class is used to parse the push template data payload or an intent and provide the necessary information diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt index 24d3d21d..5d7675a3 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt @@ -14,10 +14,10 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import androidx.annotation.VisibleForTesting import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants.ActionButtons -import com.adobe.ui_utils.PushTemplateConstants.ActionType -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants.ActionButtons +import com.adobe.marketing.mobile.utils.PushTemplateConstants.ActionType +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys import org.json.JSONArray import org.json.JSONException import org.json.JSONObject diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt index 494b93b9..3c1601f7 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt @@ -13,10 +13,10 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants.CarouselItemKeys -import com.adobe.ui_utils.PushTemplateConstants.DefaultValues -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants.CarouselItemKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants.DefaultValues +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys import org.json.JSONArray import org.json.JSONException diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt index 1a9f4825..97c1ae8b 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt @@ -12,7 +12,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys /** * This class is used to parse the push template data payload or an intent and provide the necessary information diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt index b904df45..f23673e2 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt @@ -13,11 +13,12 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData +import com.adobe.marketing.mobile.utils.PushTemplateConstants internal class ManualCarouselPushTemplate(data: NotificationData) : CarouselPushTemplate(data) { internal var intentAction: String? = null private set - internal var centerImageIndex: Int = com.adobe.ui_utils.PushTemplateConstants.DefaultValues.NO_CENTER_INDEX_SET + internal var centerImageIndex: Int = PushTemplateConstants.DefaultValues.NO_CENTER_INDEX_SET /** * Constructs a Manual Carousel Push Template from the provided data. @@ -28,17 +29,17 @@ internal class ManualCarouselPushTemplate(data: NotificationData) : CarouselPush if (data is IntentData && data.actionName != null) { this.intentAction = data.actionName centerImageIndex = - data.getInteger(com.adobe.ui_utils.PushTemplateConstants.IntentKeys.CENTER_IMAGE_INDEX) + data.getInteger(PushTemplateConstants.IntentKeys.CENTER_IMAGE_INDEX) ?: getDefaultCarouselIndex(carouselLayout) } } companion object { private fun getDefaultCarouselIndex(carouselLayoutType: String): Int { - return if (carouselLayoutType == com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) { - com.adobe.ui_utils.PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX + return if (carouselLayoutType == PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) { + PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_CENTER_INDEX } else { - com.adobe.ui_utils.PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX + PushTemplateConstants.DefaultValues.MANUAL_CAROUSEL_START_INDEX } } } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt index 1163d352..9f5e986e 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt @@ -13,7 +13,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import org.json.JSONArray import org.json.JSONException import org.json.JSONObject @@ -23,7 +24,7 @@ internal class MultiIconPushTemplate(data: NotificationData) : AEPPushTemplate(d private val SELF_TAG = "MultiIconNotificationTemplate" data class MultiIconTemplateItem( val iconUrl: String, - val actionType: com.adobe.ui_utils.PushTemplateConstants.ActionType, + val actionType: PushTemplateConstants.ActionType, val actionUri: String? ) @@ -31,17 +32,17 @@ internal class MultiIconPushTemplate(data: NotificationData) : AEPPushTemplate(d internal var cancelIcon: String? = null init { - val itemsJson = data.getRequiredString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS) + val itemsJson = data.getRequiredString(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS) templateItemList = getTemplateItemList(itemsJson) - ?: throw IllegalArgumentException("Required field \"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.") + ?: throw IllegalArgumentException("Required field \"${PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" is invalid.") - if (templateItemList.size < com.adobe.ui_utils.PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MIN_IMAGE_COUNT || - templateItemList.size > com.adobe.ui_utils.PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MAX_IMAGE_COUNT + if (templateItemList.size < PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MIN_IMAGE_COUNT || + templateItemList.size > PushTemplateConstants.DefaultValues.ICON_TEMPLATE_MAX_IMAGE_COUNT ) { - throw IllegalArgumentException("\"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" field must have 3 to 5 valid items") + throw IllegalArgumentException("\"${PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS}\" field must have 3 to 5 valid items") } - cancelIcon = data.getString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON) + cancelIcon = data.getString(PushTemplateConstants.PushPayloadKeys.MULTI_ICON_CLOSE_BUTTON) if (cancelIcon.isNullOrEmpty()) { cancelIcon = DEFAULT_DELETE_ICON_NAME } @@ -50,7 +51,7 @@ internal class MultiIconPushTemplate(data: NotificationData) : AEPPushTemplate(d private fun getTemplateItemList(templateIconListJsonString: String?): MutableList? { if (templateIconListJsonString.isNullOrEmpty()) { Log.warning( - com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, + PushTemplateConstants.LOG_TAG, SELF_TAG, "Exception in converting rating uri json string to json array, Error :" + " templateIconList Json String is null or empty" @@ -67,7 +68,7 @@ internal class MultiIconPushTemplate(data: NotificationData) : AEPPushTemplate(d } } catch (e: JSONException) { Log.debug( - com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, + PushTemplateConstants.LOG_TAG, SELF_TAG, "Exception in converting template action json string to json array, Error : ${e.localizedMessage}" ) @@ -78,28 +79,28 @@ internal class MultiIconPushTemplate(data: NotificationData) : AEPPushTemplate(d private fun getIconItemFromJsonObject(jsonObject: JSONObject): MultiIconTemplateItem? { return try { - val imageUri = jsonObject.getString(com.adobe.ui_utils.PushTemplateConstants.MultiIconTemplateKeys.IMG) + val imageUri = jsonObject.getString(PushTemplateConstants.MultiIconTemplateKeys.IMG) // In case of invalid image URI, return null as icon is mandatory if (imageUri.isNullOrEmpty()) { Log.debug( - com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, + PushTemplateConstants.LOG_TAG, SELF_TAG, "Image uri is empty, cannot create icon item." ) return null } var uri: String? = null - val actionTypeString = jsonObject.getString(com.adobe.ui_utils.PushTemplateConstants.MultiIconTemplateKeys.TYPE) + val actionTypeString = jsonObject.getString(PushTemplateConstants.MultiIconTemplateKeys.TYPE) var actionType = if (actionTypeString.isNullOrEmpty()) { - com.adobe.ui_utils.PushTemplateConstants.ActionType.NONE + PushTemplateConstants.ActionType.NONE } else { - com.adobe.ui_utils.PushTemplateConstants.ActionType.valueOf(actionTypeString) + PushTemplateConstants.ActionType.valueOf(actionTypeString) } - if (actionType == com.adobe.ui_utils.PushTemplateConstants.ActionType.WEBURL || actionType == com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK) { - uri = jsonObject.getString(com.adobe.ui_utils.PushTemplateConstants.MultiIconTemplateKeys.URI) + if (actionType == PushTemplateConstants.ActionType.WEBURL || actionType == PushTemplateConstants.ActionType.DEEPLINK) { + uri = jsonObject.getString(PushTemplateConstants.MultiIconTemplateKeys.URI) if (uri.isNullOrEmpty()) { Log.debug( - com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, + PushTemplateConstants.LOG_TAG, SELF_TAG, "Uri is empty for action type $actionType, cannot create icon item." ) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt index 9ae6b231..ecb6d763 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt @@ -13,10 +13,11 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.ui_utils.PushTemplateConstants.CatalogItemKeys -import com.adobe.ui_utils.PushTemplateConstants.DefaultValues -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.CatalogItemKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants.DefaultValues +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys import org.json.JSONArray import org.json.JSONException @@ -74,7 +75,7 @@ internal class ProductCatalogPushTemplate(data: NotificationData) : AEPPushTempl displayLayout = data.getRequiredString(PushPayloadKeys.CATALOG_LAYOUT) rawCatalogItems = data.getRequiredString(PushPayloadKeys.CATALOG_ITEMS) catalogItems = parseCatalogItemsFromString(rawCatalogItems) - currentIndex = data.getInteger(com.adobe.ui_utils.PushTemplateConstants.IntentKeys.CATALOG_ITEM_INDEX) + currentIndex = data.getInteger(PushTemplateConstants.IntentKeys.CATALOG_ITEM_INDEX) ?: DefaultValues.PRODUCT_CATALOG_START_INDEX } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt index 48f89176..7bfd0721 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt @@ -13,6 +13,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log +import com.adobe.marketing.mobile.utils.PushTemplateConstants import org.json.JSONArray import org.json.JSONObject @@ -20,7 +21,7 @@ internal class ProductRatingPushTemplate(data: NotificationData) : AEPPushTempla private val SELF_TAG = "ProductRatingPushTemplate" - class RatingAction(val type: com.adobe.ui_utils.PushTemplateConstants.ActionType, val link: String?) { + class RatingAction(val type: PushTemplateConstants.ActionType, val link: String?) { companion object { private const val SELF_TAG = "RatingAction" @@ -33,23 +34,23 @@ internal class ProductRatingPushTemplate(data: NotificationData) : AEPPushTempla fun from(jsonObject: JSONObject): RatingAction? { return try { var uri: String? = null - val type = com.adobe.ui_utils.PushTemplateConstants.ActionType.valueOf( + val type = PushTemplateConstants.ActionType.valueOf( jsonObject.getString( - com.adobe.ui_utils.PushTemplateConstants.RatingAction.TYPE + PushTemplateConstants.RatingAction.TYPE ) ) - if (type == com.adobe.ui_utils.PushTemplateConstants.ActionType.WEBURL || type == com.adobe.ui_utils.PushTemplateConstants.ActionType.DEEPLINK) { - uri = jsonObject.getString(com.adobe.ui_utils.PushTemplateConstants.RatingAction.URI) + if (type == PushTemplateConstants.ActionType.WEBURL || type == PushTemplateConstants.ActionType.DEEPLINK) { + uri = jsonObject.getString(PushTemplateConstants.RatingAction.URI) } Log.trace( - com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, + PushTemplateConstants.LOG_TAG, SELF_TAG, "Creating a rating action with uri ($uri), and type ($type)." ) RatingAction(type, uri) } catch (e: Exception) { Log.warning( - com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, + PushTemplateConstants.LOG_TAG, SELF_TAG, "Exception in converting rating action json string to json object, Error : ${e.localizedMessage}." ) @@ -66,22 +67,22 @@ internal class ProductRatingPushTemplate(data: NotificationData) : AEPPushTempla internal val ratingSelected: Int init { - ratingUnselectedIcon = data.getRequiredString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON) - ratingSelectedIcon = data.getRequiredString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON) - ratingActionString = data.getRequiredString(com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS) + ratingUnselectedIcon = data.getRequiredString(PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON) + ratingSelectedIcon = data.getRequiredString(PushTemplateConstants.PushPayloadKeys.RATING_SELECTED_ICON) + ratingActionString = data.getRequiredString(PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS) ratingActionList = getRatingActionsFromString(ratingActionString) - ?: throw IllegalArgumentException("Required field \"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS}\" is invalid.") + ?: throw IllegalArgumentException("Required field \"${PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS}\" is invalid.") if (ratingActionList.size < 3 || ratingActionList.size > 5) { - throw IllegalArgumentException("\"${com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS}\" field must have 3 to 5 rating actions") + throw IllegalArgumentException("\"${PushTemplateConstants.PushPayloadKeys.RATING_ACTIONS}\" field must have 3 to 5 rating actions") } - ratingSelected = data.getInteger(com.adobe.ui_utils.PushTemplateConstants.IntentKeys.RATING_SELECTED) - ?: com.adobe.ui_utils.PushTemplateConstants.ProductRatingKeys.RATING_UNSELECTED + ratingSelected = data.getInteger(PushTemplateConstants.IntentKeys.RATING_SELECTED) + ?: PushTemplateConstants.ProductRatingKeys.RATING_UNSELECTED } private fun getRatingActionsFromString(ratingActionJsonString: String?): List? { if (ratingActionJsonString.isNullOrEmpty()) { Log.debug( - com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, + PushTemplateConstants.LOG_TAG, SELF_TAG, "Exception in converting rating uri json string to json array, Error :" + " rating uris is null" @@ -98,7 +99,7 @@ internal class ProductRatingPushTemplate(data: NotificationData) : AEPPushTempla } } catch (e: Exception) { Log.debug( - com.adobe.ui_utils.PushTemplateConstants.LOG_TAG, + PushTemplateConstants.LOG_TAG, SELF_TAG, "Exception in converting rating uri json string to json array, Error : ${e.localizedMessage}" ) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt index 36d8e940..0df242aa 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt @@ -13,7 +13,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.util.TimeUtils -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys.TimerKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys.TimerKeys /** * Class for parsing the data required to display a Timer notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt index edab40ec..8f97e367 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt @@ -12,7 +12,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData -import com.adobe.ui_utils.PushTemplateConstants.PushPayloadKeys +import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys internal class ZeroBezelPushTemplate(data: NotificationData) : AEPPushTemplate(data) { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt index 49a077e3..2a2acf01 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt @@ -37,8 +37,8 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockTimerTemplateDataProvider import com.adobe.marketing.mobile.services.AppContextService import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import io.mockk.every import io.mockk.mockk import io.mockk.mockkClass diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt index 4e5dafc4..10234316 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt @@ -16,7 +16,7 @@ import android.content.Intent import androidx.core.app.NotificationManagerCompat import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants import io.mockk.every import io.mockk.mockk import io.mockk.mockkObject diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt index 21308849..2875cffa 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt @@ -29,8 +29,8 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEP import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.IntentActions.TIMER_EXPIRED +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.IntentActions.TIMER_EXPIRED import io.mockk.unmockkAll import junit.framework.TestCase.assertEquals import junit.framework.TestCase.assertNotNull diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt index 26937350..db76fc5c 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt @@ -20,9 +20,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtil import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedAutoCarousalTemplate -import com.adobe.ui_utils.PushTemplateImageUtils -import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages -import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt index bfb258e8..9958db34 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt @@ -31,8 +31,8 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEP import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithAllKeys import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithRequiredData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import io.mockk.every import io.mockk.mockkConstructor import io.mockk.mockkObject diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt index b4c66ad6..dbf36bf9 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt @@ -34,7 +34,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provide import com.adobe.marketing.mobile.notificationbuilder.internal.templates.removeKeysFromMap import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants import io.mockk.Runs import io.mockk.every import io.mockk.just diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt index 75311177..a49ec6a2 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt @@ -23,9 +23,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.removeK import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID -import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID +import com.adobe.marketing.mobile.utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID import io.mockk.unmockkAll import junit.framework.TestCase.assertEquals import junit.framework.TestCase.assertNotNull diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt index 8aa9b2da..7ee16091 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt @@ -26,11 +26,11 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualC import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedManualCarousalTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateImageUtils -import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages -import com.adobe.ui_utils.PushTemplateImageUtils.getAssetCacheLocation -import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getAssetCacheLocation +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt index 31b3eeb5..ac937f23 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt @@ -23,11 +23,11 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.Product import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductCatalogTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT -import com.adobe.ui_utils.PushTemplateImageUtils -import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages -import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage import io.mockk.every import io.mockk.mockkClass import io.mockk.mockkObject diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt index 9fee3d3e..1430ebc6 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt @@ -26,10 +26,10 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductRatingTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateImageUtils -import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages -import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt index c7e6e374..7c7a4288 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt @@ -34,7 +34,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_TITLE import com.adobe.marketing.mobile.notificationbuilder.internal.templates.TimerPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedTimerTemplate -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import io.mockk.Runs import io.mockk.every import io.mockk.just diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt index 37696075..af33ee95 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt @@ -23,10 +23,10 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBez import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateImageUtils -import com.adobe.ui_utils.PushTemplateImageUtils.cacheImages -import com.adobe.ui_utils.PushTemplateImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt index 914a80e5..4155d1ca 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt @@ -23,8 +23,8 @@ import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.MobileCore import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import io.mockk.every import io.mockk.mockk import io.mockk.mockkObject diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt index b33b9c19..ab23e2e3 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt @@ -21,7 +21,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEP import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithAllKeys import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithRequiredData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt index 40311926..1cfbb8b6 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt @@ -23,8 +23,8 @@ import android.widget.RemoteViews import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.services.Logging import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import io.mockk.Runs import io.mockk.every import io.mockk.just diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt index 1520233b..27737d52 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt @@ -16,7 +16,7 @@ import com.adobe.marketing.mobile.notificationbuilder.NotificationPriority import com.adobe.marketing.mobile.notificationbuilder.NotificationVisibility import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.runner.RunWith diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt index f45dab75..0386030b 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt @@ -12,7 +12,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Assert.assertNull import org.junit.runner.RunWith diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt index 41da8613..28c1719c 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt @@ -18,7 +18,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCar import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider.getMockedMapWithManualCarouselData import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue import org.junit.runner.RunWith diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt index b5975a95..ddba4dd5 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt @@ -13,7 +13,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockAEPPushTemplateDataProvider { fun getMockedDataMapWithRequiredData(): MutableMap { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt index 06dc8c1e..3abb1990 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt @@ -13,7 +13,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockCarousalTemplateDataProvider { fun getMockedMapWithAutoCarouselData(): MutableMap { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt index caa71183..a367347a 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt @@ -13,7 +13,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockInputBoxPushTemplateDataProvider { fun getMockedInputBoxDataMapWithRequiredData(): MutableMap { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt index ee7013f6..b5d3d1e6 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt @@ -12,7 +12,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockMultiIconTemplateDataProvider { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt index 97d2092e..b0258d5c 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt @@ -12,7 +12,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockProductCatalogTemplateDataProvider { fun getMockedMapWithProductCatalogData(): MutableMap { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt index 4c2817bb..3da8140a 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt @@ -13,7 +13,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockProductRatingTemplateDataProvider { fun getMockedDataMapForRatingTemplate(): MutableMap { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt index a209d8be..1fc70bd7 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt @@ -13,7 +13,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockTimerTemplateDataProvider { internal fun getMockedMapWithTimerData( diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt index bc8f5d21..21d428fd 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt @@ -13,8 +13,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockMultiIconTemplateDataProvider.getMockedDataMapWithForMultiIcon import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.ui_utils.PushTemplateConstants -import com.adobe.ui_utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME +import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import org.junit.Assert.assertEquals import org.junit.Before import org.junit.runner.RunWith diff --git a/code/settings.gradle.kts b/code/settings.gradle.kts index 39de243d..2147f880 100755 --- a/code/settings.gradle.kts +++ b/code/settings.gradle.kts @@ -32,6 +32,6 @@ dependencyResolutionManagement { rootProject.name = "aepsdk-ui-android" include ( ":notificationbuilder", - ":testapp" + ":testapp", + ":ui-utils" ) -include(":ui-utils") diff --git a/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt b/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt index bb014c00..6503f478 100644 --- a/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt +++ b/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt @@ -18,7 +18,7 @@ import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.core.app.NotificationManagerCompat import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.ui_utils.PushTemplateConstants +import com.adobe.marketing.mobile.utils.PushTemplateConstants class NotificationTrackerActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { diff --git a/code/ui-utils/build.gradle.kts b/code/ui-utils/build.gradle.kts index f8bfe748..9992c441 100644 --- a/code/ui-utils/build.gradle.kts +++ b/code/ui-utils/build.gradle.kts @@ -1,3 +1,5 @@ +import com.adobe.marketing.mobile.gradle.BuildConstants + plugins { id("com.android.library") id("org.jetbrains.kotlin.android") @@ -7,41 +9,34 @@ val mavenCoreVersion: String by project android { - namespace = "com.adobe.ui_utils" - compileSdk = 34 + namespace = "com.adobe.marketing.mobile.ui_utils" defaultConfig { - minSdk = 21 + minSdk = BuildConstants.Versions.MIN_SDK_VERSION + compileSdk = BuildConstants.Versions.COMPILE_SDK_VERSION testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles("consumer-rules.pro") + vectorDrawables.useSupportLibrary = true } buildTypes { - release { + getByName(BuildConstants.BuildTypes.RELEASE) { isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = BuildConstants.Versions.JAVA_SOURCE_COMPATIBILITY + targetCompatibility = BuildConstants.Versions.JAVA_TARGET_COMPATIBILITY } + kotlinOptions { - jvmTarget = "1.8" + jvmTarget = BuildConstants.Versions.KOTLIN_JVM_TARGET + languageVersion = BuildConstants.Versions.KOTLIN_LANGUAGE_VERSION + apiVersion = BuildConstants.Versions.KOTLIN_API_VERSION } } dependencies { implementation("com.adobe.marketing.mobile:core:$mavenCoreVersion") - - implementation("androidx.core:core-ktx:1.13.1") - implementation("androidx.appcompat:appcompat:1.7.0") - implementation("com.google.android.material:material:1.12.0") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.2.1") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") } \ No newline at end of file diff --git a/code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateConstants.kt b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateConstants.kt similarity index 99% rename from code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateConstants.kt rename to code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateConstants.kt index 3ebdb70b..8afbd60b 100644 --- a/code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateConstants.kt +++ b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateConstants.kt @@ -9,7 +9,7 @@ governing permissions and limitations under the License. */ -package com.adobe.ui_utils +package com.adobe.marketing.mobile.utils import java.util.concurrent.TimeUnit diff --git a/code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateImageUtils.kt b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateImageUtils.kt similarity index 98% rename from code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateImageUtils.kt rename to code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateImageUtils.kt index 33f6a7f9..d273cb9f 100644 --- a/code/ui-utils/src/main/java/com/adobe/ui_utils/PushTemplateImageUtils.kt +++ b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateImageUtils.kt @@ -9,7 +9,7 @@ governing permissions and limitations under the License. */ -package com.adobe.ui_utils +package com.adobe.marketing.mobile.utils import android.graphics.Bitmap import android.graphics.BitmapFactory @@ -25,7 +25,7 @@ import com.adobe.marketing.mobile.services.caching.CacheEntry import com.adobe.marketing.mobile.services.caching.CacheExpiry import com.adobe.marketing.mobile.services.caching.CacheService import com.adobe.marketing.mobile.util.UrlUtils -import com.adobe.ui_utils.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG import java.io.ByteArrayInputStream import java.io.ByteArrayOutputStream import java.io.File @@ -320,9 +320,9 @@ object PushTemplateImageUtils { ( applicationCacheDir .toString() + File.separator + - PushTemplateConstants.CACHE_BASE_DIR + PushTemplateConstants.CACHE_BASE_DIR ) + File.separator + - PushTemplateConstants.PUSH_IMAGE_CACHE + PushTemplateConstants.PUSH_IMAGE_CACHE ) } } From 949c5e214396783daf53c8ab52e8d9439663a156 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Wed, 21 Aug 2024 10:03:03 +0530 Subject: [PATCH 06/14] revert PushTemplateConstants --- .../NotificationBuilder.kt | 3 +- .../PushTemplateConstants.kt | 120 +++++++++--------- .../notificationbuilder/RemindLaterHandler.kt | 1 - .../internal/PendingIntentUtils.kt | 2 +- .../AutoCarouselNotificationBuilder.kt | 4 +- .../builders/BasicNotificationBuilder.kt | 6 +- .../builders/InputBoxNotificationBuilder.kt | 6 +- .../builders/LegacyNotificationBuilder.kt | 2 +- .../ManualCarouselNotificationBuilder.kt | 6 +- .../builders/MultiIconNotificationBuilder.kt | 2 +- .../ProductCatalogNotificationBuilder.kt | 4 +- .../ProductRatingNotificationBuilder.kt | 4 +- .../builders/TimerNotificationBuilder.kt | 6 +- .../builders/ZeroBezelNotificationBuilder.kt | 2 +- .../extensions/AppResourceExtensions.kt | 2 +- .../NotificationCompatBuilderExtensions.kt | 4 +- .../NotificationManagerExtensions.kt | 4 +- .../extensions/RemoteViewsExtensions.kt | 4 +- .../internal/templates/AEPPushTemplate.kt | 4 +- .../internal/templates/BasicPushTemplate.kt | 8 +- .../templates/CarouselPushTemplate.kt | 8 +- .../templates/InputBoxPushTemplate.kt | 2 +- .../templates/ManualCarouselPushTemplate.kt | 2 +- .../templates/MultiIconPushTemplate.kt | 4 +- .../templates/ProductCatalogPushTemplate.kt | 10 +- .../templates/ProductRatingPushTemplate.kt | 2 +- .../internal/templates/TimerPushTemplate.kt | 2 +- .../templates/ZeroBezelPushTemplate.kt | 2 +- .../NotificationBuilderTests.kt | 1 - .../RemindLaterHandlerTests.kt | 1 - .../AEPPushNotificationBuilderTest.kt | 4 +- .../builders/BasicNotificationBuilderTest.kt | 2 +- .../InputBoxNotificationBuilderTest.kt | 2 +- .../builders/LegacyNotificationBuilderTest.kt | 6 +- .../ManualCarouselNotificationBuilderTest.kt | 2 +- .../ProductCatalogNotificationBuilderTest.kt | 4 +- .../ProductRatingNotificationBuilderTest.kt | 2 +- .../ZeroBezelNotificationBuilderTest.kt | 2 +- ...NotificationCompatBuilderExtensionsTest.kt | 2 +- .../NotificationManagerExtensionsTest.kt | 2 +- .../extensions/RemoteViewsExtensionsTest.kt | 2 +- .../internal/templates/AEPPushTemplateTest.kt | 2 +- .../templates/BasicPushTemplateTests.kt | 2 +- .../templates/CarousalPushTemplateTests.kt | 2 +- .../MockAEPPushTemplateDataProvider.kt | 2 +- .../MockCarousalTemplateDataProvider.kt | 2 +- .../MockInputBoxPushTemplateDataProvider.kt | 2 +- .../MockMultiIconTemplateDataProvider.kt | 2 +- .../MockProductCatalogTemplateDataProvider.kt | 2 +- .../MockProductRatingTemplateDataProvider.kt | 2 +- .../MockTimerTemplateDataProvider.kt | 2 +- .../templates/MultiIconPushTemplateTests.kt | 4 +- .../NotificationTrackerActivity.kt | 2 +- 53 files changed, 140 insertions(+), 144 deletions(-) rename code/{ui-utils/src/main/java/com/adobe/marketing/mobile/utils => notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder}/PushTemplateConstants.kt (62%) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt index f7af8da0..ba64f9a5 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilder.kt @@ -17,6 +17,7 @@ import android.content.Context import android.content.Intent import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationBuilder.constructNotificationBuilder +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.builders.AutoCarouselNotificationBuilder import com.adobe.marketing.mobile.notificationbuilder.internal.builders.BasicNotificationBuilder @@ -44,8 +45,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG /** * Public facing object to construct a [NotificationCompat.Builder] object for the specified [PushTemplateType]. diff --git a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateConstants.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt similarity index 62% rename from code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateConstants.kt rename to code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt index 8afbd60b..8fb7030c 100644 --- a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateConstants.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt @@ -9,7 +9,7 @@ governing permissions and limitations under the License. */ -package com.adobe.marketing.mobile.utils +package com.adobe.marketing.mobile.notificationbuilder import java.util.concurrent.TimeUnit @@ -17,26 +17,26 @@ import java.util.concurrent.TimeUnit * This object holds all constant values for handling out-of-the-box push template notifications */ object PushTemplateConstants { - const val LOG_TAG = "PushTemplates" - const val CACHE_BASE_DIR = "pushtemplates" - const val PUSH_IMAGE_CACHE = "pushimagecache" + internal const val LOG_TAG = "PushTemplates" + internal const val CACHE_BASE_DIR = "pushtemplates" + internal const val PUSH_IMAGE_CACHE = "pushimagecache" - const val DEFAULT_DELETE_ICON_NAME = "cross" + internal const val DEFAULT_DELETE_ICON_NAME = "cross" /** Enum to denote the type of action */ - enum class ActionType { + internal enum class ActionType { DEEPLINK, WEBURL, DISMISS, OPENAPP, NONE } - object ActionButtons { - const val LABEL = "label" - const val URI = "uri" - const val TYPE = "type" + internal object ActionButtons { + internal const val LABEL = "label" + internal const val URI = "uri" + internal const val TYPE = "type" } - object RatingAction { - const val URI = "uri" - const val TYPE = "type" + internal object RatingAction { + internal const val URI = "uri" + internal const val TYPE = "type" } object NotificationAction { @@ -49,45 +49,45 @@ object PushTemplateConstants { const val ACTION_URI = "actionUri" } - object DefaultValues { + internal object DefaultValues { // When no channel name is received from the push notification, this default channel name is used. // This will appear in the notification settings for the app. - const val DEFAULT_CHANNEL_NAME = "General Notifications" - const val SILENT_CHANNEL_NAME = "Silent Notifications" - const val DEFAULT_CHANNEL_ID = "AEPSDKPushChannel" - const val SILENT_NOTIFICATION_CHANNEL_ID = "AEPSDKSilentPushChannel" - const val CAROUSEL_MAX_BITMAP_WIDTH = 300 - const val CAROUSEL_MAX_BITMAP_HEIGHT = 200 - const val AUTO_CAROUSEL_MODE = "auto" - const val DEFAULT_MANUAL_CAROUSEL_MODE = "default" - const val FILMSTRIP_CAROUSEL_MODE = "filmstrip" - const val CAROUSEL_MINIMUM_IMAGE_COUNT = 3 - const val MANUAL_CAROUSEL_START_INDEX = 0 - const val FILMSTRIP_CAROUSEL_CENTER_INDEX = 1 - const val NO_CENTER_INDEX_SET = -1 - const val INPUT_BOX_DEFAULT_REPLY_TEXT = "Reply" - const val PRODUCT_CATALOG_START_INDEX = 0 - const val PRODUCT_CATALOG_VERTICAL_LAYOUT = "vertical" - const val ICON_TEMPLATE_MIN_IMAGE_COUNT = 3 - const val ICON_TEMPLATE_MAX_IMAGE_COUNT = 5 + internal const val DEFAULT_CHANNEL_NAME = "General Notifications" + internal const val SILENT_CHANNEL_NAME = "Silent Notifications" + internal const val DEFAULT_CHANNEL_ID = "AEPSDKPushChannel" + internal const val SILENT_NOTIFICATION_CHANNEL_ID = "AEPSDKSilentPushChannel" + internal const val CAROUSEL_MAX_BITMAP_WIDTH = 300 + internal const val CAROUSEL_MAX_BITMAP_HEIGHT = 200 + internal const val AUTO_CAROUSEL_MODE = "auto" + internal const val DEFAULT_MANUAL_CAROUSEL_MODE = "default" + internal const val FILMSTRIP_CAROUSEL_MODE = "filmstrip" + internal const val CAROUSEL_MINIMUM_IMAGE_COUNT = 3 + internal const val MANUAL_CAROUSEL_START_INDEX = 0 + internal const val FILMSTRIP_CAROUSEL_CENTER_INDEX = 1 + internal const val NO_CENTER_INDEX_SET = -1 + internal const val INPUT_BOX_DEFAULT_REPLY_TEXT = "Reply" + internal const val PRODUCT_CATALOG_START_INDEX = 0 + internal const val PRODUCT_CATALOG_VERTICAL_LAYOUT = "vertical" + internal const val ICON_TEMPLATE_MIN_IMAGE_COUNT = 3 + internal const val ICON_TEMPLATE_MAX_IMAGE_COUNT = 5 // TODO: revisit this value. should cache time be configurable rather than have a static // value? - val PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = + internal val PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = TimeUnit.DAYS.toMillis(3) // 3 days } - object MethodNames { - const val SET_BACKGROUND_COLOR = "setBackgroundColor" - const val SET_TEXT_COLOR = "setTextColor" + internal object MethodNames { + internal const val SET_BACKGROUND_COLOR = "setBackgroundColor" + internal const val SET_TEXT_COLOR = "setTextColor" } - object FriendlyViewNames { - const val NOTIFICATION_BACKGROUND = "notification background" - const val NOTIFICATION_TITLE = "notification title" - const val NOTIFICATION_BODY_TEXT = "notification body text" - const val CTA_BUTTON = "product catalog cta button" - const val TIMER_TEXT = "Timer Text" + internal object FriendlyViewNames { + internal const val NOTIFICATION_BACKGROUND = "notification background" + internal const val NOTIFICATION_TITLE = "notification title" + internal const val NOTIFICATION_BODY_TEXT = "notification body text" + internal const val CTA_BUTTON = "product catalog cta button" + internal const val TIMER_TEXT = "Timer Text" } object PushPayloadKeys { @@ -139,7 +139,7 @@ object PushTemplateConstants { const val MULTI_ICON_ITEMS = "adb_items" const val MULTI_ICON_CLOSE_BUTTON = "adb_cancel_image" - object TimerKeys { + internal object TimerKeys { const val ALTERNATE_TITLE = "adb_title_alt" const val ALTERNATE_BODY = "adb_body_alt" const val ALTERNATE_EXPANDED_BODY = "adb_body_ex_alt" @@ -150,27 +150,27 @@ object PushTemplateConstants { } } - object CarouselItemKeys { - const val IMAGE = "img" - const val TEXT = "txt" - const val URI = "uri" + internal object CarouselItemKeys { + internal const val IMAGE = "img" + internal const val TEXT = "txt" + internal const val URI = "uri" } - object CatalogItemKeys { - const val TITLE = "title" - const val BODY = "body" - const val IMAGE = "img" - const val PRICE = "price" - const val URI = "uri" + internal object CatalogItemKeys { + internal const val TITLE = "title" + internal const val BODY = "body" + internal const val IMAGE = "img" + internal const val PRICE = "price" + internal const val URI = "uri" } - object CatalogActionIds { - const val CTA_BUTTON_CLICKED = "cta_button_clicked" - const val PRODUCT_IMAGE_CLICKED = "product_image_clicked" + internal object CatalogActionIds { + internal const val CTA_BUTTON_CLICKED = "cta_button_clicked" + internal const val PRODUCT_IMAGE_CLICKED = "product_image_clicked" } - object ProductRatingKeys { - const val RATING_UNSELECTED = -1 + internal object ProductRatingKeys { + internal const val RATING_UNSELECTED = -1 } object IntentActions { @@ -192,9 +192,9 @@ object PushTemplateConstants { const val RATING_SELECTED = "ratingSelected" } - object MultiIconTemplateKeys { + internal object MultiIconTemplateKeys { const val IMG = "img" const val URI = "uri" const val TYPE = "type" } -} +} \ No newline at end of file diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt index 8895e530..bfe64c29 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandler.kt @@ -19,7 +19,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtil import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider import com.adobe.marketing.mobile.util.TimeUtils -import com.adobe.marketing.mobile.utils.PushTemplateConstants /** * Public facing object to handle the remind later intent. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt index d3f95dbe..6b6e6c55 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/PendingIntentUtils.kt @@ -19,8 +19,8 @@ import android.content.Context import android.content.Intent import android.os.Build import android.os.Bundle +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants import java.util.Random internal object PendingIntentUtils { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt index e547497e..242a34aa 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt @@ -19,14 +19,14 @@ import android.graphics.Bitmap import android.widget.RemoteViews import androidx.annotation.VisibleForTesting import androidx.core.app.NotificationCompat +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.utils.PushTemplateImageUtils /** diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt index 8e34a93f..a9b00bae 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilder.kt @@ -20,6 +20,9 @@ import android.widget.RemoteViews import androidx.annotation.VisibleForTesting import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.addActionButtons import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired @@ -27,9 +30,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a basic push template notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt index c742eb02..97a4d595 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilder.kt @@ -21,14 +21,14 @@ import android.widget.RemoteViews import androidx.core.app.NotificationCompat import androidx.core.app.RemoteInput import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.InputBoxPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys import java.util.Random /** diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt index 396ef599..e4144089 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilder.kt @@ -16,6 +16,7 @@ import android.app.NotificationManager import android.content.Context import android.os.Build import androidx.core.app.NotificationCompat +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.addActionButtons import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setLargeIcon @@ -25,7 +26,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setSma import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setSound import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG /** * Object responsible for constructing a legacy push notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt index fd641133..013ae0ac 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt @@ -22,15 +22,15 @@ import android.widget.RemoteViews import androidx.annotation.VisibleForTesting import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualCarouselPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.utils.PushTemplateImageUtils /** diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt index f2f0eae5..d2e97946 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/MultiIconNotificationBuilder.kt @@ -20,13 +20,13 @@ import android.os.Bundle import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MultiIconPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants import java.util.Random internal object MultiIconNotificationBuilder { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt index 88eed570..24c01499 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt @@ -19,14 +19,14 @@ import android.content.Context import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setElementColor import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductCatalogPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.utils.PushTemplateImageUtils /** diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt index 7bbf8009..8f12a0c0 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt @@ -21,6 +21,8 @@ import android.view.View import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setNotificationTitleTextColor @@ -28,8 +30,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.utils.PushTemplateImageUtils internal object ProductRatingNotificationBuilder { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt index fe72f1fe..ca725382 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilder.kt @@ -22,6 +22,9 @@ import android.os.SystemClock import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys.TimerKeys import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired @@ -30,9 +33,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setTim import com.adobe.marketing.mobile.notificationbuilder.internal.templates.TimerPushTemplate import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.util.TimeUtils -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys.TimerKeys private const val TAG = "TimerNotificationBuilder" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt index dbd7f2c9..5f441633 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt @@ -18,11 +18,11 @@ import android.view.View import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBezelPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.utils.PushTemplateImageUtils internal object ZeroBezelNotificationBuilder { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt index df21a428..8b4c7c40 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/AppResourceExtensions.kt @@ -15,8 +15,8 @@ import android.content.ContentResolver import android.content.Context import android.content.pm.PackageManager import android.net.Uri +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG private const val SELF_TAG = "AppResourceExtensions" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt index 57bc5684..d2bbde1d 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt @@ -20,11 +20,11 @@ import android.media.RingtoneManager import android.os.Bundle import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.MobileCore +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import java.util.Random diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt index bb342189..58abcf0f 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensions.kt @@ -16,10 +16,10 @@ import android.app.NotificationManager import android.content.Context import android.media.RingtoneManager import android.os.Build +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AEPPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG private const val SELF_TAG = "NotificationManagerExtensions" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt index 0357bbba..0cfbe69b 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt @@ -18,12 +18,12 @@ import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.RemoteViews +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider import com.adobe.marketing.mobile.util.UrlUtils -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.utils.PushTemplateImageUtils private const val SELF_TAG = "RemoteViewExtensions" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt index 673dd78e..c500a985 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplate.kt @@ -16,11 +16,11 @@ import android.os.Build import androidx.annotation.RequiresApi import com.adobe.marketing.mobile.notificationbuilder.NotificationPriority import com.adobe.marketing.mobile.notificationbuilder.NotificationVisibility +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.ActionType +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData -import com.adobe.marketing.mobile.utils.PushTemplateConstants.ActionType -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys /** * This class is used to parse the push template data payload or an intent and provide the necessary information diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt index 5d7675a3..a8906b54 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplate.kt @@ -12,12 +12,12 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import androidx.annotation.VisibleForTesting +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.ActionButtons +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.ActionType +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants.ActionButtons -import com.adobe.marketing.mobile.utils.PushTemplateConstants.ActionType -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys import org.json.JSONArray import org.json.JSONException import org.json.JSONObject diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt index 3c1601f7..32a7bbe2 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarouselPushTemplate.kt @@ -11,12 +11,12 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.CarouselItemKeys +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants.CarouselItemKeys -import com.adobe.marketing.mobile.utils.PushTemplateConstants.DefaultValues -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys import org.json.JSONArray import org.json.JSONException diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt index 97c1ae8b..5f914d83 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/InputBoxPushTemplate.kt @@ -11,8 +11,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys /** * This class is used to parse the push template data payload or an intent and provide the necessary information diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt index f23673e2..35448e9e 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ManualCarouselPushTemplate.kt @@ -11,9 +11,9 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData -import com.adobe.marketing.mobile.utils.PushTemplateConstants internal class ManualCarouselPushTemplate(data: NotificationData) : CarouselPushTemplate(data) { internal var intentAction: String? = null diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt index 9f5e986e..28e4cd8d 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplate.kt @@ -11,10 +11,10 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import org.json.JSONArray import org.json.JSONException import org.json.JSONObject diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt index ecb6d763..fde3a03b 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductCatalogPushTemplate.kt @@ -11,13 +11,13 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.CatalogItemKeys +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.CatalogItemKeys -import com.adobe.marketing.mobile.utils.PushTemplateConstants.DefaultValues -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys import org.json.JSONArray import org.json.JSONException diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt index 7bfd0721..550231fc 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ProductRatingPushTemplate.kt @@ -11,9 +11,9 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateConstants import org.json.JSONArray import org.json.JSONObject diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt index 0df242aa..7a41eb39 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/TimerPushTemplate.kt @@ -11,9 +11,9 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys.TimerKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData import com.adobe.marketing.mobile.util.TimeUtils -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys.TimerKeys /** * Class for parsing the data required to display a Timer notification. diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt index 8f97e367..469654e4 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/ZeroBezelPushTemplate.kt @@ -11,8 +11,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.internal.util.NotificationData -import com.adobe.marketing.mobile.utils.PushTemplateConstants.PushPayloadKeys internal class ZeroBezelPushTemplate(data: NotificationData) : AEPPushTemplate(data) { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt index 2a2acf01..71e9c29f 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt @@ -37,7 +37,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockTimerTemplateDataProvider import com.adobe.marketing.mobile.services.AppContextService import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.marketing.mobile.utils.PushTemplateConstants import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import io.mockk.every import io.mockk.mockk diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt index 10234316..45266a4b 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/RemindLaterHandlerTests.kt @@ -16,7 +16,6 @@ import android.content.Intent import androidx.core.app.NotificationManagerCompat import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.marketing.mobile.utils.PushTemplateConstants import io.mockk.every import io.mockk.mockk import io.mockk.mockkObject diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt index 2875cffa..4680d60b 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AEPPushNotificationBuilderTest.kt @@ -19,6 +19,8 @@ import android.os.Build import android.os.Bundle import android.widget.RemoteViews import androidx.core.app.NotificationCompat +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.IntentActions.TIMER_EXPIRED import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setNotificationBackgroundColor import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setNotificationBodyTextColor @@ -29,8 +31,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEP import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.IntentActions.TIMER_EXPIRED import io.mockk.unmockkAll import junit.framework.TestCase.assertEquals import junit.framework.TestCase.assertNotNull diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt index 9958db34..543c01a5 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt @@ -17,6 +17,7 @@ import android.content.Context import android.content.Intent import android.widget.RemoteViews import androidx.core.app.NotificationCompat +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate @@ -31,7 +32,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEP import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithAllKeys import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithRequiredData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import io.mockk.every import io.mockk.mockkConstructor diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt index dbf36bf9..d004e5e4 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/InputBoxNotificationBuilderTest.kt @@ -16,6 +16,7 @@ import android.content.BroadcastReceiver import android.content.Context import android.widget.RemoteViews import androidx.core.app.NotificationCompat +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.InputBoxPushTemplate @@ -34,7 +35,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provide import com.adobe.marketing.mobile.notificationbuilder.internal.templates.removeKeysFromMap import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants import io.mockk.Runs import io.mockk.every import io.mockk.just diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt index a49ec6a2..0fa776a3 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/LegacyNotificationBuilderTest.kt @@ -17,15 +17,15 @@ import android.content.Context import android.os.Build import android.os.Bundle import androidx.core.app.NotificationCompat +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEPPushTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.removeKeysFromMap import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.DefaultValues.DEFAULT_CHANNEL_ID -import com.adobe.marketing.mobile.utils.PushTemplateConstants.DefaultValues.SILENT_NOTIFICATION_CHANNEL_ID import io.mockk.unmockkAll import junit.framework.TestCase.assertEquals import junit.framework.TestCase.assertNotNull diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt index 7ee16091..b089da2c 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt @@ -16,6 +16,7 @@ import android.content.BroadcastReceiver import android.content.Context import android.graphics.Bitmap import android.widget.RemoteViews +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.notificationbuilder.internal.builders.ManualCarouselNotificationBuilder.getCarouselIndices import com.adobe.marketing.mobile.notificationbuilder.internal.builders.ManualCarouselNotificationBuilder.populateFilmstripCarouselImages @@ -26,7 +27,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualC import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedManualCarousalTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData -import com.adobe.marketing.mobile.utils.PushTemplateConstants import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getAssetCacheLocation diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt index ac937f23..e79b0b3f 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt @@ -17,14 +17,14 @@ import android.content.Context import android.graphics.Bitmap import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockProductCatalogTemplateDataProvider.getMockedMapWithProductCatalogData import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductCatalogPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductCatalogTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.DefaultValues.PRODUCT_CATALOG_VERTICAL_LAYOUT import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt index 1430ebc6..558e250f 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt @@ -19,6 +19,7 @@ import android.view.View import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage @@ -26,7 +27,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductRatingTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt index af33ee95..5e703b16 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt @@ -18,12 +18,12 @@ import android.graphics.Bitmap import android.os.Bundle import android.view.View import android.widget.RemoteViews +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEPPushTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBezelPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt index 4155d1ca..ac1532d0 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt @@ -21,9 +21,9 @@ import android.net.Uri import android.os.Bundle import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.MobileCore +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate -import com.adobe.marketing.mobile.utils.PushTemplateConstants import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import io.mockk.every import io.mockk.mockk diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt index ab23e2e3..4b578343 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationManagerExtensionsTest.kt @@ -15,13 +15,13 @@ import android.app.NotificationChannel import android.app.NotificationManager import android.content.Context import android.media.RingtoneManager +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_CHANNEL_ID import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEPPushTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithAllKeys import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithRequiredData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt index 1cfbb8b6..98eb1771 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt @@ -20,10 +20,10 @@ import android.graphics.Color import android.os.Bundle import android.view.View import android.widget.RemoteViews +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.services.Logging import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.marketing.mobile.utils.PushTemplateConstants import com.adobe.marketing.mobile.utils.PushTemplateImageUtils import io.mockk.Runs import io.mockk.every diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt index 27737d52..ddc2d460 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/AEPPushTemplateTest.kt @@ -14,9 +14,9 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.app.NotificationManager import com.adobe.marketing.mobile.notificationbuilder.NotificationPriority import com.adobe.marketing.mobile.notificationbuilder.NotificationVisibility +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.runner.RunWith diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt index 0386030b..9ce49548 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/BasicPushTemplateTests.kt @@ -11,8 +11,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Assert.assertNull import org.junit.runner.RunWith diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt index 28c1719c..0223d99f 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/CarousalPushTemplateTests.kt @@ -11,6 +11,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider.getMockedBundleWithAutoCarouselData import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData @@ -18,7 +19,6 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCar import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider.getMockedMapWithManualCarouselData import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue import org.junit.runner.RunWith diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt index ddba4dd5..c6cbca9d 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockAEPPushTemplateDataProvider.kt @@ -12,8 +12,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockAEPPushTemplateDataProvider { fun getMockedDataMapWithRequiredData(): MutableMap { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt index 3abb1990..b3e6a756 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockCarousalTemplateDataProvider.kt @@ -12,8 +12,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockCarousalTemplateDataProvider { fun getMockedMapWithAutoCarouselData(): MutableMap { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt index a367347a..2d1684b3 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockInputBoxPushTemplateDataProvider.kt @@ -12,8 +12,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockInputBoxPushTemplateDataProvider { fun getMockedInputBoxDataMapWithRequiredData(): MutableMap { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt index b5d3d1e6..d6ba1c24 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockMultiIconTemplateDataProvider.kt @@ -11,8 +11,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockMultiIconTemplateDataProvider { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt index b0258d5c..a21f9ae6 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductCatalogTemplateDataProvider.kt @@ -12,7 +12,7 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle -import com.adobe.marketing.mobile.utils.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants object MockProductCatalogTemplateDataProvider { fun getMockedMapWithProductCatalogData(): MutableMap { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt index 3da8140a..4e6a39fe 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockProductRatingTemplateDataProvider.kt @@ -12,8 +12,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockProductRatingTemplateDataProvider { fun getMockedDataMapForRatingTemplate(): MutableMap { diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt index 1fc70bd7..6929317c 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MockTimerTemplateDataProvider.kt @@ -12,8 +12,8 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates import android.os.Bundle +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.PushTemplateType -import com.adobe.marketing.mobile.utils.PushTemplateConstants object MockTimerTemplateDataProvider { internal fun getMockedMapWithTimerData( diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt index 21d428fd..a0f1845d 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/templates/MultiIconPushTemplateTests.kt @@ -11,10 +11,10 @@ package com.adobe.marketing.mobile.notificationbuilder.internal.templates +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockMultiIconTemplateDataProvider.getMockedDataMapWithForMultiIcon import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateConstants -import com.adobe.marketing.mobile.utils.PushTemplateConstants.DEFAULT_DELETE_ICON_NAME import org.junit.Assert.assertEquals import org.junit.Before import org.junit.runner.RunWith diff --git a/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt b/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt index 6503f478..9538521d 100644 --- a/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt +++ b/code/testapp/src/main/java/com/adobe/marketing/mobile/notificationbuilder/testapp/notificationBuilder/NotificationTrackerActivity.kt @@ -17,8 +17,8 @@ import android.net.Uri import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.core.app.NotificationManagerCompat +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.marketing.mobile.utils.PushTemplateConstants class NotificationTrackerActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { From 6ee3f9827e28b39db082b6359c7a09037855ebf8 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Wed, 21 Aug 2024 10:05:40 +0530 Subject: [PATCH 07/14] refactor UiImageUtils --- .../builders/AutoCarouselNotificationBuilder.kt | 6 +++--- .../ManualCarouselNotificationBuilder.kt | 16 ++++++++-------- .../ProductCatalogNotificationBuilder.kt | 8 ++++---- .../builders/ProductRatingNotificationBuilder.kt | 6 +++--- .../builders/ZeroBezelNotificationBuilder.kt | 6 +++--- .../NotificationCompatBuilderExtensions.kt | 6 +++--- .../internal/extensions/RemoteViewsExtensions.kt | 6 +++--- .../NotificationBuilderTests.kt | 14 +++++++------- .../AutoCarouselNotificationBuilderTest.kt | 8 ++++---- .../builders/BasicNotificationBuilderTest.kt | 4 ++-- .../ManualCarouselNotificationBuilderTest.kt | 10 +++++----- .../ProductCatalogNotificationBuilderTest.kt | 8 ++++---- .../ProductRatingNotificationBuilderTest.kt | 8 ++++---- .../builders/TimerNotificationBuilderTests.kt | 4 ++-- .../builders/ZeroBezelNotificationBuilderTest.kt | 8 ++++---- .../NotificationCompatBuilderExtensionsTest.kt | 10 +++++----- .../extensions/RemoteViewsExtensionsTest.kt | 12 ++++++------ ...PushTemplateImageUtils.kt => UiImageUtils.kt} | 14 +++++++------- 18 files changed, 77 insertions(+), 77 deletions(-) rename code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/{PushTemplateImageUtils.kt => UiImageUtils.kt} (94%) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt index 242a34aa..9d67f20e 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt @@ -27,7 +27,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a auto carousel push template notification. @@ -48,7 +48,7 @@ internal object AutoCarouselNotificationBuilder { val expandedLayout = RemoteViews(packageName, R.layout.push_template_auto_carousel) // load images into the carousel - val downloadedImageCount = PushTemplateImageUtils.cacheImages( + val downloadedImageCount = UiImageUtils.cacheImages( pushTemplate.carouselItems.map { it.imageUri } ) @@ -115,7 +115,7 @@ internal object AutoCarouselNotificationBuilder { val downloadedImageUris = mutableListOf() for (item: CarouselPushTemplate.CarouselItem in items) { val imageUri: String = item.imageUri - val pushImage: Bitmap? = PushTemplateImageUtils.getCachedImage(imageUri) + val pushImage: Bitmap? = UiImageUtils.getCachedImage(imageUri) if (pushImage == null) { Log.trace( LOG_TAG, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt index 013ae0ac..65709f6f 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt @@ -31,7 +31,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualCarouselPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a manual or filmstrip carousel push template notification. @@ -49,7 +49,7 @@ internal object ManualCarouselNotificationBuilder { Log.trace(LOG_TAG, SELF_TAG, "Building a manual carousel template push notification.") // download carousel images - val downloadedImagesCount = PushTemplateImageUtils.cacheImages( + val downloadedImagesCount = UiImageUtils.cacheImages( pushTemplate.carouselItems.map { it.imageUri } ) @@ -138,7 +138,7 @@ internal object ManualCarouselNotificationBuilder { for (item: CarouselPushTemplate.CarouselItem in items) { val imageUri: String = item.imageUri val pushImage: Bitmap? = - PushTemplateImageUtils.getCachedImage(imageUri) + UiImageUtils.getCachedImage(imageUri) if (pushImage == null) { Log.warning( LOG_TAG, @@ -280,7 +280,7 @@ internal object ManualCarouselNotificationBuilder { for (item: CarouselPushTemplate.CarouselItem in items) { val imageUri = item.imageUri val pushImage: Bitmap? = - PushTemplateImageUtils.getCachedImage(imageUri) + UiImageUtils.getCachedImage(imageUri) if (pushImage == null) { Log.warning( LOG_TAG, @@ -347,7 +347,7 @@ internal object ManualCarouselNotificationBuilder { ) // set the downloaded bitmaps in the filmstrip image views - val assetCacheLocation = PushTemplateImageUtils.getAssetCacheLocation() + val assetCacheLocation = UiImageUtils.getAssetCacheLocation() if (assetCacheLocation.isNullOrEmpty()) { Log.warning( LOG_TAG, @@ -357,21 +357,21 @@ internal object ManualCarouselNotificationBuilder { return } - val newLeftImage = PushTemplateImageUtils.getCachedImage( + val newLeftImage = UiImageUtils.getCachedImage( validCarouselItems[newIndices.first].imageUri ) expandedLayout.setImageViewBitmap( R.id.manual_carousel_filmstrip_left, newLeftImage ) - val newCenterImage = PushTemplateImageUtils.getCachedImage( + val newCenterImage = UiImageUtils.getCachedImage( validCarouselItems[newIndices.second].imageUri ) expandedLayout.setImageViewBitmap( R.id.manual_carousel_filmstrip_center, newCenterImage ) - val newRightImage = PushTemplateImageUtils.getCachedImage( + val newRightImage = UiImageUtils.getCachedImage( validCarouselItems[newIndices.third].imageUri ) expandedLayout.setImageViewBitmap( diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt index 24c01499..19ca8905 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt @@ -27,7 +27,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.create import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setElementColor import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductCatalogPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a product catalog template notification. @@ -51,7 +51,7 @@ internal object ProductCatalogNotificationBuilder { // fast fail if we can't download a catalog item image val catalogImageUris = pushTemplate.catalogItems.map { it.img } - downloadedImageCount = PushTemplateImageUtils.cacheImages(catalogImageUris) + downloadedImageCount = UiImageUtils.cacheImages(catalogImageUris) if (downloadedImageCount != catalogImageUris.size) { Log.error( LOG_TAG, @@ -146,7 +146,7 @@ internal object ProductCatalogNotificationBuilder { ) val pushImage = - PushTemplateImageUtils.getCachedImage(pushTemplate.catalogItems[pushTemplate.currentIndex].img) + UiImageUtils.getCachedImage(pushTemplate.catalogItems[pushTemplate.currentIndex].img) expandedLayout.setImageViewBitmap(R.id.product_image, pushImage) expandedLayout.setOnClickPendingIntent( R.id.product_image, @@ -190,7 +190,7 @@ internal object ProductCatalogNotificationBuilder { R.id.product_thumbnail_3 ) for (index in catalogItems.indices) { - val thumbImage = PushTemplateImageUtils.getCachedImage(catalogItems[index].img) + val thumbImage = UiImageUtils.getCachedImage(catalogItems[index].img) if (thumbImage == null) { Log.warning( LOG_TAG, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt index 8f12a0c0..a6707d64 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt @@ -30,7 +30,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils internal object ProductRatingNotificationBuilder { private const val SELF_TAG = "ProductRatingNotificationBuilder" @@ -71,7 +71,7 @@ internal object ProductRatingNotificationBuilder { // set the image on the notification val imageUri = pushTemplate.imageUrl - val downloadedImageCount = PushTemplateImageUtils.cacheImages(listOf(imageUri)) + val downloadedImageCount = UiImageUtils.cacheImages(listOf(imageUri)) if (downloadedImageCount == 0) { Log.trace( @@ -83,7 +83,7 @@ internal object ProductRatingNotificationBuilder { } else { expandedLayout.setImageViewBitmap( R.id.expanded_template_image, - PushTemplateImageUtils.getCachedImage(imageUri) + UiImageUtils.getCachedImage(imageUri) ) } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt index 5f441633..310b6799 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt @@ -23,7 +23,7 @@ import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBezelPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils internal object ZeroBezelNotificationBuilder { private const val SELF_TAG = "ZeroBezelNotificationBuilder" @@ -41,13 +41,13 @@ internal object ZeroBezelNotificationBuilder { // download and cache the image used in the notification val downloadedImageCount = - PushTemplateImageUtils.cacheImages(listOf(pushTemplate.imageUrl)) + UiImageUtils.cacheImages(listOf(pushTemplate.imageUrl)) // Check if the image was downloaded if (downloadedImageCount > 0) { // set the image on the notification if it was downloaded val pushImage = - PushTemplateImageUtils.getCachedImage(pushTemplate.imageUrl) + UiImageUtils.getCachedImage(pushTemplate.imageUrl) expandedLayout.setImageViewBitmap(R.id.expanded_template_image, pushImage) // only set image on the collapsed view if the style is "img" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt index d2bbde1d..643e1739 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt @@ -25,7 +25,7 @@ import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils import java.util.Random private const val SELF_TAG = "RemoteViewExtensions" @@ -156,7 +156,7 @@ internal fun NotificationCompat.Builder.setLargeIcon( ): NotificationCompat.Builder { // Quick bail out if there is no image url if (imageUrl.isNullOrEmpty()) return this - val downloadedIconCount: Int = PushTemplateImageUtils.cacheImages( + val downloadedIconCount: Int = UiImageUtils.cacheImages( listOf(imageUrl) ) @@ -165,7 +165,7 @@ internal fun NotificationCompat.Builder.setLargeIcon( return this } - val bitmap = PushTemplateImageUtils.getCachedImage(imageUrl) + val bitmap = UiImageUtils.getCachedImage(imageUrl) setLargeIcon(bitmap) val bigPictureStyle = NotificationCompat.BigPictureStyle() bigPictureStyle.bigPicture(bitmap) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt index 0cfbe69b..efafae0a 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt @@ -24,7 +24,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtil import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider import com.adobe.marketing.mobile.util.UrlUtils -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils private const val SELF_TAG = "RemoteViewExtensions" @@ -222,7 +222,7 @@ internal fun RemoteViews.setRemoteImage( if (!UrlUtils.isValidUrl(imageUrl)) { return false } - val downloadedIconCount = PushTemplateImageUtils.cacheImages(listOf(imageUrl)) + val downloadedIconCount = UiImageUtils.cacheImages(listOf(imageUrl)) if (downloadedIconCount == 0) { Log.warning( LOG_TAG, @@ -234,7 +234,7 @@ internal fun RemoteViews.setRemoteImage( } setImageViewBitmap( containerViewId, - PushTemplateImageUtils.getCachedImage(imageUrl) + UiImageUtils.getCachedImage(imageUrl) ) return true } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt index 71e9c29f..c0451f51 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt @@ -37,7 +37,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockTimerTemplateDataProvider import com.adobe.marketing.mobile.services.AppContextService import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils import io.mockk.every import io.mockk.mockk import io.mockk.mockkClass @@ -76,7 +76,7 @@ class NotificationBuilderTests { trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass mockkObject(PendingIntentUtils) - mockkObject(PushTemplateImageUtils) + mockkObject(UiImageUtils) } @After @@ -250,7 +250,7 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls ProductRatingNotificationBuilder construct`() { - every { PushTemplateImageUtils.cacheImages(any()) } answers { 1 } + every { UiImageUtils.cacheImages(any()) } answers { 1 } val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_RATING.value mapData[PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON] = "https://i.imgur.com/unselected.png" @@ -262,8 +262,8 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls ProductCatalogNotificationBuilder construct`() { - every { PushTemplateImageUtils.cacheImages(any()) } answers { 3 } - every { PushTemplateImageUtils.getCachedImage(any()) } answers { mockk() } + every { UiImageUtils.cacheImages(any()) } answers { 3 } + every { UiImageUtils.getCachedImage(any()) } answers { mockk() } val mapData = MockProductCatalogTemplateDataProvider.getMockedMapWithProductCatalogData() mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_CATALOG.value NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) @@ -272,8 +272,8 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls MultiIconNotificationBuilder construct`() { - every { PushTemplateImageUtils.cacheImages(any()) } answers { 3 } - every { PushTemplateImageUtils.getCachedImage(any()) } answers { mockk() } + every { UiImageUtils.cacheImages(any()) } answers { 3 } + every { UiImageUtils.getCachedImage(any()) } answers { mockk() } val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.MULTI_ICON.value mapData[PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS] = "[{\"img\":\"https://sneakerland.com/products/assets/shoe1.png\",\"uri\":\"myapp://chooseShoeType/shoe1\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe2.png\",\"uri\":\"myapp://chooseShoeType/shoe2\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe3.png\",\"uri\":\"myapp://chooseShoeType/shoe3\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe4.png\",\"uri\":\"myapp://chooseShoeType/shoe4\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe5.png\",\"uri\":\"myapp://chooseShoeType/shoe5\",\"type\":\"DEEPLINK\"}]" diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt index db76fc5c..32768bd4 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt @@ -20,9 +20,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtil import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedAutoCarousalTemplate -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.UiImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -61,7 +61,7 @@ class AutoCarouselNotificationBuilderTest { autoCarouselPushTemplate = provideMockedAutoCarousalTemplate(false) mockkObject(BasicNotificationBuilder) mockkObject(PendingIntentUtils) - mockkObject(PushTemplateImageUtils) + mockkObject(UiImageUtils) mockkConstructor(RemoteViews::class) } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt index 543c01a5..3cccd2da 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt @@ -32,7 +32,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEP import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithAllKeys import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithRequiredData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils import io.mockk.every import io.mockk.mockkConstructor import io.mockk.mockkObject @@ -72,7 +72,7 @@ class BasicNotificationBuilderTest { mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setRemoteViewImage) - mockkObject(PushTemplateImageUtils) + mockkObject(UiImageUtils) } @After diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt index b089da2c..9929a172 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt @@ -27,10 +27,10 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualC import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedManualCarousalTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getAssetCacheLocation -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.UiImageUtils.getAssetCacheLocation +import com.adobe.marketing.mobile.utils.UiImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -66,7 +66,7 @@ class ManualCarouselNotificationBuilderTest { pushTemplate = provideMockedManualCarousalTemplate(false) trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(PushTemplateImageUtils) + mockkObject(UiImageUtils) mockkObject(BasicNotificationBuilder) mockkObject(PendingIntentUtils) mockkConstructor(RemoteViews::class) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt index e79b0b3f..20b231cc 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt @@ -25,9 +25,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.Product import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductCatalogTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.UiImageUtils.getCachedImage import io.mockk.every import io.mockk.mockkClass import io.mockk.mockkObject @@ -59,7 +59,7 @@ class ProductCatalogNotificationBuilderTest { context = RuntimeEnvironment.getApplication() trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(PushTemplateImageUtils) + mockkObject(UiImageUtils) } @After diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt index 558e250f..4dca324e 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt @@ -27,9 +27,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductRatingTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.UiImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -64,7 +64,7 @@ class ProductRatingNotificationBuilderTest { mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setRemoteViewImage) mockkStatic(RemoteViews::setRemoteViewClickAction) - mockkObject(PushTemplateImageUtils) + mockkObject(UiImageUtils) } @After diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt index 7c7a4288..dbfe6908 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt @@ -34,7 +34,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_TITLE import com.adobe.marketing.mobile.notificationbuilder.internal.templates.TimerPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedTimerTemplate -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -76,7 +76,7 @@ class TimerNotificationBuilderTests { pushTemplate = provideMockedTimerTemplate(false, true) trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(PushTemplateImageUtils) + mockkObject(UiImageUtils) mockkObject(PendingIntentUtils) mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setTimerTextColor) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt index 5e703b16..d4e283ce 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt @@ -24,9 +24,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBez import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.cacheImages -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.UiImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -60,7 +60,7 @@ class ZeroBezelNotificationBuilderTest { fun setup() { context = RuntimeEnvironment.getApplication() dataMap = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mockkObject(PushTemplateImageUtils) + mockkObject(UiImageUtils) mockkConstructor(RemoteViews::class) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt index ac1532d0..4a3e7c2b 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt @@ -24,7 +24,7 @@ import com.adobe.marketing.mobile.MobileCore import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils import io.mockk.every import io.mockk.mockk import io.mockk.mockkObject @@ -59,7 +59,7 @@ class NotificationCompatBuilderExtensionsTest { mockContext = mockk(relaxed = true) mockkStatic(Context::getIconWithResourceName) mockkStatic(MobileCore::class) - mockkObject(PushTemplateImageUtils) + mockkObject(UiImageUtils) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java } @@ -197,8 +197,8 @@ class NotificationCompatBuilderExtensionsTest { @Test fun `setLargeIcon with valid imageUrl`() { - every { PushTemplateImageUtils.cacheImages(listOf("valid_image_url")) } returns 1 - every { PushTemplateImageUtils.getCachedImage("valid_image_url") } returns mockBitmap + every { UiImageUtils.cacheImages(listOf("valid_image_url")) } returns 1 + every { UiImageUtils.getCachedImage("valid_image_url") } returns mockBitmap val spyBuilder = spyk(NotificationCompat.Builder(mockContext, "mockChannelId")) @@ -210,7 +210,7 @@ class NotificationCompatBuilderExtensionsTest { @Test fun `setLargeIcon with imageUrl that cannot be downloaded`() { - every { PushTemplateImageUtils.cacheImages(listOf("invalid_image_url")) } returns 0 + every { UiImageUtils.cacheImages(listOf("invalid_image_url")) } returns 0 val spyBuilder = spyk(NotificationCompat.Builder(mockContext, "mockChannelId")) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt index 98eb1771..8398c6a5 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt @@ -24,7 +24,7 @@ import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.services.Logging import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.marketing.mobile.utils.PushTemplateImageUtils +import com.adobe.marketing.mobile.utils.UiImageUtils import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -59,7 +59,7 @@ class RemoteViewsExtensionsTest { @Before fun setup() { remoteViews = mockk(relaxed = true) - mockkObject(PushTemplateImageUtils) + mockkObject(UiImageUtils) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java } @@ -182,8 +182,8 @@ class RemoteViewsExtensionsTest { @Test fun `setRemoteViewImage applies image when valid URL provided`() { val imageUrl = "http://example.com/image.png" - every { PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 1 - every { PushTemplateImageUtils.getCachedImage(imageUrl) } returns mockBitmap + every { UiImageUtils.cacheImages(listOf(imageUrl)) } returns 1 + every { UiImageUtils.getCachedImage(imageUrl) } returns mockBitmap val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -236,7 +236,7 @@ class RemoteViewsExtensionsTest { fun `setRemoteViewImage does not apply image when URL is invalid`() { val imageUrl = "invalid_url" every { remoteViews.setViewVisibility(any(), any()) } just Runs - every { PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 0 + every { UiImageUtils.cacheImages(listOf(imageUrl)) } returns 0 val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -250,7 +250,7 @@ class RemoteViewsExtensionsTest { fun `setRemoteViewImage does not apply image URL could not be downloaded`() { val imageUrl = "http://example.com/image.png" every { remoteViews.setViewVisibility(any(), any()) } just Runs - every { PushTemplateImageUtils.cacheImages(listOf(imageUrl)) } returns 0 + every { UiImageUtils.cacheImages(listOf(imageUrl)) } returns 0 val result = remoteViews.setRemoteViewImage(imageUrl, 1) diff --git a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateImageUtils.kt b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt similarity index 94% rename from code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateImageUtils.kt rename to code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt index d273cb9f..dd5bc715 100644 --- a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/PushTemplateImageUtils.kt +++ b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt @@ -15,6 +15,7 @@ import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.Matrix import android.graphics.RectF +import androidx.core.content.PackageManagerCompat.LOG_TAG import com.adobe.marketing.mobile.services.HttpConnecting import com.adobe.marketing.mobile.services.HttpMethod import com.adobe.marketing.mobile.services.Log @@ -25,7 +26,6 @@ import com.adobe.marketing.mobile.services.caching.CacheEntry import com.adobe.marketing.mobile.services.caching.CacheExpiry import com.adobe.marketing.mobile.services.caching.CacheService import com.adobe.marketing.mobile.util.UrlUtils -import com.adobe.marketing.mobile.utils.PushTemplateConstants.LOG_TAG import java.io.ByteArrayInputStream import java.io.ByteArrayOutputStream import java.io.File @@ -41,7 +41,7 @@ import java.util.concurrent.atomic.AtomicInteger * Utility functions to assist in downloading and caching images for push template notifications. */ -object PushTemplateImageUtils { +object UiImageUtils { private const val SELF_TAG = "PushTemplateImageUtil" private const val DEFAULT_BITMAP_QUALITY = 100 private const val DEFAULT_DOWNLOAD_TIMEOUT_SECS = 10 @@ -62,8 +62,8 @@ object PushTemplateImageUtils { urlList: List, downloadTimeoutInSeconds: Int = DEFAULT_DOWNLOAD_TIMEOUT_SECS, bitmapQuality: Int = DEFAULT_BITMAP_QUALITY, - bitmapWidth: Float = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - bitmapHeight: Float = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + bitmapWidth: Float = com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + bitmapHeight: Float = com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), scaleToFit: Matrix.ScaleToFit = Matrix.ScaleToFit.CENTER ): Int { val assetCacheLocation = getAssetCacheLocation() @@ -263,7 +263,7 @@ object PushTemplateImageUtils { val cacheEntry = CacheEntry( bitmapInputStream, CacheExpiry.after( - PushTemplateConstants.DefaultValues.PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS + com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS ), null ) @@ -320,9 +320,9 @@ object PushTemplateImageUtils { ( applicationCacheDir .toString() + File.separator + - PushTemplateConstants.CACHE_BASE_DIR + com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.CACHE_BASE_DIR ) + File.separator + - PushTemplateConstants.PUSH_IMAGE_CACHE + com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PUSH_IMAGE_CACHE ) } } From 1844f657ecb8a84b055558803c3b82fd53224c02 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Wed, 21 Aug 2024 10:12:42 +0530 Subject: [PATCH 08/14] extract constants to UiImageConstants --- .../mobile/utils/UiImageConstants.kt | 15 ++++++++++++ .../marketing/mobile/utils/UiImageUtils.kt | 23 +++++++++++-------- 2 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt diff --git a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt new file mode 100644 index 00000000..cdbbe4da --- /dev/null +++ b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt @@ -0,0 +1,15 @@ +package com.adobe.marketing.mobile.utils + +import java.util.concurrent.TimeUnit + +object UiImageConstants { + const val DEFAULT_BITMAP_QUALITY = 100 + const val DEFAULT_DOWNLOAD_TIMEOUT_SECS = 10 + const val CAROUSEL_MAX_BITMAP_WIDTH = 300 + const val CAROUSEL_MAX_BITMAP_HEIGHT = 200 + const val LOG_TAG = "PushTemplates" + val PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = + TimeUnit.DAYS.toMillis(3) // 3 days + const val CACHE_BASE_DIR = "pushtemplates" + const val PUSH_IMAGE_CACHE = "pushimagecache" +} \ No newline at end of file diff --git a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt index dd5bc715..21be21da 100644 --- a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt +++ b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt @@ -15,7 +15,6 @@ import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.Matrix import android.graphics.RectF -import androidx.core.content.PackageManagerCompat.LOG_TAG import com.adobe.marketing.mobile.services.HttpConnecting import com.adobe.marketing.mobile.services.HttpMethod import com.adobe.marketing.mobile.services.Log @@ -26,6 +25,14 @@ import com.adobe.marketing.mobile.services.caching.CacheEntry import com.adobe.marketing.mobile.services.caching.CacheExpiry import com.adobe.marketing.mobile.services.caching.CacheService import com.adobe.marketing.mobile.util.UrlUtils +import com.adobe.marketing.mobile.utils.UiImageConstants.CACHE_BASE_DIR +import com.adobe.marketing.mobile.utils.UiImageConstants.CAROUSEL_MAX_BITMAP_HEIGHT +import com.adobe.marketing.mobile.utils.UiImageConstants.CAROUSEL_MAX_BITMAP_WIDTH +import com.adobe.marketing.mobile.utils.UiImageConstants.DEFAULT_BITMAP_QUALITY +import com.adobe.marketing.mobile.utils.UiImageConstants.DEFAULT_DOWNLOAD_TIMEOUT_SECS +import com.adobe.marketing.mobile.utils.UiImageConstants.LOG_TAG +import com.adobe.marketing.mobile.utils.UiImageConstants.PUSH_IMAGE_CACHE +import com.adobe.marketing.mobile.utils.UiImageConstants.PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS import java.io.ByteArrayInputStream import java.io.ByteArrayOutputStream import java.io.File @@ -43,8 +50,6 @@ import java.util.concurrent.atomic.AtomicInteger object UiImageUtils { private const val SELF_TAG = "PushTemplateImageUtil" - private const val DEFAULT_BITMAP_QUALITY = 100 - private const val DEFAULT_DOWNLOAD_TIMEOUT_SECS = 10 /** * Downloads and caches images provided in the [urlList]. Prior to downloading, the image url @@ -62,8 +67,8 @@ object UiImageUtils { urlList: List, downloadTimeoutInSeconds: Int = DEFAULT_DOWNLOAD_TIMEOUT_SECS, bitmapQuality: Int = DEFAULT_BITMAP_QUALITY, - bitmapWidth: Float = com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - bitmapHeight: Float = com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + bitmapWidth: Float = CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + bitmapHeight: Float = CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), scaleToFit: Matrix.ScaleToFit = Matrix.ScaleToFit.CENTER ): Int { val assetCacheLocation = getAssetCacheLocation() @@ -262,9 +267,7 @@ object UiImageUtils { // cache push notification images for 3 days val cacheEntry = CacheEntry( bitmapInputStream, - CacheExpiry.after( - com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS - ), + CacheExpiry.after(PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS), null ) cacheService[it, imageUrl] = cacheEntry @@ -320,9 +323,9 @@ object UiImageUtils { ( applicationCacheDir .toString() + File.separator + - com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.CACHE_BASE_DIR + CACHE_BASE_DIR ) + File.separator + - com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PUSH_IMAGE_CACHE + PUSH_IMAGE_CACHE ) } } From 0db5298b7a8201d9f6400619b4de02469961ee67 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Wed, 21 Aug 2024 10:15:03 +0530 Subject: [PATCH 09/14] code clean up --- .../mobile/utils/UiImageConstants.kt | 6 ++--- .../marketing/mobile/utils/UiImageUtils.kt | 24 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt index cdbbe4da..abc47bee 100644 --- a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt +++ b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt @@ -7,9 +7,9 @@ object UiImageConstants { const val DEFAULT_DOWNLOAD_TIMEOUT_SECS = 10 const val CAROUSEL_MAX_BITMAP_WIDTH = 300 const val CAROUSEL_MAX_BITMAP_HEIGHT = 200 - const val LOG_TAG = "PushTemplates" - val PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = - TimeUnit.DAYS.toMillis(3) // 3 days + const val PUSH_TEMPLATE_LOG_TAG = "PushTemplates" const val CACHE_BASE_DIR = "pushtemplates" const val PUSH_IMAGE_CACHE = "pushimagecache" + val PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = + TimeUnit.DAYS.toMillis(3) // 3 days } \ No newline at end of file diff --git a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt index 21be21da..db63b4bc 100644 --- a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt +++ b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt @@ -30,9 +30,9 @@ import com.adobe.marketing.mobile.utils.UiImageConstants.CAROUSEL_MAX_BITMAP_HEI import com.adobe.marketing.mobile.utils.UiImageConstants.CAROUSEL_MAX_BITMAP_WIDTH import com.adobe.marketing.mobile.utils.UiImageConstants.DEFAULT_BITMAP_QUALITY import com.adobe.marketing.mobile.utils.UiImageConstants.DEFAULT_DOWNLOAD_TIMEOUT_SECS -import com.adobe.marketing.mobile.utils.UiImageConstants.LOG_TAG import com.adobe.marketing.mobile.utils.UiImageConstants.PUSH_IMAGE_CACHE import com.adobe.marketing.mobile.utils.UiImageConstants.PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS +import com.adobe.marketing.mobile.utils.UiImageConstants.PUSH_TEMPLATE_LOG_TAG import java.io.ByteArrayInputStream import java.io.ByteArrayOutputStream import java.io.File @@ -89,7 +89,7 @@ object UiImageUtils { val cacheResult = cacheService[assetCacheLocation, url] if (cacheResult != null) { Log.trace( - LOG_TAG, + PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Found cached image for $url" ) @@ -117,7 +117,7 @@ object UiImageUtils { downloadedImageCount.incrementAndGet() } catch (exception: IOException) { Log.warning( - LOG_TAG, + PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Exception occurred creating an input stream from a bitmap for {$url}: ${exception.localizedMessage}." ) @@ -131,13 +131,13 @@ object UiImageUtils { try { if (latch.await(downloadTimeoutInSeconds.toLong(), TimeUnit.SECONDS)) { Log.trace( - LOG_TAG, + PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "All image downloads have completed." ) } else { Log.warning( - LOG_TAG, + PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Timed out waiting for image downloads to complete." ) @@ -145,7 +145,7 @@ object UiImageUtils { } } catch (e: InterruptedException) { Log.warning( - LOG_TAG, + PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Interrupted while waiting for image downloads to complete: ${e.localizedMessage}" ) @@ -197,17 +197,17 @@ object UiImageUtils { } val cacheResult = ServiceProvider.getInstance().cacheService[assetCacheLocation, url] if (cacheResult == null) { - Log.warning(LOG_TAG, SELF_TAG, "Image not found in cache for $url") + Log.warning(PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Image not found in cache for $url") return null } - Log.trace(LOG_TAG, SELF_TAG, "Found cached image for $url") + Log.trace(PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Found cached image for $url") return BitmapFactory.decodeStream(cacheResult.data) } private fun handleDownloadResponse(url: String?, connection: HttpConnecting?): Bitmap? { if (connection == null) { Log.warning( - LOG_TAG, + PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Failed to download push notification image from url ($url), received a null connection." ) @@ -215,7 +215,7 @@ object UiImageUtils { } if ((connection.responseCode != HttpURLConnection.HTTP_OK)) { Log.debug( - LOG_TAG, + PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Failed to download push notification image from url ($url). Response code was: ${connection.responseCode}." ) @@ -224,7 +224,7 @@ object UiImageUtils { val bitmap = BitmapFactory.decodeStream(connection.inputStream) bitmap?.let { Log.trace( - LOG_TAG, + PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Downloaded push notification image from url ($url)" ) @@ -259,7 +259,7 @@ object UiImageUtils { imageUrl: String ) { Log.trace( - LOG_TAG, + PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Caching image downloaded from $imageUrl." ) From a5a0c0642a79b8455817e71d39b0b00c5b8d12f7 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Wed, 21 Aug 2024 10:15:36 +0530 Subject: [PATCH 10/14] remove unused constants --- .../notificationbuilder/PushTemplateConstants.kt | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt index 8fb7030c..4d5d6f98 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt @@ -11,15 +11,11 @@ package com.adobe.marketing.mobile.notificationbuilder -import java.util.concurrent.TimeUnit - /** * This object holds all constant values for handling out-of-the-box push template notifications */ object PushTemplateConstants { internal const val LOG_TAG = "PushTemplates" - internal const val CACHE_BASE_DIR = "pushtemplates" - internal const val PUSH_IMAGE_CACHE = "pushimagecache" internal const val DEFAULT_DELETE_ICON_NAME = "cross" @@ -56,8 +52,6 @@ object PushTemplateConstants { internal const val SILENT_CHANNEL_NAME = "Silent Notifications" internal const val DEFAULT_CHANNEL_ID = "AEPSDKPushChannel" internal const val SILENT_NOTIFICATION_CHANNEL_ID = "AEPSDKSilentPushChannel" - internal const val CAROUSEL_MAX_BITMAP_WIDTH = 300 - internal const val CAROUSEL_MAX_BITMAP_HEIGHT = 200 internal const val AUTO_CAROUSEL_MODE = "auto" internal const val DEFAULT_MANUAL_CAROUSEL_MODE = "default" internal const val FILMSTRIP_CAROUSEL_MODE = "filmstrip" @@ -70,11 +64,6 @@ object PushTemplateConstants { internal const val PRODUCT_CATALOG_VERTICAL_LAYOUT = "vertical" internal const val ICON_TEMPLATE_MIN_IMAGE_COUNT = 3 internal const val ICON_TEMPLATE_MAX_IMAGE_COUNT = 5 - - // TODO: revisit this value. should cache time be configurable rather than have a static - // value? - internal val PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = - TimeUnit.DAYS.toMillis(3) // 3 days } internal object MethodNames { From e1054a4ea70e4a324535a9cd3abcd8aec0938a0c Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Wed, 21 Aug 2024 13:38:49 +0530 Subject: [PATCH 11/14] lint changes --- .../mobile/notificationbuilder/PushTemplateConstants.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt index 4d5d6f98..9e7051ff 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt @@ -186,4 +186,4 @@ object PushTemplateConstants { const val URI = "uri" const val TYPE = "type" } -} \ No newline at end of file +} From dce4eb641b15a50c84fd8cf5e943123b3fd761b6 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Thu, 22 Aug 2024 13:19:59 +0530 Subject: [PATCH 12/14] code clean up --- .../java/com/adobe/marketing/mobile/utils/UiImageConstants.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt index abc47bee..018dc94d 100644 --- a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt +++ b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt @@ -12,4 +12,5 @@ object UiImageConstants { const val PUSH_IMAGE_CACHE = "pushimagecache" val PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = TimeUnit.DAYS.toMillis(3) // 3 days + } \ No newline at end of file From 0686f34b58f04852af643aedd0f6a7c141feeccf Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Mon, 26 Aug 2024 23:53:10 +0530 Subject: [PATCH 13/14] integrate aep library plugin --- code/{ui-utils => aep_ui_utils}/.gitignore | 0 code/aep_ui_utils/build.gradle.kts | 30 +++++++++++ .../consumer-rules.pro | 0 .../proguard-rules.pro | 0 .../aep_ui_utils/src/main/AndroidManifest.xml | 3 ++ .../mobile/utils/AEPUIImageConstants.kt | 23 ++++++++ .../mobile/utils/AEPUIImageUtils.kt} | 54 +++++++++---------- code/gradle.properties | 6 +++ code/notificationbuilder/build.gradle.kts | 2 +- .../PushTemplateConstants.kt | 2 + .../AutoCarouselNotificationBuilder.kt | 10 ++-- .../ManualCarouselNotificationBuilder.kt | 20 +++---- .../ProductCatalogNotificationBuilder.kt | 12 +++-- .../ProductRatingNotificationBuilder.kt | 11 ++-- .../builders/ZeroBezelNotificationBuilder.kt | 12 +++-- .../NotificationCompatBuilderExtensions.kt | 10 ++-- .../extensions/RemoteViewsExtensions.kt | 10 ++-- .../NotificationBuilderTests.kt | 14 ++--- .../AutoCarouselNotificationBuilderTest.kt | 12 ++--- .../builders/BasicNotificationBuilderTest.kt | 4 +- .../ManualCarouselNotificationBuilderTest.kt | 26 ++++----- .../ProductCatalogNotificationBuilderTest.kt | 22 ++++---- .../ProductRatingNotificationBuilderTest.kt | 12 ++--- .../builders/TimerNotificationBuilderTests.kt | 4 +- .../ZeroBezelNotificationBuilderTest.kt | 32 +++++------ ...NotificationCompatBuilderExtensionsTest.kt | 10 ++-- .../extensions/RemoteViewsExtensionsTest.kt | 12 ++--- code/settings.gradle.kts | 2 +- code/testapp/build.gradle.kts | 2 +- code/ui-utils/build.gradle.kts | 42 --------------- .../adobe/ui_utils/ExampleInstrumentedTest.kt | 24 --------- code/ui-utils/src/main/AndroidManifest.xml | 4 -- .../mobile/utils/UiImageConstants.kt | 16 ------ .../com/adobe/ui_utils/ExampleUnitTest.kt | 17 ------ 34 files changed, 220 insertions(+), 240 deletions(-) rename code/{ui-utils => aep_ui_utils}/.gitignore (100%) create mode 100644 code/aep_ui_utils/build.gradle.kts rename code/{ui-utils => aep_ui_utils}/consumer-rules.pro (100%) rename code/{ui-utils => aep_ui_utils}/proguard-rules.pro (100%) create mode 100644 code/aep_ui_utils/src/main/AndroidManifest.xml create mode 100644 code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageConstants.kt rename code/{ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt => aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageUtils.kt} (86%) delete mode 100644 code/ui-utils/build.gradle.kts delete mode 100644 code/ui-utils/src/androidTest/java/com/adobe/ui_utils/ExampleInstrumentedTest.kt delete mode 100644 code/ui-utils/src/main/AndroidManifest.xml delete mode 100644 code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt delete mode 100644 code/ui-utils/src/test/java/com/adobe/ui_utils/ExampleUnitTest.kt diff --git a/code/ui-utils/.gitignore b/code/aep_ui_utils/.gitignore similarity index 100% rename from code/ui-utils/.gitignore rename to code/aep_ui_utils/.gitignore diff --git a/code/aep_ui_utils/build.gradle.kts b/code/aep_ui_utils/build.gradle.kts new file mode 100644 index 00000000..56beca2a --- /dev/null +++ b/code/aep_ui_utils/build.gradle.kts @@ -0,0 +1,30 @@ +plugins { + id("aep-library") +} + +val mavenCoreVersion: String by project +val aepUIUtilsModuleName: String by project +val aepUIUtilsVersion: String by project +val aepUIUtilsMavenRepoName: String by project +val aepUIUtilsMavenRepoDescription: String by project + + +aepLibrary { + namespace = "com.adobe.marketing.mobile.aep_ui_utils" + moduleName = aepUIUtilsModuleName + moduleVersion = aepUIUtilsVersion + enableSpotless = true + enableCheckStyle = true + enableDokkaDoc = true + + publishing { + mavenRepoName = aepUIUtilsMavenRepoName + mavenRepoDescription = aepUIUtilsMavenRepoDescription + gitRepoName = "aepsdk-ui-android" + addCoreDependency(mavenCoreVersion) + } +} + +dependencies { + implementation("com.adobe.marketing.mobile:core:$mavenCoreVersion") +} diff --git a/code/ui-utils/consumer-rules.pro b/code/aep_ui_utils/consumer-rules.pro similarity index 100% rename from code/ui-utils/consumer-rules.pro rename to code/aep_ui_utils/consumer-rules.pro diff --git a/code/ui-utils/proguard-rules.pro b/code/aep_ui_utils/proguard-rules.pro similarity index 100% rename from code/ui-utils/proguard-rules.pro rename to code/aep_ui_utils/proguard-rules.pro diff --git a/code/aep_ui_utils/src/main/AndroidManifest.xml b/code/aep_ui_utils/src/main/AndroidManifest.xml new file mode 100644 index 00000000..69fc4129 --- /dev/null +++ b/code/aep_ui_utils/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageConstants.kt b/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageConstants.kt new file mode 100644 index 00000000..45c21ea7 --- /dev/null +++ b/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageConstants.kt @@ -0,0 +1,23 @@ +/* + Copyright 2024 Adobe. All rights reserved. + This file is licensed to you under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. You may obtain a copy + of the License at http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under + the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + OF ANY KIND, either express or implied. See the License for the specific language + governing permissions and limitations under the License. +*/ + +package com.adobe.marketing.mobile.utils + +import java.util.concurrent.TimeUnit + +object AEPUIImageConstants { + const val DEFAULT_BITMAP_QUALITY = 100 + const val DEFAULT_DOWNLOAD_TIMEOUT_SECS = 10 + const val AEP_UI_UTIL_LOG_TAG = "AEPUIUtils" + const val CACHE_BASE_DIR = "uiCacheDir" + const val PUSH_IMAGE_CACHE = "uiImageCache" + val IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = TimeUnit.DAYS.toMillis(3) // 3 days +} diff --git a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt b/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageUtils.kt similarity index 86% rename from code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt rename to code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageUtils.kt index db63b4bc..c022aa34 100644 --- a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageUtils.kt +++ b/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageUtils.kt @@ -25,14 +25,12 @@ import com.adobe.marketing.mobile.services.caching.CacheEntry import com.adobe.marketing.mobile.services.caching.CacheExpiry import com.adobe.marketing.mobile.services.caching.CacheService import com.adobe.marketing.mobile.util.UrlUtils -import com.adobe.marketing.mobile.utils.UiImageConstants.CACHE_BASE_DIR -import com.adobe.marketing.mobile.utils.UiImageConstants.CAROUSEL_MAX_BITMAP_HEIGHT -import com.adobe.marketing.mobile.utils.UiImageConstants.CAROUSEL_MAX_BITMAP_WIDTH -import com.adobe.marketing.mobile.utils.UiImageConstants.DEFAULT_BITMAP_QUALITY -import com.adobe.marketing.mobile.utils.UiImageConstants.DEFAULT_DOWNLOAD_TIMEOUT_SECS -import com.adobe.marketing.mobile.utils.UiImageConstants.PUSH_IMAGE_CACHE -import com.adobe.marketing.mobile.utils.UiImageConstants.PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS -import com.adobe.marketing.mobile.utils.UiImageConstants.PUSH_TEMPLATE_LOG_TAG +import com.adobe.marketing.mobile.utils.AEPUIImageConstants.AEP_UI_UTIL_LOG_TAG +import com.adobe.marketing.mobile.utils.AEPUIImageConstants.CACHE_BASE_DIR +import com.adobe.marketing.mobile.utils.AEPUIImageConstants.DEFAULT_BITMAP_QUALITY +import com.adobe.marketing.mobile.utils.AEPUIImageConstants.DEFAULT_DOWNLOAD_TIMEOUT_SECS +import com.adobe.marketing.mobile.utils.AEPUIImageConstants.IMAGE_CACHE_EXPIRY_IN_MILLISECONDS +import com.adobe.marketing.mobile.utils.AEPUIImageConstants.PUSH_IMAGE_CACHE import java.io.ByteArrayInputStream import java.io.ByteArrayOutputStream import java.io.File @@ -48,8 +46,8 @@ import java.util.concurrent.atomic.AtomicInteger * Utility functions to assist in downloading and caching images for push template notifications. */ -object UiImageUtils { - private const val SELF_TAG = "PushTemplateImageUtil" +object AEPUIImageUtils { + private const val SELF_TAG = "AEPUIImageUtils" /** * Downloads and caches images provided in the [urlList]. Prior to downloading, the image url @@ -65,10 +63,10 @@ object UiImageUtils { */ fun cacheImages( urlList: List, + bitmapWidth: Float, + bitmapHeight: Float, downloadTimeoutInSeconds: Int = DEFAULT_DOWNLOAD_TIMEOUT_SECS, bitmapQuality: Int = DEFAULT_BITMAP_QUALITY, - bitmapWidth: Float = CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - bitmapHeight: Float = CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), scaleToFit: Matrix.ScaleToFit = Matrix.ScaleToFit.CENTER ): Int { val assetCacheLocation = getAssetCacheLocation() @@ -89,7 +87,7 @@ object UiImageUtils { val cacheResult = cacheService[assetCacheLocation, url] if (cacheResult != null) { Log.trace( - PUSH_TEMPLATE_LOG_TAG, + AEP_UI_UTIL_LOG_TAG, SELF_TAG, "Found cached image for $url" ) @@ -104,10 +102,10 @@ object UiImageUtils { // scale down the bitmap to 300dp x 200dp as we don't want to use a full // size image due to memory constraints image?.let { - val pushImage = scaleBitmap(it, bitmapWidth, bitmapHeight, scaleToFit) + val scaledImage = scaleBitmap(it, bitmapWidth, bitmapHeight, scaleToFit) // write bitmap to cache try { - bitmapToInputStream(pushImage, bitmapQuality).use { bitmapInputStream -> + bitmapToInputStream(scaledImage, bitmapQuality).use { bitmapInputStream -> cacheBitmapInputStream( cacheService, bitmapInputStream, @@ -117,7 +115,7 @@ object UiImageUtils { downloadedImageCount.incrementAndGet() } catch (exception: IOException) { Log.warning( - PUSH_TEMPLATE_LOG_TAG, + AEP_UI_UTIL_LOG_TAG, SELF_TAG, "Exception occurred creating an input stream from a bitmap for {$url}: ${exception.localizedMessage}." ) @@ -131,13 +129,13 @@ object UiImageUtils { try { if (latch.await(downloadTimeoutInSeconds.toLong(), TimeUnit.SECONDS)) { Log.trace( - PUSH_TEMPLATE_LOG_TAG, + AEP_UI_UTIL_LOG_TAG, SELF_TAG, "All image downloads have completed." ) } else { Log.warning( - PUSH_TEMPLATE_LOG_TAG, + AEP_UI_UTIL_LOG_TAG, SELF_TAG, "Timed out waiting for image downloads to complete." ) @@ -145,7 +143,7 @@ object UiImageUtils { } } catch (e: InterruptedException) { Log.warning( - PUSH_TEMPLATE_LOG_TAG, + AEP_UI_UTIL_LOG_TAG, SELF_TAG, "Interrupted while waiting for image downloads to complete: ${e.localizedMessage}" ) @@ -197,17 +195,17 @@ object UiImageUtils { } val cacheResult = ServiceProvider.getInstance().cacheService[assetCacheLocation, url] if (cacheResult == null) { - Log.warning(PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Image not found in cache for $url") + Log.warning(AEP_UI_UTIL_LOG_TAG, SELF_TAG, "Image not found in cache for $url") return null } - Log.trace(PUSH_TEMPLATE_LOG_TAG, SELF_TAG, "Found cached image for $url") + Log.trace(AEP_UI_UTIL_LOG_TAG, SELF_TAG, "Found cached image for $url") return BitmapFactory.decodeStream(cacheResult.data) } private fun handleDownloadResponse(url: String?, connection: HttpConnecting?): Bitmap? { if (connection == null) { Log.warning( - PUSH_TEMPLATE_LOG_TAG, + AEP_UI_UTIL_LOG_TAG, SELF_TAG, "Failed to download push notification image from url ($url), received a null connection." ) @@ -215,7 +213,7 @@ object UiImageUtils { } if ((connection.responseCode != HttpURLConnection.HTTP_OK)) { Log.debug( - PUSH_TEMPLATE_LOG_TAG, + AEP_UI_UTIL_LOG_TAG, SELF_TAG, "Failed to download push notification image from url ($url). Response code was: ${connection.responseCode}." ) @@ -224,7 +222,7 @@ object UiImageUtils { val bitmap = BitmapFactory.decodeStream(connection.inputStream) bitmap?.let { Log.trace( - PUSH_TEMPLATE_LOG_TAG, + AEP_UI_UTIL_LOG_TAG, SELF_TAG, "Downloaded push notification image from url ($url)" ) @@ -259,7 +257,7 @@ object UiImageUtils { imageUrl: String ) { Log.trace( - PUSH_TEMPLATE_LOG_TAG, + AEP_UI_UTIL_LOG_TAG, SELF_TAG, "Caching image downloaded from $imageUrl." ) @@ -267,7 +265,7 @@ object UiImageUtils { // cache push notification images for 3 days val cacheEntry = CacheEntry( bitmapInputStream, - CacheExpiry.after(PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS), + CacheExpiry.after(IMAGE_CACHE_EXPIRY_IN_MILLISECONDS), null ) cacheService[it, imageUrl] = cacheEntry @@ -323,9 +321,9 @@ object UiImageUtils { ( applicationCacheDir .toString() + File.separator + - CACHE_BASE_DIR + CACHE_BASE_DIR ) + File.separator + - PUSH_IMAGE_CACHE + PUSH_IMAGE_CACHE ) } } diff --git a/code/gradle.properties b/code/gradle.properties index 869da451..27d6045d 100644 --- a/code/gradle.properties +++ b/code/gradle.properties @@ -22,6 +22,12 @@ notificationbuilderVersion=3.0.1 notificationbuilderMavenRepoName=AdobeMobileNotificationBuilderSdk notificationbuilderMavenRepoDescription=Android Notification Builder library for Adobe Mobile Marketing +#AEP UI Utils +aepUIUtilsModuleName = aep_ui_utils +aepUIUtilsVersion=1.0.0 +aepUIUtilsMavenRepoName = AdobeMobileAEPUIUtilsSdk +aepUIUtilsMavenRepoDescription = Android AEP UI Utils library for Adobe Mobile Marketing + mavenCoreVersion=3.0.0 diff --git a/code/notificationbuilder/build.gradle.kts b/code/notificationbuilder/build.gradle.kts index af67489c..96ab5cbc 100644 --- a/code/notificationbuilder/build.gradle.kts +++ b/code/notificationbuilder/build.gradle.kts @@ -38,7 +38,7 @@ aepLibrary { dependencies { implementation("com.adobe.marketing.mobile:core:$mavenCoreVersion") - implementation(project(":ui-utils")) + implementation(project(":aep_ui_utils")) testImplementation("org.robolectric:robolectric:4.7") testImplementation("io.mockk:mockk:1.13.11") } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt index 4c1966a4..8e7c87a4 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/PushTemplateConstants.kt @@ -52,6 +52,8 @@ object PushTemplateConstants { internal const val SILENT_CHANNEL_NAME = "Silent Notifications" internal const val DEFAULT_CHANNEL_ID = "AEPSDKPushChannel" internal const val SILENT_NOTIFICATION_CHANNEL_ID = "AEPSDKSilentPushChannel" + internal const val CAROUSEL_MAX_BITMAP_WIDTH = 300 + internal const val CAROUSEL_MAX_BITMAP_HEIGHT = 200 internal const val AUTO_CAROUSEL_MODE = "auto" internal const val DEFAULT_MANUAL_CAROUSEL_MODE = "default" internal const val FILMSTRIP_CAROUSEL_MODE = "filmstrip" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt index 9d67f20e..9c409f2e 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt @@ -27,7 +27,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a auto carousel push template notification. @@ -48,8 +48,10 @@ internal object AutoCarouselNotificationBuilder { val expandedLayout = RemoteViews(packageName, R.layout.push_template_auto_carousel) // load images into the carousel - val downloadedImageCount = UiImageUtils.cacheImages( - pushTemplate.carouselItems.map { it.imageUri } + val downloadedImageCount = AEPUIImageUtils.cacheImages( + urlList = pushTemplate.carouselItems.map { it.imageUri }, + bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), ) // fallback to a basic push template notification builder if less than 3 images were able to be downloaded @@ -115,7 +117,7 @@ internal object AutoCarouselNotificationBuilder { val downloadedImageUris = mutableListOf() for (item: CarouselPushTemplate.CarouselItem in items) { val imageUri: String = item.imageUri - val pushImage: Bitmap? = UiImageUtils.getCachedImage(imageUri) + val pushImage: Bitmap? = AEPUIImageUtils.getCachedImage(imageUri) if (pushImage == null) { Log.trace( LOG_TAG, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt index 36a46093..7ff95240 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt @@ -31,7 +31,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualCarouselPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a manual or filmstrip carousel push template notification. @@ -49,8 +49,10 @@ internal object ManualCarouselNotificationBuilder { Log.trace(LOG_TAG, SELF_TAG, "Building a manual carousel template push notification.") // download carousel images - val downloadedImagesCount = UiImageUtils.cacheImages( - pushTemplate.carouselItems.map { it.imageUri } + val downloadedImagesCount = AEPUIImageUtils.cacheImages( + urlList = pushTemplate.carouselItems.map { it.imageUri }, + bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), ) // fallback to a basic push template notification builder if less than 3 images were able @@ -138,7 +140,7 @@ internal object ManualCarouselNotificationBuilder { for (item: CarouselPushTemplate.CarouselItem in items) { val imageUri: String = item.imageUri val pushImage: Bitmap? = - UiImageUtils.getCachedImage(imageUri) + AEPUIImageUtils.getCachedImage(imageUri) if (pushImage == null) { Log.warning( LOG_TAG, @@ -281,7 +283,7 @@ internal object ManualCarouselNotificationBuilder { for (item: CarouselPushTemplate.CarouselItem in items) { val imageUri = item.imageUri val pushImage: Bitmap? = - UiImageUtils.getCachedImage(imageUri) + AEPUIImageUtils.getCachedImage(imageUri) if (pushImage == null) { Log.warning( LOG_TAG, @@ -348,7 +350,7 @@ internal object ManualCarouselNotificationBuilder { ) // set the downloaded bitmaps in the filmstrip image views - val assetCacheLocation = UiImageUtils.getAssetCacheLocation() + val assetCacheLocation = AEPUIImageUtils.getAssetCacheLocation() if (assetCacheLocation.isNullOrEmpty()) { Log.warning( LOG_TAG, @@ -358,21 +360,21 @@ internal object ManualCarouselNotificationBuilder { return } - val newLeftImage = UiImageUtils.getCachedImage( + val newLeftImage = AEPUIImageUtils.getCachedImage( validCarouselItems[newIndices.first].imageUri ) expandedLayout.setImageViewBitmap( R.id.manual_carousel_filmstrip_left, newLeftImage ) - val newCenterImage = UiImageUtils.getCachedImage( + val newCenterImage = AEPUIImageUtils.getCachedImage( validCarouselItems[newIndices.second].imageUri ) expandedLayout.setImageViewBitmap( R.id.manual_carousel_filmstrip_center, newCenterImage ) - val newRightImage = UiImageUtils.getCachedImage( + val newRightImage = AEPUIImageUtils.getCachedImage( validCarouselItems[newIndices.third].imageUri ) expandedLayout.setImageViewBitmap( diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt index 19ca8905..d51a54bd 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt @@ -27,7 +27,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.create import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setElementColor import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductCatalogPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils /** * Object responsible for constructing a [NotificationCompat.Builder] object containing a product catalog template notification. @@ -51,7 +51,11 @@ internal object ProductCatalogNotificationBuilder { // fast fail if we can't download a catalog item image val catalogImageUris = pushTemplate.catalogItems.map { it.img } - downloadedImageCount = UiImageUtils.cacheImages(catalogImageUris) + downloadedImageCount = AEPUIImageUtils.cacheImages( + urlList = catalogImageUris, + bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + ) if (downloadedImageCount != catalogImageUris.size) { Log.error( LOG_TAG, @@ -146,7 +150,7 @@ internal object ProductCatalogNotificationBuilder { ) val pushImage = - UiImageUtils.getCachedImage(pushTemplate.catalogItems[pushTemplate.currentIndex].img) + AEPUIImageUtils.getCachedImage(pushTemplate.catalogItems[pushTemplate.currentIndex].img) expandedLayout.setImageViewBitmap(R.id.product_image, pushImage) expandedLayout.setOnClickPendingIntent( R.id.product_image, @@ -190,7 +194,7 @@ internal object ProductCatalogNotificationBuilder { R.id.product_thumbnail_3 ) for (index in catalogItems.indices) { - val thumbImage = UiImageUtils.getCachedImage(catalogItems[index].img) + val thumbImage = AEPUIImageUtils.getCachedImage(catalogItems[index].img) if (thumbImage == null) { Log.warning( LOG_TAG, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt index a6707d64..57e8b0be 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt @@ -30,7 +30,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils internal object ProductRatingNotificationBuilder { private const val SELF_TAG = "ProductRatingNotificationBuilder" @@ -71,8 +71,11 @@ internal object ProductRatingNotificationBuilder { // set the image on the notification val imageUri = pushTemplate.imageUrl - val downloadedImageCount = UiImageUtils.cacheImages(listOf(imageUri)) - + val downloadedImageCount = AEPUIImageUtils.cacheImages( + urlList = listOf(imageUri), + bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + ) if (downloadedImageCount == 0) { Log.trace( LOG_TAG, @@ -83,7 +86,7 @@ internal object ProductRatingNotificationBuilder { } else { expandedLayout.setImageViewBitmap( R.id.expanded_template_image, - UiImageUtils.getCachedImage(imageUri) + AEPUIImageUtils.getCachedImage(imageUri) ) } diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt index 310b6799..731f4da8 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt @@ -18,12 +18,13 @@ import android.view.View import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBezelPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils internal object ZeroBezelNotificationBuilder { private const val SELF_TAG = "ZeroBezelNotificationBuilder" @@ -40,14 +41,17 @@ internal object ZeroBezelNotificationBuilder { val expandedLayout = RemoteViews(packageName, R.layout.push_template_zero_bezel_expanded) // download and cache the image used in the notification - val downloadedImageCount = - UiImageUtils.cacheImages(listOf(pushTemplate.imageUrl)) + val downloadedImageCount = AEPUIImageUtils.cacheImages( + urlList = listOf(pushTemplate.imageUrl), + bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + ) // Check if the image was downloaded if (downloadedImageCount > 0) { // set the image on the notification if it was downloaded val pushImage = - UiImageUtils.getCachedImage(pushTemplate.imageUrl) + AEPUIImageUtils.getCachedImage(pushTemplate.imageUrl) expandedLayout.setImageViewBitmap(R.id.expanded_template_image, pushImage) // only set image on the collapsed view if the style is "img" diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt index 643e1739..e1fd74a1 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt @@ -25,7 +25,7 @@ import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.services.Log -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils import java.util.Random private const val SELF_TAG = "RemoteViewExtensions" @@ -156,8 +156,10 @@ internal fun NotificationCompat.Builder.setLargeIcon( ): NotificationCompat.Builder { // Quick bail out if there is no image url if (imageUrl.isNullOrEmpty()) return this - val downloadedIconCount: Int = UiImageUtils.cacheImages( - listOf(imageUrl) + val downloadedIconCount = AEPUIImageUtils.cacheImages( + urlList = listOf(imageUrl), + bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), ) // Bail out if the download fails @@ -165,7 +167,7 @@ internal fun NotificationCompat.Builder.setLargeIcon( return this } - val bitmap = UiImageUtils.getCachedImage(imageUrl) + val bitmap = AEPUIImageUtils.getCachedImage(imageUrl) setLargeIcon(bitmap) val bigPictureStyle = NotificationCompat.BigPictureStyle() bigPictureStyle.bigPicture(bitmap) diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt index efafae0a..8d718a73 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt @@ -24,7 +24,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtil import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider import com.adobe.marketing.mobile.util.UrlUtils -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils private const val SELF_TAG = "RemoteViewExtensions" @@ -222,7 +222,11 @@ internal fun RemoteViews.setRemoteImage( if (!UrlUtils.isValidUrl(imageUrl)) { return false } - val downloadedIconCount = UiImageUtils.cacheImages(listOf(imageUrl)) + val downloadedIconCount = AEPUIImageUtils.cacheImages( + urlList = listOf(imageUrl), + bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + ) if (downloadedIconCount == 0) { Log.warning( LOG_TAG, @@ -234,7 +238,7 @@ internal fun RemoteViews.setRemoteImage( } setImageViewBitmap( containerViewId, - UiImageUtils.getCachedImage(imageUrl) + AEPUIImageUtils.getCachedImage(imageUrl) ) return true } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt index 8a4af427..b3106040 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt @@ -37,7 +37,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockTimerTemplateDataProvider import com.adobe.marketing.mobile.services.AppContextService import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils import io.mockk.every import io.mockk.mockk import io.mockk.mockkClass @@ -76,7 +76,7 @@ class NotificationBuilderTests { trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass mockkObject(PendingIntentUtils) - mockkObject(UiImageUtils) + mockkObject(AEPUIImageUtils) } @After @@ -250,7 +250,7 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls ProductRatingNotificationBuilder construct`() { - every { UiImageUtils.cacheImages(any()) } answers { 1 } + every { AEPUIImageUtils.cacheImages(any(), any(), any()) } answers { 1 } val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_RATING.value mapData[PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON] = "https://i.imgur.com/unselected.png" @@ -262,8 +262,8 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls ProductCatalogNotificationBuilder construct`() { - every { UiImageUtils.cacheImages(any()) } answers { 3 } - every { UiImageUtils.getCachedImage(any()) } answers { mockk() } + every { AEPUIImageUtils.cacheImages(any(), any(), any()) } answers { 3 } + every { AEPUIImageUtils.getCachedImage(any()) } answers { mockk() } val mapData = MockProductCatalogTemplateDataProvider.getMockedMapWithProductCatalogData() mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_CATALOG.value NotificationBuilder.constructNotificationBuilder(mapData, trackerActivityClass, broadcastReceiverClass) @@ -272,8 +272,8 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls MultiIconNotificationBuilder construct`() { - every { UiImageUtils.cacheImages(any()) } answers { 3 } - every { UiImageUtils.getCachedImage(any()) } answers { mockk() } + every { AEPUIImageUtils.cacheImages(any(), any(), any()) } answers { 3 } + every { AEPUIImageUtils.getCachedImage(any()) } answers { mockk() } val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.MULTI_ICON.value mapData[PushTemplateConstants.PushPayloadKeys.MULTI_ICON_ITEMS] = "[{\"img\":\"https://sneakerland.com/products/assets/shoe1.png\",\"uri\":\"myapp://chooseShoeType/shoe1\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe2.png\",\"uri\":\"myapp://chooseShoeType/shoe2\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe3.png\",\"uri\":\"myapp://chooseShoeType/shoe3\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe4.png\",\"uri\":\"myapp://chooseShoeType/shoe4\",\"type\":\"DEEPLINK\"},{\"img\":\"https://sneakerland.com/products/assets/shoe5.png\",\"uri\":\"myapp://chooseShoeType/shoe5\",\"type\":\"DEEPLINK\"}]" diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt index 32768bd4..e7846346 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt @@ -20,9 +20,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtil import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedAutoCarousalTemplate -import com.adobe.marketing.mobile.utils.UiImageUtils -import com.adobe.marketing.mobile.utils.UiImageUtils.cacheImages -import com.adobe.marketing.mobile.utils.UiImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.AEPUIImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -61,7 +61,7 @@ class AutoCarouselNotificationBuilderTest { autoCarouselPushTemplate = provideMockedAutoCarousalTemplate(false) mockkObject(BasicNotificationBuilder) mockkObject(PendingIntentUtils) - mockkObject(UiImageUtils) + mockkObject(AEPUIImageUtils) mockkConstructor(RemoteViews::class) } @@ -83,7 +83,7 @@ class AutoCarouselNotificationBuilderTest { @Test fun `construct returns BasicNotificationBuilder if less than 3 images were downloaded`() { - every { cacheImages(any()) } answers { 2 } + every { cacheImages(any(), any(), any()) } answers { 2 } AutoCarouselNotificationBuilder.construct( context, autoCarouselPushTemplate, @@ -102,7 +102,7 @@ class AutoCarouselNotificationBuilderTest { @Test fun `construct does not fallback to BasicNotificationBuilder if greater than or equal to 3 images were downloaded`() { - every { cacheImages(any()) } answers { 3 } + every { cacheImages(any(), any(), any()) } answers { 3 } AutoCarouselNotificationBuilder.construct( context, autoCarouselPushTemplate, diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt index ef476880..96366abb 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/BasicNotificationBuilderTest.kt @@ -32,7 +32,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockAEP import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithAllKeys import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedBasicPushTemplateWithRequiredData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils import io.mockk.every import io.mockk.mockkConstructor import io.mockk.mockkObject @@ -72,7 +72,7 @@ class BasicNotificationBuilderTest { mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setRemoteViewImage) - mockkObject(UiImageUtils) + mockkObject(AEPUIImageUtils) } @After diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt index 68f5f637..4bb06e22 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt @@ -30,10 +30,10 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualC import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedManualCarousalTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData -import com.adobe.marketing.mobile.utils.UiImageUtils -import com.adobe.marketing.mobile.utils.UiImageUtils.cacheImages -import com.adobe.marketing.mobile.utils.UiImageUtils.getAssetCacheLocation -import com.adobe.marketing.mobile.utils.UiImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.AEPUIImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getAssetCacheLocation +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -70,7 +70,7 @@ class ManualCarouselNotificationBuilderTest { pushTemplate = provideMockedManualCarousalTemplate(false) trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(UiImageUtils) + mockkObject(AEPUIImageUtils) mockkObject(BasicNotificationBuilder) mockkObject(PendingIntentUtils) mockkConstructor(RemoteViews::class) @@ -95,7 +95,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `construct returns BasicNotificationBuilder if download image count is less than 3`() { - every { cacheImages(any()) } answers { 2 } + every { cacheImages(any(), any(), any()) } answers { 2 } ManualCarouselNotificationBuilder.construct( context, pushTemplate, @@ -114,7 +114,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `construct returns ManualCarouselNotificationBuilder if download image count is equal to 3`() { - every { cacheImages(any()) } answers { 3 } + every { cacheImages(any(), any(), any()) } answers { 3 } ManualCarouselNotificationBuilder.construct( context, pushTemplate, @@ -133,7 +133,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `construct returns ManualCarouselNotificationBuilder if download image count is greater than 3`() { - every { cacheImages(any()) } answers { 5 } + every { cacheImages(any(), any(), any()) } answers { 5 } ManualCarouselNotificationBuilder.construct( context, pushTemplate, @@ -153,7 +153,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `construct ManualCarouselNotificationBuilder shouldn't be called if downloadCarouselItems failed to download some of the images`() { var callCount = 0 - every { cacheImages(any()) } answers { 5 } + every { cacheImages(any(), any(), any()) } answers { 5 } every { getCachedImage(any()) } answers { if (callCount++ % 2 == 0) mockkClass(Bitmap::class) else null } verify(exactly = 0) { ManualCarouselNotificationBuilder.construct( @@ -224,7 +224,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `test to verify notification with action name MANUAL_CAROUSEL_LEFT_CLICKED is having correct center image index`() { - every { cacheImages(any()) } answers { 5 } + every { cacheImages(any(), any(), any()) } answers { 5 } every { getCachedImage(any()) } answers { mockkClass(Bitmap::class) } val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() val data = IntentData(mockBundle, PushTemplateConstants.IntentActions.MANUAL_CAROUSEL_LEFT_CLICKED) @@ -240,7 +240,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `test to verify notification with action name MANUAL_CAROUSEL_RIGHT_CLICKED is having correct center image index`() { - every { cacheImages(any()) } answers { 5 } + every { cacheImages(any(), any(), any()) } answers { 5 } every { getCachedImage(any()) } answers { mockkClass(Bitmap::class) } val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() val data = IntentData(mockBundle, PushTemplateConstants.IntentActions.MANUAL_CAROUSEL_RIGHT_CLICKED) @@ -256,7 +256,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `test to verify notification with action name FILMSTRIP_LEFT_CLICKED is having correct center image index`() { - every { cacheImages(any()) } answers { 5 } + every { cacheImages(any(), any(), any()) } answers { 5 } every { getCachedImage(any()) } answers { mockkClass(Bitmap::class) } val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT, PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) @@ -274,7 +274,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `test to verify notification with action name FILMSTRIP_RIGHT_CLICKED is having correct center image index`() { - every { cacheImages(any()) } answers { 5 } + every { cacheImages(any(), any(), any()) } answers { 5 } every { getCachedImage(any()) } answers { mockkClass(Bitmap::class) } val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT, PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt index 20b231cc..427e1086 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt @@ -25,9 +25,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.Product import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductCatalogTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.UiImageUtils -import com.adobe.marketing.mobile.utils.UiImageUtils.cacheImages -import com.adobe.marketing.mobile.utils.UiImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.AEPUIImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getCachedImage import io.mockk.every import io.mockk.mockkClass import io.mockk.mockkObject @@ -59,7 +59,7 @@ class ProductCatalogNotificationBuilderTest { context = RuntimeEnvironment.getApplication() trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(UiImageUtils) + mockkObject(AEPUIImageUtils) } @After @@ -101,7 +101,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any()) } answers { 4 } + every { cacheImages(any(), any(), any()) } answers { 4 } every { getCachedImage(any()) } answers { cachedItem } ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) } @@ -127,7 +127,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any()) } answers { 2 } + every { cacheImages(any(), any(), any()) } answers { 2 } every { getCachedImage(any()) } answers { cachedItem } ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) } @@ -140,7 +140,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any()) } answers { 3 } + every { cacheImages(any(), any(), any()) } answers { 3 } every { getCachedImage(any()) } answers { cachedItem } val notificationBuilder = ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) @@ -156,7 +156,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any()) } answers { 3 } + every { cacheImages(any(), any(), any()) } answers { 3 } every { getCachedImage(any()) } answers { cachedItem } val notificationBuilder = ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) @@ -170,7 +170,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any()) } answers { 3 } + every { cacheImages(any(), any(), any()) } answers { 3 } every { getCachedImage(any()) } answers { cachedItem } val notificationBuilder = ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, null) @@ -180,7 +180,7 @@ class ProductCatalogNotificationBuilderTest { @Test fun `construct should throw NotificationConstructionFailedException if catalog thumbnail is not found`() { val pushTemplate = provideMockedProductCatalogTemplate() - every { cacheImages(any()) } answers { 3 } + every { cacheImages(any(), any(), any()) } answers { 3 } assertFailsWith( exceptionClass = NotificationConstructionFailedException::class, @@ -199,7 +199,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any()) } answers { 3 } + every { cacheImages(any(), any(), any()) } answers { 3 } every { getCachedImage(any()) } answers { cachedItem } val notificationBuilder = ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt index 4dca324e..cfb1b2e6 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt @@ -27,9 +27,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductRatingTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.UiImageUtils -import com.adobe.marketing.mobile.utils.UiImageUtils.cacheImages -import com.adobe.marketing.mobile.utils.UiImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.AEPUIImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -64,7 +64,7 @@ class ProductRatingNotificationBuilderTest { mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setRemoteViewImage) mockkStatic(RemoteViews::setRemoteViewClickAction) - mockkObject(UiImageUtils) + mockkObject(AEPUIImageUtils) } @After @@ -87,7 +87,7 @@ class ProductRatingNotificationBuilderTest { @Test fun `construct should set visibility of expanded layout image view as GONE if no images are downloaded`() { - every { cacheImages(any()) } answers { 0 } + every { cacheImages(any(), any(), any()) } answers { 0 } every { any().setRemoteViewImage(any(), any()) } returns true every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs @@ -101,7 +101,7 @@ class ProductRatingNotificationBuilderTest { fun `construct should set image for expanded layout if image is downloaded successfully`() { val cachedItem = mockkClass(Bitmap::class) - every { cacheImages(any()) } answers { 1 } + every { cacheImages(any(), any(), any()) } answers { 1 } every { getCachedImage(any()) } answers { cachedItem } every { any().setRemoteViewImage(any(), any()) } returns true every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt index dbfe6908..cad1fe2a 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/TimerNotificationBuilderTests.kt @@ -34,7 +34,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MOCKED_TITLE import com.adobe.marketing.mobile.notificationbuilder.internal.templates.TimerPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedTimerTemplate -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -76,7 +76,7 @@ class TimerNotificationBuilderTests { pushTemplate = provideMockedTimerTemplate(false, true) trackerActivityClass = mockkClass(Activity::class, relaxed = true).javaClass broadcastReceiverClass = mockkClass(BroadcastReceiver::class, relaxed = true).javaClass - mockkObject(UiImageUtils) + mockkObject(AEPUIImageUtils) mockkObject(PendingIntentUtils) mockkConstructor(RemoteViews::class) mockkStatic(RemoteViews::setTimerTextColor) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt index d4e283ce..a0c5a5fe 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt @@ -24,9 +24,9 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBez import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData -import com.adobe.marketing.mobile.utils.UiImageUtils -import com.adobe.marketing.mobile.utils.UiImageUtils.cacheImages -import com.adobe.marketing.mobile.utils.UiImageUtils.getCachedImage +import com.adobe.marketing.mobile.utils.AEPUIImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.cacheImages +import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getCachedImage import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -60,7 +60,7 @@ class ZeroBezelNotificationBuilderTest { fun setup() { context = RuntimeEnvironment.getApplication() dataMap = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() - mockkObject(UiImageUtils) + mockkObject(AEPUIImageUtils) mockkConstructor(RemoteViews::class) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java @@ -76,7 +76,7 @@ class ZeroBezelNotificationBuilderTest { @Test fun `verify construct with image downloaded and collapsedStyle is img`() { val pushTemplate = ZeroBezelPushTemplate(MapData(dataMap)) - every { cacheImages(any()) } answers { 2 } + every { cacheImages(any(), any(), any()) } answers { 2 } every { anyConstructed().setImageViewBitmap(any(), mockBitmap) } just Runs val notification = ZeroBezelNotificationBuilder.construct( @@ -87,7 +87,7 @@ class ZeroBezelNotificationBuilderTest { assertEquals(pushTemplate.channelId, notification.channelId) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl)) } + verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } verify { getCachedImage(pushTemplate.imageUrl) } verify { anyConstructed().setImageViewBitmap(any(), mockBitmap) } } @@ -102,7 +102,7 @@ class ZeroBezelNotificationBuilderTest { ) val pushTemplate = ZeroBezelPushTemplate(MapData(dataMap)) - every { cacheImages(any()) } answers { 2 } + every { cacheImages(any(), any(), any()) } answers { 2 } every { anyConstructed().setImageViewBitmap(any(), mockBitmap) } just Runs every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs @@ -114,7 +114,7 @@ class ZeroBezelNotificationBuilderTest { assertEquals(pushTemplate.channelId, notification.channelId) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl)) } + verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } verify { getCachedImage(pushTemplate.imageUrl) } verify { anyConstructed().setImageViewBitmap(any(), mockBitmap) } verify { anyConstructed().setViewVisibility(any(), View.GONE) } @@ -124,7 +124,7 @@ class ZeroBezelNotificationBuilderTest { fun `verify construct with no image downloaded`() { val pushTemplate = ZeroBezelPushTemplate(MapData(dataMap)) - every { cacheImages(listOf(pushTemplate.imageUrl)) } returns 0 + every { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } returns 0 every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs val notification = ZeroBezelNotificationBuilder.construct( @@ -135,14 +135,14 @@ class ZeroBezelNotificationBuilderTest { assertEquals(pushTemplate.channelId, notification.channelId) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl)) } + verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } verify { anyConstructed().setViewVisibility(any(), View.GONE) } } @Test fun `verify construct with image downloaded and collapsedStyle is img for IntentData`() { val pushTemplate = ZeroBezelPushTemplate(IntentData(mockBundle, null)) - every { cacheImages(any()) } answers { 2 } + every { cacheImages(any(), any(), any()) } answers { 2 } every { anyConstructed().setImageViewBitmap(any(), mockBitmap) } just Runs val notification = ZeroBezelNotificationBuilder.construct( @@ -156,7 +156,7 @@ class ZeroBezelNotificationBuilderTest { notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl)) } + verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } verify { getCachedImage(pushTemplate.imageUrl) } verify { anyConstructed().setImageViewBitmap(any(), mockBitmap) } } @@ -169,7 +169,7 @@ class ZeroBezelNotificationBuilderTest { ) val pushTemplate = ZeroBezelPushTemplate(IntentData(mockBundle, null)) - every { cacheImages(any()) } answers { 2 } + every { cacheImages(any(), any(), any()) } answers { 2 } every { anyConstructed().setImageViewBitmap(any(), mockBitmap) } just Runs every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs @@ -184,7 +184,7 @@ class ZeroBezelNotificationBuilderTest { notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl)) } + verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } verify { getCachedImage(pushTemplate.imageUrl) } verify { anyConstructed().setImageViewBitmap(any(), mockBitmap) } verify { anyConstructed().setViewVisibility(any(), View.GONE) } @@ -193,7 +193,7 @@ class ZeroBezelNotificationBuilderTest { @Test fun `verify construct with no image downloaded for IntentData`() { val pushTemplate = ZeroBezelPushTemplate(IntentData(mockBundle, null)) - every { cacheImages(listOf(pushTemplate.imageUrl)) } returns 0 + every { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } returns 0 every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs val notification = ZeroBezelNotificationBuilder.construct( @@ -207,7 +207,7 @@ class ZeroBezelNotificationBuilderTest { notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl)) } + verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } verify { anyConstructed().setViewVisibility(any(), View.GONE) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt index 4a3e7c2b..547e909f 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt @@ -24,7 +24,7 @@ import com.adobe.marketing.mobile.MobileCore import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils import io.mockk.every import io.mockk.mockk import io.mockk.mockkObject @@ -59,7 +59,7 @@ class NotificationCompatBuilderExtensionsTest { mockContext = mockk(relaxed = true) mockkStatic(Context::getIconWithResourceName) mockkStatic(MobileCore::class) - mockkObject(UiImageUtils) + mockkObject(AEPUIImageUtils) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java } @@ -197,8 +197,8 @@ class NotificationCompatBuilderExtensionsTest { @Test fun `setLargeIcon with valid imageUrl`() { - every { UiImageUtils.cacheImages(listOf("valid_image_url")) } returns 1 - every { UiImageUtils.getCachedImage("valid_image_url") } returns mockBitmap + every { AEPUIImageUtils.cacheImages(listOf("valid_image_url"), any(), any()) } returns 1 + every { AEPUIImageUtils.getCachedImage("valid_image_url") } returns mockBitmap val spyBuilder = spyk(NotificationCompat.Builder(mockContext, "mockChannelId")) @@ -210,7 +210,7 @@ class NotificationCompatBuilderExtensionsTest { @Test fun `setLargeIcon with imageUrl that cannot be downloaded`() { - every { UiImageUtils.cacheImages(listOf("invalid_image_url")) } returns 0 + every { AEPUIImageUtils.cacheImages(listOf("invalid_image_url"), any(), any()) } returns 0 val spyBuilder = spyk(NotificationCompat.Builder(mockContext, "mockChannelId")) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt index 8398c6a5..b0929c5e 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt @@ -24,7 +24,7 @@ import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.services.Logging import com.adobe.marketing.mobile.services.ServiceProvider -import com.adobe.marketing.mobile.utils.UiImageUtils +import com.adobe.marketing.mobile.utils.AEPUIImageUtils import io.mockk.Runs import io.mockk.every import io.mockk.just @@ -59,7 +59,7 @@ class RemoteViewsExtensionsTest { @Before fun setup() { remoteViews = mockk(relaxed = true) - mockkObject(UiImageUtils) + mockkObject(AEPUIImageUtils) mockBitmap = mockk(relaxed = true) trackerActivityClass = DummyActivity::class.java } @@ -182,8 +182,8 @@ class RemoteViewsExtensionsTest { @Test fun `setRemoteViewImage applies image when valid URL provided`() { val imageUrl = "http://example.com/image.png" - every { UiImageUtils.cacheImages(listOf(imageUrl)) } returns 1 - every { UiImageUtils.getCachedImage(imageUrl) } returns mockBitmap + every { AEPUIImageUtils.cacheImages(listOf(imageUrl), any(), any()) } returns 1 + every { AEPUIImageUtils.getCachedImage(imageUrl) } returns mockBitmap val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -236,7 +236,7 @@ class RemoteViewsExtensionsTest { fun `setRemoteViewImage does not apply image when URL is invalid`() { val imageUrl = "invalid_url" every { remoteViews.setViewVisibility(any(), any()) } just Runs - every { UiImageUtils.cacheImages(listOf(imageUrl)) } returns 0 + every { AEPUIImageUtils.cacheImages(listOf(imageUrl), any(), any()) } returns 0 val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -250,7 +250,7 @@ class RemoteViewsExtensionsTest { fun `setRemoteViewImage does not apply image URL could not be downloaded`() { val imageUrl = "http://example.com/image.png" every { remoteViews.setViewVisibility(any(), any()) } just Runs - every { UiImageUtils.cacheImages(listOf(imageUrl)) } returns 0 + every { AEPUIImageUtils.cacheImages(listOf(imageUrl), any(), any()) } returns 0 val result = remoteViews.setRemoteViewImage(imageUrl, 1) diff --git a/code/settings.gradle.kts b/code/settings.gradle.kts index 2147f880..f277d600 100755 --- a/code/settings.gradle.kts +++ b/code/settings.gradle.kts @@ -33,5 +33,5 @@ rootProject.name = "aepsdk-ui-android" include ( ":notificationbuilder", ":testapp", - ":ui-utils" + ":aep_ui_utils" ) diff --git a/code/testapp/build.gradle.kts b/code/testapp/build.gradle.kts index 2f6d92ce..0a64d8a2 100644 --- a/code/testapp/build.gradle.kts +++ b/code/testapp/build.gradle.kts @@ -72,6 +72,7 @@ dependencies { implementation("com.google.code.gson:gson:2.10") implementation(project(":notificationbuilder")) + implementation(project(":aep_ui_utils")) implementation("com.adobe.marketing.mobile:core:3.0.0") implementation("com.adobe.marketing.mobile:campaignclassic:3.0.0") implementation("androidx.appcompat:appcompat:1.6.1") @@ -82,7 +83,6 @@ dependencies { implementation(platform("androidx.compose:compose-bom:2023.08.00")) implementation("androidx.compose.ui:ui-graphics") implementation("androidx.compose.material3:material3") - implementation(project(":ui-utils")) testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") diff --git a/code/ui-utils/build.gradle.kts b/code/ui-utils/build.gradle.kts deleted file mode 100644 index 9992c441..00000000 --- a/code/ui-utils/build.gradle.kts +++ /dev/null @@ -1,42 +0,0 @@ -import com.adobe.marketing.mobile.gradle.BuildConstants - -plugins { - id("com.android.library") - id("org.jetbrains.kotlin.android") -} - -val mavenCoreVersion: String by project - - -android { - namespace = "com.adobe.marketing.mobile.ui_utils" - - defaultConfig { - minSdk = BuildConstants.Versions.MIN_SDK_VERSION - compileSdk = BuildConstants.Versions.COMPILE_SDK_VERSION - - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - vectorDrawables.useSupportLibrary = true - } - - buildTypes { - getByName(BuildConstants.BuildTypes.RELEASE) { - isMinifyEnabled = false - proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") - } - } - compileOptions { - sourceCompatibility = BuildConstants.Versions.JAVA_SOURCE_COMPATIBILITY - targetCompatibility = BuildConstants.Versions.JAVA_TARGET_COMPATIBILITY - } - - kotlinOptions { - jvmTarget = BuildConstants.Versions.KOTLIN_JVM_TARGET - languageVersion = BuildConstants.Versions.KOTLIN_LANGUAGE_VERSION - apiVersion = BuildConstants.Versions.KOTLIN_API_VERSION - } -} - -dependencies { - implementation("com.adobe.marketing.mobile:core:$mavenCoreVersion") -} \ No newline at end of file diff --git a/code/ui-utils/src/androidTest/java/com/adobe/ui_utils/ExampleInstrumentedTest.kt b/code/ui-utils/src/androidTest/java/com/adobe/ui_utils/ExampleInstrumentedTest.kt deleted file mode 100644 index 0bd65d25..00000000 --- a/code/ui-utils/src/androidTest/java/com/adobe/ui_utils/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.adobe.ui_utils - -import androidx.test.platform.app.InstrumentationRegistry -import androidx.test.ext.junit.runners.AndroidJUnit4 - -import org.junit.Test -import org.junit.runner.RunWith - -import org.junit.Assert.* - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("com.adobe.ui_utils.test", appContext.packageName) - } -} \ No newline at end of file diff --git a/code/ui-utils/src/main/AndroidManifest.xml b/code/ui-utils/src/main/AndroidManifest.xml deleted file mode 100644 index a5918e68..00000000 --- a/code/ui-utils/src/main/AndroidManifest.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt b/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt deleted file mode 100644 index 018dc94d..00000000 --- a/code/ui-utils/src/main/java/com/adobe/marketing/mobile/utils/UiImageConstants.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.adobe.marketing.mobile.utils - -import java.util.concurrent.TimeUnit - -object UiImageConstants { - const val DEFAULT_BITMAP_QUALITY = 100 - const val DEFAULT_DOWNLOAD_TIMEOUT_SECS = 10 - const val CAROUSEL_MAX_BITMAP_WIDTH = 300 - const val CAROUSEL_MAX_BITMAP_HEIGHT = 200 - const val PUSH_TEMPLATE_LOG_TAG = "PushTemplates" - const val CACHE_BASE_DIR = "pushtemplates" - const val PUSH_IMAGE_CACHE = "pushimagecache" - val PUSH_NOTIFICATION_IMAGE_CACHE_EXPIRY_IN_MILLISECONDS: Long = - TimeUnit.DAYS.toMillis(3) // 3 days - -} \ No newline at end of file diff --git a/code/ui-utils/src/test/java/com/adobe/ui_utils/ExampleUnitTest.kt b/code/ui-utils/src/test/java/com/adobe/ui_utils/ExampleUnitTest.kt deleted file mode 100644 index 090960f2..00000000 --- a/code/ui-utils/src/test/java/com/adobe/ui_utils/ExampleUnitTest.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.adobe.ui_utils - -import org.junit.Test - -import org.junit.Assert.* - -/** - * Example local unit test, which will execute on the development machine (host). - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -class ExampleUnitTest { - @Test - fun addition_isCorrect() { - assertEquals(4, 2 + 2) - } -} \ No newline at end of file From 9d285efe02f18d6f4339387f986851eb48503466 Mon Sep 17 00:00:00 2001 From: PratthamArora Date: Tue, 3 Sep 2024 19:44:49 +0530 Subject: [PATCH 14/14] implement AEPUIImageConfig --- .../mobile/utils/AEPUIImageConfig.kt | 50 ++++++++++++++ .../marketing/mobile/utils/AEPUIImageUtils.kt | 26 ++++---- .../mobile/utils/AEPUIImageConfigTest.kt | 65 +++++++++++++++++++ .../AutoCarouselNotificationBuilder.kt | 14 ++-- .../ManualCarouselNotificationBuilder.kt | 16 +++-- .../ProductCatalogNotificationBuilder.kt | 15 +++-- .../ProductRatingNotificationBuilder.kt | 15 +++-- .../builders/ZeroBezelNotificationBuilder.kt | 15 +++-- .../NotificationCompatBuilderExtensions.kt | 14 ++-- .../extensions/RemoteViewsExtensions.kt | 15 +++-- .../NotificationBuilderTests.kt | 7 +- .../AutoCarouselNotificationBuilderTest.kt | 5 +- .../ManualCarouselNotificationBuilderTest.kt | 17 ++--- .../ProductCatalogNotificationBuilderTest.kt | 15 +++-- .../ProductRatingNotificationBuilderTest.kt | 5 +- .../ZeroBezelNotificationBuilderTest.kt | 25 +++---- ...NotificationCompatBuilderExtensionsTest.kt | 5 +- .../extensions/RemoteViewsExtensionsTest.kt | 7 +- 18 files changed, 250 insertions(+), 81 deletions(-) create mode 100644 code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageConfig.kt create mode 100644 code/aep_ui_utils/src/test/java/com/adobe/marketing/mobile/utils/AEPUIImageConfigTest.kt diff --git a/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageConfig.kt b/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageConfig.kt new file mode 100644 index 00000000..19876143 --- /dev/null +++ b/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageConfig.kt @@ -0,0 +1,50 @@ +/* + Copyright 2024 Adobe. All rights reserved. + This file is licensed to you under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. You may obtain a copy + of the License at http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under + the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + OF ANY KIND, either express or implied. See the License for the specific language + governing permissions and limitations under the License. +*/ + +package com.adobe.marketing.mobile.utils + +import android.graphics.Matrix +import com.adobe.marketing.mobile.utils.AEPUIImageConstants.DEFAULT_BITMAP_QUALITY +import com.adobe.marketing.mobile.utils.AEPUIImageConstants.DEFAULT_DOWNLOAD_TIMEOUT_SECS + +class AEPUIImageConfig private constructor(builder: Builder) { + val urlList: List + val downloadTimeoutInSeconds: Int + val bitmapQuality: Int + val bitmapWidth: Float + val bitmapHeight: Float + val scaleToFit: Matrix.ScaleToFit + + init { + this.urlList = builder.urlList + this.downloadTimeoutInSeconds = builder.downloadTimeoutInSeconds + this.bitmapQuality = builder.bitmapQuality + this.bitmapWidth = builder.bitmapWidth + this.bitmapHeight = builder.bitmapHeight + this.scaleToFit = builder.scaleToFit + } + + class Builder(val bitmapWidth: Float, val bitmapHeight: Float) { + var urlList: List = listOf() + var downloadTimeoutInSeconds: Int = DEFAULT_DOWNLOAD_TIMEOUT_SECS + var bitmapQuality: Int = DEFAULT_BITMAP_QUALITY + var scaleToFit: Matrix.ScaleToFit = Matrix.ScaleToFit.CENTER + + fun urlList(urlList: List) = apply { this.urlList = urlList } + fun downloadTimeoutInSeconds(downloadTimeoutInSeconds: Int) = + apply { this.downloadTimeoutInSeconds = downloadTimeoutInSeconds } + + fun bitmapQuality(bitmapQuality: Int) = apply { this.bitmapQuality = bitmapQuality } + fun scaleToFit(scaleToFit: Matrix.ScaleToFit) = apply { this.scaleToFit = scaleToFit } + + fun build() = AEPUIImageConfig(this) + } +} diff --git a/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageUtils.kt b/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageUtils.kt index c022aa34..de3d9d57 100644 --- a/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageUtils.kt +++ b/code/aep_ui_utils/src/main/java/com/adobe/marketing/mobile/utils/AEPUIImageUtils.kt @@ -27,8 +27,6 @@ import com.adobe.marketing.mobile.services.caching.CacheService import com.adobe.marketing.mobile.util.UrlUtils import com.adobe.marketing.mobile.utils.AEPUIImageConstants.AEP_UI_UTIL_LOG_TAG import com.adobe.marketing.mobile.utils.AEPUIImageConstants.CACHE_BASE_DIR -import com.adobe.marketing.mobile.utils.AEPUIImageConstants.DEFAULT_BITMAP_QUALITY -import com.adobe.marketing.mobile.utils.AEPUIImageConstants.DEFAULT_DOWNLOAD_TIMEOUT_SECS import com.adobe.marketing.mobile.utils.AEPUIImageConstants.IMAGE_CACHE_EXPIRY_IN_MILLISECONDS import com.adobe.marketing.mobile.utils.AEPUIImageConstants.PUSH_IMAGE_CACHE import java.io.ByteArrayInputStream @@ -62,14 +60,10 @@ object AEPUIImageUtils { * @return [Int] number of images that were found in cache or successfully downloaded */ fun cacheImages( - urlList: List, - bitmapWidth: Float, - bitmapHeight: Float, - downloadTimeoutInSeconds: Int = DEFAULT_DOWNLOAD_TIMEOUT_SECS, - bitmapQuality: Int = DEFAULT_BITMAP_QUALITY, - scaleToFit: Matrix.ScaleToFit = Matrix.ScaleToFit.CENTER + config: AEPUIImageConfig ): Int { val assetCacheLocation = getAssetCacheLocation() + val urlList = config.urlList if (urlList.isEmpty() || assetCacheLocation.isNullOrEmpty()) { return 0 } @@ -96,16 +90,24 @@ object AEPUIImageUtils { continue } - downloadImage(url, downloadTimeoutInSeconds) { connection -> + downloadImage(url, config.downloadTimeoutInSeconds) { connection -> if (!latchAborted.get()) { val image = handleDownloadResponse(url, connection) // scale down the bitmap to 300dp x 200dp as we don't want to use a full // size image due to memory constraints image?.let { - val scaledImage = scaleBitmap(it, bitmapWidth, bitmapHeight, scaleToFit) + val scaledImage = scaleBitmap( + it, + config.bitmapWidth, + config.bitmapHeight, + config.scaleToFit + ) // write bitmap to cache try { - bitmapToInputStream(scaledImage, bitmapQuality).use { bitmapInputStream -> + bitmapToInputStream( + scaledImage, + config.bitmapQuality + ).use { bitmapInputStream -> cacheBitmapInputStream( cacheService, bitmapInputStream, @@ -127,7 +129,7 @@ object AEPUIImageUtils { } } try { - if (latch.await(downloadTimeoutInSeconds.toLong(), TimeUnit.SECONDS)) { + if (latch.await(config.downloadTimeoutInSeconds.toLong(), TimeUnit.SECONDS)) { Log.trace( AEP_UI_UTIL_LOG_TAG, SELF_TAG, diff --git a/code/aep_ui_utils/src/test/java/com/adobe/marketing/mobile/utils/AEPUIImageConfigTest.kt b/code/aep_ui_utils/src/test/java/com/adobe/marketing/mobile/utils/AEPUIImageConfigTest.kt new file mode 100644 index 00000000..657633ae --- /dev/null +++ b/code/aep_ui_utils/src/test/java/com/adobe/marketing/mobile/utils/AEPUIImageConfigTest.kt @@ -0,0 +1,65 @@ +/* + Copyright 2024 Adobe. All rights reserved. + This file is licensed to you under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. You may obtain a copy + of the License at http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under + the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + OF ANY KIND, either express or implied. See the License for the specific language + governing permissions and limitations under the License. +*/ + +package com.adobe.marketing.mobile.utils + +import android.graphics.Matrix +import com.adobe.marketing.mobile.utils.AEPUIImageConstants.DEFAULT_BITMAP_QUALITY +import com.adobe.marketing.mobile.utils.AEPUIImageConstants.DEFAULT_DOWNLOAD_TIMEOUT_SECS +import org.junit.Assert.assertEquals +import org.junit.Assert.assertTrue +import org.junit.Test + +class AEPUIImageConfigTest { + @Test + fun `builder sets values correctly`() { + val urlList = listOf("https://example.com/image1.png", "https://example.com/image2.png") + val downloadTimeoutInSeconds = 10 + val bitmapQuality = 80 + val bitmapWidth = 300f + val bitmapHeight = 200f + val scaleToFit = Matrix.ScaleToFit.CENTER + + val config = AEPUIImageConfig.Builder(bitmapWidth, bitmapHeight) + .urlList(urlList) + .downloadTimeoutInSeconds(downloadTimeoutInSeconds) + .bitmapQuality(bitmapQuality) + .scaleToFit(scaleToFit) + .build() + + assertEquals(urlList, config.urlList) + assertEquals(downloadTimeoutInSeconds, config.downloadTimeoutInSeconds) + assertEquals(bitmapQuality, config.bitmapQuality) + assertEquals(bitmapWidth, config.bitmapWidth, 0.0f) + assertEquals(bitmapHeight, config.bitmapHeight, 0.0f) + assertEquals(scaleToFit, config.scaleToFit) + } + + @Test + fun `builder uses default values when not set`() { + val bitmapWidth = 300f + val bitmapHeight = 200f + + val config = AEPUIImageConfig.Builder(bitmapWidth, bitmapHeight).build() + + assertTrue(config.urlList.isEmpty()) + assertEquals(DEFAULT_DOWNLOAD_TIMEOUT_SECS, config.downloadTimeoutInSeconds) + assertEquals(DEFAULT_BITMAP_QUALITY, config.bitmapQuality) + assertEquals(Matrix.ScaleToFit.CENTER, config.scaleToFit) + } + + @Test + fun `builder handles null urlList correctly`() { + val urlList = listOf(null, "https://example.com/image2.png") + val config = AEPUIImageConfig.Builder(300f, 200f).urlList(urlList).build() + assertEquals(urlList, config.urlList) + } +} diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt index 9c409f2e..ab390fa4 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilder.kt @@ -20,6 +20,8 @@ import android.widget.RemoteViews import androidx.annotation.VisibleForTesting import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired @@ -27,6 +29,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils /** @@ -48,11 +51,14 @@ internal object AutoCarouselNotificationBuilder { val expandedLayout = RemoteViews(packageName, R.layout.push_template_auto_carousel) // load images into the carousel - val downloadedImageCount = AEPUIImageUtils.cacheImages( - urlList = pushTemplate.carouselItems.map { it.imageUri }, - bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + val config = AEPUIImageConfig.Builder( + CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + CAROUSEL_MAX_BITMAP_HEIGHT.toFloat() ) + .urlList(pushTemplate.carouselItems.map { it.imageUri }) + .build() + + val downloadedImageCount = AEPUIImageUtils.cacheImages(config) // fallback to a basic push template notification builder if less than 3 images were able to be downloaded if (downloadedImageCount < PushTemplateConstants.DefaultValues.CAROUSEL_MINIMUM_IMAGE_COUNT) { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt index 7ff95240..878b51bf 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilder.kt @@ -23,6 +23,8 @@ import androidx.annotation.VisibleForTesting import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.PushPayloadKeys import com.adobe.marketing.mobile.notificationbuilder.R @@ -31,6 +33,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.templates.CarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualCarouselPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils /** @@ -49,15 +52,18 @@ internal object ManualCarouselNotificationBuilder { Log.trace(LOG_TAG, SELF_TAG, "Building a manual carousel template push notification.") // download carousel images - val downloadedImagesCount = AEPUIImageUtils.cacheImages( - urlList = pushTemplate.carouselItems.map { it.imageUri }, - bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + val config = AEPUIImageConfig.Builder( + CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + CAROUSEL_MAX_BITMAP_HEIGHT.toFloat() ) + .urlList(pushTemplate.carouselItems.map { it.imageUri }) + .build() + + val downloadedImageCount = AEPUIImageUtils.cacheImages(config) // fallback to a basic push template notification builder if less than 3 images were able // to be downloaded - if (downloadedImagesCount < PushTemplateConstants.DefaultValues.CAROUSEL_MINIMUM_IMAGE_COUNT) { + if (downloadedImageCount < PushTemplateConstants.DefaultValues.CAROUSEL_MINIMUM_IMAGE_COUNT) { Log.warning(LOG_TAG, SELF_TAG, "Less than 3 images are available for the manual carousel push template, falling back to a basic push template.") return BasicNotificationBuilder.fallbackToBasicNotification( context, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt index d51a54bd..9093dc5a 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilder.kt @@ -20,6 +20,8 @@ import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils @@ -27,6 +29,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.create import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setElementColor import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductCatalogPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils /** @@ -51,11 +54,15 @@ internal object ProductCatalogNotificationBuilder { // fast fail if we can't download a catalog item image val catalogImageUris = pushTemplate.catalogItems.map { it.img } - downloadedImageCount = AEPUIImageUtils.cacheImages( - urlList = catalogImageUris, - bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + val config = AEPUIImageConfig.Builder( + CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + CAROUSEL_MAX_BITMAP_HEIGHT.toFloat() ) + .urlList(catalogImageUris) + .build() + + downloadedImageCount = AEPUIImageUtils.cacheImages(config) + if (downloadedImageCount != catalogImageUris.size) { Log.error( LOG_TAG, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt index 57e8b0be..03b4589c 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilder.kt @@ -22,6 +22,8 @@ import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired @@ -30,6 +32,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRem import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewImage import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils internal object ProductRatingNotificationBuilder { @@ -71,11 +74,15 @@ internal object ProductRatingNotificationBuilder { // set the image on the notification val imageUri = pushTemplate.imageUrl - val downloadedImageCount = AEPUIImageUtils.cacheImages( - urlList = listOf(imageUri), - bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + val config = AEPUIImageConfig.Builder( + CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + CAROUSEL_MAX_BITMAP_HEIGHT.toFloat() ) + .urlList(listOf(imageUri)) + .build() + + val downloadedImageCount = AEPUIImageUtils.cacheImages(config) + if (downloadedImageCount == 0) { Log.trace( LOG_TAG, diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt index 731f4da8..25bace37 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilder.kt @@ -18,12 +18,14 @@ import android.view.View import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.notificationbuilder.NotificationConstructionFailedException -import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.R import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.createNotificationChannelIfRequired import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBezelPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils internal object ZeroBezelNotificationBuilder { @@ -41,11 +43,14 @@ internal object ZeroBezelNotificationBuilder { val expandedLayout = RemoteViews(packageName, R.layout.push_template_zero_bezel_expanded) // download and cache the image used in the notification - val downloadedImageCount = AEPUIImageUtils.cacheImages( - urlList = listOf(pushTemplate.imageUrl), - bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + val config = AEPUIImageConfig.Builder( + CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + CAROUSEL_MAX_BITMAP_HEIGHT.toFloat() ) + .urlList(listOf(pushTemplate.imageUrl)) + .build() + + val downloadedImageCount = AEPUIImageUtils.cacheImages(config) // Check if the image was downloaded if (downloadedImageCount > 0) { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt index e1fd74a1..5db1a057 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensions.kt @@ -21,10 +21,13 @@ import android.os.Bundle import androidx.core.app.NotificationCompat import com.adobe.marketing.mobile.MobileCore import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate import com.adobe.marketing.mobile.services.Log +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils import java.util.Random @@ -156,11 +159,14 @@ internal fun NotificationCompat.Builder.setLargeIcon( ): NotificationCompat.Builder { // Quick bail out if there is no image url if (imageUrl.isNullOrEmpty()) return this - val downloadedIconCount = AEPUIImageUtils.cacheImages( - urlList = listOf(imageUrl), - bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + val config = AEPUIImageConfig.Builder( + CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + CAROUSEL_MAX_BITMAP_HEIGHT.toFloat() ) + .urlList(listOf(imageUrl)) + .build() + + val downloadedIconCount = AEPUIImageUtils.cacheImages(config) // Bail out if the download fails if (downloadedIconCount == 0) { diff --git a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt index 8d718a73..cc45086b 100644 --- a/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt +++ b/code/notificationbuilder/src/main/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensions.kt @@ -19,11 +19,14 @@ import android.os.Bundle import android.view.View import android.widget.RemoteViews import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT +import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants.LOG_TAG import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtils import com.adobe.marketing.mobile.services.Log import com.adobe.marketing.mobile.services.ServiceProvider import com.adobe.marketing.mobile.util.UrlUtils +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils private const val SELF_TAG = "RemoteViewExtensions" @@ -222,11 +225,15 @@ internal fun RemoteViews.setRemoteImage( if (!UrlUtils.isValidUrl(imageUrl)) { return false } - val downloadedIconCount = AEPUIImageUtils.cacheImages( - urlList = listOf(imageUrl), - bitmapWidth = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), - bitmapHeight = PushTemplateConstants.DefaultValues.CAROUSEL_MAX_BITMAP_HEIGHT.toFloat(), + val config = AEPUIImageConfig.Builder( + CAROUSEL_MAX_BITMAP_WIDTH.toFloat(), + CAROUSEL_MAX_BITMAP_HEIGHT.toFloat() ) + .urlList(listOf(imageUrl)) + .build() + + val downloadedIconCount = AEPUIImageUtils.cacheImages(config) + if (downloadedIconCount == 0) { Log.warning( LOG_TAG, diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt index b3106040..f558432b 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/NotificationBuilderTests.kt @@ -37,6 +37,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockTimerTemplateDataProvider import com.adobe.marketing.mobile.services.AppContextService import com.adobe.marketing.mobile.services.ServiceProvider +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils import io.mockk.every import io.mockk.mockk @@ -250,7 +251,7 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls ProductRatingNotificationBuilder construct`() { - every { AEPUIImageUtils.cacheImages(any(), any(), any()) } answers { 1 } + every { AEPUIImageUtils.cacheImages(any()) } answers { 1 } val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_RATING.value mapData[PushTemplateConstants.PushPayloadKeys.RATING_UNSELECTED_ICON] = "https://i.imgur.com/unselected.png" @@ -262,7 +263,7 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls ProductCatalogNotificationBuilder construct`() { - every { AEPUIImageUtils.cacheImages(any(), any(), any()) } answers { 3 } + every { AEPUIImageUtils.cacheImages(any()) } answers { 3 } every { AEPUIImageUtils.getCachedImage(any()) } answers { mockk() } val mapData = MockProductCatalogTemplateDataProvider.getMockedMapWithProductCatalogData() mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.PRODUCT_CATALOG.value @@ -272,7 +273,7 @@ class NotificationBuilderTests { @Test fun `verify private createNotificationBuilder calls MultiIconNotificationBuilder construct`() { - every { AEPUIImageUtils.cacheImages(any(), any(), any()) } answers { 3 } + every { AEPUIImageUtils.cacheImages(any()) } answers { 3 } every { AEPUIImageUtils.getCachedImage(any()) } answers { mockk() } val mapData = MockAEPPushTemplateDataProvider.getMockedAEPDataMapWithAllKeys() mapData[PushTemplateConstants.PushPayloadKeys.TEMPLATE_TYPE] = PushTemplateType.MULTI_ICON.value diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt index e7846346..663e6833 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/AutoCarouselNotificationBuilderTest.kt @@ -20,6 +20,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.PendingIntentUtil import com.adobe.marketing.mobile.notificationbuilder.internal.extensions.setRemoteViewClickAction import com.adobe.marketing.mobile.notificationbuilder.internal.templates.AutoCarouselPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedAutoCarousalTemplate +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils import com.adobe.marketing.mobile.utils.AEPUIImageUtils.cacheImages import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getCachedImage @@ -83,7 +84,7 @@ class AutoCarouselNotificationBuilderTest { @Test fun `construct returns BasicNotificationBuilder if less than 3 images were downloaded`() { - every { cacheImages(any(), any(), any()) } answers { 2 } + every { cacheImages(any()) } answers { 2 } AutoCarouselNotificationBuilder.construct( context, autoCarouselPushTemplate, @@ -102,7 +103,7 @@ class AutoCarouselNotificationBuilderTest { @Test fun `construct does not fallback to BasicNotificationBuilder if greater than or equal to 3 images were downloaded`() { - every { cacheImages(any(), any(), any()) } answers { 3 } + every { cacheImages(any()) } answers { 3 } AutoCarouselNotificationBuilder.construct( context, autoCarouselPushTemplate, diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt index 4bb06e22..84f71755 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ManualCarouselNotificationBuilderTest.kt @@ -30,6 +30,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ManualC import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockCarousalTemplateDataProvider import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedManualCarousalTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils import com.adobe.marketing.mobile.utils.AEPUIImageUtils.cacheImages import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getAssetCacheLocation @@ -95,7 +96,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `construct returns BasicNotificationBuilder if download image count is less than 3`() { - every { cacheImages(any(), any(), any()) } answers { 2 } + every { cacheImages(any()) } answers { 2 } ManualCarouselNotificationBuilder.construct( context, pushTemplate, @@ -114,7 +115,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `construct returns ManualCarouselNotificationBuilder if download image count is equal to 3`() { - every { cacheImages(any(), any(), any()) } answers { 3 } + every { cacheImages(any()) } answers { 3 } ManualCarouselNotificationBuilder.construct( context, pushTemplate, @@ -133,7 +134,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `construct returns ManualCarouselNotificationBuilder if download image count is greater than 3`() { - every { cacheImages(any(), any(), any()) } answers { 5 } + every { cacheImages(any()) } answers { 5 } ManualCarouselNotificationBuilder.construct( context, pushTemplate, @@ -153,7 +154,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `construct ManualCarouselNotificationBuilder shouldn't be called if downloadCarouselItems failed to download some of the images`() { var callCount = 0 - every { cacheImages(any(), any(), any()) } answers { 5 } + every { cacheImages(any()) } answers { 5 } every { getCachedImage(any()) } answers { if (callCount++ % 2 == 0) mockkClass(Bitmap::class) else null } verify(exactly = 0) { ManualCarouselNotificationBuilder.construct( @@ -224,7 +225,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `test to verify notification with action name MANUAL_CAROUSEL_LEFT_CLICKED is having correct center image index`() { - every { cacheImages(any(), any(), any()) } answers { 5 } + every { cacheImages(any()) } answers { 5 } every { getCachedImage(any()) } answers { mockkClass(Bitmap::class) } val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() val data = IntentData(mockBundle, PushTemplateConstants.IntentActions.MANUAL_CAROUSEL_LEFT_CLICKED) @@ -240,7 +241,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `test to verify notification with action name MANUAL_CAROUSEL_RIGHT_CLICKED is having correct center image index`() { - every { cacheImages(any(), any(), any()) } answers { 5 } + every { cacheImages(any()) } answers { 5 } every { getCachedImage(any()) } answers { mockkClass(Bitmap::class) } val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() val data = IntentData(mockBundle, PushTemplateConstants.IntentActions.MANUAL_CAROUSEL_RIGHT_CLICKED) @@ -256,7 +257,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `test to verify notification with action name FILMSTRIP_LEFT_CLICKED is having correct center image index`() { - every { cacheImages(any(), any(), any()) } answers { 5 } + every { cacheImages(any()) } answers { 5 } every { getCachedImage(any()) } answers { mockkClass(Bitmap::class) } val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT, PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) @@ -274,7 +275,7 @@ class ManualCarouselNotificationBuilderTest { @Test fun `test to verify notification with action name FILMSTRIP_RIGHT_CLICKED is having correct center image index`() { - every { cacheImages(any(), any(), any()) } answers { 5 } + every { cacheImages(any()) } answers { 5 } every { getCachedImage(any()) } answers { mockkClass(Bitmap::class) } val mockBundle = MockCarousalTemplateDataProvider.getMockedBundleWithManualCarouselData() mockBundle.putString(PushTemplateConstants.PushPayloadKeys.CAROUSEL_LAYOUT, PushTemplateConstants.DefaultValues.FILMSTRIP_CAROUSEL_MODE) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt index 427e1086..8e64bee2 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductCatalogNotificationBuilderTest.kt @@ -25,6 +25,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.Product import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductCatalogTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils import com.adobe.marketing.mobile.utils.AEPUIImageUtils.cacheImages import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getCachedImage @@ -101,7 +102,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any(), any(), any()) } answers { 4 } + every { cacheImages(any()) } answers { 4 } every { getCachedImage(any()) } answers { cachedItem } ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) } @@ -127,7 +128,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any(), any(), any()) } answers { 2 } + every { cacheImages(any()) } answers { 2 } every { getCachedImage(any()) } answers { cachedItem } ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) } @@ -140,7 +141,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any(), any(), any()) } answers { 3 } + every { cacheImages(any()) } answers { 3 } every { getCachedImage(any()) } answers { cachedItem } val notificationBuilder = ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) @@ -156,7 +157,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any(), any(), any()) } answers { 3 } + every { cacheImages(any()) } answers { 3 } every { getCachedImage(any()) } answers { cachedItem } val notificationBuilder = ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) @@ -170,7 +171,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any(), any(), any()) } answers { 3 } + every { cacheImages(any()) } answers { 3 } every { getCachedImage(any()) } answers { cachedItem } val notificationBuilder = ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, null) @@ -180,7 +181,7 @@ class ProductCatalogNotificationBuilderTest { @Test fun `construct should throw NotificationConstructionFailedException if catalog thumbnail is not found`() { val pushTemplate = provideMockedProductCatalogTemplate() - every { cacheImages(any(), any(), any()) } answers { 3 } + every { cacheImages(any()) } answers { 3 } assertFailsWith( exceptionClass = NotificationConstructionFailedException::class, @@ -199,7 +200,7 @@ class ProductCatalogNotificationBuilderTest { val cachedItem = mockkClass(Bitmap::class) // product catalog template requires 3 catalog items - every { cacheImages(any(), any(), any()) } answers { 3 } + every { cacheImages(any()) } answers { 3 } every { getCachedImage(any()) } answers { cachedItem } val notificationBuilder = ProductCatalogNotificationBuilder.construct(context, pushTemplate, trackerActivityClass, broadcastReceiverClass) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt index cfb1b2e6..b6714eb2 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ProductRatingNotificationBuilderTest.kt @@ -27,6 +27,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.MockPro import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ProductRatingPushTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.templates.provideMockedProductRatingTemplate import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils import com.adobe.marketing.mobile.utils.AEPUIImageUtils.cacheImages import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getCachedImage @@ -87,7 +88,7 @@ class ProductRatingNotificationBuilderTest { @Test fun `construct should set visibility of expanded layout image view as GONE if no images are downloaded`() { - every { cacheImages(any(), any(), any()) } answers { 0 } + every { cacheImages(any()) } answers { 0 } every { any().setRemoteViewImage(any(), any()) } returns true every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs @@ -101,7 +102,7 @@ class ProductRatingNotificationBuilderTest { fun `construct should set image for expanded layout if image is downloaded successfully`() { val cachedItem = mockkClass(Bitmap::class) - every { cacheImages(any(), any(), any()) } answers { 1 } + every { cacheImages(any()) } answers { 1 } every { getCachedImage(any()) } answers { cachedItem } every { any().setRemoteViewImage(any(), any()) } returns true every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt index a0c5a5fe..3c257ea4 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/builders/ZeroBezelNotificationBuilderTest.kt @@ -24,6 +24,7 @@ import com.adobe.marketing.mobile.notificationbuilder.internal.templates.ZeroBez import com.adobe.marketing.mobile.notificationbuilder.internal.templates.replaceValueInMap import com.adobe.marketing.mobile.notificationbuilder.internal.util.IntentData import com.adobe.marketing.mobile.notificationbuilder.internal.util.MapData +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils import com.adobe.marketing.mobile.utils.AEPUIImageUtils.cacheImages import com.adobe.marketing.mobile.utils.AEPUIImageUtils.getCachedImage @@ -76,7 +77,7 @@ class ZeroBezelNotificationBuilderTest { @Test fun `verify construct with image downloaded and collapsedStyle is img`() { val pushTemplate = ZeroBezelPushTemplate(MapData(dataMap)) - every { cacheImages(any(), any(), any()) } answers { 2 } + every { cacheImages(any()) } answers { 2 } every { anyConstructed().setImageViewBitmap(any(), mockBitmap) } just Runs val notification = ZeroBezelNotificationBuilder.construct( @@ -87,7 +88,7 @@ class ZeroBezelNotificationBuilderTest { assertEquals(pushTemplate.channelId, notification.channelId) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } + verify { cacheImages(any()) } verify { getCachedImage(pushTemplate.imageUrl) } verify { anyConstructed().setImageViewBitmap(any(), mockBitmap) } } @@ -102,7 +103,7 @@ class ZeroBezelNotificationBuilderTest { ) val pushTemplate = ZeroBezelPushTemplate(MapData(dataMap)) - every { cacheImages(any(), any(), any()) } answers { 2 } + every { cacheImages(any()) } answers { 2 } every { anyConstructed().setImageViewBitmap(any(), mockBitmap) } just Runs every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs @@ -114,7 +115,7 @@ class ZeroBezelNotificationBuilderTest { assertEquals(pushTemplate.channelId, notification.channelId) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } + verify { cacheImages(any()) } verify { getCachedImage(pushTemplate.imageUrl) } verify { anyConstructed().setImageViewBitmap(any(), mockBitmap) } verify { anyConstructed().setViewVisibility(any(), View.GONE) } @@ -124,7 +125,7 @@ class ZeroBezelNotificationBuilderTest { fun `verify construct with no image downloaded`() { val pushTemplate = ZeroBezelPushTemplate(MapData(dataMap)) - every { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } returns 0 + every { cacheImages(any()) } returns 0 every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs val notification = ZeroBezelNotificationBuilder.construct( @@ -135,14 +136,14 @@ class ZeroBezelNotificationBuilderTest { assertEquals(pushTemplate.channelId, notification.channelId) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } + verify { cacheImages(any()) } verify { anyConstructed().setViewVisibility(any(), View.GONE) } } @Test fun `verify construct with image downloaded and collapsedStyle is img for IntentData`() { val pushTemplate = ZeroBezelPushTemplate(IntentData(mockBundle, null)) - every { cacheImages(any(), any(), any()) } answers { 2 } + every { cacheImages(any()) } answers { 2 } every { anyConstructed().setImageViewBitmap(any(), mockBitmap) } just Runs val notification = ZeroBezelNotificationBuilder.construct( @@ -156,7 +157,7 @@ class ZeroBezelNotificationBuilderTest { notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } + verify { cacheImages(any()) } verify { getCachedImage(pushTemplate.imageUrl) } verify { anyConstructed().setImageViewBitmap(any(), mockBitmap) } } @@ -169,7 +170,7 @@ class ZeroBezelNotificationBuilderTest { ) val pushTemplate = ZeroBezelPushTemplate(IntentData(mockBundle, null)) - every { cacheImages(any(), any(), any()) } answers { 2 } + every { cacheImages(any()) } answers { 2 } every { anyConstructed().setImageViewBitmap(any(), mockBitmap) } just Runs every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs @@ -184,7 +185,7 @@ class ZeroBezelNotificationBuilderTest { notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } + verify { cacheImages(any()) } verify { getCachedImage(pushTemplate.imageUrl) } verify { anyConstructed().setImageViewBitmap(any(), mockBitmap) } verify { anyConstructed().setViewVisibility(any(), View.GONE) } @@ -193,7 +194,7 @@ class ZeroBezelNotificationBuilderTest { @Test fun `verify construct with no image downloaded for IntentData`() { val pushTemplate = ZeroBezelPushTemplate(IntentData(mockBundle, null)) - every { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } returns 0 + every { cacheImages(any()) } returns 0 every { anyConstructed().setViewVisibility(any(), View.GONE) } just Runs val notification = ZeroBezelNotificationBuilder.construct( @@ -207,7 +208,7 @@ class ZeroBezelNotificationBuilderTest { notification.channelId ) verifyNotificationDataFields(notification, pushTemplate) - verify { cacheImages(listOf(pushTemplate.imageUrl), any(), any()) } + verify { cacheImages(any()) } verify { anyConstructed().setViewVisibility(any(), View.GONE) } } diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt index 547e909f..e4975851 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/NotificationCompatBuilderExtensionsTest.kt @@ -24,6 +24,7 @@ import com.adobe.marketing.mobile.MobileCore import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.notificationbuilder.internal.templates.BasicPushTemplate +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils import io.mockk.every import io.mockk.mockk @@ -197,7 +198,7 @@ class NotificationCompatBuilderExtensionsTest { @Test fun `setLargeIcon with valid imageUrl`() { - every { AEPUIImageUtils.cacheImages(listOf("valid_image_url"), any(), any()) } returns 1 + every { AEPUIImageUtils.cacheImages(any()) } returns 1 every { AEPUIImageUtils.getCachedImage("valid_image_url") } returns mockBitmap val spyBuilder = spyk(NotificationCompat.Builder(mockContext, "mockChannelId")) @@ -210,7 +211,7 @@ class NotificationCompatBuilderExtensionsTest { @Test fun `setLargeIcon with imageUrl that cannot be downloaded`() { - every { AEPUIImageUtils.cacheImages(listOf("invalid_image_url"), any(), any()) } returns 0 + every { AEPUIImageUtils.cacheImages(any()) } returns 0 val spyBuilder = spyk(NotificationCompat.Builder(mockContext, "mockChannelId")) diff --git a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt index b0929c5e..ac8deee1 100644 --- a/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt +++ b/code/notificationbuilder/src/test/java/com/adobe/marketing/mobile/notificationbuilder/internal/extensions/RemoteViewsExtensionsTest.kt @@ -24,6 +24,7 @@ import com.adobe.marketing.mobile.notificationbuilder.PushTemplateConstants import com.adobe.marketing.mobile.notificationbuilder.internal.builders.DummyActivity import com.adobe.marketing.mobile.services.Logging import com.adobe.marketing.mobile.services.ServiceProvider +import com.adobe.marketing.mobile.utils.AEPUIImageConfig import com.adobe.marketing.mobile.utils.AEPUIImageUtils import io.mockk.Runs import io.mockk.every @@ -182,7 +183,7 @@ class RemoteViewsExtensionsTest { @Test fun `setRemoteViewImage applies image when valid URL provided`() { val imageUrl = "http://example.com/image.png" - every { AEPUIImageUtils.cacheImages(listOf(imageUrl), any(), any()) } returns 1 + every { AEPUIImageUtils.cacheImages(any()) } returns 1 every { AEPUIImageUtils.getCachedImage(imageUrl) } returns mockBitmap val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -236,7 +237,7 @@ class RemoteViewsExtensionsTest { fun `setRemoteViewImage does not apply image when URL is invalid`() { val imageUrl = "invalid_url" every { remoteViews.setViewVisibility(any(), any()) } just Runs - every { AEPUIImageUtils.cacheImages(listOf(imageUrl), any(), any()) } returns 0 + every { AEPUIImageUtils.cacheImages(any()) } returns 0 val result = remoteViews.setRemoteViewImage(imageUrl, 1) @@ -250,7 +251,7 @@ class RemoteViewsExtensionsTest { fun `setRemoteViewImage does not apply image URL could not be downloaded`() { val imageUrl = "http://example.com/image.png" every { remoteViews.setViewVisibility(any(), any()) } just Runs - every { AEPUIImageUtils.cacheImages(listOf(imageUrl), any(), any()) } returns 0 + every { AEPUIImageUtils.cacheImages(any()) } returns 0 val result = remoteViews.setRemoteViewImage(imageUrl, 1)