Skip to content

Conversation

@lposen
Copy link
Contributor

@lposen lposen commented Oct 13, 2025

🔹 JIRA Ticket(s) if any

✏️ Description

Please provide a brief description of what this pull request does.

@lposen lposen changed the base branch from loren/embedded/MOB-12263-android-add-ability-to-sync-embedded-messages to loren/embedded/MOB-12265-start-end-session October 13, 2025 19:36
@github-actions
Copy link

Lines Statements Branches Functions
Coverage: 50%
50.88% (286/562) 27.14% (57/210) 47.86% (101/211)

@qltysh
Copy link

qltysh bot commented Oct 13, 2025

Diff Coverage: The code coverage on the diff in this pull request is 0.0%.

Total Coverage: This PR will decrease coverage by 0.56%.

File Coverage Changes
Path File Coverage Δ Indirect
src/core/classes/IterableApi.ts -3.7
src/embedded/classes/IterableEmbeddedManager.ts -8.3
src/embedded/types/IterableEmbeddedMessage.ts 100.0
src/embedded/types/IterableEmbeddedMessageElements.ts 100.0
src/embedded/types/IterableEmbeddedMessageElementsButton.ts 100.0
src/embedded/types/IterableEmbeddedMessageElementsText.ts 100.0
src/embedded/types/IterableEmbeddedMessageMetadata.ts 100.0
src/embedded/types/index.ts 100.0
🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

This is from Qlty Cloud, the successor to Code Climate Quality. Learn more.

@qltysh
Copy link

qltysh bot commented Oct 13, 2025

2 new issues

Tool Category Rule Count
qlty Structure High total complexity (count = 65) 1
qlty Structure Function with high complexity (count = 11): getEmbeddedMessages 1

This is from Qlty Cloud, the successor to Code Climate Quality. Learn more.

Comment on lines +686 to +718
public void getEmbeddedMessages(@Nullable ReadableArray placementIds, Promise promise) {
IterableLogger.d(TAG, "getEmbeddedMessages for placements: " + placementIds);

try {
List<IterableEmbeddedMessage> allMessages = new ArrayList<>();

if (placementIds == null || placementIds.size() == 0) {
// If no placement IDs provided, we need to get messages for all possible placements
// Since the Android SDK requires a placement ID, we'll use 0 as a default
// This might need to be adjusted based on the actual SDK behavior
List<IterableEmbeddedMessage> messages = IterableApi.getInstance().getEmbeddedManager().getMessages(0L);
if (messages != null) {
allMessages.addAll(messages);
}
} else {
// Convert ReadableArray to individual placement IDs and get messages for each
for (int i = 0; i < placementIds.size(); i++) {
long placementId = placementIds.getInt(i);
List<IterableEmbeddedMessage> messages = IterableApi.getInstance().getEmbeddedManager().getMessages(placementId);
if (messages != null) {
allMessages.addAll(messages);
}
}
}

JSONArray embeddedMessageJsonArray = Serialization.serializeEmbeddedMessages(allMessages);
IterableLogger.d(TAG, "Messages for placements: " + embeddedMessageJsonArray);

promise.resolve(Serialization.convertJsonToArray(embeddedMessageJsonArray));
} catch (JSONException e) {
IterableLogger.e(TAG, e.getLocalizedMessage());
promise.reject("", "Failed to fetch messages with error " + e.getLocalizedMessage());
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function with high complexity (count = 11): getEmbeddedMessages [qlty:function-complexity]

@lposen lposen changed the title feat: add session management methods to IterableEmbeddedManager [MOB-12264] Add sync messages and get messages to android Oct 13, 2025
@lposen lposen added the embedded Issues/PRs related to Embedded Messages label Oct 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

embedded Issues/PRs related to Embedded Messages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants