Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DRAFT: InApp Feature Parity #482

Merged
merged 312 commits into from
Jan 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
312 commits
Select commit Hold shift + click to select a range
db3fa53
feat(inapp) - add onQueueEvent and onQueueChargedEvent methods to InA…
piyush-kukadiya Oct 30, 2023
7690372
feat(inapp) - notify onQueueChargedEvent and onQueueEvent to InAppCon…
piyush-kukadiya Oct 30, 2023
24a7293
feat(inapp) - update evaluateClientSide logic to return first non-sup…
piyush-kukadiya Oct 30, 2023
4c1f247
feat(inapp) - remove EvaluationManager dependency from AppLaunchListe…
piyush-kukadiya Oct 31, 2023
441ae05
feat(inapp) - update evaluateOnAppLaunchedServerSide logic to return …
piyush-kukadiya Oct 31, 2023
306e0bb
feat(inapp) - glue handleAppLaunchServerSideInApps logic SDK-3384
piyush-kukadiya Oct 31, 2023
0a9e5c6
task(SDK-3390): move inApp parsing from EvaluationManager to deserial…
shivamsharma2710 Nov 1, 2023
7dc1096
Merge branch 'client_side_inapps' of https://github.com/CleverTap/cle…
shivamsharma2710 Nov 1, 2023
8780c41
resolve conflicts
shivamsharma2710 Nov 1, 2023
0d30c5e
fix(SDK-3390): fix limitMatcher unit tests
shivamsharma2710 Nov 1, 2023
75a9305
task(SDK-3390): remove redundant data class 'InApps' from 'CtResponse'
shivamsharma2710 Nov 3, 2023
c2a2c56
feat(inapp) - add NetworkHeadersListener and EndpointId SDK-3385
piyush-kukadiya Nov 3, 2023
8597518
feat(inapp) - add copyFrom and isNotNullAndEmpty JSONObject extension…
piyush-kukadiya Nov 3, 2023
3f0fd18
feat(inapp) - make listToJsonArray() public SDK-3384
piyush-kukadiya Nov 3, 2023
07f678d
feat(inapp) - refactor insertHeader() to return JSONObject instead of…
piyush-kukadiya Nov 3, 2023
436bf84
feat(inapp) - glue evaluated server side in-apps and suppressed in-ap…
piyush-kukadiya Nov 3, 2023
f351d56
Merge branch 'client_side_inapps' of https://github.com/CleverTap/cle…
shivamsharma2710 Nov 3, 2023
223d8bf
feat(inapp) - clear stale in-apps before touching in-app response key…
piyush-kukadiya Nov 3, 2023
7abae51
Merge branch 'client_side_inapps' of https://github.com/CleverTap/cle…
shivamsharma2710 Nov 4, 2023
1d7f870
task(SDK-3390): move hardCoded strings to Constants
shivamsharma2710 Nov 6, 2023
a69b9ff
task(SDK-3390): move CtResponse to inapp package
shivamsharma2710 Nov 6, 2023
f47a4d8
task(SDK-3390): rename CtResponse class to InAppResponseAdapter
shivamsharma2710 Nov 6, 2023
fbadac8
refactor(SDK-3390): refactor the InAppResponseAdapter as per the actu…
shivamsharma2710 Nov 6, 2023
71e29f0
feat(SDK-3390): implement toJsonObject() in LimitAdapter and TriggerA…
shivamsharma2710 Nov 6, 2023
2554e7e
refactor(SDK-3390): remove BatchListener implementation from Evaluati…
shivamsharma2710 Nov 6, 2023
8764f17
feat(inapp) - rename getListOfWhenLimits() to getListOfWhenLimitsAndO…
piyush-kukadiya Nov 6, 2023
f645c91
feat(inapp) - add getListOfWhenLimits() to InAppResponseAdapter SDK-3385
piyush-kukadiya Nov 6, 2023
b811271
feat(inapp) - add matchWhenLimitsBeforeDisplay() to EvaluationManager…
piyush-kukadiya Nov 6, 2023
37abcfd
feat(inapp) - check hasInAppFrequencyLimitsMaxedOut logic after remov…
piyush-kukadiya Nov 6, 2023
7f42e4a
task(SDK-3390): add generic method to serialize inApp jsonArray to th…
shivamsharma2710 Nov 7, 2023
57845e5
Merge branch 'client_side_inapps' of https://github.com/CleverTap/cle…
shivamsharma2710 Nov 7, 2023
2dbe313
Merge branch 'develop' of github.com:CleverTap/clevertap-android-sdk …
CTLalit Nov 7, 2023
920bf6a
Lp/inapp image preloading (#501)
CTLalit Nov 7, 2023
2170b64
Merge branch 'client_side_inapps' of https://github.com/CleverTap/cle…
shivamsharma2710 Nov 7, 2023
315a35f
feat(inapp) - change preference path on change user for InAppStore an…
piyush-kukadiya Nov 7, 2023
b9809ae
Merge remote-tracking branch 'origin/client_side_inapps' into client_…
piyush-kukadiya Nov 7, 2023
1fa0ca0
feat(inapp) - record impressions when in-app displayed to user SDK-3385
piyush-kukadiya Nov 7, 2023
a059b9a
Image prefetch
CTLalit Nov 7, 2023
573e7f5
Merge branch 'client_side_inapps' of github.com:CleverTap/clevertap-a…
CTLalit Nov 7, 2023
b83a1f9
feat(inapp) - Handle Greater than, less than, and between operators w…
piyush-kukadiya Nov 7, 2023
c71dda4
Merge remote-tracking branch 'origin/client_side_inapps' into client_…
piyush-kukadiya Nov 7, 2023
de5e13e
feat(inapp) - add encryption/decryption for in-apps, migrate inapp_no…
piyush-kukadiya Nov 8, 2023
71dc632
fix(inapp): add safe parsing on fetchType while processing onBatchSen…
shivamsharma2710 Nov 9, 2023
9bbc298
fix(inapp): refactor code to check the Fetch type on the eventData in…
shivamsharma2710 Nov 9, 2023
f8f7105
feat(inapp) - fix caching of encrypted in-apps SDK-3385
piyush-kukadiya Nov 9, 2023
b8e6590
Merge remote-tracking branch 'origin/client_side_inapps' into client_…
piyush-kukadiya Nov 9, 2023
0508e4e
fix(inapp): upgrade SDK version to v6.0.0 to match with the BE requir…
shivamsharma2710 Nov 9, 2023
d97b455
Merge branch 'client_side_inapps' of https://github.com/CleverTap/cle…
shivamsharma2710 Nov 9, 2023
304855d
feat(inapp) - remove isTextEncrypted check for in-apps as it's logic …
piyush-kukadiya Nov 9, 2023
c5b0cf2
Fix(inapp) - fix bug where InAppFCManager was not updating limits due…
piyush-kukadiya Nov 9, 2023
4570551
feat(SDK-3390): rollback to manual inApp parsing
shivamsharma2710 Nov 9, 2023
3a4b3b4
refactor(SDK-3390): add let scope on while accessing inAppStore from …
shivamsharma2710 Nov 9, 2023
13f46b0
Lp/image prefetch (#503)
CTLalit Nov 10, 2023
0eb6658
Fix(inapp) - fix bug where preference name for triggers when created,…
piyush-kukadiya Nov 16, 2023
bc81a8c
Fix(inapp) - fix bug where maxPerSession was not initialized to -1 wh…
piyush-kukadiya Nov 16, 2023
99bc5b1
Fix(inapp) - fix bug where same in-app was shown 2 times due to remov…
piyush-kukadiya Nov 16, 2023
1c96d2a
Fix(inapp) - fix bug where in-app was not displayed after adding to i…
piyush-kukadiya Nov 16, 2023
c78b8dc
Fix(inapp) - fix bug where non suppressed in-app was not displayed SD…
piyush-kukadiya Nov 16, 2023
013543f
Fix(inapp) - fix JSONException when evaluateClientSide in-apps SDK-3418
piyush-kukadiya Nov 16, 2023
47b59b5
Fix(inapp) - fix bug where inAppStore was null when accessed in Evalu…
piyush-kukadiya Nov 16, 2023
c67cb2d
Fix(inapp) - initialise impressionManager instance in InAppFCManager …
piyush-kukadiya Nov 16, 2023
f7c89bf
Fix(inapp) - fix JSONException on return value while calling evaluate…
shivamsharma2710 Nov 17, 2023
8fc53fc
Refactor(inapp) - Change type of inapps_eval parameter from List<Stri…
shivamsharma2710 Nov 17, 2023
cc7875a
Refactor(inapp): Replace the usage of ssInApps with inAppMetaData in …
shivamsharma2710 Nov 17, 2023
c07cf6e
Chore(inapp): update the list of TODOs
shivamsharma2710 Nov 17, 2023
b03a16f
Fix(inapp) - change json key for trigger condition from value to prop…
piyush-kukadiya Nov 17, 2023
42f5e59
Fix(inapp) - fix extraction of charged event props and items from JSO…
piyush-kukadiya Nov 17, 2023
83231f1
Fix(inapp) - refactor matchEvent method to accept EventAdapter direct…
piyush-kukadiya Nov 17, 2023
e4eb42c
Fix(inapp) - refactor getItemValue method to return list of TriggerVa…
piyush-kukadiya Nov 17, 2023
138fc46
Fix(inapp) - handle listValue for expected argument for less than and…
piyush-kukadiya Nov 17, 2023
fcae985
Fix(inapp) - covert value to list if value is of type JSONArray SDK-3418
piyush-kukadiya Nov 17, 2023
6edd080
chore(inapp) - add header event to sample app to push header event to…
piyush-kukadiya Nov 17, 2023
6a8b86b
feat(inapp) - add APIs for getting string value and list of string va…
piyush-kukadiya Nov 18, 2023
f3288e7
feat(inapp) - add test cases for string sanitization in TriggerValueT…
piyush-kukadiya Nov 18, 2023
0e3300b
feat(inapp) - fix failing tests for EventAdapterTest SDK-3418
piyush-kukadiya Nov 18, 2023
5afce2c
feat(inapp) - add string sanitization to contains and equals operator…
piyush-kukadiya Nov 18, 2023
21fa6b3
feat(inapp) - refactor failing tests for TriggersMatcher SDK-3425
piyush-kukadiya Nov 18, 2023
d8b2c9a
feat(inapp) - add geoRadius parsing in TriggersAdapter SDK-3426
shivamsharma2710 Nov 20, 2023
e601b67
feat(inapp) - add geoRadiusCount() and geoRadiusAtIndex(index) to Tri…
shivamsharma2710 Nov 20, 2023
912340e
feat(inapp) - repair tests for LimitsMatcher, broken during refactori…
piyush-kukadiya Nov 20, 2023
0b14c74
feat(inapp) - add tests for, Strings "006" and 6 are valid numbers SD…
piyush-kukadiya Nov 20, 2023
087ee5e
fix(inapp) - add number check in actualIsInRangeOfExpected() SDK-3418
piyush-kukadiya Nov 20, 2023
8bedb8b
fix(inapp) - allow comparison of number in string form and a number b…
piyush-kukadiya Nov 20, 2023
9562986
Feat(SDK-3426) - Add evaluateDistance method for comparing distances …
shivamsharma2710 Nov 20, 2023
8b0ebd3
Merge branch 'client_side_inapps' of https://github.com/CleverTap/cle…
shivamsharma2710 Nov 20, 2023
4051666
Doc(SDK-3426): write javadoc for evaluateDistance method
shivamsharma2710 Nov 20, 2023
de677e1
Feat(SDK-3426): Implement matchGeoRadius method for comparing expecte…
shivamsharma2710 Nov 21, 2023
4e0aac7
Feat(SDK-3426): provide coreMetaData to the InAppResponse class to re…
shivamsharma2710 Nov 21, 2023
cba5c78
Feat(SDK-3426): Add try catch handling for matchGeoRadius
shivamsharma2710 Nov 21, 2023
52d661a
Doc(SDK-3426): Add javadoc for new APIs
shivamsharma2710 Nov 21, 2023
d019b07
Lp/image preloading executors (#505)
CTLalit Nov 21, 2023
7c4fdba
fix(inapp) - fix empty json handling for limits and refactor tests SD…
piyush-kukadiya Nov 21, 2023
38dd947
Merge remote-tracking branch 'origin/client_side_inapps' into client_…
piyush-kukadiya Nov 21, 2023
93c528e
fix(inapp) - fix json array exception SDK-3418
piyush-kukadiya Nov 21, 2023
bf42171
feat(inapp) - add unit tests for isInvalidIndex JSONArray extension S…
piyush-kukadiya Nov 23, 2023
b1b1536
feat(inapp) - add unit tests for hasData, SharedPreferences extension…
piyush-kukadiya Nov 23, 2023
e9b7824
feat(inapp) - add unit tests for orEmptyArray, JSONArray extension SD…
piyush-kukadiya Nov 23, 2023
60ef61b
feat(inapp) - change toList(), JSONArray extension logic to return li…
piyush-kukadiya Nov 24, 2023
ddb607d
feat(inapp) - add unit tests for toList, JSONArray extension SDK-3446
piyush-kukadiya Nov 24, 2023
04e1a44
feat(inapp) - change iterator(), JSONArray extension logic to iterate…
piyush-kukadiya Nov 24, 2023
82be5e7
feat(inapp) - add unit tests for iterator, JSONArray extension SDK-3446
piyush-kukadiya Nov 24, 2023
474a280
fix(inapp) - fix safeGetJSONArray, JSONObject extension when value ma…
piyush-kukadiya Nov 24, 2023
5b9ef19
feat(inapp) - add unit tests for safeGetJSONArray, JSONObject extensi…
piyush-kukadiya Nov 24, 2023
834d85a
feat(inapp) - add unit tests for copyFrom, JSONObject extension SDK-3446
piyush-kukadiya Nov 24, 2023
b70d4f1
feat(inapp) - add unit tests for isNotNullAndEmpty, JSONObject extens…
piyush-kukadiya Nov 24, 2023
e5f62fe
feat(inapp) - add unit tests for concatIfNotNull, String extension SD…
piyush-kukadiya Nov 24, 2023
1e08998
feat(inapp) - add unit tests for isValid, Location extension SDK-3446
piyush-kukadiya Nov 24, 2023
8a4d85d
feat(inapp) - add unit tests for enqueue() in InAppQueue SDK-3447
piyush-kukadiya Nov 27, 2023
7252ba2
feat(inapp) - add unit tests for enqueueAll() in InAppQueue SDK-3447
piyush-kukadiya Nov 27, 2023
cc0766b
feat(inapp) - add unit tests for dequeue() in InAppQueue SDK-3447
piyush-kukadiya Nov 27, 2023
f863121
feat(inapp) - add unit tests for getQueueLength() in InAppQueue SDK-3447
piyush-kukadiya Nov 27, 2023
c371c70
feat(inapp) - add unit tests for Clock interface SDK-3449
piyush-kukadiya Nov 27, 2023
3e45f5d
feat(inapp) - add unit tests for isChargedEvent() in EventAdapterTest…
piyush-kukadiya Nov 27, 2023
aec2abf
Added method to evict items from cache
CTLalit Nov 28, 2023
89e4468
Merge branch 'client_side_inapps' of github.com:CleverTap/clevertap-a…
CTLalit Nov 28, 2023
4ed6080
feat(inapp) - add unit tests for TriggerManagerTest-3460
shivamsharma2710 Nov 28, 2023
f2f8496
Merge branch 'client_side_inapps' of https://github.com/CleverTap/cle…
shivamsharma2710 Nov 28, 2023
b0c6cc4
Logging in resorce provider
CTLalit Nov 28, 2023
0539abc
feat(inapp): Replace mocked SharedPreferences with an actual instance…
shivamsharma2710 Nov 28, 2023
7a445bb
Revert "Logging in resorce provider"
CTLalit Nov 28, 2023
1c99179
Logging in resource provider
CTLalit Nov 28, 2023
554f747
feat(inapp) - change private functions of EvaluationManager to intern…
piyush-kukadiya Nov 28, 2023
6765132
Merge remote-tracking branch 'origin/client_side_inapps' into client_…
piyush-kukadiya Nov 28, 2023
f6ab33f
feat(inapp) - add unit tests for evaluate() in EvaluationManagerTest …
piyush-kukadiya Nov 28, 2023
f5d9f7b
Feat: Container data class property
CTLalit Nov 28, 2023
0f4a006
Feat: Cleanup code for cache eviction
CTLalit Nov 28, 2023
b81ac8f
Feat: Code refactor for image preload
CTLalit Nov 28, 2023
41bad34
Feat: Store for inapps assets
CTLalit Nov 28, 2023
1dc73a9
Feat: InApp repo
CTLalit Nov 28, 2023
1874ddb
feat(inapp) - refactor updateTTL to inject new Clock argument to make…
piyush-kukadiya Nov 28, 2023
f15e3aa
feat(inapp) - add unit tests for updateTTL() in EvaluationManagerTest…
piyush-kukadiya Nov 28, 2023
90e1a79
feat(inapp) - refactor generateWzrkId() in EvaluationManager, to inje…
piyush-kukadiya Nov 28, 2023
2e94edf
feat(inapp) - add unit tests for suppress() in EvaluationManagerTest …
piyush-kukadiya Nov 28, 2023
7dd3538
feat(inapp) - add unit tests for generateWzrkId() in EvaluationManage…
piyush-kukadiya Nov 28, 2023
9a6dad3
feat(inapp) - add a check to getWhenTriggers() if triggers are not JS…
piyush-kukadiya Nov 29, 2023
ca2f7d2
feat(inapp) - add unit tests for getWhenTriggers() in EvaluationManag…
piyush-kukadiya Nov 29, 2023
9b5935d
feat(inapp) - add unit tests for evaluateClientSide() in EvaluationMa…
piyush-kukadiya Nov 29, 2023
199b311
feat(inapp) - add unit tests for evaluateServerSide() in EvaluationMa…
piyush-kukadiya Nov 30, 2023
6d074f5
feat(inapp) - add unit tests for onAttachHeaders() in EvaluationManag…
piyush-kukadiya Nov 30, 2023
381bba4
feat(inapp) - add unit tests for onSentHeaders() in EvaluationManager…
piyush-kukadiya Nov 30, 2023
e843878
feat(inapp) - add unit tests for evaluateOnEvent() in EvaluationManag…
piyush-kukadiya Nov 30, 2023
b0131e7
feat(inapp) - add unit tests for evaluateOnChargedEvent() in Evaluati…
piyush-kukadiya Nov 30, 2023
a2fe706
feat(inapp) - add unit tests for evaluateOnAppLaunchedClientSide() in…
piyush-kukadiya Nov 30, 2023
4689296
feat(inapp) - add unit tests for evaluateOnAppLaunchedServerSide() in…
piyush-kukadiya Nov 30, 2023
e4873c5
feat(inapp) - add unit tests for matchWhenLimitsBeforeDisplay() in Ev…
piyush-kukadiya Nov 30, 2023
0014516
feat(inapp) - change private function, sharedPrefs() of CTPreference …
piyush-kukadiya Nov 30, 2023
eae3d86
feat(inapp) - add unit tests for CTPreference SDK-3448
piyush-kukadiya Nov 30, 2023
ac47ce1
feat(inapp) - handle NumberFormatException when delimiter in string i…
piyush-kukadiya Dec 1, 2023
4bd4a09
feat(inapp) - add unit tests for ImpressionStore SDK-3451
piyush-kukadiya Dec 1, 2023
3c8da9a
feat(inapp) - add unit tests for InAppStore SDK-3453
piyush-kukadiya Dec 1, 2023
ac0f6b1
feat(inapp) - add unit tests for LegacyInAppStore SDK-3452
piyush-kukadiya Dec 4, 2023
6d4635c
fix(inapp) - fix less than greater than operators logic SDK-3505
piyush-kukadiya Dec 5, 2023
7c40b8d
fix(inapp) - fix NPE while parsing media URLs for image preloading
shivamsharma2710 Dec 5, 2023
47ac069
Merge branch 'client_side_inapps' of https://github.com/CleverTap/cle…
shivamsharma2710 Dec 5, 2023
9be12d8
feat(inapp) - support notification event properties for in-app evalua…
piyush-kukadiya Dec 7, 2023
0ea2b00
Merge remote-tracking branch 'origin/client_side_inapps' into client_…
piyush-kukadiya Dec 7, 2023
acd1aa2
feat(inapp) - support system properties for in-app evaluation SDK-3468
piyush-kukadiya Dec 7, 2023
f51f8b5
feat(inapp) - fix on app launch, in-app not displayed when device is …
piyush-kukadiya Dec 7, 2023
b8e18c5
feat(inapp) - fix mdc session limit SDK-3469
piyush-kukadiya Dec 11, 2023
044072c
feat(inapp) - support App Launched properties SDK-3470
piyush-kukadiya Dec 12, 2023
3cbeac2
Feat(inapps): chaining -> composition, removal of chaining (#508)
CTLalit Dec 12, 2023
a0af566
Merge branch 'client_side_inapps' of github.com:CleverTap/clevertap-a…
CTLalit Dec 12, 2023
2dd860b
Merge pull request #514 from CleverTap/lp/image-preload-eviction
piyush-kukadiya Dec 13, 2023
5baa8d5
feat(inapp): add matcher support for boolean type event-properties
shivamsharma2710 Dec 13, 2023
39bea05
feat(inapp): add unit tests for expectedValueEqualsActual for boolean…
shivamsharma2710 Dec 13, 2023
3ff037e
[SDK-3456] Unit tests for TriggerAdapter (#517)
shivamsharma2710 Dec 13, 2023
2ced664
[SDK-3455] Unit tests for StoreProvider (#516)
shivamsharma2710 Dec 13, 2023
52b5cbe
[SDK-3457] Unit tests for TriggerMatcher (#515)
shivamsharma2710 Dec 13, 2023
4a27f4e
[SDK-3459] Unit tests for ImpressionManager (#513)
shivamsharma2710 Dec 13, 2023
8d74765
feat(SDK-3542): create an empty assets folder
shivamsharma2710 Dec 21, 2023
a980dfc
feat(SDK-3542): include image_interstitial.html file to the assets
shivamsharma2710 Dec 21, 2023
9afd34b
feat(SDK-3542): format the html file
shivamsharma2710 Dec 21, 2023
ecf9131
feat(inapp) - Persist evaluated in-app ids and suppressed in-apps acr…
piyush-kukadiya Dec 21, 2023
4b5de6e
feat(SDK-3542): implement image-interstitial preview logic
shivamsharma2710 Dec 22, 2023
2608f2e
Merge branch 'task/SDK-3542/implement_image_interstitial_preview' int…
shivamsharma2710 Dec 22, 2023
e69eafe
fix(SDK-3542): Resolve implicit type-casting issue with evalIds storage
shivamsharma2710 Dec 22, 2023
52d7cd7
fix(SDK-3542): resolved evalIds and suppressedIds loading failure due…
shivamsharma2710 Dec 22, 2023
a280861
fix(SDK-3542): fix unit tests
shivamsharma2710 Dec 22, 2023
3a71da2
fix(inapp) - rename file name Cache<T> to Cache as causing build erro…
piyush-kukadiya Dec 28, 2023
c70ff00
fix(inapp) - remove Set data type for evaluated ss inapps SDK-3546
piyush-kukadiya Dec 29, 2023
27cbc56
Feat: CLeanup runs once every 14 days.
CTLalit Dec 29, 2023
74b5cbd
Feat: CLeanup runs once every 14 days.
CTLalit Jan 2, 2024
6f69ea3
Feat: Prefetch only for client side inapps
CTLalit Jan 2, 2024
bb9cb2a
Chore: variable naming
CTLalit Jan 2, 2024
13e2a7d
Feat: Gif url collection
CTLalit Jan 2, 2024
477b312
Feat: Fetch all gifs method
CTLalit Jan 2, 2024
b798e7c
Feat: Preloader load gifs method
CTLalit Jan 2, 2024
8ca4781
Test: Testing the gifs prefetch and caching
CTLalit Jan 2, 2024
b34a145
Feat: preloading gifs correctly
CTLalit Jan 2, 2024
3e79d83
Chore: default constructor args
CTLalit Jan 2, 2024
5a9aafa
Feat: used executors instead of coroutines
CTLalit Jan 2, 2024
23b9c61
Merge branch 'develop' of github.com:CleverTap/clevertap-android-sdk …
CTLalit Jan 2, 2024
8b7f787
Build: toml file and version bump
CTLalit Jan 3, 2024
1699279
chore(inapp) - add java doc for EvaluationManager SDK-3565
piyush-kukadiya Jan 3, 2024
e46cf8f
Merge remote-tracking branch 'origin/client_side_inapps' into client_…
piyush-kukadiya Jan 3, 2024
ac74468
chore(inapp) - add missing java doc for TriggerAdapter SDK-3565
piyush-kukadiya Jan 3, 2024
48eca1d
chore(inapp) - add java doc for StoreRegistry SDK-3565
piyush-kukadiya Jan 3, 2024
4f4fbeb
chore(inapp) - add java doc for StoreProvider SDK-3565
piyush-kukadiya Jan 3, 2024
38f6629
chore(inapp) - update java doc for LimitsMatcher SDK-3565
piyush-kukadiya Jan 3, 2024
0a442eb
chore(inapp) - add java doc for LimitAdapter SDK-3565
piyush-kukadiya Jan 3, 2024
78afb79
chore(inapp) - add java doc for LegacyInAppStore SDK-3565
piyush-kukadiya Jan 3, 2024
d610068
chore(inapp) - add missing java doc for InAppStore SDK-3565
piyush-kukadiya Jan 3, 2024
2d01811
chore(inapp) - add java doc for InAppQueue SDK-3565
piyush-kukadiya Jan 3, 2024
03ac7c6
chore(inapp) - add java doc for CTPreference SDK-3565
piyush-kukadiya Jan 3, 2024
2b21aa5
chore(inapp) - add java doc for ICTPreference SDK-3565
piyush-kukadiya Jan 3, 2024
d176527
chore(inapp) - add missing java doc for CTXtensions SDK-3565
piyush-kukadiya Jan 3, 2024
fae57b9
chore(inapp) - remove TODOs
shivamsharma2710 Jan 8, 2024
4fb0526
refactor(inapp) - remove unused cryptHandler
shivamsharma2710 Jan 8, 2024
b99b048
refactor(inapp) - resolve todos
shivamsharma2710 Jan 8, 2024
56e4f48
refactor(inapp) - replace Locale.US with Locale.getDefault() in Impre…
shivamsharma2710 Jan 8, 2024
44bddfc
feat(inapp) - clear inApp triggers for stale inApps
shivamsharma2710 Jan 8, 2024
d426908
chore(inapp) - remove unused CryptHandler SDK-3587
piyush-kukadiya Jan 8, 2024
716de8b
chore(inapp) - remove semicolon and unused imports SDK-3587
piyush-kukadiya Jan 8, 2024
9b09307
chore(inapp) - remove commented code SDK-3587
piyush-kukadiya Jan 8, 2024
04ee326
chore(inapp) - remove todos SDK-3587
piyush-kukadiya Jan 8, 2024
1c00a77
chore(inapp) - add comments on invokeBatchListener SDK-3587
piyush-kukadiya Jan 9, 2024
ed8c2e5
chore(inapp) - remove unused import SDK-3587
piyush-kukadiya Jan 9, 2024
eaca284
chore(inapp) - fix failing tests and remove BaseTestCase inheritance …
piyush-kukadiya Jan 9, 2024
78bb102
Bug: gif caching
CTLalit Jan 9, 2024
cec2eab
Merge branch 'client_side_inapps' of github.com:CleverTap/clevertap-a…
CTLalit Jan 9, 2024
9b42ce9
Bug: Issue with cleanup
CTLalit Jan 9, 2024
3c6ba33
Bug: Method to expose all preload assets
CTLalit Jan 9, 2024
2b17679
Review: added restrict to annotation
CTLalit Jan 9, 2024
fd43e4d
Review: Injected dependency
CTLalit Jan 9, 2024
b19fd0a
Review: Double locked checking to save resources
CTLalit Jan 9, 2024
4ab0147
refactor(inapp) - update preview payload retrieval using `getString` …
shivamsharma2710 Jan 9, 2024
00ed15e
refactor(inapp) - remove unused toJsonObject() from TriggerAdapter
shivamsharma2710 Jan 9, 2024
9a9b859
chore(inapp): Ignore sample/release folder
shivamsharma2710 Jan 9, 2024
5a81509
refactor(inapp): Add OR condition to evaluate the value of excludeFro…
shivamsharma2710 Jan 9, 2024
c6e5631
chore(inapp) - remove versions.properties SDK-3587
piyush-kukadiya Jan 9, 2024
c4e8c66
Merge remote-tracking branch 'origin/client_side_inapps' into client_…
piyush-kukadiya Jan 9, 2024
ed90b0b
chore(inapp) - remove ClockTest SDK-3587
piyush-kukadiya Jan 9, 2024
21b72bd
chore(inapp) - use logging to print error SDK-3587
piyush-kukadiya Jan 9, 2024
c8cd859
chore(inapp) - remove toMutableList conversion SDK-3587
piyush-kukadiya Jan 9, 2024
7759328
chore(inapp) - make dateFormatter variable global SDK-3587
piyush-kukadiya Jan 9, 2024
beba054
chore(inapp) - remove matchChargedEvent SDK-3587
piyush-kukadiya Jan 9, 2024
94bc4bb
chore(inapp) - modify when expression to make it exhaustive SDK-3587
piyush-kukadiya Jan 9, 2024
582552e
chore(inapp) - add safe cast for JSONObject SDK-3587
piyush-kukadiya Jan 9, 2024
10e88d4
feat(inapp): Add display condition for HTML in-apps to prevent showin…
shivamsharma2710 Jan 9, 2024
5154be2
Merge branch 'client_side_inapps' of https://github.com/CleverTap/cle…
shivamsharma2710 Jan 9, 2024
74f3b27
Review: Download PN bitmap with correct timeouts
CTLalit Jan 10, 2024
4fdc81c
Review: Evict old resource
CTLalit Jan 10, 2024
097fb2c
Review: removed todo
CTLalit Jan 10, 2024
a171d5a
Merge branch 'develop' into client_side_inapps
piyush-kukadiya Jan 10, 2024
4f47e7f
fix(merging) - fix merge conflict with develop
piyush-kukadiya Jan 10, 2024
89d05a6
Feat: Inapp asset store per account level
CTLalit Jan 10, 2024
9b9344f
fix(inapp) - show next queued inApps when current in app is html and …
piyush-kukadiya Jan 11, 2024
d8907e6
Merge remote-tracking branch 'origin/client_side_inapps' into client_…
piyush-kukadiya Jan 11, 2024
ee12e09
feat(inapp) - update getImpressionCount logic with binary search SDK-…
piyush-kukadiya Jan 12, 2024
b0582d1
Bug: Inapp not getting displayed after dismissing app launch inapp
CTLalit Jan 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ build/
*.exec
sample/google-services.json
ct_signing_key.gpg
/sample/release/sample-release.aab
/sample/libs/
/sample/release/
8 changes: 8 additions & 0 deletions clevertap-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
sourceSets {
main {
assets {
srcDirs 'src/main/assets'
}
}
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
Expand All @@ -42,6 +49,7 @@ dependencies {
testImplementation(project(":test_shared"))
testImplementation(libs.firebase.messaging)
testImplementation(libs.test.mockk)
testImplementation(libs.test.coroutines)

androidTestImplementation(libs.test.work.testing)
androidTestImplementation(libs.test.runner)
Expand Down
37 changes: 37 additions & 0 deletions clevertap-core/src/main/assets/image_interstitial.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" charset="utf-8">
<style>
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}html{width:100%;height:100%}#close-button{z-index:10;cursor:pointer;display:none;position:absolute;top:5px;right:5px}#close-button:hover{opacity:.8}#cover{z-index:0;background:rgba(0,0,0,.5);width:100%;height:100%;position:absolute;top:0;left:0}.text{text-align:center}.image{background-position:50%;background-repeat:no-repeat;background-size:contain}body{justify-content:center;align-items:center;width:100%;font-family:sans-serif;font-weight:400;display:flex;position:relative}#view{z-index:1;border:1px solid;flex:auto;position:relative}#view.rounded-border{border-radius:13px}#view.rounded-border #hero-image{border-top-left-radius:13px;border-top-right-radius:13px}#view.rounded-border .button-section{border-bottom-right-radius:13px;border-bottom-left-radius:13px;overflow:hidden}#overlay{z-index:0;background-position:0 0;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0;overflow:hidden}#content{z-index:1;background-size:contain;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.background-image{object-fit:contain;max-width:100%;max-height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#button-1,#button-2,#button-3,#button-4,#button-5,#button-6,#button-7,#button-8,#button-9,#button-10{box-sizing:border-box;cursor:pointer;letter-spacing:.03em;display:none;position:absolute}#button-1:hover,#button-2:hover,#button-3:hover,#button-4:hover,#button-5:hover,#button-6:hover,#button-7:hover,#button-8:hover,#button-9:hover,#button-10:hover{transform-origin:50%;background-color:rgba(0,0,0,.05)}.buttons-layer{z-index:10;width:100%;height:100%;display:block;position:relative}
</style>
</head>
<body>
<div id="overlay">
<div id="close-button" role="button" aria-label="Close">
<svg width="25" height="25" viewBox="0 0 60 60">
<circle id="Oval" fill="#222" cx="30" cy="30" r="30" />
<path d="M41.102 37.532a3.286 3.286 0 0 1 .008 4.533 2.996 2.996 0 0 1-4.357-.009l-7.25-7.531-7.245 7.531c-1.214 1.253-3.148 1.261-4.357.01-1.2-1.253-1.205-3.268.008-4.534l7.246-7.531-7.246-7.532c-1.2-1.252-1.213-3.267-.008-4.528 1.2-1.252 3.14-1.257 4.357 0l7.245 7.531 7.25-7.531c1.205-1.248 3.152-1.257 4.357 0 1.2 1.248 1.209 3.259-.008 4.528l-7.242 7.532 7.242 7.531Z"
id="Close-Icon" fill="#FFF" />
</svg>
</div>
<div id="content" class="image"><img id="backgroundImage" class="background-image" alt>
<div id="buttonsLayer" class="button-section buttons-layer">
<div id="button-1" class="text" role="button"></div>
<div id="button-2" class="text" role="button"></div>
<div id="button-3" class="text" role="button"></div>
<div id="button-4" class="text" role="button"></div>
<div id="button-5" class="text" role="button"></div>
<div id="button-6" class="text" role="button"></div>
<div id="button-7" class="text" role="button"></div>
<div id="button-8" class="text" role="button"></div>
<div id="button-9" class="text" role="button"></div>
<div id="button-10" class="text" role="button"></div>
</div>
</div>
</div>
<script>
!function(e,r,t,n,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[n]&&i[n],l=a.cache||{},u="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function s(r,t){if(!l[r]){if(!e[r]){var o="function"==typeof i[n]&&i[n];if(!t&&o)return o(r,!0);if(a)return a(r,!0);if(u&&"string"==typeof r)return u(r);var c=Error("Cannot find module '"+r+"'");throw c.code="MODULE_NOT_FOUND",c}f.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},f.cache={};var d=l[r]=new s.Module(r);e[r][0].call(d.exports,f,d,d.exports,this)}return l[r].exports;function f(e){var r=f.resolve(e);return!1===r?{}:s(r)}}s.isParcelRequire=!0,s.Module=function(e){this.id=e,this.bundle=s,this.exports={}},s.modules=e,s.cache=l,s.parent=a,s.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(s,"root",{get:function(){return i[n]}}),i[n]=s;for(var c=0;c<r.length;c++)s(r[c]);if(t){var d=s(t);"object"==typeof exports&&"undefined"!=typeof module?module.exports=d:"function"==typeof define&&define.amd?define(function(){return d}):o&&(this[o]=d)}}({"9W5RZ":[function(e,r,t){e("../js/template/image-interstitial.js")},{"../js/template/image-interstitial.js":"jTIrk"}],jTIrk:[function(e,r,t){var n=e("../setup"),o=e("../common");function i(){var e,r=document.querySelector("#buttonsLayer"),t=document.querySelector("#backgroundImage"),n=(e=document.querySelector("#overlay"),t.naturalWidth/t.naturalHeight>e.clientWidth/e.clientHeight);t.style.width=n?"100%":"auto",t.style.height=n?"auto":"100%",r.style.width=t.clientWidth+"px",r.style.height=t.clientHeight+"px"}var a=new ResizeObserver(function(){i()});(0,n.runSetup)({afterProcessVariables:function(e){var r=!0,t=!1,n=void 0;try{for(var i,a=e.buttons[Symbol.iterator]();!(r=(i=a.next()).done);r=!0){var l=i.value,u=(0,o.getDomElementForVariable)(l.id);u&&(u.onclick=(0,o.runTrackedAction).bind(null,l))}}catch(e){t=!0,n=e}finally{try{r||null==a.return||a.return()}finally{if(t)throw n}}},handleCustomTemplateVariable:function(e,r){if("overlay"===e){var t=(0,o.getDomElementForVariable)(e);return t.style.backgroundColor=r.backgroundColor,t.style.backgroundImage="url("+r.backgroundImage+")",t.style.backgroundRepeat=r.backgroundRepeat,t.style.backgroundSize=r.backgroundSize,!0}if("content"===e){var n=(0,o.getDomElementForVariable)(e),l=document.querySelector("#backgroundImage"),u=100-2*parseInt(r.margin,10)+"%";return a.unobserve(n),a.observe(n),n.style.width=u,n.style.height=u,l.src=r.backgroundImage,l.onload=l.onresize=i,!0}if("buttons"===e){var s=r.find(function(e){return e.name.includes("{TEST}")}),c=!0,d=!1,f=void 0;try{for(var p,m=r[Symbol.iterator]();!(c=(p=m.next()).done);c=!0){var v=p.value,b=(0,o.getDomElementForVariable)(v.id);b.style.display="block",b.style.border=s?"1px solid red":"none",b.style.width=v.size.width+"%",b.style.height=v.size.height+"%",b.style.top=v.position.y+"%",b.style.left=v.position.x+"%"}}catch(e){d=!0,f=e}finally{try{c||null==m.return||m.return()}finally{if(d)throw f}}return!0}return!1}})},{"../setup":"66h8r","../common":"3BoxG"}],"66h8r":[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(t),n.export(t,"variables",function(){return a}),n.export(t,"runSetup",function(){return l});var o=e("./vars"),i=e("./common"),a=null;function l(e){var r,t=e.afterProcessVariables,n=e.handleCustomTemplateVariable;a=o.variables,0===(r=document.querySelector("body")).clientHeight&&(r.style.height="100%"),document.addEventListener("touchstart",function(){},!1),(0,i.processVariables)(t,n)}},{"./vars":"beTl7","./common":"3BoxG","@parcel/transformer-js/src/esmodule-helpers.js":"3ieD1"}],beTl7:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(t),n.export(t,"variables",function(){return o});var o=JSON.parse("##Vars##")},{"@parcel/transformer-js/src/esmodule-helpers.js":"3ieD1"}],"3ieD1":[function(e,r,t){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,r){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||r.hasOwnProperty(t)||Object.defineProperty(r,t,{enumerable:!0,get:function(){return e[t]}})}),r},t.export=function(e,r,t){Object.defineProperty(e,r,{enumerable:!0,get:t})}},{}],"3BoxG":[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(t),n.export(t,"processVariables",function(){return a}),n.export(t,"getDomElementForVariable",function(){return l}),n.export(t,"runTrackedAction",function(){return u});var o=e("./setup"),i={};function a(e,r){for(var t in o.variables){var n=o.variables[t];if("function"==typeof r&&r(t,n))continue}"function"==typeof e&&e(o.variables)}function l(e){return function(e){var r=i[e];if(r)return r;var t=document.querySelector(e);return t||(o.variables.devMode&&console.log("No selector found for "+e),t={style:{}}),r=t,t}("#"+e.toLowerCase().replace(/ /g,"-"))}function u(e){var r=e.actions;switch(r.type){case"url":s("android"===(window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.clevertap?"ios":window.CleverTap?"android":o.variables.devMode?null:void console.error("can not communicate to sdk"))?r.android:r.ios,e.name,e.id);break;case"close":s("wzrk://thisleadstonowhere",e.name,e.id)}}function s(e,r,t){e+=(e.includes("?")?"&":"?")+("wzrk_c2a="+r)+"&button_id="+t;var n=document.createElement("a");n.setAttribute("href",e);var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!1),n.dispatchEvent(o)}},{"./setup":"66h8r","@parcel/transformer-js/src/esmodule-helpers.js":"3ieD1"}]},["9W5RZ"],"9W5RZ","parcelRequire49af");
</script>
</body>
</html>
Loading