Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
324 commits
Select commit Hold shift + click to select a range
1d95e2e
Merge branch 'staging' into serconf_crashes
turtledreams Feb 25, 2025
2cbd52e
Merge pull request #419 from Countly/serconf_crashes
turtledreams Feb 25, 2025
c4c82ed
Merge branch 'staging' into server_config
arifBurakDemiray Feb 25, 2025
07d0e49
fix: after merge
arifBurakDemiray Feb 25, 2025
3d65e76
feat: device type to contetns
arifBurakDemiray Feb 25, 2025
899eb40
Merge pull request #464 from Countly/content_dt
turtledreams Feb 27, 2025
4591430
Merge branch 'staging' into server_config
arifBurakDemiray Feb 27, 2025
54bcd37
feat: initial delay for the content
arifBurakDemiray Feb 27, 2025
4f2ad3f
Merge pull request #465 from Countly/init_delay_content
turtledreams Feb 28, 2025
0fc343d
Merge branch 'staging' into server_config
arifBurakDemiray Mar 3, 2025
5fc7012
fix: after merge
arifBurakDemiray Mar 3, 2025
3120cf6
fix: merge casulties
arifBurakDemiray Mar 3, 2025
6174cc6
feat: location tracking
arifBurakDemiray Mar 3, 2025
d9d821a
fix: remove this line
arifBurakDemiray Mar 5, 2025
7036447
feat: increase mockite v because missing logging class
arifBurakDemiray Mar 14, 2025
1a1aa90
fix: remove unsued library link from manifest
arifBurakDemiray Mar 14, 2025
426a22d
fix: tests
arifBurakDemiray Mar 17, 2025
d735cb7
feat: refresh content zone
arifBurakDemiray Mar 17, 2025
9b1712d
feat: refresh content zone changelog
arifBurakDemiray Mar 17, 2025
e095d35
Merge pull request #468 from Countly/refresh_content
turtledreams Mar 17, 2025
1f64059
Merge branch 'server_config' into staging_m
arifBurakDemiray Mar 17, 2025
bee4734
Merge pull request #470 from Countly/staging_m
arifBurakDemiray Mar 17, 2025
985ceb6
fix: after merge
arifBurakDemiray Mar 17, 2025
1b4661e
feat: refresh content zone config
arifBurakDemiray Mar 17, 2025
45eab1d
Merge pull request #467 from Countly/mockite_manifest
turtledreams Mar 18, 2025
289a28a
feat: initial delay to the refresh content
arifBurakDemiray Mar 18, 2025
c792e36
Merge pull request #472 from Countly/staging
arifBurakDemiray Mar 18, 2025
03d3de1
fix: rename configuration keys for consistency
arifBurakDemiray Mar 19, 2025
003b59e
fix: clean up code by removing unused variables and improving logging
arifBurakDemiray Mar 19, 2025
e046eba
feat: tests about sc init
arifBurakDemiray Mar 19, 2025
e62a83e
feat: refactor code and clear it for future tests
arifBurakDemiray Mar 20, 2025
6ab870f
fix: test case for update interval
arifBurakDemiray Mar 20, 2025
7b8ff86
feat: views, events, tracking, networking scenarios
arifBurakDemiray Mar 20, 2025
2fcbf03
feat: session tracking
arifBurakDemiray Mar 20, 2025
57dc538
feat: location tracking
arifBurakDemiray Mar 20, 2025
fbe19fd
feat: add missing tests
arifBurakDemiray Mar 20, 2025
be4af0c
feat: consent test
arifBurakDemiray Mar 20, 2025
adda1d0
chore: remove print
arifBurakDemiray Mar 20, 2025
5c65687
Merge pull request #471 from Countly/i_delay_refresh
turtledreams Mar 20, 2025
cbe3554
fix: test aftert sc
arifBurakDemiray Mar 20, 2025
bf1e2a9
Merge branch 'staging' into server_config
arifBurakDemiray Mar 20, 2025
16b93f7
fix: after merge
arifBurakDemiray Mar 20, 2025
8548cb2
feat: whole bunch of server config tests
arifBurakDemiray Mar 24, 2025
41e7db0
refactor: test cases
arifBurakDemiray Mar 24, 2025
91674c3
refactor: use same logic for others
arifBurakDemiray Mar 24, 2025
bf0773c
feat: events iL server config
arifBurakDemiray Mar 25, 2025
ec6b0b6
feat: server config ILs
arifBurakDemiray Mar 25, 2025
d0e70d6
feat: add missing test cases
arifBurakDemiray Mar 25, 2025
3e069e7
feat: add test comments
arifBurakDemiray Mar 25, 2025
16f507e
feat: changelog for pn callback
arifBurakDemiray Apr 9, 2025
a003b2a
feat: pn url callback
arifBurakDemiray Apr 9, 2025
3f226a8
feat: pn url callback setter via pn config
arifBurakDemiray Apr 9, 2025
2665134
feat: pn url callback usage
arifBurakDemiray Apr 9, 2025
f870aad
feat: set id mode changelog
arifBurakDemiray Apr 9, 2025
6429995
feat: set id mode new device id type
arifBurakDemiray Apr 9, 2025
cbbb4c3
feat: id mode check internally
arifBurakDemiray Apr 9, 2025
47fb88c
feat: id mode set validation
arifBurakDemiray Apr 9, 2025
10ef9aa
feat: changelog for the dropping android secure id
arifBurakDemiray Apr 11, 2025
9916c53
feat: removed setIdMode
arifBurakDemiray Apr 11, 2025
2cae881
feat: removed secure android di
arifBurakDemiray Apr 11, 2025
26672ee
fix: tests
arifBurakDemiray Apr 11, 2025
1e346f8
feat: changelog for the PN cachin
arifBurakDemiray Apr 11, 2025
73e4622
feat: more proper hashCode
arifBurakDemiray Apr 11, 2025
79ed5dd
feat: id hashCode
arifBurakDemiray Apr 11, 2025
abd94aa
Update sdk/src/main/java/ly/count/android/sdk/messaging/ModulePush.java
arifBurakDemiray Apr 14, 2025
ccd8d8a
fix: prioritize the stored
arifBurakDemiray Apr 14, 2025
ca28ec6
fix: server config test
arifBurakDemiray Apr 14, 2025
9228338
fix: server config test
arifBurakDemiray Apr 14, 2025
3e8a9b5
fix: changelog entries
arifBurakDemiray Apr 15, 2025
f7409dd
feat: rebrand sdk config to behavior settings
arifBurakDemiray Apr 15, 2025
92def04
Merge pull request #473 from Countly/pn_callback
turtledreams Apr 15, 2025
93496a6
Update CHANGELOG.md
arifBurakDemiray Apr 15, 2025
9a1b239
Merge branch 'staging' into server_config
arifBurakDemiray Apr 15, 2025
15f173a
Update CHANGELOG.md
arifBurakDemiray Apr 15, 2025
d502c88
feat: 25.4.0-RC1
arifBurakDemiray Apr 15, 2025
7fc5f64
Update CHANGELOG.md
arifBurakDemiray Apr 15, 2025
ac11ac0
Merge pull request #475 from Countly/push_cache
turtledreams Apr 15, 2025
9b00924
Merge branch 'staging' into set_id_mode
arifBurakDemiray Apr 15, 2025
cfe2273
feat: rename func
arifBurakDemiray Apr 15, 2025
dfee556
feat: rename func
arifBurakDemiray Apr 15, 2025
b44da73
fix: correct way of UUID
arifBurakDemiray Apr 15, 2025
d533b82
fix: remove advertising id too
arifBurakDemiray Apr 15, 2025
5a30089
Merge pull request #474 from Countly/set_id_mode
turtledreams Apr 15, 2025
545f245
Merge pull request #463 from Countly/server_config
turtledreams Apr 15, 2025
e8e9bba
Merge branch 'staging' into 2540rc1
arifBurakDemiray Apr 15, 2025
70ec638
Merge pull request #476 from Countly/2540rc1
turtledreams Apr 15, 2025
f6c1ae9
Update CHANGELOG.md
arifBurakDemiray Apr 17, 2025
19d108c
feat: udpate version
arifBurakDemiray Apr 17, 2025
55f6437
Merge pull request #477 from Countly/arifBurakDemiray-patch-1
turtledreams Apr 17, 2025
2d8eaa3
feat: extended custom url handler PN
arifBurakDemiray Apr 30, 2025
74af454
feat: add new parameter
arifBurakDemiray May 1, 2025
6b37ba7
feat: add context usage to callback
arifBurakDemiray May 1, 2025
fbc65a9
feat: added new method to countly store
arifBurakDemiray May 2, 2025
eb516bd
feat: inital back off mechanism
arifBurakDemiray May 2, 2025
1c72815
feat: minor RC1
arifBurakDemiray May 9, 2025
d9a8c84
fix: queue reset
arifBurakDemiray May 12, 2025
00daada
fix: for last two
arifBurakDemiray May 13, 2025
c7a6d2b
fix: for last two
arifBurakDemiray May 13, 2025
178859d
fix: connect timeout
arifBurakDemiray May 13, 2025
32bd270
feat: reduce timouts to 10 secs
arifBurakDemiray May 13, 2025
3fc04fc
feat: add config option to disable back off
arifBurakDemiray May 13, 2025
5f2e09d
feat: back off, reduce timeouts, disable config CHANGELOG
arifBurakDemiray May 13, 2025
6ebb749
refactor: backoff mechanism
arifBurakDemiray May 13, 2025
3d48d21
feat: add server config to backoff
arifBurakDemiray May 13, 2025
0209ebc
fix: tests of conn processor
arifBurakDemiray May 13, 2025
88ed55c
feat: rename to backoff
arifBurakDemiray May 14, 2025
ec21c87
fix: remove unused param
arifBurakDemiray May 14, 2025
e79f2ed
updates
turtledreams May 15, 2025
b83b080
veers
turtledreams May 15, 2025
ef4c33d
Merge branch 'fw_rework_basic' into staging_mirror
arifBurakDemiray May 15, 2025
5d36541
Merge pull request #482 from Countly/staging_mirror
arifBurakDemiray May 15, 2025
f2f47a2
feat: fix after merge
arifBurakDemiray May 15, 2025
733fce0
feat: fix after merge
arifBurakDemiray May 15, 2025
58ea1bd
fix: internal timeout seconds
arifBurakDemiray May 15, 2025
8775ddf
feat: health tracker for the backoff
arifBurakDemiray May 15, 2025
55dc8b0
feat: convert the previous response time rather than last two
arifBurakDemiray May 22, 2025
ce630f1
feat: disable server config call
arifBurakDemiray May 23, 2025
177d0d7
feat: migrate wdigets to content
arifBurakDemiray May 23, 2025
6a6ad5a
null as string and xb in dialog removed
turtledreams May 27, 2025
e00940a
Merge pull request #480 from Countly/maven-central-migration
turtledreams May 29, 2025
2eab782
Update ModuleConfiguration.java
turtledreams May 29, 2025
167cd36
Merge pull request #483 from Countly/disable_sc
turtledreams May 29, 2025
27d968f
feat: more proper way
arifBurakDemiray May 29, 2025
bb32c2b
feat: convert to single req
arifBurakDemiray May 29, 2025
917413a
feat: single request and 60 seconds backoff
arifBurakDemiray May 30, 2025
ce7337b
refactor: back off callback
arifBurakDemiray May 30, 2025
6222a33
fix: the param issue
arifBurakDemiray May 30, 2025
f40314b
fix: warning log to info log
arifBurakDemiray May 30, 2025
2bfe68b
feat: RC3
arifBurakDemiray May 30, 2025
481250e
fix: tests
arifBurakDemiray May 30, 2025
4fc70d1
Merge branch 'staging' into fw_rework_basic
turtledreams May 30, 2025
4d01cc3
Merge pull request #412 from Countly/fw_rework_basic
turtledreams May 30, 2025
0644134
Merge branch 'staging' into back_of_mech
arifBurakDemiray May 30, 2025
ec8178e
Merge branch 'staging' into pn_callback_extend
arifBurakDemiray Jun 2, 2025
dbc8726
Merge pull request #478 from Countly/pn_callback_extend
turtledreams Jun 2, 2025
6dcc41e
feat: disable sdk config updates
arifBurakDemiray Jun 2, 2025
70cb194
Merge branch 'staging' into disable_sc
arifBurakDemiray Jun 2, 2025
e9a9c41
fix: after merge
arifBurakDemiray Jun 2, 2025
7db7e65
feat: BOM sc
arifBurakDemiray Jun 2, 2025
7f83b83
feat: BOM sc impl
arifBurakDemiray Jun 2, 2025
bacb47a
feat: conscutive bom
arifBurakDemiray Jun 2, 2025
51cce8d
feat: cbom hc
arifBurakDemiray Jun 2, 2025
d5b2c1e
fix: log error fetch sc
arifBurakDemiray Jun 3, 2025
28153e4
Merge pull request #484 from Countly/disable_sc
turtledreams Jun 3, 2025
bda062c
Merge branch 'staging' into back_of_mech
arifBurakDemiray Jun 3, 2025
cb22bf7
Merge pull request #479 from Countly/back_of_mech
turtledreams Jun 3, 2025
8e89a5d
feat: 25.4.1
arifBurakDemiray Jun 4, 2025
48ed671
Merge pull request #485 from Countly/2541
turtledreams Jun 4, 2025
407b20a
fix: the config
arifBurakDemiray Jun 24, 2025
7222740
fix: the config doc
arifBurakDemiray Jun 24, 2025
42fc49b
feat: 25.4.2
arifBurakDemiray Jun 24, 2025
8a042c4
Merge pull request #487 from Countly/sc_fix
turtledreams Jun 24, 2025
944794a
feat: fix sbs bugs :(
arifBurakDemiray Jul 3, 2025
da7975b
fix: scui not for only auto sessions
arifBurakDemiray Jul 10, 2025
ff6b612
feat: add BOM validation
arifBurakDemiray Jul 10, 2025
5bb77d9
fix: breadcrumb sbs not applied
arifBurakDemiray Jul 10, 2025
342c434
fix: stored req -1 to bom
arifBurakDemiray Jul 11, 2025
42508ed
feat: add SBS validation
arifBurakDemiray Jul 16, 2025
2623ca7
feat: extend metrics in hc
arifBurakDemiray Aug 25, 2025
bdfd896
feat: extend metrics in hc doc
arifBurakDemiray Aug 25, 2025
b1d0345
feat: preflight request maker
arifBurakDemiray Aug 27, 2025
143c613
feat: preflight request maker additions to content and feedback
arifBurakDemiray Aug 27, 2025
07c7950
feat: preflight request maker connection
arifBurakDemiray Aug 27, 2025
98825be
feat: preflight request maker test fix
arifBurakDemiray Aug 27, 2025
004c4b9
fix: add locale to the cases
arifBurakDemiray Aug 27, 2025
463b4cd
feat: basic preflight check
arifBurakDemiray Aug 27, 2025
acaa373
fix: log tag
arifBurakDemiray Aug 29, 2025
e891eab
fix: anr on back
arifBurakDemiray Sep 3, 2025
ec33bae
fix: anr on back doc
arifBurakDemiray Sep 3, 2025
61ca513
feat: 25.4.3
arifBurakDemiray Sep 5, 2025
edb1d42
fix: 60 seconds
arifBurakDemiray Sep 5, 2025
e831d00
Merge pull request #488 from Countly/fix_sbs
turtledreams Sep 5, 2025
83f58cb
Merge branch 'staging' into hc_metric_extend
turtledreams Sep 5, 2025
4a68b7c
Merge pull request #489 from Countly/hc_metric_extend
turtledreams Sep 5, 2025
3088cab
Merge branch 'staging' into fix_anr_back
turtledreams Sep 5, 2025
4a9a6e6
Merge pull request #492 from Countly/fix_anr_back
turtledreams Sep 5, 2025
d781718
Delete aa.html
arifBurakDemiray Sep 5, 2025
0010a1b
Merge pull request #490 from Countly/preflight_checl
turtledreams Sep 5, 2025
3796f9d
Merge branch 'staging' into 2543
turtledreams Sep 5, 2025
fdc5d98
Merge pull request #493 from Countly/2543
turtledreams Sep 5, 2025
0b2e495
fix: tests
arifBurakDemiray Sep 8, 2025
c0936e4
fix: upgrade java v
arifBurakDemiray Sep 8, 2025
8074831
fix: sbs param count
arifBurakDemiray Sep 8, 2025
722c9a9
feat: new way to gather spaces
arifBurakDemiray Sep 9, 2025
7465343
feat: impl mocked mp
arifBurakDemiray Sep 9, 2025
899be54
feat: changelog entry
arifBurakDemiray Sep 9, 2025
898e8a4
feat: block counting for api level below 26
arifBurakDemiray Sep 10, 2025
57377ef
feat: debug log for the things
arifBurakDemiray Sep 11, 2025
fa4b79f
feat: 25.4.4
arifBurakDemiray Sep 11, 2025
c1fc768
fix: size
arifBurakDemiray Sep 11, 2025
cfa04e6
Delete app/src/androidTest/java/ly/count/android/demo/HybridAppTest.java
arifBurakDemiray Sep 11, 2025
8a1d369
Delete app/src/main/res/xml/network_security_config.xml
arifBurakDemiray Sep 11, 2025
c58b2b6
fix: size changelog
arifBurakDemiray Sep 11, 2025
97f88dd
feat: handle hideable navigations
arifBurakDemiray Sep 12, 2025
9be11df
feat: add some cutout support
arifBurakDemiray Sep 15, 2025
d0cc24c
feat: more reliable screen size gathering
arifBurakDemiray Sep 15, 2025
fdefddc
feat: hide system ui after page load
arifBurakDemiray Sep 15, 2025
c4e07f8
feat: cutout warning
arifBurakDemiray Sep 15, 2025
2fdc708
feat: notch calculation revert
arifBurakDemiray Sep 16, 2025
fdc09ae
fix: pre-api 29 fix
arifBurakDemiray Sep 18, 2025
4810ed4
feat: enable notch support
arifBurakDemiray Sep 18, 2025
fb7a76d
revert: cutout support
arifBurakDemiray Sep 18, 2025
52e6db3
Merge pull request #494 from Countly/fix_tests
turtledreams Sep 18, 2025
2fce89a
Update CHANGELOG.md
turtledreams Sep 18, 2025
ed3d82c
Merge pull request #495 from Countly/fix_total_space
turtledreams Sep 18, 2025
e33e22e
Merge branch 'staging' into fix_display_size
turtledreams Sep 18, 2025
cc03c7a
Merge pull request #496 from Countly/fix_display_size
turtledreams Sep 18, 2025
c388889
fix: 28,29 nothed phones
arifBurakDemiray Sep 18, 2025
c1a71e3
Merge pull request #498 from Countly/fix_28_29_notch
turtledreams Sep 19, 2025
da28195
feat: add changelog for it
arifBurakDemiray Sep 19, 2025
f314bd9
feat: add configuration option for it
arifBurakDemiray Sep 19, 2025
2a756a8
feat: usage of the function
arifBurakDemiray Sep 19, 2025
d4c7b69
feat: add changelog
arifBurakDemiray Sep 19, 2025
9af05cb
feat: usage of old metric function
arifBurakDemiray Sep 19, 2025
f351e45
feat: add back old metric function
arifBurakDemiray Sep 19, 2025
6ae4c7c
feat: add changelog
arifBurakDemiray Sep 19, 2025
c2ff5dc
feat: add implementation of it
arifBurakDemiray Sep 19, 2025
0677639
feat: add implementation of it module wise
arifBurakDemiray Sep 19, 2025
f81748a
Remove consent check in sendMetricsRequest method
arifBurakDemiray Sep 19, 2025
4a5a5bd
feat: add consent for metrics
arifBurakDemiray Sep 19, 2025
8ac5edf
fix: tests
arifBurakDemiray Sep 19, 2025
4a90ab4
Merge pull request #499 from Countly/request_timeout
turtledreams Sep 19, 2025
e1c328b
Merge branch 'staging' into manual_metrics
arifBurakDemiray Sep 19, 2025
b3f5c32
Merge pull request #500 from Countly/hc_metrics_reverse
turtledreams Sep 19, 2025
512bc26
Update CHANGELOG.md
turtledreams Sep 19, 2025
120f8a4
Merge pull request #501 from Countly/manual_metrics
turtledreams Sep 19, 2025
c68f120
fix: add missing key
arifBurakDemiray Sep 19, 2025
6cab123
Merge pull request #502 from Countly/2544
turtledreams Sep 19, 2025
6430f81
Update CHANGELOG for version 25.4.3
arifBurakDemiray Sep 19, 2025
928f935
Merge pull request #503 from Countly/arifBurakDemiray-patch-2
turtledreams Sep 19, 2025
2c4856c
Revise metrics functions and consent options in changelog
arifBurakDemiray Sep 29, 2025
f36ec88
init
turtledreams Oct 15, 2025
ab332d2
Merge pull request #504 from Countly/arifBurakDemiray-patch-2
turtledreams Oct 15, 2025
0dc3da9
ch
turtledreams Oct 15, 2025
f4f04ba
Merge pull request #506 from Countly/executor-flag
turtledreams Oct 15, 2025
bb40ad2
safe area
turtledreams Oct 21, 2025
99eec8b
Merge pull request #508 from Countly/safe-area
turtledreams Oct 21, 2025
477d753
Lock for RC
turtledreams Oct 23, 2025
5a4808f
Merge pull request #510 from Countly/rc-lock-based
turtledreams Oct 23, 2025
d53798b
RC tests
turtledreams Oct 27, 2025
3a1517a
Merge branch 'staging' into internal-lock-rc
turtledreams Oct 27, 2025
74e116d
Refactor remote config methods to improve performance
turtledreams Oct 27, 2025
7a42160
Merge pull request #512 from Countly/internal-lock-rc
turtledreams Oct 27, 2025
0d65aa4
disableGradualRequestCleaner
turtledreams Oct 27, 2025
b4810dc
Merge pull request #513 from Countly/disable-gradual-cleanup
turtledreams Oct 27, 2025
294ad21
addCustomNetworkRequestHeaders
turtledreams Oct 27, 2025
7a49bc0
Merge pull request #514 from Countly/header-dynamic-call
turtledreams Oct 27, 2025
b0d33b0
25 RC-1
turtledreams Oct 27, 2025
48e9ec6
non rc
turtledreams Nov 3, 2025
e442f6f
Merge pull request #515 from Countly/rc-for-25.4.5
turtledreams Nov 3, 2025
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
4 changes: 2 additions & 2 deletions .github/workflows/build_and_test_sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: The Countly Android SDK Unit Test

env:
EMULATOR_REPO: us-docker.pkg.dev/android-emulator-268719/images/28-playstore-x64:30.1.2
JAVA_V: 11
JAVA_V: 17
JAVA_DIST: corretto

permissions:
Expand All @@ -25,7 +25,7 @@ jobs:

steps:
- name: Install Docker to the Runner
run: sudo apt-get install docker
run: sudo apt-get install containerd.io

- name: Pull Emulator from the Repo
run: docker pull ${{ env.EMULATOR_REPO }}
Expand Down
66 changes: 65 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,68 @@
## 25.4.5
* Added a new config flag `setUseSerialExecutor(boolean useSerial)` for selecting immediate request executor type.
* Added a new config option `setWebviewDisplayOption(WebViewDisplayOption)` to control how Content and Feedback Widgets are displayed.
* `IMMERSIVE` mode (default): Full-screen display (except cutouts).
* `SAFE_AREA` mode: Omits status bar, navigation bar and cutouts when displaying webviews.
* Added a new config option `disableGradualRequestCleaner()` to change request queue overflow behavior. When enabled, all overflowing requests are removed at once instead of in batches.
* Added a new method `requestQueue().addCustomNetworkRequestHeaders(Map<String,String>)` for providing or overriding custom headers after init .

* Mitigated a potential issue where Remote Config calls could have blocked the main UI thread processes.

* Immediate requests now will be run by parallel executor instead of serial by default.

## 25.4.4
* Improved disk size calculation in crash reports.

* Added a new function "recordMetrics(metricsOverride)" to send a device metrics request, accessible through the requestQueue interface.
* Added a new Consent option "metrics" for controlling "recordMetrics" method. (This has no effect on Session metrics.)
* Added "setRequestTimeoutDuration(requestTimeoutDuration)" init config method to change request timeout duration in seconds.

* Mitigated an issue displaying Content on API level 35 and above.

## 25.4.3
* Improved Health Check metric information.
* Improved Content display mechanics.

* Mitigated an issue that could have happened when navigating back from a Content.
* Mitigated a persistency issue with configuration provided SBS and its initial state.
* Mitigated an issue where SBS could have been fetched twice.

## 25.4.2
* Mitigated an issue where latest fetched behavior settings were replacing the current settings instead of merging.

## 25.4.1
* Improved request queue handling with a built-in backoff mechanism which is enabled by default.
* Added "disableBackoffMechanism()" init config method to disable backoff behavior.
* Added "disableSDKBehaviorSettingsUpdates()" init config method to disable server config updates.
* Added fullscreen support for feedback widgets.
* Extended the notification button URL handler to allow custom handling of URLs when notification buttons are clicked in the background.

* Deprecated "presentFeedbackWidget(widgetInfo, context, closeButtonText, devCallback)", replaced with "presentFeedbackWidget(widgetInfo, context, devCallback)" in the feedbacks.

## 25.4.0
* ! Minor breaking change ! Removed Secure.ANDROID_ID usage in device id generation. The SDK now exclusively uses random UUIDs for device id generation.
* ! Minor breaking change ! Server Configuration is now enabled by default. Changes made on SDK Manager > SDK Configuration on your server will affect SDK behavior directly.

* Added a Content feature method "refreshContentZone" that does a manual refresh.
* Extended server configuration capabilities of the SDK.
* Added a config method to provide server config in the initialization "setSDKBehaviorSettings(String)".
* Added a new interface "CountlyNotificationButtonURLHandler" to allow custom handling of URLs when notification buttons are clicked. Could be set by "CountlyConfigPush.setNotificationButtonURLHandler"

* Mitigated an issue that caused PN message data collision if two message with same ID was received.

* Removed the deprecated function "CountlyConfig.setIdMode(idMode)"

* Deprecated the experimental configuration function enableServerConfiguration.

## 25.1.1
* Mitigated an issue where after closing a content, they were not being fetched again.

## 25.1.0
* Improved content size management of content blocks.

* Mitigated an issue where, the action bar was overlapping with the content display.
* Improved the custom CertificateTrustManager to handle domain-specific configurations by supporting hostname-aware checkServerTrusted calls.

## 24.7.8
* Added a config option to content (setZoneTimerInterval) to set content zone timer. (Experimental!)

Expand All @@ -7,7 +72,6 @@

## 24.7.6
* Added support for localization of content blocks.

* Mitigated an issue where visibility could have been wrongly assigned if a view was closed while going to background. (Experimental!)
* Fixed a bug where passing the global content callback was not possible.
* Mitigated an issue related to content actions navigation.
Expand Down
1 change: 1 addition & 0 deletions app-kotlin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ plugins {
}

android {
namespace "ly.count.android.demo.kotlin"
compileSdkVersion 35

defaultConfig {
Expand Down
3 changes: 1 addition & 2 deletions app-kotlin/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ly.count.android.demo.kotlin">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Expand Down
1 change: 1 addition & 0 deletions app-native/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ apply plugin: 'com.android.application'
// apply plugin: ly.count.android.plugins.UploadSymbolsPlugin

android {
namespace "ly.count.android.demo.crash"
compileSdkVersion 35

defaultConfig {
Expand Down
3 changes: 1 addition & 2 deletions app-native/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ly.count.android.demo.crash">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:name=".App"
Expand Down
3 changes: 3 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ android {
// sourceCompatibility JavaVersion.VERSION_1_8
// targetCompatibility JavaVersion.VERSION_1_8
// }
// kotlinOptions {
// jvmTarget = "1.8"
// }

/*
//for automatic symbol upload
Expand Down
8 changes: 6 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ly.count.android.demo">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Expand Down Expand Up @@ -101,6 +100,11 @@
android:label="@string/activity_name_feedback"
android:configChanges="orientation|screenSize"/>

<activity
android:name=".ActivityExampleContentZone"
android:label="@string/activity_name_content_zone"
android:configChanges="orientation|screenSize"/>

<activity
android:name=".ActivityExampleTests"
android:exported="false"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package ly.count.android.demo;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import java.util.UUID;
import ly.count.android.sdk.Countly;

public class ActivityExampleContentZone extends AppCompatActivity {

Activity activity;
EditText deviceIdEditText;

@Override
public void onCreate(Bundle savedInstanceState) {
activity = this;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example_content_zone);
deviceIdEditText = findViewById(R.id.editTextDeviceIdContentZone);
}

public void onClickEnterContentZone(View v) {
Countly.sharedInstance().contents().enterContentZone();
}

public void onClickExitContentZone(View v) {
Countly.sharedInstance().contents().exitContentZone();
}

public void onClickRefreshContentZone(View v) {
Countly.sharedInstance().contents().refreshContentZone();
}

public void onClickChangeDeviceIdContentZone(View v) {
String deviceId = deviceIdEditText.getText().toString();
String newDeviceId = deviceId.isEmpty() ? UUID.randomUUID().toString() : deviceId;

Countly.sharedInstance().deviceId().setID(newDeviceId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -137,12 +137,4 @@ public void onClickUpdateSession(View v) {
public void onClickEndSession(View v) {
Countly.sharedInstance().sessions().endSession();
}

public void onClickFetchContents(View v) {
Countly.sharedInstance().contents().enterContentZone();
}

public void onClickExitContents(View v) {
Countly.sharedInstance().contents().exitContentZone();
}
}
26 changes: 9 additions & 17 deletions app/src/main/java/ly/count/android/demo/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import ly.count.android.sdk.CrashData;
import ly.count.android.sdk.GlobalCrashFilterCallback;
import ly.count.android.sdk.ModuleLog;
import ly.count.android.sdk.WebViewDisplayOption;
import ly.count.android.sdk.messaging.CountlyConfigPush;
import ly.count.android.sdk.messaging.CountlyPush;

Expand Down Expand Up @@ -146,7 +147,8 @@ public void onCreate() {
Map<String, Object> customUserProperties = new ConcurrentHashMap<>();
customUserProperties.put("A", 1);

CountlyConfig config = new CountlyConfig(this, COUNTLY_APP_KEY, COUNTLY_SERVER_URL)//.setDeviceId("67567")
CountlyConfig config = new CountlyConfig(this, COUNTLY_APP_KEY, COUNTLY_SERVER_URL)
// .setDeviceId("a" + applicationStartTimestamp )
.setLoggingEnabled(true)
.setLogListener(new ModuleLog.LogCallback() {
@Override public void LogHappened(String logMessage, ModuleLog.LogLevel logLevel) {
Expand All @@ -173,57 +175,44 @@ public void onCreate() {
}
})
.enableAutomaticViewTracking()
// uncomment the line below to enable auto enrolling the user to AB experiments when downloading RC data
//.enrollABOnRCDownload()
// .setMaxRequestQueueSize(5)
//.setMaxRequestQueueSize(5)
.enableAutomaticViewShortNames()
.setGlobalViewSegmentation(automaticViewSegmentation)
.setAutomaticViewTrackingExclusions(new Class[] { ActivityExampleCustomEvents.class })

.setPushIntentAddMetadata(true)

.setLocation("us", "Böston 墨尔本", "-23.8043604,-46.6718331", "10.2.33.12")
//.setDisableLocation()

//.enableManualSessionControl()
//.enableManualSessionControlHybridMode()

//.enableTemporaryDeviceIdMode()

.setRequiresConsent(true)

//for giving all consent values
.giveAllConsents()

//in case you want to control what consent is given during init
//.setConsentEnabled(new String[] {
// Countly.CountlyFeatureNames.push, Countly.CountlyFeatureNames.sessions, Countly.CountlyFeatureNames.location,
// Countly.CountlyFeatureNames.attribution, Countly.CountlyFeatureNames.crashes, Countly.CountlyFeatureNames.events,
// Countly.CountlyFeatureNames.starRating, Countly.CountlyFeatureNames.users, Countly.CountlyFeatureNames.views,
// Countly.CountlyFeatureNames.apm, Countly.CountlyFeatureNames.remoteConfig, Countly.CountlyFeatureNames.feedback
//})

.setHttpPostForced(false)
.setParameterTamperingProtectionSalt("test-salt-checksum")
.addCustomNetworkRequestHeaders(customHeaderValues)
//.enableCertificatePinning(certificates)
//.enablePublicKeyPinning(certificates)

.RemoteConfigRegisterGlobalCallback((downloadResult, error, fullValueUpdate, downloadedValues) -> {
if (error == null) {
Log.d(Countly.TAG, "Automatic remote config download has completed. " + Countly.sharedInstance().remoteConfig().getValues());
} else {
Log.d(Countly.TAG, "Automatic remote config download encountered a problem, " + error);
}
})

.setTrackOrientationChanges(true)
//.setMetricOverride(metricOverride)

.setWebviewDisplayOption(WebViewDisplayOption.IMMERSIVE)
//.enableServerConfiguration()

.setUserProperties(customUserProperties);

// crash configuration
config.crashes
.enableCrashReporting()
.enableRecordAllThreadsWithCrash()
Expand All @@ -234,13 +223,16 @@ public void onCreate() {
}
});

// APM configuration
config.apm.enableAppStartTimeTracking()
.enableForegroundBackgroundTracking()
.setAppStartTimestampOverride(applicationStartTimestamp);


Countly.sharedInstance().init(config);
//Log.i(demoTag, "After calling init. This should return 'true', the value is:" + Countly.sharedInstance().isInitialized());

//--- PUSH NOTIFICATIONS SETUP ----//
List<String> allowedClassNames = new ArrayList<>();
allowedClassNames.add("MainActivity");
List<String> allowedPackageNames = new ArrayList<>();
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/java/ly/count/android/demo/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -141,4 +141,8 @@ public void onClickButtonDeviceId(View v) {
public void onClickButtonRatings(View v) {
startActivity(new Intent(this, ActivityExampleFeedback.class));
}

public void onClickContentZone(View v) {
startActivity(new Intent(this, ActivityExampleContentZone.class));
}
}
56 changes: 56 additions & 0 deletions app/src/main/res/layout/activity_example_content_zone.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="32dp"
android:paddingBottom="32dp"
>

<EditText android:id="@+id/editTextDeviceIdContentZone"
android:hint="@string/content_zone_device_id"
android:autofillHints="username" android:layout_width="match_parent" android:layout_height="wrap_content"
android:inputType="text">
</EditText>

<Button
android:id="@+id/button80"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClickChangeDeviceIdContentZone"
android:text="Change Device ID"
/>

<Button
android:id="@+id/button74"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClickEnterContentZone"
android:text="Enter Content Zone"
/>
<Button
android:id="@+id/button75"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClickExitContentZone"
android:text="Exit Content Zone"
/>
<Button
android:id="@+id/button79"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onClickRefreshContentZone"
android:text="Refresh Content Zone"
/>


</LinearLayout>
</ScrollView>
Loading
Loading