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

Renamed the classes with Applozic initials. #619

Open
wants to merge 2 commits into
base: development
Choose a base branch
from

Conversation

prateek-kommunicate
Copy link
Contributor

@prateek-kommunicate prateek-kommunicate commented Apr 3, 2025

Summary by CodeRabbit

  • Refactor
    • Overhauled the internal messaging and notification framework to improve context management, error handling, and synchronization.
    • Streamlined settings management across conversation and UI components for enhanced stability and a consistent user experience.

Copy link
Contributor

coderabbitai bot commented Apr 3, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

A comprehensive refactoring was carried out across the codebase. The changes largely replace legacy Applozic classes and methods with new identifiers from the Kommunicate framework. Context management now consistently uses a dedicated service, while client, settings, and preference calls are updated to use new singleton classes. Exception handling is standardized under a new exception type. In addition, several classes, service names, and UI listener interfaces are renamed for clarity and consistency, and MQTT as well as notification handling have been updated accordingly.

Changes

Files (grouped) Change Summary
.../MainActivity.java, .../KmConversationHelper.java, .../KmSettings.java, .../Kommunicate.java, .../RegisterUserClientService.java, .../KmUserClientService.java, .../KmClientService.java, .../KmHelper.java Replaced legacy ApplozicClient/Applozic calls with SettingsSharedPreference and KommunicateSettings to update methods for message metadata, notifications, connectivity, and user settings.
.../commons/AppContextService.java, .../DBUtils.java, .../DateUtils.java, .../Utils.java, .../AlPrefSettings.java, .../SecureSharedPreferences.java, .../DatabaseMigrationHelper.kt, .../MobiComDatabaseHelper.java, .../ContactDatabase.java Replaced all references of ApplozicService with AppContextService for context retrieval, ensuring a uniform mechanism in utilities, database helpers, and preference management.
.../KmException.java, .../AlUserSearchTask.java, .../ConversationListTask.java, .../MediaDownloadProgressHandler.java, .../MediaUploadProgressHandler.java, .../MessageListHandler.java Updated error handling throughout the codebase by replacing all instances of ApplozicException with KommunicateException in method signatures and catch blocks.
.../AndroidManifest.xml, .../ChatIntentService.java, .../MqttService.java, .../CoreUser.java, .../ConversationBroadcastReceiver.java, .../UIEventListener.java, .../KmContextSpinnerAdapter.java Renamed multiple classes and services for clarity: e.g. ApplozicIntentServiceChatIntentService, ApplozicUserCoreUser, ApplozicBroadcastReceiverConversationBroadcastReceiver, and ApplozicUIListenerUIEventListener; view holder classes were also renamed for consistency.
.../KmCustomEventManager.java, .../NotificationChannels.java, .../NotificationService.java, .../WearableNotificationWithVoice.java Replaced MQTT-related classes – from ApplozicMqttService/MqttIntentService to MqttService – and updated notification logic to use the new settings and preference classes for channel configuration and icon visibility.
.../KmUtils.kt, .../KmAppSettingPreferences.kt, .../KmPrefSettings.java Adjusted database helpers and utility modules to source context and configuration from AppContextService and SettingsSharedPreference, ensuring consistent state and preference management across the app.

Sequence Diagram(s)

sequenceDiagram
    participant UI as User Interface
    participant Client as ClientService 
    participant Context as AppContextService
    participant MQTT as MqttService
    participant Error as Exception Handler

    UI->>Client: Initiate login / send message
    Client->>Context: Retrieve app context
    Context-->>Client: Return context
    Client->>MQTT: Connect & publish (if needed)
    MQTT-->>Client: Confirm connection
    Client-->>UI: Return success result
    Note over Client,Error: Exceptions handled using KommunicateException
Loading

Poem

I'm a hopping rabbit in the codewood deep,
Leaping from Applozic to Kommunicate without sleep,
With settings and context now all in line,
And exceptions renamed oh-so-fine,
I nibble on clean code with a joyful peep! 🐰✨


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@prateek-kommunicate
Copy link
Contributor Author

@coderabbit-ai review

Copy link
Contributor

coderabbitai bot commented Apr 3, 2025

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Get PR details
gh pr view 619 --repo Kommunicate-io/Kommunicate-Android-Chat-SDK

# Get the list of changed files
gh pr view 619 --repo Kommunicate-io/Kommunicate-Android-Chat-SDK --json files --jq '.files[].path'

# Get a summary of the changes
gh pr diff 619 --repo Kommunicate-io/Kommunicate-Android-Chat-SDK | head -n 100

Length of output: 14893


🏁 Script executed:

#!/bin/bash
# Get more specific changes to understand the rename patterns
gh pr diff 619 --repo Kommunicate-io/Kommunicate-Android-Chat-SDK | grep -A 3 -B 3 "import.*Applozic" | head -n 50

# Check for any files that still contain Applozic references to see if any were missed
gh pr diff 619 --repo Kommunicate-io/Kommunicate-Android-Chat-SDK | grep "Applozic" | head -n 50

# Get additional context on the changes made to a few key files
echo "Examining specific file changes..."
gh pr diff 619 --repo Kommunicate-io/Kommunicate-Android-Chat-SDK -- kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ChatIntentService.java | head -n 30
gh pr diff 619 --repo Kommunicate-io/Kommunicate-Android-Chat-SDK -- kommunicate/src/main/java/io/kommunicate/devkit/SettingsSharedPreference.java | head -n 30

Length of output: 6661


🏁 Script executed:

#!/bin/bash
# First, let's clone the repo to access the files
git clone https://github.com/Kommunicate-io/Kommunicate-Android-Chat-SDK.git
cd Kommunicate-Android-Chat-SDK

# Checkout the PR branch
git fetch origin pull/619/head:pr-619
git checkout pr-619

# List a few key renamed files
echo "Checking content of key renamed files..."
ls -la kommunicate/src/main/java/io/kommunicate/devkit/SettingsSharedPreference.java || echo "File not found"
ls -la kommunicate/src/main/java/io/kommunicate/devkit/KommunicateSettings.java || echo "File not found"
ls -la kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ChatIntentService.java || echo "File not found"

# Check some file contents to understand the renaming pattern
echo "Examining file contents to understand renaming..."
cat kommunicate/src/main/java/io/kommunicate/devkit/SettingsSharedPreference.java | head -n 30
echo "---"
cat kommunicate/src/main/java/io/kommunicate/devkit/KommunicateSettings.java | head -n 30
echo "---"
cat kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ChatIntentService.java | head -n 30

# Get git commit message and description
echo "Commit messages for PR..."
git log -n 1

Length of output: 5368


🏁 Script executed:

#!/bin/bash
# Check for any remaining Applozic references in the codebase that might have been missed
cd Kommunicate-Android-Chat-SDK
echo "Checking for remaining 'Applozic' references in the codebase..."
grep -r "Applozic" --include="*.java" --include="*.xml" . | grep -v "/\*" | grep -v "\*" | head -n 50

# Check if all imports have been updated correctly
echo "Checking for any remaining Applozic imports..."
grep -r "import.*Applozic" --include="*.java" . | head -n 50

# Check for potential hardcoded string references to Applozic class names
echo "Checking for hardcoded string references to Applozic classes..."
grep -r "\"Applozic" --include="*.java" . | head -n 30

# Check if there's documentation that might need updating
echo "Checking for Applozic references in comments or documentation..."
grep -r "@.*Applozic" --include="*.java" . | head -n 30

# Look at compile issues or potential problems
echo "Checking for potential compile issues in renamed files..."
grep -r "private static final String TAG = \"Applozic" --include="*.java" . | head -n 30

Length of output: 9673


🏁 Script executed:

#!/bin/bash
# Get more info on the renaming pattern between old and new by comparing a specific file
cd Kommunicate-Android-Chat-SDK
echo "Examining git history for file renames..."

# Check if old file names still exist or if they're fully renamed
ls -la kommunicate/src/main/java/io/kommunicate/devkit/ApplozicClient.java 2>/dev/null || echo "ApplozicClient.java no longer exists (renamed)"
ls -la kommunicate/src/main/java/io/kommunicate/devkit/Applozic.java 2>/dev/null || echo "Applozic.java no longer exists (renamed)"

# Look at the complete list of changed files to understand the scope of renaming
echo "Full list of changed files in the PR:"
git diff --name-status HEAD~1 | head -n 30

# Check one specific class rename to understand the rename pattern
echo "Checking git history for a specific rename example:"
git log --follow -p -- kommunicate/src/main/java/io/kommunicate/devkit/SettingsSharedPreference.java | head -n 50

Length of output: 3290


@prateek-kommunicate I've reviewed your PR #619 that renames classes with Applozic initials. The renaming looks well-executed with consistent changes across the codebase.

Observations:

  • The renaming is systematic, with classes like ApplozicKommunicateSettings, ApplozicClientSettingsSharedPreference, etc.
  • References to these classes are updated throughout the codebase.

Suggestions:

  1. Several log TAG constants still reference the old class names:

    private static final String TAG = "ApplozicIntentService"; // in ChatIntentService.java
    private static final String TAG = "ApplozicMqttService"; // in MqttService.java

    Consider updating these to match the new class names for consistency.

  2. Some theme and style names in XML files still use "Applozic" prefix (e.g., ApplozicTheme). Are these intentionally kept for backward compatibility?

  3. Other remaining references include security constants (RSA_KEY_ALIAS = "ApplozicRSAKey") and default values. These might be less visible but worth reviewing for completeness.

Overall, the PR looks good and accomplishes its objective of renaming the classes with Applozic initials.

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

coderabbitai bot commented Apr 3, 2025

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Get PR details and current status
gh pr view 619 --repo Kommunicate-io/Kommunicate-Android-Chat-SDK

# Check recent commits to see if there have been changes since last review
gh pr view 619 --repo Kommunicate-io/Kommunicate-Android-Chat-SDK --json commits | jq '.commits | sort_by(.committedDate) | reverse | .[0:3]'

# Get the list of changed files to confirm the scope
gh pr view 619 --repo Kommunicate-io/Kommunicate-Android-Chat-SDK --json files --jq '.files[].path' | wc -l

Length of output: 1533


🏁 Script executed:

#!/bin/bash
# Check for remaining log TAG constants that still reference old class names
cd Kommunicate-Android-Chat-SDK || git clone https://github.com/Kommunicate-io/Kommunicate-Android-Chat-SDK.git
cd Kommunicate-Android-Chat-SDK
git fetch origin pull/619/head:pr-619
git checkout pr-619

echo "Checking for log TAG constants that still reference Applozic..."
grep -r "private static final String TAG = \"Applozic" --include="*.java" .

# Check XML files for theme and style names with Applozic prefix
echo "Checking XML files for theme and style names with Applozic prefix..."
grep -r "Applozic" --include="*.xml" . | grep -E "style|theme" | head -n 15

# Check for security constants and default values with Applozic references
echo "Checking for security constants and default values with Applozic references..."
grep -r "RSA_KEY_ALIAS" --include="*.java" .
grep -r "\"Applozic" --include="*.java" . | grep -v "TAG" | head -n 20

# Check for any Javadoc or comments that might still reference Applozic
echo "Checking for any Javadoc or comments that still reference Applozic..."
grep -r "\\* .*Applozic" --include="*.java" . | head -n 15

Length of output: 5693


🏁 Script executed:

#!/bin/bash
# Check for remaining import statements that reference Applozic
echo "Checking for remaining import statements with Applozic..."
grep -r "import.*Applozic" --include="*.java" .

# Check for method calls or class references that might be using the old naming convention
echo "Checking for method calls or class references using old naming..."
grep -r "Applozic\." --include="*.java" . | grep -v "import" | grep -v "//" | head -n 20

# Check if there are any remaining JSON keys or serialized field names with Applozic
echo "Checking for JSON keys or serialized field names..."
grep -r "\"Applozic" --include="*.java" . | grep -E "JSON|Key|NAME|Field" | head -n 15

# Check for any constants or enum values that might still have Applozic prefix
echo "Checking for constants or enum values with Applozic prefix..."
grep -r "public static final.*Applozic" --include="*.java" . | head -n 15

Length of output: 2334


@prateek-kommunicate I've performed a more comprehensive review of PR #619 which renames classes with Applozic initials. The PR has successfully renamed the classes and updated most references, but I've identified several categories of remaining Applozic references:

Remaining References:

  1. Log TAG Constants:

    private static final String TAG = "ApplozicMqttService"; // MqttService.java
    private static final String TAG = "ApplozicIntentService"; // ChatIntentService.java
    private static final String TAG = "ApplozicUIReceiver"; // ConversationBroadcastReceiver.java
    private static final String TAG = "ApplozicDocumentView"; // KmDocumentView.java
    public static final String TAG = "ApplozicMqttIntentService"; // MqttIntentService.java
  2. XML Theme/Style Names:

    <style name="ApplozicTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <style name="Applozic_FullScreen_Theme" ...>
    <style name="Applozic_PopUpTheme" ...>
  3. Security Constants:

    private static final String RSA_KEY_ALIAS = "ApplozicRSAKey"; // SecurityUtils.java
  4. Default Values & Method References:

    return sharedPreferences.getString(APP_NAME, "Applozic"); // SettingsSharedPreference.java
    private static final String SET_SOUND_PATH = "Please set a sound path using Applozic.getInstance(context)..."; // NotificationChannels.java
  5. Documentation:

    // Do not touch settings from this file, unless asked to do so by Applozic

Suggestions:

  1. Log TAGs: Consider updating these to match the new class names for consistency. For example:

    private static final String TAG = "KommunicateMqttService"; // instead of "ApplozicMqttService"
  2. Theme/Style Names: These may need to be kept for backward compatibility. If you decide to update them, ensure all layout files are updated accordingly.

  3. Security Constants: Changing the RSA key alias could break existing encrypted data. Consider adding a migration strategy if you want to update these.

  4. String References: Update the method reference in NotificationChannels.java to reference the new class name:

    private static final String SET_SOUND_PATH = "Please set a sound path using KommunicateSettings.getInstance(context)...";
  5. Documentation: Update comments to reference Kommunicate instead of Applozic.

This PR has made significant progress in renaming, but addressing these remaining references would complete the transition.

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🔭 Outside diff range comments (7)
kommunicate/src/main/java/io/kommunicate/preference/KmConversationInfoSetting.java (1)

101-101: 🛠️ Refactor suggestion

Fix typo in method name.

The method getContentColo() has a typo and should be renamed to getContentColor() to match its corresponding setter method.

-public String getContentColo() {
+public String getContentColor() {
kommunicateui/src/main/java/io/kommunicate/ui/KommunicateSetting.java (1)

124-131: 💡 Verification agent

🧩 Analysis chain

Color resource constants still reference Applozic.

Several color resources still use Applozic branding names (e.g., R.color.applozic_theme_color_primary, R.color.applozic_gray_color, etc.). Consider renaming these resource references as well to maintain consistent branding.

Also applies to: 166-167, 352-354, 570-572, 579-581


🏁 Script executed:

#!/bin/bash
# Look for any remaining Applozic references in color resources

echo "Checking for Applozic references in resource files..."
rg -i 'applozic.*color' --glob '*.xml' --type xml

Length of output: 42978


Action: Update Color Resource References to Maintain Current Branding

The current implementation in kommunicateui/src/main/java/io/kommunicate/ui/KommunicateSetting.java (lines 124–131) still uses the Applozic color reference (R.color.applozic_theme_color_primary). Additionally, the grep output confirms that numerous XML resource files (including layouts, drawables, and values in files such as mobicom_themes.xml, mobicom_colors.xml, and others) continue to use Applozic-branded color names.

Please update the following:

  • Java Code: In KommunicateSetting.java, update the default color fallback from R.color.applozic_theme_color_primary to the corresponding Kommunicate resource.
  • XML Resources: Rename all Applozic color resource identifiers (e.g., applozic_theme_color_primary, applozic_theme_color_primary_dark, etc.) to the new Kommunicate branding (e.g., kommunicate_theme_color_primary). This applies across layouts, drawables, and values files.

This will ensure consistent branding throughout the application.

kommunicate/src/main/java/io/kommunicate/devkit/api/notification/NotificationChannels.java (1)

100-113: 💡 Verification agent

🧩 Analysis chain

Consider updating constant naming conventions

The constants with "AL_" prefix (e.g., AL_PUSH_NOTIFICATION, AL_SILENT_NOTIFICATION, etc.) in MobiComKitConstants are still being used throughout the code. These constants likely reference "Applozic" in their naming convention.

Also applies to: 121-139, 146-169, 176-195, 201-214, 218-245, 250-266


🏁 Script executed:

#!/bin/bash
# Check the MobiComKitConstants file to see the definitions of these constants
# and whether they should be renamed as part of this refactoring effort

echo "Checking MobiComKitConstants file for AL_ prefixed constants..."
fd "MobiComKitConstants.java" --exec cat {} | grep -n "AL_"

Length of output: 1108


Action Required: Update Naming Conventions for Legacy Constants

After verifying the MobiComKitConstants.java file, it is confirmed that constants with the AL_ prefix (e.g., AL_PUSH_NOTIFICATION, AL_SILENT_NOTIFICATION, etc.) are still defined and in use across the codebase. These constants inherently reference legacy naming (reflecting "Applozic") and should be updated to align with the new naming conventions.

  • Files/Lines Impacted:
    • kommunicate/src/main/java/io/kommunicate/devkit/api/notification/NotificationChannels.java (lines 100–113)
    • Additional affected areas include: lines 121–139, 146–169, 176–195, 201–214, 218–245, and 250–266

Recommendation:

  • Rename the AL_ prefixed constants in MobiComKitConstants.java to a new naming scheme that accurately represents the current context (e.g., replacing AL_ with a more relevant prefix).
  • Ensure the changes are replicated and referenced consistently across all affected code sections.
kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/FileClientService.java (1)

53-53: 💡 Verification agent

🧩 Analysis chain

Consider updating AL_UPLOAD_FILE_URL constant name for consistency

The constant AL_UPLOAD_FILE_URL still uses the "AL" prefix, which likely stands for "Applozic". For complete consistency with the rest of the rebranding effort, consider renaming this constant.

-public static final String AL_UPLOAD_FILE_URL = "/rest/ws/upload/file";
+public static final String KM_UPLOAD_FILE_URL = "/rest/ws/upload/file";

You would also need to update the reference in the profileImageUploadURL() method:

public String profileImageUploadURL() {
-    return getBaseUrl() + AL_UPLOAD_FILE_URL;
+    return getBaseUrl() + KM_UPLOAD_FILE_URL;
}

🏁 Script executed:

#!/bin/bash
# Check if the AL prefix is used in other places of the codebase
rg "AL_UPLOAD_FILE_URL" --type java

Length of output: 689


Update Constant Naming for Rebranding Consistency

The constant AL_UPLOAD_FILE_URL is used in multiple locations within FileClientService.java (in both the main repository and the Android SDK copy). To align with the rebranding effort, please rename the constant and update its references accordingly.

  • Change in Constant Declaration:

    -    public static final String AL_UPLOAD_FILE_URL = "/rest/ws/upload/file";
    +    public static final String KM_UPLOAD_FILE_URL = "/rest/ws/upload/file";
  • Change in Method Reference:

    -    return getBaseUrl() + AL_UPLOAD_FILE_URL;
    +    return getBaseUrl() + KM_UPLOAD_FILE_URL;
kommunicate/src/main/java/io/kommunicate/devkit/SettingsSharedPreference.java (1)

60-61: 💡 Verification agent

🧩 Analysis chain

Remaining references to "Applozic" in constants.

While the class has been renamed, these constants still contain "applozic" in their names. Consider renaming these constants to be consistent with the rebranding effort.


🏁 Script executed:

#!/bin/bash
# Check if these constants are referenced elsewhere in the codebase
rg "APPLOZIC_CONTACT_PIC|APPLOZIC_GROUP_ICON" -A 2 -B 2

Length of output: 4414


Action: Rename legacy constants to align with the new branding.

It was verified that in the file kommunicate/src/main/java/io/kommunicate/devkit/SettingsSharedPreference.java (lines 60-61) the constants still use the identifier "APPLOZIC_CONTACT_PIC" with the value "applozic_ic_contact_picture_holo_light" and "APPLOZIC_GROUP_ICON" with the value "applozic_group_icon". These constants are further used as default values in the methods getDefaultContactImage() and getDefaultChannelImage(). For consistency with the rebranding efforts, please update both the constant names and their corresponding string values.

kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/KmPrefSettings.java (1)

21-21: 💡 Verification agent

🧩 Analysis chain

Consider renaming the preference key constant.

The shared preference key MobiComUserPreference.AL_USER_PREF_KEY still contains "AL" which likely stands for Applozic. This may have been intentionally kept for backward compatibility, but for consistency with the PR's objective, you might want to create a new preference key and implement a migration strategy.


🏁 Script executed:

#!/bin/bash
# Search for all usages of AL_USER_PREF_KEY to understand its scope
echo "Searching for AL_USER_PREF_KEY usage..."
rg "AL_USER_PREF_KEY" --type java

Length of output: 6859


Action: Update the shared preference key and plan for migration

The constant MobiComUserPreference.AL_USER_PREF_KEY (with the value "al_user_pref_key") still contains "AL"—an outdated reference likely to Applozic. Our repository search shows that this key is used across several modules (e.g., in settings, conversation helper, speech-to-text, and instruction utilities). If the objective is to modernize naming, please consider creating a new key (without the "AL" prefix) and implementing a migration strategy to seamlessly transfer existing preferences without breaking backward compatibility.

  • Files Impacted:
    • kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/MobiComUserPreference.java (definition and some usages)
    • Multiple UI and helper files including KmPrefSettings.java, KommunicateSetting.java, KmSpeechToTextSetting.java, etc.

Please review and address this change across the codebase accordingly.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/activity/ConversationActivity.java (1)

1378-1388: 🛠️ Refactor suggestion

Leftover “Applozic” references in string resources.
While the new logic using settingsSharedPreference is correct, the resource IDs still mention “Applozic” (e.g., R.string.applozic_account_closed). Consider renaming these for consistency, unless intended for backward compatibility.

🧹 Nitpick comments (41)
kommunicateui/src/main/java/io/kommunicate/ui/conversation/adapter/KmContextSpinnerAdapter.java (1)

156-160: Review the Nested ProductViewHolder Class Implementation
The nested static class is now renamed to ProductViewHolder and includes an explicit default constructor. Although this is functionally correct, consider removing the explicit empty constructor if it isn’t serving a particular purpose, to reduce boilerplate.

kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/AlUserSearchTask.java (1)

1-62: Consider renaming the class to remove "Al" prefix.

While the exception class has been updated, I notice that the class name AlUserSearchTask and the interface AlUserSearchHandler still contain the "Al" prefix, which likely stands for "Applozic". For full consistency with the PR goal of renaming classes with Applozic initials, you might want to consider renaming these as well.

kommunicate/src/main/java/io/kommunicate/devkit/exception/KommunicateException.java (1)

10-13: Constructor Update with Redundant Message Storage
The constructor correctly initializes the exception by calling super(message) and then assigns the same value to the local message field. Note that the Exception base class already retains the message, so storing it again might be redundant unless there is a specific requirement to allow later updates via setMessage().

kommunicate/src/main/java/io/kommunicate/async/KmAssigneeUpdateTask.java (1)

14-15: Consider updating deprecation documentation.

Since this class is already marked as deprecated and scheduled for cleanup, it might be worth updating the deprecation documentation to reference the new class names rather than the legacy ones (if any are mentioned in the reason).

kommunicateui/src/main/java/io/kommunicate/ui/conversation/MobiComKitBroadcastReceiver.java (1)

28-28: Consider updating the TAG constant

While renaming classes, it might be worth updating the TAG constant from "MTBroadcastReceiver" to "MobiComKitBroadcastReceiver" to match the actual class name for better log readability and consistency.

-    private static final String TAG = "MTBroadcastReceiver";
+    private static final String TAG = "MobiComKitBroadcastReceiver";
kommunicate/src/main/java/io/kommunicate/devkit/api/HttpRequestUtils.java (1)

41-44: Consider renaming remaining Applozic references in constants

While the main class references have been updated, there are still constants with Applozic prefixes (APZ_APP_ID_HEADER, APZ_PRODUCT_APP_HEADER). For complete consistency, you might want to consider renaming these constants as well, unless they're needed for backward compatibility with API endpoints.

kommunicate/src/main/java/io/kommunicate/devkit/database/MobiComDatabaseHelper.java (1)

23-23: Consider reviewing database constant names in a future update

While the service class references have been updated, database-related constants like DB_NAME = "APPLOZIC_LOCAL_DATABASE" and APPLOZIC_TYPE = "applozicType" still contain "Applozic" references. This is likely intentional to maintain database compatibility, but you might want to create a plan for gradually migrating these constants in the future.

Also applies to: 81-81

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/AlTotalUnreadCountTask.java (1)

16-18: Consider renaming the class and TAG constant for complete consistency.

While the service references have been updated, the class name AlTotalUnreadCountTask and the TAG constant "AlTotalUnreadCountTask" still contain the "Al" prefix (likely standing for "Applozic"). For complete consistency with the PR objective of renaming Applozic references, consider renaming these as well.

-public class AlTotalUnreadCountTask extends AlAsyncTask<Void, Integer> {
+public class KmTotalUnreadCountTask extends KmAsyncTask<Void, Integer> {

-    private static final String TAG = "AlTotalUnreadCountTask";
+    private static final String TAG = "KmTotalUnreadCountTask";

Note: This would also require updating the class name in all files that reference this class, as well as potentially renaming the file itself.

kommunicate/src/main/java/io/kommunicate/devkit/broadcast/TimeChangeBroadcastReceiver.java (1)

37-39: Consider renaming the variable for consistency.

While the class references have been correctly updated to ChatIntentService, the variable name applozicIntent still contains "applozic", which is inconsistent with the renaming strategy adopted in this PR.

-Intent applozicIntent = new Intent(context, ChatIntentService.class);
-applozicIntent.putExtra(ChatIntentService.AL_TIME_CHANGE_RECEIVER, true);
-ChatIntentService.enqueueWork(context, applozicIntent);
+Intent chatIntent = new Intent(context, ChatIntentService.class);
+chatIntent.putExtra(ChatIntentService.AL_TIME_CHANGE_RECEIVER, true);
+ChatIntentService.enqueueWork(context, chatIntent);

Additionally, note that the constant AL_TIME_CHANGE_RECEIVER still has the "AL_" prefix, which likely stands for "Applozic". This might be something to consider updating in the ChatIntentService class to maintain complete renaming consistency.

kommunicate/src/main/java/io/kommunicate/commons/data/AlPrefSettings.java (1)

8-8: Consider renaming the Al prefix for consistency.

While the service references have been updated, the class name AlPrefSettings and constants like AL_PREF_SETTING_KEY still contain Applozic-related prefixes. Consider renaming these to align with the Kommunicate branding for complete consistency, unless these are intentionally preserved for backward compatibility.

Also applies to: 10-10

kommunicate/src/main/java/io/kommunicate/async/KmConversationRemoveMemberTask.java (1)

48-48: Consistent service reference update.

The change to use AppContextService instead of ApplozicService is consistent with the import change and maintains the same functionality.

However, I notice that the string resource ID "applozic_userId_error_info_in_logs" still contains "applozic" in its name. While not critical for this PR, you might want to consider renaming this resource in a future update for complete consistency with your rebranding efforts.

kommunicate/src/main/java/io/kommunicate/preference/KmConversationInfoSetting.java (3)

22-22: Consider updating the SharedPreferences key constant.

The SharedPreferences file is still using the legacy constant MobiComUserPreference.AL_USER_PREF_KEY which has the "AL" prefix (presumably for Applozic). You might want to rename this constant as well to maintain consistency with the broader renaming effort.


109-111: Consider using apply() instead of commit().

For consistency with other methods in this class and better performance, consider using apply() instead of commit() for SharedPreferences operations. The apply() method performs operations asynchronously whereas commit() is synchronous and may cause UI stuttering.

-            sharedPreferences.edit().putBoolean(NEW_TOOLBAR_ENABLED,enable).commit();
+            sharedPreferences.edit().putBoolean(NEW_TOOLBAR_ENABLED,enable).apply();

125-125: Standardize SharedPreferences edit operations.

For consistency, consider using apply() instead of commit() in all SharedPreferences operations. This occurs in multiple methods (setToolbarAgentExperience, setToolbarSubtitleRating).

// In setToolbarAgentExperience method
-            sharedPreferences.edit().putString(AGENT_EXPERIENCE,experience).commit();
+            sharedPreferences.edit().putString(AGENT_EXPERIENCE,experience).apply();

// In setToolbarSubtitleRating method
-            sharedPreferences.edit().putFloat(AGENT_RATING,rating).commit();
+            sharedPreferences.edit().putFloat(AGENT_RATING,rating).apply();

Also applies to: 139-139

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ChatIntentService.java (1)

25-25: Update TAG constant to match the new class name

The TAG constant still uses the old class name "ApplozicIntentService" while the class has been renamed to "ChatIntentService". For consistency, consider updating the TAG to match the new class name.

-    private static final String TAG = "ApplozicIntentService";
+    private static final String TAG = "ChatIntentService";
kommunicate/src/main/AndroidManifest.xml (1)

92-101: Consider updating meta-data entries with "com.applozic" prefix

While the service names have been updated to remove "Applozic" references, there are still several meta-data entries that use the "com.applozic" prefix:

  • com.applozic.server.url
  • com.applozic.mqtt.server.url
  • com.applozic.mobicomkit.notification.tone

If these meta-data keys are used externally or for backward compatibility, they might need to remain unchanged. Otherwise, consider renaming them to maintain consistency with the PR objective of removing Applozic references.

If these keys are used for internal configuration only and don't need to maintain backward compatibility, you could consider renaming them to follow the new naming convention.

kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/MultipartUtility.java (2)

28-32: Update Log TAG to Reflect Class Rename:
The class has been renamed from ApplozicMultipartUtility to MultipartUtility, but the TAG field still uses "AlMultipartUtility". For consistency and clarity—especially for debugging—update the TAG value (e.g., to "MultipartUtility" or "KommunicateMultipartUtility").


61-79: Enhance Encoding Consistency Across Constructors:
The second constructor currently uses a hard-coded "UTF-8" when creating the OutputStreamWriter, whereas the first constructor accepts a dynamic charset parameter. For consistency and potential future flexibility, consider parameterizing the charset in the second constructor as well.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MobiComMessageService.java (1)

255-256: Consider renaming constant for consistency

The constant MobiComKitConstants.APPLOZIC_UNREAD_COUNT still contains the "Applozic" prefix. While this might be intentionally retained for backward compatibility, it would be good to consider renaming this constant to match the new branding if it doesn't impact existing integrations.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/database/MessageDatabaseService.java (1)

568-573: Consider reusing the SettingsSharedPreference instance from constructor.

While the migration from ApplozicClient to SettingsSharedPreference is correctly implemented, creating a new instance here when the class already has one initialized in the constructor could be optimized.

-        SettingsSharedPreference settingsSharedPreference = SettingsSharedPreference.getInstance(context);
+        // Reuse the instance that was created in the constructor
         long id = -1;
         boolean duplicateCheck = true;
-        long minCreatedAt = settingsSharedPreference.getMinCreatedAtTime();
-        long maxCreatedAt = settingsSharedPreference.getMaxCreatedAtTime();
+        long minCreatedAt = SettingsSharedPreference.getInstance(context).getMinCreatedAtTime();
+        long maxCreatedAt = SettingsSharedPreference.getInstance(context).getMaxCreatedAtTime();
kommunicate/src/main/java/io/kommunicate/feeds/CoreUser.java (1)

9-11: Class renamed and marked for deprecation.

The class has been appropriately renamed from ApplozicUser to CoreUser as part of the PR objective to rename classes with Applozic initials. The addition of @Deprecated and @CleanUpRequired annotations clearly indicate that this class should not be used in new code and is a candidate for removal.

Consider adding Javadoc documentation to provide migration guidance for developers, including:

  • Explanation of why the class is deprecated
  • Alternative classes or approaches to use instead
  • Timeline for potential removal
+/**
+ * @deprecated This class is no longer used in the Kommunicate framework and will be removed in a future release.
+ * It was previously part of the Applozic framework and has been renamed as part of the migration to Kommunicate.
+ */
 @Deprecated
 @CleanUpRequired(reason = "Not used anywhere")
 public class CoreUser {
kommunicate/src/main/java/io/kommunicate/devkit/api/notification/NotificationService.java (2)

59-59: Consider updating the GROUP_KEY constant

The GROUP_KEY constant still contains "applozic_key" which doesn't align with the rebranding effort from Applozic to Kommunicate.

-private static String GROUP_KEY = "applozic_key";
+private static String GROUP_KEY = "kommunicate_key";

57-58: Update metadata constant names

These constants still reference "com.applozic.mobicomkit" in their values, which doesn't align with the rebranding initiative.

-private static final String NOTIFICATION_SMALL_ICON_METADATA = "com.applozic.mobicomkit.notification.smallIcon";
-private static final String NOTIFICATION_SMALL_ICON_COLOR = "com.applozic.mobicomkit.notification.iconColor";
+private static final String NOTIFICATION_SMALL_ICON_METADATA = "io.kommunicate.devkit.notification.smallIcon";
+private static final String NOTIFICATION_SMALL_ICON_COLOR = "io.kommunicate.devkit.notification.iconColor";
kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MessageClientService.java (1)

586-586: Update commented out code to use the renamed exception class.

The commented-out code still references the old ApplozicException class.

-                //handler.onCompleted(new ApplozicException("Error uploading file"));
+                //handler.onCompleted(new KommunicateException("Error uploading file"));
kommunicate/src/main/java/io/kommunicate/devkit/channel/service/ChannelService.java (1)

1-915: Consider updating any remaining TAG constants

While the class renaming has been implemented consistently, check if any TAG constants (like line 68) are still referencing the old class names for complete consistency.

kommunicate/src/main/java/io/kommunicate/commons/commons/core/utils/Utils.java (2)

49-49: Consider renaming remaining Applozic reference

The constant APPLOZIC_PROVIDER still contains the "Applozic" name. For complete consistency with the PR objectives, consider renaming this constant if it's not required for backward compatibility reasons.

-    private static final String APPLOZIC_PROVIDER = ".applozic.provider";
+    private static final String KOMMUNICATE_PROVIDER = ".kommunicate.provider";

385-385: Update provider string reference for complete rebranding

This line still uses APPLOZIC_PROVIDER which maintains the old naming convention. If you rename the constant as suggested earlier, make sure to update all its references as well.

kommunicate/src/main/java/io/kommunicate/devkit/api/notification/NotificationChannels.java (1)

40-40: Update remaining reference to Applozic in constant string

This constant string still contains a reference to Applozic.getInstance(context) which should be updated to reference KommunicateSettings.getInstance(context) for consistency with the rest of the codebase.

-private static final String SET_SOUND_PATH = "Please set a sound path using Applozic.getInstance(context).setCustomNotificationSound(your-sound-file-path)";
+private static final String SET_SOUND_PATH = "Please set a sound path using KommunicateSettings.getInstance(context).setCustomNotificationSound(your-sound-file-path)";
kommunicate/src/main/java/io/kommunicate/commons/ALSpecificSettings.java (2)

15-20: Consider renaming remaining Applozic references in this class.

While the service reference has been updated, the class still contains multiple Applozic-related identifiers:

  1. The class name ALSpecificSettings (AL prefix representing Applozic)
  2. Static constant APPLOZIC_SUPPORT
  3. Preference key applozic_internal_preference_key
  4. Variable applozicSettings

These identifiers could be updated to maintain consistency with the PR's renaming objective.


9-13: Update class documentation to reflect ownership change.

The comment "Do not touch settings from this file, unless asked to do so by Applozic" should be updated to reference Kommunicate instead of Applozic for consistency with the rebranding effort.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MqttIntentService.java (1)

28-28: Update the TAG constant for consistency.

The TAG constant still references the old class name "ApplozicMqttIntentService" which should be updated to match the new class name.

-public static final String TAG = "ApplozicMqttIntentService";
+public static final String TAG = "MqttIntentService";
kommunicate/src/main/java/io/kommunicate/devkit/broadcast/ConversationBroadcastReceiver.java (1)

20-20: Update the TAG constant for consistency.

The TAG constant still references the old class name "ApplozicUIReceiver" which should be updated to match the new naming convention.

-private static final String TAG = "ApplozicUIReceiver";
+private static final String TAG = "ConversationUIReceiver";
kommunicate/src/main/java/io/kommunicate/devkit/api/MqttService.java (1)

45-46: TAG constant still references old class name

While the class has been renamed to MqttService, the TAG constant still contains "ApplozicMqttService". Consider updating this to match the new class name for consistency.

-private static final String TAG = "ApplozicMqttService";
+private static final String TAG = "MqttService";
kommunicate/src/main/java/io/kommunicate/devkit/SettingsSharedPreference.java (1)

144-144: Default app name still references "Applozic".

While class and variable names have been updated, the default app name in getAppName() still returns "Applozic". Consider updating this default value to align with the Kommunicate branding.

-        return sharedPreferences.getString(APP_NAME, "Applozic");
+        return sharedPreferences.getString(APP_NAME, "Kommunicate");
kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MobiComConversationService.java (3)

365-366: Complicated conditional block
Combining multiple checks for wasServerCallDoneBefore with contact == null and channel == null can reduce readability. Consider extracting it into a well-named helper method for clarity.


559-560: Repeated conditional logic
The conditional logic at lines 559-560 mirrors lines 365-366. Consider DRYing this out or introducing a shared utility method to handle the duplication.


1110-1110: Constructing KommunicateException from a string
Here, e is actually a string from the bundle, so new KommunicateException(e) has no stacktrace. Consider renaming the variable to something like errorString for clarity, or providing more context in the exception.

- String e = bundle.getString(ERROR);
+ String errorString = bundle.getString(ERROR);
  ...
- progressHandler.onUploadStarted(e != null ? new KommunicateException(e) : null, oldMessageKey);
+ progressHandler.onUploadStarted(errorString != null ? new KommunicateException(errorString) : null, oldMessageKey);

Also applies to: 1116-1116, 1122-1122, 1128-1128

kommunicateui/src/main/java/io/kommunicate/ui/conversation/activity/ConversationActivity.java (1)

499-499: Empty placeholder method.
preTaskUIMethod() is purely TODO at the moment. If it’s not used, consider removing or implementing the progress indicator as intended.

kommunicate/src/main/java/io/kommunicate/Kommunicate.java (3)

285-285: Consider providing more context in the failure callback.

Currently, the exception message is generic. Including details from the original error (if available) or a more descriptive message may help with debugging.

- handler.onFailure(null, new KommunicateException("unable to create user."));
+ handler.onFailure(null, new KommunicateException("Unable to create user—add relevant details here if available."));

990-991: Ensure AppContextService.getAppContext() is valid.

Accessing a global context from AppContextService could raise null-safety questions. Consider confirming that the context is properly initialized before using it.


1080-1080: Consider switching to apply() instead of commit().

commit() is synchronous and can block the calling thread. apply() is typically preferred for asynchronous persistence unless immediate blocking is required.

- new SecureSharedPreferences(...)
-     .edit()
-     .remove(APPLICATION_KEY)
-     .commit();
+ new SecureSharedPreferences(...)
+     .edit()
+     .remove(APPLICATION_KEY)
+     .apply();
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3833b3e and 15f2766.

📒 Files selected for processing (107)
  • app/src/main/java/kommunicate/io/sample/MainActivity.java (2 hunks)
  • kommunicate/src/main/AndroidManifest.xml (1 hunks)
  • kommunicate/src/main/java/io/kommunicate/KmConversationHelper.java (12 hunks)
  • kommunicate/src/main/java/io/kommunicate/KmCustomEventManager.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/KmException.java (1 hunks)
  • kommunicate/src/main/java/io/kommunicate/KmSettings.java (5 hunks)
  • kommunicate/src/main/java/io/kommunicate/Kommunicate.java (14 hunks)
  • kommunicate/src/main/java/io/kommunicate/async/KmAssigneeUpdateTask.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/async/KmConversationRemoveMemberTask.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/async/KmSyncMessageTask.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/commons/ALSpecificSettings.java (1 hunks)
  • kommunicate/src/main/java/io/kommunicate/commons/AppContextService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/commons/commons/core/utils/DBUtils.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/commons/commons/core/utils/DateUtils.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/commons/commons/core/utils/Utils.java (9 hunks)
  • kommunicate/src/main/java/io/kommunicate/commons/data/AlPrefSettings.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/commons/data/SecureSharedPreferences.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/database/DatabaseMigrationHelper.kt (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/database/KmAutoSuggestionDatabase.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/database/KmDatabaseHelper.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/KommunicateSettings.java (7 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/SettingsSharedPreference.java (25 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/HttpRequestUtils.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/MobiComKitClientService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/MqttService.java (4 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/account/register/RegisterUserClientService.java (7 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/AlUserSearchTask.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/MobiComUserPreference.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/UserClientService.java (6 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/UserService.java (4 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/AttachmentManager.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/FileClientService.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/MultipartUtility.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/urlservice/MongoStorageService.java (1 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/urlservice/URLServiceProvider.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/AlTotalUnreadCountTask.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ChatIntentService.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ConversationHelper.java (8 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ConversationIntentService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ConversationListTask.java (4 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/Message.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MessageClientService.java (6 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MessageIntentService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MessageListTask.java (4 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MobiComConversationService.java (12 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MobiComMessageService.java (5 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MqttIntentService.java (5 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/SyncCallService.java (4 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/database/ConversationDatabaseService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/database/MessageDatabaseService.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/service/ConversationClientService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/service/ConversationService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/notification/NotificationChannels.java (8 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/notification/NotificationService.java (12 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/notification/WearableNotificationWithVoice.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/api/people/UserIntentService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/broadcast/AlEventManager.java (4 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/broadcast/BroadcastService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/broadcast/ConnectivityReceiver.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/broadcast/ConversationBroadcastReceiver.java (5 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/broadcast/TimeChangeBroadcastReceiver.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/channel/database/ChannelDatabaseService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/channel/service/AddMemberOfGroupTypeModel.java (1 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/channel/service/ChannelClientService.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/channel/service/ChannelService.java (4 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/contact/AppContactService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/contact/database/ContactDatabase.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/database/MobiComDatabaseHelper.java (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/exception/KommunicateException.java (1 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/listners/ConversationListHandler.java (1 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/listners/MediaDownloadProgressHandler.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/listners/MediaUploadProgressHandler.java (1 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/listners/MessageListHandler.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/devkit/listners/UIEventListener.java (1 hunks)
  • kommunicate/src/main/java/io/kommunicate/feeds/CoreUser.java (1 hunks)
  • kommunicate/src/main/java/io/kommunicate/preference/KmBotPreference.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/preference/KmConversationInfoSetting.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/preference/KmDefaultSettingPreference.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/services/KmChannelService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/services/KmClientService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/services/KmHttpClient.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/services/KmService.java (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/services/KmUserClientService.java (4 hunks)
  • kommunicate/src/main/java/io/kommunicate/usecase/AssigneeUpdateUseCase.kt (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/usecase/KMUserLoginUseCase.kt (2 hunks)
  • kommunicate/src/main/java/io/kommunicate/utils/KmAppSettingPreferences.kt (3 hunks)
  • kommunicate/src/main/java/io/kommunicate/utils/KmUtils.kt (3 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/KommunicateSetting.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/attachmentview/KommunicateAudioManager.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/ConversationUIService.java (3 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/KmCustomDialog.java (6 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/MobiComKitBroadcastReceiver.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/activity/ConversationActivity.java (13 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/adapter/DetailedConversationAdapter.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/adapter/KmContextSpinnerAdapter.java (3 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/fragment/FeedbackInputFragment.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/fragment/FeedbackInputFragmentv2.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/fragment/MessageInfoFragment.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/fragment/MobiComConversationFragment.java (58 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/fragment/MobiComQuickConversationFragment.java (8 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/conversation/richmessaging/RichMessageActionProcessor.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/KmPrefSettings.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/activities/LeadCollectionActivity.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/adapters/KmPrechatInputAdapter.java (3 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/settings/KmSpeechToTextSetting.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/utils/KmHelper.java (2 hunks)
  • kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/utils/KmThemeHelper.java (2 hunks)
⛔ Files not processed due to max files limit (3)
  • kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/widgets/KmChatWidget.java
  • kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/widgets/KmChatWidgetHelper.java
  • kommunicateui/src/main/java/io/kommunicate/ui/utils/RichMessageSharedPreference.kt
🧰 Additional context used
🧠 Learnings (2)
kommunicate/src/main/java/io/kommunicate/devkit/api/people/UserIntentService.java (1)
Learnt from: prateek-kommunicate
PR: Kommunicate-io/Kommunicate-Android-Chat-SDK#575
File: kommunicate/src/main/java/com/applozic/mobicomkit/api/conversation/SyncCallService.java:121-121
Timestamp: 2025-04-03T10:58:10.156Z
Learning: In `SyncCallService.java`, the `message` parameter in the `syncMessages` method is guaranteed to be non-null, so null checks are unnecessary when using it.
kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ConversationListTask.java (1)
Learnt from: prateek-kommunicate
PR: Kommunicate-io/Kommunicate-Android-Chat-SDK#609
File: kommunicate/src/main/java/io/kommunicate/async/KmCreateConversationTask.java:84-84
Timestamp: 2025-04-03T10:58:20.414Z
Learning: The KMStartChatHandler interface's onFailure method expects an Exception parameter (void onFailure(Exception exception, Context context)), not a response object. The change to pass null instead of the response object in KmCreateConversationTask aligns with the interface definition.
🔇 Additional comments (366)
kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/urlservice/URLServiceProvider.java (2)

7-7: Import statement updated to align with renaming strategy.

The import statement has been updated from ApplozicService to AppContextService, which aligns with the PR objective of renaming classes with Applozic initials. This is a straightforward import change that's part of the systematic renaming process.


21-21: Context initialization updated to use the renamed service.

The context initialization has been updated to use AppContextService.getContext(context) instead of ApplozicService.getContext(context). This change maintains the same functionality while aligning with the renaming strategy.

kommunicate/src/main/java/io/kommunicate/database/DatabaseMigrationHelper.kt (1)

6-6: LGTM! Class renaming applied correctly.

The changes correctly implement the renaming from ApplozicService to AppContextService, aligning with the PR's objective to replace Applozic initials with Kommunicate branding. Both the import statement and the method call have been updated consistently.

Also applies to: 24-24

kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/AttachmentManager.java (1)

32-32: Consistent renaming from Applozic to Kommunicate

The renaming of exception classes from ApplozicException to KommunicateException is consistent with the PR objective to standardize naming across the codebase. This change maintains the same error handling functionality while aligning with the Kommunicate branding.

Also applies to: 242-242

kommunicate/src/main/java/io/kommunicate/commons/data/SecureSharedPreferences.java (2)

10-10: Update import to reflect the new naming convention.
The import now correctly references AppContextService (i.e. import io.kommunicate.commons.AppContextService;), which aligns with the PR's objective of renaming legacy Applozic classes to the Kommunicate standard.


36-36: Standardize context retrieval with AppContextService.
The change from ApplozicService.getContext(context) to AppContextService.getContext(context) correctly updates the source of the application context, ensuring consistency with the rebranding effort.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/fragment/FeedbackInputFragmentv2.java (2)

27-27: Import statement correctly updated to use AppContextService

The import statement has been correctly updated from ApplozicService to AppContextService as part of the systematic renaming effort outlined in the PR objectives.


156-156: Updated service reference from ApplozicService to AppContextService

The method call has been properly updated to use AppContextService.getContext() instead of ApplozicService.getContext(). This change maintains the same functionality while aligning with the PR goal of renaming Applozic-prefixed classes.

kommunicate/src/main/java/io/kommunicate/preference/KmDefaultSettingPreference.java (2)

6-6: Appropriate class name change from ApplozicService to AppContextService.

The import statement has been correctly updated to use the renamed class, which is part of the systematic renaming effort to remove "Applozic" initials throughout the codebase.


22-22: Consistent implementation of the renamed service.

The initialization of preferences has been correctly updated to use AppContextService.getAppContext() instead of ApplozicService.getAppContext(), maintaining functionality while adhering to the new naming convention.

kommunicate/src/main/java/io/kommunicate/preference/KmBotPreference.java (3)

7-7: Import statement updated correctly.

The import has been appropriately changed from ApplozicService to AppContextService as part of the rebranding effort.


18-18: Context retrieval implementation updated properly.

The implementation has been correctly updated to use AppContextService.getContext(context) instead of ApplozicService.getContext(context) while maintaining the same functionality.


23-23: Singleton instance creation updated correctly.

The singleton pattern implementation has been properly maintained with the updated service name, ensuring consistent context retrieval throughout the application.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/adapter/KmContextSpinnerAdapter.java (3)

64-64: Consistent Renaming in Variable Declaration
The declaration now uses ProductViewHolder in place of the former view holder type. This change is consistent with the new naming convention for the refactored classes.


68-68: Correct Instantiation of the New ViewHolder
The instantiation is updated to new ProductViewHolder(), which aligns with the renaming. Verify that all similar instantiations and type references throughout the codebase have been updated accordingly.


78-78: Updated Casting to Match New ViewHolder Type
The cast from convertView.getTag() now correctly uses ProductViewHolder. This change ensures that the view recycling mechanism remains type-safe.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/database/ConversationDatabaseService.java (1)

11-11: Class renaming from ApplozicService to AppContextService successfully implemented.

The context management has been consistently updated from ApplozicService to AppContextService across the import statement and both usage locations. This change aligns with the PR objective of renaming classes with Applozic initials to enhance code clarity and maintain consistency across the codebase.

Also applies to: 31-31, 37-37

kommunicate/src/main/java/io/kommunicate/KmException.java (2)

3-3: Import statement updated to reflect naming convention change.

The import statement has been updated from ApplozicException to KommunicateException, aligning with the PR objective of systematically renaming classes with Applozic initials to match Kommunicate branding.


9-9: Class inheritance updated consistently with import change.

The class inheritance has been modified from extending ApplozicException to extending KommunicateException, completing the renaming pattern. This change is consistent with the PR's objective of replacing Applozic references with Kommunicate branding.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/service/ConversationService.java (2)

9-9: Updated import statement aligns with rebranding effort.

The import statement has been updated from ApplozicService to AppContextService as part of the systematic class renaming initiative mentioned in the PR objectives.


35-35: Service instantiation updated to match renamed class.

The service instantiation now correctly uses AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context), maintaining functionality while updating the class reference.

kommunicate/src/main/java/io/kommunicate/devkit/broadcast/ConnectivityReceiver.java (3)

12-12: Good import update for consistency.

The import has been correctly updated to reflect the new class name as part of the broader refactoring effort.


39-42: References successfully updated for boot events.

All references to the legacy ApplozicIntentService have been properly updated to use ChatIntentService, including both the class reference and the constant for extras.


55-58: References successfully updated for connectivity events.

The connectivity change handler has been properly updated to use ChatIntentService throughout, maintaining consistent naming with the rest of the codebase.

kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/AlUserSearchTask.java (2)

5-5: LGTM: Import statement updated to use KommunicateException.

The import has been correctly updated from ApplozicException to KommunicateException, aligning with the PR objective to rename Applozic-prefixed classes.


31-31: LGTM: Exception instantiation updated consistently.

The exception instantiation has been correctly changed from ApplozicException to KommunicateException. The functionality remains the same since only the class name has changed while maintaining the same parameter (EMPTY_SEARCH constant).

kommunicateui/src/main/java/io/kommunicate/ui/conversation/fragment/FeedbackInputFragment.java (1)

28-28: Correct implementation of Applozic to Kommunicate renaming.

The change from ApplozicService to AppContextService is consistent with the PR objective of renaming classes with Applozic initials to align with Kommunicate branding. The functionality remains the same as only the class name has been updated while maintaining the same method signature.

Also applies to: 119-119

kommunicate/src/main/java/io/kommunicate/services/KmChannelService.java (1)

8-8: Correct renaming from ApplozicService to AppContextService

The import statement and method call have been correctly updated to use AppContextService instead of ApplozicService, which aligns with the PR objective of replacing Applozic class names with Kommunicate equivalents. This change maintains the existing functionality while improving consistency in naming conventions across the codebase.

Also applies to: 29-29

kommunicate/src/main/java/io/kommunicate/devkit/contact/database/ContactDatabase.java (3)

13-16: Import statements properly updated.

The imports have been correctly updated to reflect the renaming from Applozic to Kommunicate:

  • ApplozicClientSettingsSharedPreference
  • ApplozicServiceAppContextService

This change aligns with the PR's objective of systematically renaming classes with Applozic initials.


38-42: Context initialization properly updated.

All context initialization code has been consistently updated to use AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context). This ensures that the application context is accessed through the newly renamed class throughout the constructor.


494-494: Setting check properly updated.

The check for whether to show contacts has been correctly updated from ApplozicClient.getInstance(context).isShowMyContacts() to SettingsSharedPreference.getInstance(context).isShowMyContacts(), maintaining the same functionality while using the renamed class.

kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/MobiComUserPreference.java (3)

9-9: Import statement updated correctly for new class name.

The import statement has been updated to use AppContextService instead of what was likely ApplozicService previously, aligning with the PR's goal of renaming Applozic-prefixed classes.


100-101: Consistent replacement of ApplozicService with AppContextService.

The constructor has been properly updated to use AppContextService instead of ApplozicService for context retrieval and initialization. This change is consistent with the goal of replacing Applozic-prefixed classes with Kommunicate naming conventions.


110-110: Consistent usage of AppContextService throughout the class.

The getInstance method has been updated to use AppContextService.getContext(context) instead of the previous ApplozicService implementation, maintaining consistency across the class.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/adapter/DetailedConversationAdapter.java (2)

56-56: Import statement updated for KommunicateSettings class.

The import statement has been updated to use io.kommunicate.devkit.KommunicateSettings instead of the previous Applozic class, which aligns with the PR objective of renaming classes with Applozic initials.


262-262: GeoApiKey retrieval method updated to use KommunicateSettings.

The code has been successfully updated to retrieve the geo API key from KommunicateSettings instead of the previous Applozic class. This maintains the same functionality while aligning with the rebranding effort.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/richmessaging/RichMessageActionProcessor.java (1)

27-27: Class renaming from Applozic to Kommunicate framework successfully implemented.

The code correctly replaces the reference to ApplozicService with AppContextService in both the import statement and the method call, maintaining the same functionality while aligning with the Kommunicate branding initiative.

Also applies to: 178-178

kommunicate/src/main/java/io/kommunicate/devkit/api/notification/WearableNotificationWithVoice.java (2)

16-16: Import properly updated as part of renaming.

The import statement has been correctly updated to use SettingsSharedPreference instead of what was likely ApplozicClient previously, aligning with the PR objective of renaming classes with Applozic initials.


75-75: Method call updated correctly.

The code now properly references SettingsSharedPreference.getInstance(mContext).isNotificationSmallIconHidden() instead of the previous ApplozicClient implementation. This maintains the same functionality while aligning with the class renaming objective of this PR.

kommunicate/src/main/java/io/kommunicate/devkit/exception/KommunicateException.java (1)

7-7: Class Renaming Verification
The class has been correctly renamed to KommunicateException, which aligns with the new Kommunicate branding guidelines.

kommunicate/src/main/java/io/kommunicate/database/KmAutoSuggestionDatabase.java (1)

13-13: Class renaming successfully implemented

The renaming from ApplozicService to AppContextService has been properly implemented both in the import statement and context initialization. This change correctly aligns with the PR objective to rename classes with Applozic initials.

Also applies to: 26-26

kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/utils/KmHelper.java (2)

12-12: Import statement updated to reflect class renaming

The import statement has been properly updated from Applozic to KommunicateSettings as part of the systematic class renaming effort mentioned in the PR objectives.


132-132: Method call updated to use KommunicateSettings

The method call has been correctly updated to use KommunicateSettings.getInstance(context) instead of Applozic.getInstance(context), ensuring that the application ID is still retrieved properly during the login process.

kommunicate/src/main/java/io/kommunicate/usecase/AssigneeUpdateUseCase.kt (2)

4-4: Import statement updated from ApplozicService to AppContextService

This change aligns with the PR objective of renaming classes with "Applozic" initials. The AppContextService now provides the application context functionality that was previously handled by ApplozicService.


35-35: Context retrieval updated to use AppContextService

The initialization of clientService now uses AppContextService.getAppContext() instead of the previous ApplozicService.getAppContext(). This maintains consistent behavior while following the new naming convention.

kommunicate/src/main/java/io/kommunicate/utils/KmAppSettingPreferences.kt (4)

6-8: Import statements updated to use Kommunicate-branded classes

The imports have been appropriately updated to reference the new Kommunicate-branded classes instead of the previous Applozic-branded ones. This aligns with the PR objective of renaming classes with Applozic initials.


50-51: App context retrieval updated to use AppContextService

The SharedPreferences initialization now correctly uses AppContextService.getAppContext() instead of the previous Applozic service. This change is consistent with the renaming pattern.


54-55: App context retrieval updated for AL preferences

The second SharedPreferences initialization also correctly uses AppContextService.getAppContext(). This ensures consistent usage of the new service classes throughout the preferences object.


188-188: Application key retrieval updated to use KommunicateSettings

The application key is now correctly obtained from KommunicateSettings.getInstance(context) instead of the previous Applozic class. This change maintains the same functionality while using the renamed class.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/ConversationUIService.java (3)

26-27: LGTM: Import changes align with class renaming.

The import statements have been updated to reflect the rebranding from Applozic to Kommunicate naming conventions.


119-119: LGTM: Updated settings retrieval to use the renamed class.

The code now retrieves the action message visibility status from SettingsSharedPreference instead of ApplozicClient, maintaining functionality while aligning with the rebranding effort.


919-919: LGTM: Updated MQTT connection method call.

The method call to connect to the publish service has been updated from Applozic.connectPublish to KommunicateSettings.connectPublish, correctly following the class renaming pattern.

kommunicate/src/main/java/io/kommunicate/utils/KmUtils.kt (3)

20-24: Import statements updated properly

The import statements have been correctly updated to use the renamed classes:

  • SettingsSharedPreference instead of ApplozicClient
  • AppContextService instead of ApplozicService

This aligns with the PR objective of renaming classes with Applozic initials.


125-125: Application context reference updated correctly

The isAgent property now retrieves the application context using AppContextService.getAppContext() instead of the previous ApplozicService.getAppContext(). This change maintains the same functionality while using the renamed service.


186-186: Message metadata retrieval updated properly

The getCustomBotName method now correctly uses SettingsSharedPreference.getInstance(context).messageMetaData instead of ApplozicClient.getInstance(context).messageMetaData for retrieving message metadata. This change is consistent with the renaming pattern throughout the codebase.

kommunicate/src/main/java/io/kommunicate/async/KmAssigneeUpdateTask.java (2)

6-6: Import statement updated to reflect renamed class.

The import has been changed from ApplozicService to AppContextService as part of the systematic renaming of classes with Applozic initials. This change aligns with the PR objective to enhance code clarity and maintain consistency.


37-37: Context retrieval method updated to use renamed service.

The application context retrieval has been updated to use AppContextService.getAppContext() instead of ApplozicService.getAppContext(), consistent with the import change. This maintains the functionality while updating the naming convention.

kommunicateui/src/main/java/io/kommunicate/ui/attachmentview/KommunicateAudioManager.java (3)

13-13: Successfully replaced Applozic import with Kommunicate equivalent.

The import statement has been properly updated to use the new AppContextService from the Kommunicate commons package, aligning with the PR objective of removing Applozic references.


35-35: Constructor context initialization updated correctly.

The context initialization in the constructor has been successfully updated to use AppContextService instead of the previous ApplozicService, maintaining the same functionality while adhering to the renaming initiative.


40-40: Singleton pattern implementation properly updated.

The static instance creation method has been correctly updated to use AppContextService for context retrieval, ensuring consistency with the other changes in the class.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/MobiComKitBroadcastReceiver.java (2)

10-10: Import updated to reflect class renaming

The import has been correctly updated from ApplozicClient to SettingsSharedPreference as part of the broader class renaming initiative.


46-46: Usage of renamed class looks good

The initialization of hideActionMessages has been properly updated to use the new SettingsSharedPreference class instead of the former ApplozicClient. This maintains the same functionality while adhering to the new naming convention.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MessageListTask.java (4)

7-7: Import statement updated correctly.

The import statement has been correctly changed from ApplozicException to KommunicateException, which aligns with the PR objective of renaming classes with Applozic initials.


36-36: Field type updated correctly.

The field type has been correctly updated from ApplozicException to KommunicateException to maintain consistency with the renamed exception class.


62-62: Exception instantiation updated correctly.

The exception instantiation has been properly updated to use the new KommunicateException class while maintaining the same functionality.


115-115: Exception handling updated correctly in catch block.

The exception handling in the catch block has been properly updated to instantiate KommunicateException instead of ApplozicException, maintaining consistency with the renamed exception class.

kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/activities/LeadCollectionActivity.java (2)

28-28: Import statement updated correctly to reflect class renaming.

The import statement has been updated from io.kommunicate.commons.ApplozicService to io.kommunicate.commons.AppContextService, aligning with the PR objective to rename classes with Applozic initials.


57-57: Method call updated correctly to use the renamed service.

The service initialization has been updated from ApplozicService.initWithContext(this) to AppContextService.initWithContext(this), maintaining the same functionality while using the renamed class.

kommunicate/src/main/java/io/kommunicate/devkit/api/HttpRequestUtils.java (1)

10-10: Consistent renaming from Applozic to Kommunicate naming convention

The change from ApplozicService to AppContextService is executed correctly and aligns with the PR objectives of renaming classes with Applozic initials. The functionality remains the same while ensuring a consistent naming approach across the codebase.

Also applies to: 55-55

kommunicate/src/main/java/io/kommunicate/commons/commons/core/utils/DBUtils.java (2)

11-11: LGTM! Import statement properly updated.

The import statement has been correctly updated from ApplozicService to AppContextService as part of the systematic renaming effort mentioned in the PR objectives.


57-57: LGTM! Method call properly updated.

The method call has been correctly updated to use AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context), maintaining consistent functionality while aligning with the PR's renaming objectives.

kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/utils/KmThemeHelper.java (3)

10-10: Import statement updated to use AppContextService

The import was successfully updated from ApplozicService to AppContextService as part of the systematic renaming effort specified in the PR objectives. This change aligns with the broader initiative to replace Applozic prefixed class names throughout the codebase.


51-51: Constructor updated to use AppContextService

The constructor implementation has been consistently updated to use AppContextService.getContext(context) instead of ApplozicService.getContext(context), maintaining functional equivalence while aligning with the renaming initiative.


66-66: Resource references still use Applozic prefix

While class names have been updated, color resource references like R.color.applozic_theme_color_primary still contain the Applozic prefix. This aligns with observations in the PR comments about XML theme and style names being retained, likely for backward compatibility.

If retaining these resource names is intentional for backward compatibility, this is acceptable. Otherwise, consider updating these references in a follow-up PR to maintain consistent branding.

Also applies to: 86-86, 143-143, 153-153, 169-169

kommunicate/src/main/java/io/kommunicate/services/KmService.java (2)

10-10: Correctly updated import to use AppContextService

The import has been updated from ApplozicService to AppContextService as part of the systematic class renaming process, which aligns with the PR objectives of replacing Applozic initials with Kommunicate branding.


48-48: Implementation updated to use renamed service

The context initialization has been correctly modified to use AppContextService.getContext(context) instead of ApplozicService.getContext(context), maintaining the same functionality while adhering to the new naming convention.

kommunicate/src/main/java/io/kommunicate/devkit/api/people/UserIntentService.java (3)

17-17: Import replacement looks good.

The import change from ApplozicService to AppContextService is consistent with the PR's objective of renaming Applozic classes to align with Kommunicate branding.


21-21: Static import update is properly aligned with naming changes.

Correctly updated the static import from ApplozicConversation.isMessageStatusPublished to ConversationHelper.isMessageStatusPublished, maintaining consistency with the renaming objective.


50-50: Method implementation updated correctly.

The enqueueWork method has been properly updated to use AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context), consistent with the import changes.

kommunicate/src/main/java/io/kommunicate/commons/commons/core/utils/DateUtils.java (1)

6-6: LGTM: Consistent replacement of ApplozicService with AppContextService.

The import and all method calls have been properly updated to use AppContextService.getContext(context) instead of what was previously ApplozicService.getContext(context). This change aligns with the PR objective of renaming classes with Applozic initials to match the Kommunicate branding.

Also applies to: 74-74, 78-78, 102-102, 105-105, 108-108, 112-112

kommunicate/src/main/java/io/kommunicate/async/KmSyncMessageTask.java (2)

7-7: LGTM: Updated import statement.

Updated import statement correctly replaces the previous Applozic service with the new AppContextService class, aligning with the PR objective to rename Applozic-prefixed classes.


25-25: LGTM: Consistent service class renaming.

All calls to retrieve context from weak references have been consistently updated from ApplozicService to AppContextService while maintaining the same functionality. This change properly aligns with the PR objective to rename classes with Applozic initials.

Also applies to: 28-28, 30-30, 33-33

kommunicate/src/main/java/io/kommunicate/devkit/database/MobiComDatabaseHelper.java (4)

12-12: Appropriate import added for AppContextService

The import statement for AppContextService has been properly added to replace the previous ApplozicService import, which aligns with the PR objective of renaming Applozic-prefixed classes.


252-253: Constructor updated to use AppContextService

The constructor properly replaces all instances of ApplozicService.getContext(context) with AppContextService.getContext(context) while maintaining the same functionality. This change is consistent with the renaming strategy.


269-269: getInstance method updated to use AppContextService

The static factory method has been correctly updated to use AppContextService instead of ApplozicService.


275-275: Database access methods now use AppContextService

Both getReadableDatabase and getWritableDatabase methods have been properly updated to use AppContextService for context retrieval.

Also applies to: 282-282

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/Message.java (2)

12-12: Import correctly updated for class renaming.

The import has been updated to use SettingsSharedPreference instead of ApplozicClient, which aligns with the PR objective of renaming Applozic classes.


841-847: References properly updated to use SettingsSharedPreference.

The isIgnoreMessageAdding method has been updated to use SettingsSharedPreference.getInstance(context) instead of ApplozicClient.getInstance(context) for checking subgroup settings and action message visibility. The functionality remains the same, only the source of the settings has changed.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/AlTotalUnreadCountTask.java (3)

7-7: Import changed correctly to reflect service renaming.

The import has been updated from what was presumably ApplozicService to AppContextService, which aligns with the PR objective of renaming classes with "Applozic" initials.


34-34: Service class reference updated appropriately.

The context retrieval method call has been successfully updated from ApplozicService.getContextFromWeak() to AppContextService.getContextFromWeak(), maintaining the same functionality while aligning with the new naming convention.


47-47: Logging context retrieval updated correctly.

The method call for retrieving context in the logging statement has been properly updated to use AppContextService instead of the previous ApplozicService.

kommunicate/src/main/java/io/kommunicate/devkit/broadcast/TimeChangeBroadcastReceiver.java (1)

9-9: LGTM! Import statement updated correctly.

The import has been properly updated from ApplozicIntentService to ChatIntentService, which aligns with the PR's objective of renaming classes with "Applozic" initials.

kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/adapters/KmPrechatInputAdapter.java (3)

24-24: Import change is consistent with rebranding effort.

The import change from (likely) ApplozicService to AppContextService is properly aligned with the PR objective of replacing Applozic references with Kommunicate branding.


152-152: Toast error messages properly updated to use AppContextService.

The context retrieval for toast error messages has been consistently updated from ApplozicService.getAppContext() to AppContextService.getAppContext(), maintaining functionality while following the rebranding initiative.

Also applies to: 157-157


170-170: getString methods properly updated to use AppContextService.

Both getString methods now use AppContextService.getAppContext() instead of the previous ApplozicService.getAppContext(), ensuring consistent context retrieval throughout the adapter class while aligning with the rebranding effort.

Also applies to: 174-174

kommunicate/src/main/java/io/kommunicate/database/KmDatabaseHelper.java (3)

10-10: Approved: Renamed import from ApplozicService to AppContextService

This change is part of the systematic renaming from Applozic to Kommunicate branding and follows the pattern established throughout the codebase.


75-75: Approved: Updated context service references in constructor

The constructor now uses AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context) for retrieving database naming information. The change is consistent with the PR's objective to rename Applozic references.


80-80: Approved: Updated context service in getInstance method

The singleton instantiation correctly uses the renamed AppContextService.getContext(context) method, maintaining consistency with the other changes in this file.

kommunicate/src/main/java/io/kommunicate/commons/data/AlPrefSettings.java (1)

6-6: Service class replacement looks good.

The update from ApplozicService to AppContextService for context retrieval is consistent with the PR objective of renaming classes with Applozic initials. The functionality remains identical while transitioning to the new naming convention.

Also applies to: 32-32, 37-37

kommunicateui/src/main/java/io/kommunicate/ui/conversation/KmCustomDialog.java (8)

18-18: Import statement correctly updated.

Import statement has been properly updated from ApplozicService to AppContextService in line with the PR objective of renaming Applozic-branded classes.


38-38: Method call correctly updated.

The context retrieval for dialog title has been properly updated from ApplozicService.getContext() to AppContextService.getContext(), maintaining the same functionality while adopting the renamed service.


41-41: Method call correctly updated.

The context retrieval for setting the background drawable has been properly migrated to use AppContextService, maintaining the same functionality while using the new service name.


195-195: Method call correctly updated.

The context retrieval for setting title text color has been properly updated to use AppContextService, continuing the consistent pattern of service renaming throughout the class.


205-205: Method call correctly updated.

The context retrieval for setting dialog message text color has been properly updated to use AppContextService.


210-210: Method call correctly updated.

The context retrieval for setting window background drawable has been properly updated to use AppContextService.


221-221: Method call correctly updated.

The context retrieval for setting negative button text color has been properly updated to use AppContextService.


240-240: Method call correctly updated.

The context retrieval for setting positive button text color has been properly updated to use AppContextService.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/SyncCallService.java (4)

9-9: Import statements updated correctly.

The import statements have been properly updated to reflect the renamed classes, changing from Applozic-prefixed classes to the new naming convention, which aligns with the PR's objective of consistent Kommunicate branding.

Also applies to: 18-18


31-31: Documentation updated to match renamed service.

The Javadoc comment has been properly updated to reference the renamed MqttService class instead of the previous ApplozicMqttService. This maintains consistency between code and documentation.


52-52: Context initialization updated correctly.

The context initialization has been properly updated to use AppContextService.getContext(context) instead of the previous Applozic-prefixed service. This change maintains the same functionality while following the new naming convention.


1-264: Overall class refactoring looks good.

The changes in this file successfully implement the goal of renaming Applozic-prefixed classes to align with Kommunicate branding. All references to the renamed classes have been properly updated, and the functionality of the class remains intact.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ConversationListTask.java (4)

10-10: Import statement updated correctly.

The import statement has been updated from ApplozicException to KommunicateException, which aligns with the PR objective of renaming classes with Applozic initials.


30-30: Exception type correctly updated.

The exception variable type has been properly changed from ApplozicException to KommunicateException, maintaining consistency with the renaming pattern.


62-62: Exception instantiation updated appropriately.

The instantiation of the exception has been correctly updated to use KommunicateException instead of ApplozicException, which matches the new type declaration.


98-98: Exception handling in catch block updated correctly.

The catch block now properly instantiates KommunicateException with the message from the caught exception, which is consistent with the overall renaming approach.

kommunicate/src/main/java/io/kommunicate/async/KmConversationRemoveMemberTask.java (1)

9-9: Correct import update as part of rebranding.

The import change from ApplozicService to AppContextService aligns with the PR objective of renaming classes with Applozic initials.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/service/ConversationClientService.java (3)

13-13: Import statement updated for consistent branding

The import statement has been updated to use the new AppContextService class from the Kommunicate commons package, aligning with the PR's objective to rename classes with Applozic initials.


40-40: Context retrieval method updated

The context initialization has been properly updated to use AppContextService.getContext(context) instead of the previous Applozic service. This change maintains the same functionality while ensuring consistent naming across the codebase.


47-47: Singleton instantiation method updated

The static instance creation now correctly uses AppContextService.getContext(context), maintaining consistency with the context initialization in the constructor. This change ensures that all references to the Applozic service have been replaced throughout this class.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MessageIntentService.java (3)

12-12: Import updated correctly.

The import statement has been properly updated from ApplozicService to AppContextService as part of the systematic renaming effort described in the PR objectives.


36-36: Method call updated consistently.

The method call has been correctly updated to use AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context). This change maintains the original functionality while aligning with the renaming effort.


23-23: TAG constant is correctly named.

Unlike some other files mentioned in the PR comments summary, this TAG constant correctly reflects the current class name and doesn't contain any "Applozic" references that would need updating.

kommunicate/src/main/java/io/kommunicate/preference/KmConversationInfoSetting.java (2)

7-7: Correctly updated import statement.

The import statement has been updated from ApplozicService to AppContextService, which aligns with the PR objective of renaming classes with "Applozic" initials.


27-27: Context retrieval method correctly updated.

The service class reference has been properly changed from ApplozicService.getContext(context) to AppContextService.getContext(context), maintaining the same functionality while following the new naming convention.

kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/MultipartUtility.java (1)

43-59: Constructor Refactor Verification:
The first constructor has been correctly refactored to use the new class name, and the use of the charset parameter to create the OutputStreamWriter adds flexibility. The exception handling and HTTPS configuration are intact.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MobiComMessageService.java (5)

12-12: Imports updated correctly as part of class renaming

The imports have been correctly updated to use the renamed classes (SettingsSharedPreference and AppContextService), which aligns with the PR objective of renaming classes with Applozic initials.

Also applies to: 29-29


68-68: Context retrieval properly migrated

The context retrieval implementation has been successfully migrated from ApplozicService to AppContextService, maintaining consistent functionality while rebranding the classes.


77-77: Settings access correctly refactored

The code now properly uses SettingsSharedPreference instead of ApplozicClient to access the action messages hidden setting, which aligns with the new class structure.


84-86: Message metadata service access properly refactored

The implementation for retrieving and using the message metadata service name has been successfully migrated to use SettingsSharedPreference instead of ApplozicClient.


373-373: Display name handling preference access updated

The code now correctly retrieves the display name handling preference from SettingsSharedPreference rather than ApplozicClient.

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/database/MessageDatabaseService.java (3)

11-11: Import statements correctly updated to reflect the new class names.

The imports have been properly updated to use the new class names, replacing Applozic references with the Kommunicate equivalents: SettingsSharedPreference and AppContextService.

Also applies to: 18-18


87-90: Constructor correctly updated to use new service and preference classes.

The constructor has been properly updated to:

  1. Use AppContextService instead of ApplozicService to get the context
  2. Use SettingsSharedPreference instead of ApplozicClient for preferences

This aligns with the PR objective of renaming Applozic classes to Kommunicate equivalents while maintaining the same functionality.


576-581: Correctly updated preference setting calls.

The calls to update minimum and maximum created time values have been properly updated to use SettingsSharedPreference instead of ApplozicClient.

kommunicate/src/main/java/io/kommunicate/services/KmHttpClient.java (2)

7-7: Appropriate import replacement for renamed service.

The import statement has been correctly updated from what was likely ApplozicService to AppContextService as part of the broader effort to rename Applozic-branded classes throughout the codebase.


35-35: Context service properly renamed in constructor.

The constructor now correctly uses AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context), aligning with the PR objective to rename Applozic-branded classes. This change maintains the same functionality while improving naming consistency across the codebase.

kommunicate/src/main/java/io/kommunicate/feeds/CoreUser.java (1)

7-8: Import added for custom annotation.

The CleanUpRequired annotation import has been added to support the annotation usage below, which is part of the deprecation strategy for this class.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/fragment/MessageInfoFragment.java (3)

31-31: Appropriate class renaming from Applozic to KommunicateSettings

The import has been correctly updated from Applozic to KommunicateSettings as part of the systematic renaming effort mentioned in the PR objectives.


80-80: Consistent usage update for the renamed class

The implementation has been properly updated to use KommunicateSettings.getInstance() instead of Applozic.getInstance(), maintaining functionality while aligning with the new naming convention.


93-102: Consider updating XML resource IDs in a future PR

While the class references have been updated, there are still multiple resource IDs with the "applozic" prefix (e.g., R.id.applozic_message_info_attachmentview). These resource IDs might have been intentionally retained for backward compatibility as mentioned in the PR comments.

For consistency, consider creating a follow-up task to rename these resource IDs in the XML layouts to match the new naming convention. This would need to be coordinated with XML changes to maintain functionality.

Also applies to: 219-220

kommunicate/src/main/java/io/kommunicate/devkit/api/notification/NotificationService.java (4)

20-21: Approve imports refactoring

The import statements have been properly updated to reference the new classes KommunicateSettings and SettingsSharedPreference that replace the previous Applozic classes.


69-69: Approve instance variable refactoring

The instance variable has been properly renamed from applozicClient to settingsSharedPreference to align with the new class names.


94-99: Approve constructor refactoring

The initialization of the settings classes has been properly updated to use the new class names and their respective getInstance methods.


110-110: Approve method call refactoring

All method calls that previously used the Applozic classes have been properly updated to use the appropriate Kommunicate classes. The code correctly uses either the instance variable settingsSharedPreference or the static SettingsSharedPreference.getInstance(context) pattern depending on the context.

Also applies to: 153-153, 156-156, 198-198, 238-238, 242-242, 311-311, 348-348, 442-442, 445-445, 469-469, 481-481

kommunicate/src/main/java/io/kommunicate/devkit/listners/ConversationListHandler.java (1)

6-6: Successfully renamed ApplozicException to KommunicateException

The changes correctly replace the ApplozicException with KommunicateException in both the import statement and method signature, aligning with the PR objective of renaming Applozic-branded classes to Kommunicate-branded ones.

Also applies to: 11-11

kommunicate/src/main/java/io/kommunicate/devkit/listners/MessageListHandler.java (1)

4-4: Successfully renamed ApplozicException to KommunicateException

The changes correctly replace the ApplozicException with KommunicateException in both the import statement and method signature, aligning with the PR objective of renaming Applozic-branded classes to Kommunicate-branded ones. The interface is already marked as deprecated, so this change ensures consistency while the code transitions to the more generalized TaskListener.

Also applies to: 17-17

kommunicate/src/main/java/io/kommunicate/devkit/listners/MediaUploadProgressHandler.java (1)

4-4: Successfully renamed ApplozicException to KommunicateException

The changes correctly replace ApplozicException with KommunicateException in the import statement and across all method signatures that previously used the exception type. The onSent method correctly remains unchanged as it doesn't use the exception parameter. These changes align with the PR objective of renaming Applozic-branded classes to Kommunicate-branded ones.

Also applies to: 11-11, 13-13, 15-15, 17-17

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MessageClientService.java (7)

7-7: Import updated to reflect renaming of Applozic classes.

The ApplozicClient import has been replaced with SettingsSharedPreference, which aligns with the PR's objective to rename classes containing the "Applozic" prefix.


23-23: Exception class renamed to follow Kommunicate branding.

The ApplozicException import has been replaced with KommunicateException, which aligns with the PR's objective to rename classes containing the "Applozic" prefix.


29-29: Service class renamed to follow Kommunicate branding.

The ApplozicService import has been replaced with AppContextService, which aligns with the PR's objective to rename classes containing the "Applozic" prefix.


112-112: Context service implementation updated to use renamed class.

The implementation now uses AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context), maintaining the same functionality while adhering to the new naming convention.


369-369: Exception type updated to use renamed class.

The exception type has been updated from ApplozicException to KommunicateException while maintaining the same functionality.


740-740: Settings service updated to use renamed class.

The code has been updated to use SettingsSharedPreference.getInstance(context).getFetchConversationListMainPageSize() instead of ApplozicClient.getInstance(context).getFetchConversationListMainPageSize(), maintaining the same functionality.


757-757: Settings service updated to use renamed class.

The code has been updated to use SettingsSharedPreference.getInstance(context).isSkipDeletedGroups() instead of ApplozicClient.getInstance(context).isSkipDeletedGroups(), maintaining the same functionality.

kommunicate/src/main/java/io/kommunicate/devkit/channel/service/ChannelClientService.java (4)

17-17: LGTM: AppContextService import replacement

The change from ApplozicService to AppContextService as part of the rebranding initiative is correct.


77-77: LGTM: Context initialization with AppContextService

Updated to use the new AppContextService consistently for context management.


84-84: LGTM: AppContextService used in getInstance method

Consistent use of the new AppContextService in static getInstance method.


610-615: LGTM: Updated model class reference

Successfully replaced ApplozicAddMemberOfGroupType with AddMemberOfGroupTypeModel while maintaining the same functionality.

kommunicate/src/main/java/io/kommunicate/devkit/channel/service/AddMemberOfGroupTypeModel.java (1)

10-10: LGTM: Renamed class as per PR objectives

Successfully renamed from ApplozicAddMemberOfGroupType to AddMemberOfGroupTypeModel while maintaining the same functionality.

kommunicate/src/main/java/io/kommunicate/devkit/channel/service/ChannelService.java (5)

9-9: LGTM: Updated settings preference import

Correctly replaced ApplozicClient with SettingsSharedPreference for settings management.


31-31: LGTM: AppContextService import replacement

The change from ApplozicService to AppContextService is consistent with the rebranding initiative.


57-62: LGTM: Updated context initialization in constructor

Successfully updated all context initializations to use AppContextService instead of ApplozicService.


67-67: LGTM: Updated getInstance method

Consistent use of AppContextService in the static getInstance method.


824-824: LGTM: Updated settings reference

Successfully replaced ApplozicClient with SettingsSharedPreference for checking if deleted groups should be skipped.

kommunicate/src/main/java/io/kommunicate/devkit/broadcast/BroadcastService.java (2)

10-10: Import updated to reflect class renaming.

The import has been correctly updated from ApplozicClient to SettingsSharedPreference, consistent with the PR's objective of renaming classes with Applozic initials to align with Kommunicate branding.


185-185:

✅ Verification successful

API implementation updated to use SettingsSharedPreference.

The code change correctly replaces ApplozicClient with SettingsSharedPreference while maintaining the same method signature and functionality. This maintains backward compatibility while aligning with the rebranding effort.

Run the following script to verify consistent usage of the new class name throughout the codebase:


🏁 Script executed:

#!/bin/bash
# Check for any remaining references to ApplozicClient in the codebase
echo "Checking for remaining references to ApplozicClient..."
rg "ApplozicClient" --type java

# Check for consistent usage of SettingsSharedPreference
echo "Verifying consistent usage of SettingsSharedPreference..."
rg "SettingsSharedPreference\.getInstance\(.*\)\.isNotificationStacking\(\)" --type java

Length of output: 1589


API Update Verified – Consistent Usage of SettingsSharedPreference

The changes in BroadcastService.java at line 185 correctly replace ApplozicClient with SettingsSharedPreference without affecting functionality. Verification confirms that there are no remaining references to ApplozicClient in the codebase and that all instances use:

SettingsSharedPreference.getInstance(<context>).isNotificationStacking()

Key points:

  • No residual occurrences of ApplozicClient were found.
  • Consistent usage of SettingsSharedPreference is present in both the broadcast service and conversation fragment files.
  • Backward compatibility is maintained as the method signature remains unchanged.
kommunicate/src/main/java/io/kommunicate/devkit/api/account/register/RegisterUserClientService.java (7)

8-9: Consistent renaming of imports aligned with project objectives.

The import statements have been systematically updated from Applozic naming to Kommunicate naming conventions:

  • KommunicateSettings replaces Applozic
  • SettingsSharedPreference replaces ApplozicClient
  • MqttIntentService replaces ApplozicMqttIntentService
  • KommunicateException replaces ApplozicException
  • AppContextService replaces ApplozicService

These changes align well with the PR objective of renaming classes with Applozic initials.

Also applies to: 15-15, 19-19, 22-22


53-54: Context initialization properly updated.

The initialization of the context has been properly migrated from ApplozicService to AppContextService, maintaining the same functionality while updating the naming convention.


91-91: Exception handling updated consistently.

The exception type has been properly updated from ApplozicException to KommunicateException while maintaining the same error messages.

Also applies to: 95-95


161-161: Settings preferences correctly updated.

The shared preference access has been properly migrated from ApplozicClient to SettingsSharedPreference with the same method calls for skipping deleted groups and hiding action messages.


175-175: Notification settings properly migrated.

The notification settings have been correctly updated to use KommunicateSettings instead of Applozic, maintaining the same functionality for custom notification sounds and notification channel versioning.

Also applies to: 189-190


192-192: Chat disabling preference correctly migrated.

The chat disabling setting has been properly updated to use SettingsSharedPreference instead of ApplozicClient.


200-202: MQTT service references consistently updated.

All references to the MQTT intent service have been systematically updated from ApplozicMqttIntentService to MqttIntentService, including the intent creation, extras, and enqueuing work. The functionality remains unchanged while following the new naming convention.

Also applies to: 254-256

kommunicate/src/main/java/io/kommunicate/commons/commons/core/utils/Utils.java (3)

24-24: Confirm import change aligns with broader refactoring strategy

This import change from ApplozicService to AppContextService is part of the broader initiative to rename Applozic-prefixed classes. Good replacement for consistency.


200-206: LGTM! Correctly updated service access

The context retrieval has been properly updated to use AppContextService instead of the previous Applozic-named service. The functionality remains unchanged while aligning with the rebranding objective.


210-226: LGTM! Systematic and thorough context handling update

All methods that previously used the Applozic service for context have been consistently updated to use AppContextService. This systematic approach ensures that context handling is uniform throughout the codebase, which aligns perfectly with the PR objectives of renaming Applozic-branded classes.

Also applies to: 228-234, 236-244, 246-258, 261-269, 341-343, 378-392, 394-404

kommunicateui/src/main/java/io/kommunicate/ui/KommunicateSetting.java (3)

13-13: Import change for context service.

This change is part of the systematic renaming from Applozic to Kommunicate branding, replacing the old ApplozicService with AppContextService for context management.


96-96: Context retrieval updated to use AppContextService.

Changed from using ApplozicService.getContext(context) to AppContextService.getContext(context) as part of the overall renaming initiative. This maintains the same functionality while updating the class name.


103-103: Updated singleton initialization to use AppContextService.

Similar to the constructor change, the singleton initialization now uses AppContextService instead of ApplozicService for context retrieval, ensuring consistency across the class.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/fragment/MobiComQuickConversationFragment.java (8)

60-60: LGTM: Import statement for the new AppContextService.

The import statement for AppContextService is consistent with the PR objective of replacing Applozic references with Kommunicate equivalents.


116-116: LGTM: Context retrieval for loading settings JSON.

The change correctly replaces the previous context service with AppContextService.getContext() for loading settings JSON file, maintaining functionality while aligning with the Kommunicate branding strategy.


221-222: LGTM: Context retrieval for KmActionCallback.

The code properly uses AppContextService.getContext() for checking if the context is an instance of KmActionCallback and handling the "Start New Chat" action, maintaining the original functionality.


377-377: LGTM: Context retrieval for string resources.

The change appropriately uses AppContextService.getContext(context) to obtain resources for the "no conversation" string, consistent with the refactoring approach.


579-581: LGTM: Context retrieval for toast messages.

The error toast messages now correctly use AppContextService.getContext() to retrieve the appropriate context and string resources, maintaining functionality while aligning with the rebranding effort.


591-591: LGTM: Context retrieval for empty view text.

The code consistently uses AppContextService.getContext() for setting the empty text view message when there are no conversations.


619-619: LGTM: Context retrieval for toolbar title.

The code properly uses AppContextService.getContext() to retrieve resources for setting the toolbar title to "conversations".


850-850: LGTM: Context handling in AsyncTask.

The code correctly uses AppContextService.getContextFromWeak(context) within the AsyncTask, which is appropriate for handling weak references to prevent memory leaks in background tasks.

kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/settings/KmSpeechToTextSetting.java (3)

9-9: Import statement updated to remove Applozic reference

The import has been correctly changed from ApplozicService to AppContextService as part of the systematic renaming effort mentioned in the PR objectives.


32-32: Service usage updated consistently

The context retrieval now uses AppContextService.getContext(context) instead of ApplozicService.getContext(context), maintaining the same functionality while removing the Applozic reference.


27-27:

❓ Verification inconclusive

Consider reviewing remaining "AL" prefix in constant

There's still a reference to "AL" in the constant MobiComUserPreference.AL_USER_PREF_KEY, which might be related to Applozic. You might want to consider renaming this in a future PR for complete consistency, unless it's intentionally kept for backward compatibility.


🏁 Script executed:

#!/bin/bash
# Check for other occurrences of AL_USER_PREF_KEY in the codebase
echo "Searching for AL_USER_PREF_KEY references..."
rg "AL_USER_PREF_KEY" --type java

Length of output: 6869


Action: Revisit the "AL" Prefix in SharedPreferences Key

The constant MobiComUserPreference.AL_USER_PREF_KEY is used in several parts of the codebase (e.g., in KmSpeechToTextSetting.java, KmConversationHelper.java, InstructionUtil.java, KmPrefSettings.java, and others). Please verify whether the "AL" prefix—which appears to reference legacy Applozic naming—is still appropriate or if it should be renamed for consistency. If you decide to remove or change the prefix, remember that this constant is referenced in multiple locations, so all instances must be updated to avoid breaking backward compatibility.

kommunicate/src/main/java/io/kommunicate/devkit/channel/database/ChannelDatabaseService.java (4)

18-18: Import updated to reflect the new class name.

The import statement has been modified to use the renamed AppContextService class instead of what was likely ApplozicService. This change aligns with the PR objective to systematically rename classes with Applozic initials.


52-54: Constructor implementation updated to use the renamed context service.

The constructor has been properly updated to use AppContextService.getContext() instead of the previous ApplozicService.getContext() method. This maintains the same functionality while adhering to the renaming scheme.


59-59: Static getInstance method updated for consistency.

The static getInstance method correctly uses the renamed AppContextService class, maintaining consistency with the changes made in the constructor.


1-703:

❓ Verification inconclusive

Verify remaining references to "Applozic" in Channel constants or metadata.

While examining the class, I noticed that line 134 still contains a reference to Channel.AL_CATEGORY which likely stands for "Applozic Category". Consider checking if these constants should also be renamed as part of your systematic renaming effort.


🏁 Script executed:

#!/bin/bash
# Search for any remaining "Applozic" or "AL_" references in Channel-related files
rg -i "applozic|AL_" --type java | grep -i "channel\|constant"

Length of output: 27544


Action: Verify and update remaining Applozic references across the codebase

The verification confirms that several Applozic-related constants (such as Channel.AL_CATEGORY) remain in use—not only in ChannelDatabaseService.java (e.g., around line 134) but also across other files like MobiComDatabaseHelper.java, MobiComKitConstants.java, and notification modules. If the systematic renaming effort is intended to remove Applozic references throughout the project, please ensure that these constants and any related metadata keys are updated accordingly.

  • Verify whether constants like Channel.AL_CATEGORY and the corresponding database column (AL_CATEGORY in MobiComDatabaseHelper) are meant to be renamed.
  • Review additional Applozic references found in API and notification code to maintain naming consistency across all modules.
kommunicate/src/main/java/io/kommunicate/devkit/api/notification/NotificationChannels.java (4)

15-16: Imports updated correctly with Kommunicate classes

The imports have been properly updated to use the new Kommunicate classes instead of Applozic classes, which aligns with the PR objectives.

Also applies to: 18-18


50-50: Applozic replaced with KommunicateSettings consistently

All instances of Applozic have been properly replaced with KommunicateSettings. The changes maintain the same functionality while adhering to the new naming convention.

Also applies to: 58-58, 77-77


125-125: ApplozicClient replaced with SettingsSharedPreference consistently

All instances of ApplozicClient have been correctly replaced with SettingsSharedPreference. These changes are consistent throughout the notification channel creation methods.

Also applies to: 127-127, 150-150, 153-153, 181-181, 205-205


70-70: Exception handling updated to use KommunicateException

The exception type has been properly updated from ApplozicException to KommunicateException, which is consistent with the renaming effort.

Also applies to: 142-142, 163-163

kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/UserService.java (8)

12-12: Import updated to use KommunicateException instead of ApplozicException

This change aligns with the PR objective of renaming classes with Applozic initials to Kommunicate-branded naming patterns.


19-19: AppContextService now used instead of ApplozicService

Properly renamed the context service class to follow the new naming convention.


49-49: Updated context initialization in constructor

The constructor now properly uses AppContextService instead of ApplozicService for context management.


57-57: Updated context initialization in getInstance method

The static factory method now properly uses AppContextService instead of ApplozicService.


412-412: Method now throws KommunicateException

The method signature has been updated to throw KommunicateException instead of ApplozicException.


430-430: Updated error handling to use KommunicateException

Error handling now uses KommunicateException instead of ApplozicException for consistency.


434-434: Updated exception handling to use KommunicateException

Exception handling in the catch block now correctly uses KommunicateException.


143-143:

✅ Verification successful

Enum value references to APPLOZIC remain unchanged

While the class references have been updated, I noticed that references to Contact.ContactType.APPLOZIC on lines 143 and 147 remain unchanged. This might be intentional for backward compatibility, but you may want to consider renaming these enum values in a future update for complete consistency.

Also applies to: 147-147


🏁 Script executed:

#!/bin/bash
# Search for Contact.ContactType enum declaration to check if APPLOZIC is still defined
ast-grep --pattern 'enum ContactType {$$$}'
rg -A 10 "enum ContactType"

Length of output: 2565


Action Required: Confirming Intentional Use of 'APPLOZIC'

Both instances on lines 143 and 147 still reference Contact.ContactType.APPLOZIC, which—as verified in Contact.java—remains defined. This appears to be an intentional choice (likely for backward compatibility). If your long-term goal is to enforce complete consistency across the codebase, please consider renaming this enum value in a future update.

kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/FileClientService.java (3)

256-256: Class renamed successfully from ApplozicMultipartUtility to MultipartUtility

The class has been properly renamed in the uploadBlobImage method while maintaining all parameters and functionality.


270-270: Class renamed successfully from ApplozicMultipartUtility to MultipartUtility

The class has been properly renamed in the defaultUploadOverride method while maintaining all parameters and functionality.


378-378: Class renamed successfully from ApplozicMultipartUtility to MultipartUtility

The class has been properly renamed in the uploadProfileImage method while maintaining all parameters and functionality.

kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/UserClientService.java (6)

10-10: Import statements correctly updated for Kommunicate branding.

The imports have been systematically renamed from Applozic-prefixed classes to Kommunicate-aligned naming conventions, maintaining the same functionality while improving brand consistency.

Also applies to: 13-13, 18-18


166-170: MqttIntentService references properly updated in clearDataAndPreference method.

The method has been updated to use the renamed MqttIntentService class instead of ApplozicMqttIntentService, maintaining the same functionality while adhering to the new naming convention.


180-180: KommunicateSettings properly replaces ApplozicClient for notification handling.

The singleton access pattern is preserved while updating to the new class name, ensuring consistent behavior.


191-195: MqttIntentService references correctly updated in logout method.

The method has been updated to use the renamed MqttIntentService class instead of ApplozicMqttIntentService, maintaining proper functionality with the new naming convention.


547-547: Exception handling properly migrated to KommunicateException.

The method signature and throw statement have been consistently updated to use KommunicateException instead of ApplozicException, maintaining the same error handling flow with the updated naming convention.

Also applies to: 562-562


1-568:

✅ Verification successful

Overall class renaming executed consistently.

The UserClientService class has been systematically updated to use the Kommunicate-prefixed classes throughout. All references to Applozic-named classes have been properly replaced, maintaining functional equivalence while improving branding consistency.


🏁 Script executed:

#!/bin/bash
# Verify no Applozic references remain in this file
echo "Checking for any remaining Applozic references in UserClientService.java..."
rg "Applozic" kommunicate/src/main/java/io/kommunicate/devkit/api/account/user/UserClientService.java

Length of output: 262


Approval: Consistent Kommunicate Naming Confirmed

I verified that no residual "Applozic" references remain in UserClientService.java. The class has been systematically updated to exclusively use Kommunicate-prefixed classes, ensuring both functional equivalence and improved branding consistency.

kommunicate/src/main/java/io/kommunicate/commons/ALSpecificSettings.java (2)

35-37: Updated getInstance method to use AppContextService.

This change is consistent with the constructor update and ensures the class uses the renamed service throughout.


30-31:

❓ Verification inconclusive

Constructor updated to use AppContextService - renaming completed.

The change from ApplozicService to AppContextService is consistent with the PR objective of renaming classes with Applozic initials.

Note that while this class reference has been updated, the class itself is still named ALSpecificSettings with several Applozic references remaining within it (e.g., APPLOZIC_SUPPORT, applozicSettings, applozic_internal_preference_key). Consider whether these should also be renamed as part of this PR.


🏁 Script executed:

#!/bin/bash
# Check if there are other files that still reference ApplozicService
rg "ApplozicService\.getContext" --type java

Length of output: 46


ALSpecificSettings Refactoring – Verify Remaining "Applozic" References

The constructor has been successfully updated to use AppContextService as intended. However, the class still contains several naming artifacts (such as APPLOZIC_SUPPORT, applozicSettings, and applozic_internal_preference_key) that reference the old Applozic naming. Although our initial search for ApplozicService.getContext produced no output, please manually verify that no unintended dependencies exist on these legacy names or determine if they should also be updated to fully align with the PR objective.

  • File under review: kommunicate/src/main/java/io/kommunicate/commons/ALSpecificSettings.java
  • Action required: Confirm whether the remaining internal references (constants, variables, etc.) should be renamed along with the constructor update.
kommunicate/src/main/java/io/kommunicate/devkit/listners/UIEventListener.java (1)

9-9: Class renaming successfully implemented

The interface has been properly renamed from ApplozicUIListener to UIEventListener as part of the broader refactoring effort to replace Applozic references with Kommunicate branding.

kommunicate/src/main/java/io/kommunicate/services/KmClientService.java (2)

6-6: Import statement successfully updated

The import statement has been correctly updated from Applozic to KommunicateSettings as part of the broader refactoring initiative.


166-166: Method reference correctly updated

The code has been properly updated to use KommunicateSettings.getInstance(context).getApplicationKey() instead of the previous Applozic reference, maintaining the same functionality while adhering to the new naming convention.

kommunicate/src/main/java/io/kommunicate/commons/AppContextService.java (2)

10-10: Class name successfully changed

The service class has been properly renamed from ApplozicService to AppContextService as part of the broader refactoring effort to replace Applozic references with Kommunicate branding.


18-18: Internal references correctly updated

All internal references to the class name within the static methods have been properly updated to use AppContextService instead of the previous name.

Also applies to: 39-42

app/src/main/java/kommunicate/io/sample/MainActivity.java (2)

26-26: Import statement successfully updated

The import statement has been correctly updated from ApplozicClient to SettingsSharedPreference as part of the broader renaming initiative.


205-205: Client references successfully updated

Both instances of ApplozicClient.getInstance(context) have been properly replaced with SettingsSharedPreference.getInstance(context) while maintaining the same method chaining pattern for hiding action messages and setting metadata.

Also applies to: 209-209

kommunicate/src/main/java/io/kommunicate/usecase/KMUserLoginUseCase.kt (1)

5-5: LGTM! Class reference updated correctly.

The changes properly reflect the refactoring from Applozic to KommunicateSettings, ensuring consistency with the PR's goal of renaming classes with Applozic initials.

Also applies to: 46-46

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MqttIntentService.java (1)

11-13: LGTM! Class and import references properly updated.

The refactoring from ApplozicMqttIntentService to MqttIntentService and all method calls have been properly updated to use the new class names, maintaining consistency with the PR's renaming objective.

Also applies to: 22-22, 57-57, 69-69, 76-143

kommunicate/src/main/java/io/kommunicate/devkit/api/attachment/urlservice/MongoStorageService.java (1)

5-5: LGTM! Class renamed and properly annotated as deprecated.

The class has been correctly renamed from ApplozicMongoStorageService to MongoStorageService and annotated as deprecated with a clear reason for future cleanup.

Also applies to: 12-14, 22-22

kommunicate/src/main/java/io/kommunicate/devkit/broadcast/ConversationBroadcastReceiver.java (1)

10-10: LGTM! Class and interface references properly updated.

The changes from ApplozicBroadcastReceiver to ConversationBroadcastReceiver and ApplozicUIListener to UIEventListener have been implemented consistently throughout the file, including all method calls.

Also applies to: 18-18, 31-35, 49-113

kommunicate/src/main/java/io/kommunicate/services/KmUserClientService.java (5)

8-9: Import statements updated to reflect renamed classes

The imports have been updated from Applozic-named classes to the new Kommunicate naming convention. This is consistent with the PR objective of renaming classes with Applozic initials.

Also applies to: 15-15


411-412: Client settings class renamed

ApplozicClient has been renamed to SettingsSharedPreference following the new naming convention. The functionality remains unchanged.


417-418: Settings class renamed

Applozic has been renamed to KommunicateSettings for setting custom notification sound. This change maintains the same functionality with updated class naming.


432-433: Consistent use of renamed settings class

Settings for notification channel version and custom notification sound now use KommunicateSettings instead of Applozic, maintaining consistency across the codebase.


447-449: MQTT service name updated

MQTT intent service references have been updated from ApplozicMqttIntentService to MqttIntentService. This maintains the renaming pattern throughout the codebase.

kommunicate/src/main/java/io/kommunicate/devkit/api/MqttService.java (6)

42-42: Class renamed from ApplozicMqttService to MqttService

The class has been renamed while preserving its inheritance and interface implementation. This is part of the systematic renaming of Applozic-prefixed classes.


57-57: Static instance variable renamed

Static instance variable has been updated to match the new class name, maintaining proper singleton pattern implementation.


62-66: Constructor renamed

Constructor updated to match the new class name while maintaining the same initialization logic.


68-74: getInstance method updated

The singleton getter method has been updated to use the renamed class, maintaining the same instantiation logic.


107-107: Callback reference updated

Callback reference now uses the renamed class, ensuring proper event handling.


176-176: Another callback reference updated

Another callback reference has been updated to use the renamed class.

kommunicate/src/main/java/io/kommunicate/devkit/KommunicateSettings.java (10)

17-18: Import statements updated to reflect renamed classes

Imports have been updated from Applozic-named classes to the new Kommunicate naming convention:

  • ApplozicMqttIntentServiceMqttIntentService
  • ApplozicBroadcastReceiverConversationBroadcastReceiver
  • ApplozicUIListenerUIEventListener

Also applies to: 20-21, 27-28


49-50: Class renamed from Applozic to KommunicateSettings

The class has been renamed from Applozic to KommunicateSettings to align with the Kommunicate branding.


53-54: Legacy preference key name preserved

Note that the preference key name "applozic_preference_key" has been preserved. This might be intentional for backward compatibility, but should be documented if it's a conscious decision.

Was the preference key name "applozic_preference_key" intentionally kept to maintain backward compatibility with existing data?


56-60: Instance variables and static singleton reference renamed

The static instance variable has been renamed from applozic to kommunicateSettings and the broadcast receiver variable has been renamed to match the new class naming convention.


61-64: Constructor updated and context handling improved

The constructor has been renamed and now uses AppContextService.getContext() to get the application context, which is a more robust approach.


66-70: Init method updated to return renamed class

The init method now returns KommunicateSettings instead of Applozic while maintaining the same initialization logic.


82-87: getInstance method updated

The singleton getter method has been updated to use the renamed class and variables while maintaining the same instantiation logic.


127-130: Fluent interface methods updated

Setter methods that used the fluent interface pattern (returning this) have been updated to return KommunicateSettings instead of Applozic.

Also applies to: 132-135


143-148: MQTT service references updated

All MQTT intent service references have been updated from ApplozicMqttIntentService to MqttIntentService, maintaining consistent renaming throughout the MQTT-related methods.

Also applies to: 189-193, 196-200, 203-207, 210-215, 217-221, 223-231, 233-242, 245-254


333-336: UI listener registration methods updated

The UI listener registration and unregistration methods have been updated to use ConversationBroadcastReceiver instead of ApplozicBroadcastReceiver and UIEventListener instead of ApplozicUIListener.

Also applies to: 339-343

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ConversationIntentService.java (2)

11-11: Service import updated

The import has been changed from ApplozicService to AppContextService, reflecting the renaming of the context service class.


37-37: Context service method call updated

The method call has been updated to use AppContextService.getContext(context) instead of ApplozicService.getContext(context), ensuring consistent use of the renamed service.

kommunicate/src/main/java/io/kommunicate/KmSettings.java (3)

9-9: Import statement updated to use SettingsSharedPreference

The import has been correctly updated from ApplozicClient to SettingsSharedPreference as part of the class renaming effort.


50-50: Client usage updated to SettingsSharedPreference

The message metadata access has been properly migrated from ApplozicClient to the renamed SettingsSharedPreference class in the updateChatContext method. This maintains the same functionality while adhering to the new naming convention.

Also applies to: 71-71


81-81: Client usage updated to SettingsSharedPreference

The message metadata access has been properly migrated from ApplozicClient to the renamed SettingsSharedPreference class in the updateMessageMetadata method. This maintains the same functionality while adhering to the new naming convention.

Also applies to: 90-90

kommunicate/src/main/java/io/kommunicate/KmCustomEventManager.java (2)

5-5: Import statement updated to use MqttService

The import has been correctly updated from ApplozicMqttService to MqttService as part of the class renaming effort.


28-28: MQTT service usage updated

All references to ApplozicMqttService have been properly replaced with MqttService for the publishing, subscribing, and unsubscribing operations. The functionality remains unchanged while the class name has been updated for consistency with the Kommunicate branding.

Also applies to: 32-32, 36-36

kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/ConversationHelper.java (5)

7-7: Import statements updated

The imports have been correctly updated from Applozic-prefixed classes to their new names:

  • ApplozicMqttServiceMqttService
  • ApplozicExceptionKommunicateException

Also applies to: 16-16


33-33: Class renamed from ApplozicConversation to ConversationHelper

The class name has been updated as part of the systematic renaming effort to remove Applozic references in class names throughout the codebase.


108-109: Exception type updated to KommunicateException

All instances of ApplozicException have been properly replaced with KommunicateException in the error handling for method parameter validation. This ensures consistency with the new naming convention.

Also applies to: 125-126, 142-143


158-170: Exception handling in downloadMessage method updated

Exception handling in the downloadMessage method has been updated to use KommunicateException instead of ApplozicException, maintaining the same error messaging but with the new exception type.


301-305: MQTT service usage updated in isMessageStatusPublished method

The isMessageStatusPublished method has been updated to use the renamed MqttService instead of ApplozicMqttService while maintaining the same functionality for publishing message status updates.

kommunicate/src/main/java/io/kommunicate/devkit/broadcast/AlEventManager.java (4)

10-10: Import statement updated to use UIEventListener

The import has been correctly updated from ApplozicUIListener to UIEventListener as part of the interface renaming effort.


28-28: Listener map type updated

The listenerMap variable type has been updated from Map<String, ApplozicUIListener> to Map<String, UIEventListener> to reflect the renamed interface.


42-50: Method signature updated for registerUIListener

The registerUIListener method now accepts a UIEventListener parameter instead of ApplozicUIListener, while maintaining the same implementation logic for listener registration.


265-267: Iteration variable type updated in handleState method

The iteration over listenerMap in the handleState method now properly uses the UIEventListener type instead of ApplozicUIListener to match the updated map type.

kommunicate/src/main/java/io/kommunicate/KmConversationHelper.java (12)

15-16: Import changes look good

The imports have been correctly updated to replace Applozic references with their Kommunicate counterparts. The change maintains consistent naming conventions across the codebase.

Also applies to: 20-20


86-87: Method call correctly updated

The method call has been properly updated from ApplozicConversation.getLatestMessageList to ConversationHelper.getLatestMessageList while maintaining the same functionality.


199-200: Application key retrieval updated correctly

The class reference has been properly updated from Applozic to KommunicateSettings for retrieving the application key.


296-297: Application key retrieval updated correctly

Another instance of application key retrieval that has been properly updated from Applozic to KommunicateSettings.


395-396: Settings method call updated correctly

The method call has been properly updated from ApplozicClient to SettingsSharedPreference for hiding chat list on notification.


440-441: Message metadata setting updated correctly

The method call has been properly updated from ApplozicClient to SettingsSharedPreference for setting message metadata.


528-529: Application key retrieval updated correctly

Another instance of application key retrieval that has been properly updated from Applozic to KommunicateSettings.


608-610: Method call correctly updated

Another instance where the method call has been properly updated from ApplozicConversation.getLatestMessageList to ConversationHelper.getLatestMessageList.


648-649: Settings method call updated correctly

Another instance where the method call has been properly updated from ApplozicClient to SettingsSharedPreference for hiding chat list on notification.


692-693: Message metadata setting updated correctly

Another instance where the method call has been properly updated from ApplozicClient to SettingsSharedPreference for setting message metadata.


795-797: Application key retrieval updated correctly

The class reference has been properly updated from Applozic to KommunicateSettings for retrieving the application key in the group creation URL context.


834-836: Message metadata retrieval updated correctly

Both references have been properly updated from ApplozicClient to SettingsSharedPreference for retrieving message metadata.

kommunicate/src/main/java/io/kommunicate/devkit/listners/MediaDownloadProgressHandler.java (4)

4-4: Import update correctly reflects the class renaming.

The import statement has been updated from ApplozicException to KommunicateException, which aligns with the PR objective of renaming classes with Applozic initials.


13-13: Method signature correctly updated.

The exception type in onProgressUpdate method has been properly updated from ApplozicException to KommunicateException.


15-15: Method signature correctly updated.

The exception type in onCompleted method has been properly updated from ApplozicException to KommunicateException.


1-16:

❓ Verification inconclusive

Verify implementation classes are updated accordingly.

All exception types in this interface have been successfully renamed from ApplozicException to KommunicateException. Ensure that all classes implementing this interface have also been updated to use the new exception type to prevent compilation errors.


🏁 Script executed:

#!/bin/bash
# Find all classes that implement MediaDownloadProgressHandler
echo "Looking for implementations of MediaDownloadProgressHandler..."
rg -l "implements\s+MediaDownloadProgressHandler" --type java

Length of output: 198


Action Required: Manual Verification of Implementation Updates

The automated search did not return any classes implementing MediaDownloadProgressHandler. Please manually verify if there are any implementations—potentially in non-standard formats or languages—updating the exception from ApplozicException to KommunicateException. If implementations exist, ensure they are updated accordingly to avoid compilation errors.

kommunicate/src/main/java/io/kommunicate/devkit/SettingsSharedPreference.java (9)

13-13: Import statement updated appropriately.

The import was changed from ApplozicService to AppContextService as part of the overall refactoring effort to remove "Applozic" references.


27-27: Class name refactoring looks good.

The class has been correctly renamed from ApplozicClient to SettingsSharedPreference as per the PR objectives.


64-64: Static instance variable renamed appropriately.

The static instance variable has been correctly renamed from applozicClient to settingsSharedPreference.


68-69: Constructor updated correctly.

The constructor has been renamed to match the new class name, and it now uses AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context).


71-71: SharedPreferences initialization updated correctly.

The call to get the context has been updated to use AppContextService instead of ApplozicService.


74-76: getInstance method updated appropriately.

The singleton pattern implementation has been correctly updated to use the new class name.


86-89: Method return types updated consistently.

All methods that previously returned ApplozicClient have been correctly updated to return SettingsSharedPreference, maintaining the builder pattern functionality.

Also applies to: 95-98, 100-103, 113-116, 118-121, 147-150, 156-159, 161-164, 170-173, 179-182, 188-191, 197-200, 202-205, 219-224, 226-229, 235-238, 240-243, 259-262, 278-281, 287-290, 296-299, 309-312, 318-321, 327-330, 332-335, 341-344, 373-376, 382-385, 387-417, 419-422, 428-431


1-440: Overall class renaming is thorough and consistent.

The refactoring from ApplozicClient to SettingsSharedPreference has been implemented consistently throughout the file. All method signatures, return types, and instance references have been updated appropriately.

A few remaining references to "Applozic" exist in default values and constants, which you might want to consider updating if they're not needed for backward compatibility.


167-167:

❓ Verification inconclusive

Default image constants still reference Applozic.

The methods getDefaultContactImage() and getDefaultChannelImage() still use constants prefixed with "applozic". While these constants might be needed for backward compatibility, consider whether they should be updated as part of the rebranding effort.

Also applies to: 176-176


🏁 Script executed:

#!/bin/bash
# Check where these default images are referenced and if they can be safely updated
rg "APPLOZIC_CONTACT_PIC|APPLOZIC_GROUP_ICON|getDefaultContactImage|getDefaultChannelImage" -A 2 -B 2

Length of output: 11752


Rebranding Verification: Confirm Default Image Constants

It appears that both getDefaultContactImage() and getDefaultChannelImage() still return legacy Applozic image names ("applozic_ic_contact_picture_holo_light" and "applozic_group_icon") and are used across the codebase (e.g., in NotificationService.java). While retaining these values for backward compatibility might be intentional, please verify if they should be updated as part of the rebranding effort. Consider the following:

  • Determine if updating these constants (and the corresponding resource identifiers) to reflect the new branding (e.g., using a "kommunicate" prefix) is feasible without breaking backward compatibility.
  • If left unchanged for compatibility reasons, add inline documentation explaining the decision.
kommunicateui/src/main/java/io/kommunicate/ui/kommunicate/KmPrefSettings.java (2)

7-7: Appropriate import replacement.

The import change from ApplozicService to AppContextService aligns with the PR objective of renaming classes with "Applozic" initials.


26-26: Implementation correctly updated.

The implementation has been properly updated to use AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context), maintaining the same functionality while adhering to the renaming convention.

kommunicate/src/main/java/io/kommunicate/devkit/contact/AppContactService.java (3)

14-14: Import statement updated correctly

The import has been changed from ApplozicService to AppContextService as part of the systematic renaming effort mentioned in the PR objectives. This change aligns with the goal of replacing Applozic naming with Kommunicate branding.


35-35: Context initialization updated consistently

The constructor initialization has been properly updated to use AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context). This ensures that the service class usage matches the updated import statement.


29-29:

❓ Verification inconclusive

Confirm TAG constant is still appropriate

The TAG constant is currently set to "AppContactService" which matches the class name. If this class name was previously different or contained "Applozic" in its name, consider updating the TAG constant as well to maintain consistency with your renaming initiative.


🏁 Script executed:

#!/bin/bash
# Check git history to see if this class was renamed
git log -p -- "kommunicate/src/main/java/io/kommunicate/devkit/contact/AppContactService.java" | grep -A 5 -B 5 "class.*Contact.*Service"

Length of output: 0


TAG constant validation: Please manually verify any legacy naming references

Based on the automated git history check, there is no clear evidence that the class or its TAG constant was previously associated with “Applozic.” The TAG is currently set to "AppContactService", which aligns with the current class name. However, since our initial lookup produced no output and may not be conclusive, please manually review the commit history for any legacy mentions of “Applozic” in this file (e.g. via a more thorough git log or grep search) to ensure complete consistency with the renaming initiative.

  • File to verify: kommunicate/src/main/java/io/kommunicate/devkit/contact/AppContactService.java (line 29)
  • Ensure no previous commits reference “Applozic” that might require updating the TAG constant.
kommunicate/src/main/java/io/kommunicate/devkit/api/MobiComKitClientService.java (5)

6-10: Good job updating the imports to reflect the new class names.

The changes from Applozic to KommunicateSettings and from ApplozicService to AppContextService align well with the PR objective of renaming classes with Applozic initials.


50-50: Consistent replacement of ApplozicService with AppContextService.

The constructor now correctly uses AppContextService.getContext(context) instead of the previous ApplozicService.getContext(context).


54-59: Appropriate replacement of Applozic references with KommunicateSettings.

The method has been updated to use KommunicateSettings.getInstance() instead of Applozic.getInstance() while maintaining the same functionality, which is in line with the PR objectives.


62-62: Consistent use of AppContextService for context retrieval.

The getAppModuleName method now correctly uses AppContextService.getContext(context).


29-42:

❓ Verification inconclusive

Consider renaming constants that still contain Applozic references.

While the class references have been updated, several constants still contain "applozic" in their names:

  • BASE_URL_METADATA = "com.applozic.server.url"
  • APPLICATION_KEY_HEADER_VALUE_METADATA = "com.applozic.application.key"
  • APP_MODULE_NAME_META_DATA_KEY = "com.applozic.module.key"
  • DEFAULT_MQTT_URL = "tcp://apps.applozic.com:1883"
  • FILE_BASE_URL_METADATA_KEY = "com.applozic.attachment.url"
  • FILE_UPLOAD_METADATA_KEY = "com.applozic.attachment.upload.endpoint"
  • FILE_DOWNLOAD_METADATA_KEY = "com.applozic.attachment.download.endpoint"

While changing these constants might require broader changes across the codebase and could affect backward compatibility, consider adding this to a future refactoring task for complete rebranding.


🏁 Script executed:

#!/bin/bash
# Check if these constants are used elsewhere in the codebase
echo "Checking usage of metadata constants across the codebase..."
rg -A 1 "com\.applozic\.server\.url" --type java
rg -A 1 "com\.applozic\.application\.key" --type java
rg -A 1 "com\.applozic\.module\.key" --type java
rg -A 1 "apps\.applozic\.com:1883" --type java
rg -A 1 "com\.applozic\.attachment\.url" --type java
rg -A 1 "com\.applozic\.attachment\.upload\.endpoint" --type java
rg -A 1 "com\.applozic\.attachment\.download\.endpoint" --type java

Length of output: 6973


Rebranding Reminder: Plan for Future Refactoring of Applozic Constants
The code still references Applozic in several constants (such as BASE_URL_METADATA, APPLICATION_KEY_HEADER_VALUE_METADATA, APP_MODULE_NAME_META_DATA_KEY, DEFAULT_MQTT_URL, FILE_BASE_URL_METADATA_KEY, FILE_UPLOAD_METADATA_KEY, and FILE_DOWNLOAD_METADATA_KEY). Our grep search confirms these values are used in multiple locations (e.g., in ALGroupInfoTask.java and MobiComKitConstants.java), which indicates that renaming these across the codebase is nontrivial and may impact backward compatibility.

Recommendation:

  • Consider adding a dedicated future refactoring task to systematically update these constants for full rebranding.
  • In the meantime, document the decision to retain the current names to avoid unexpected issues.
kommunicate/src/main/java/io/kommunicate/devkit/api/conversation/MobiComConversationService.java (10)

13-13: Import aligns with rebranding goals
No concerns here. Importing SettingsSharedPreference is consistent with the PR’s objective of renaming Applozic references to Kommunicate references.


27-27: Introducing KommunicateException
This import correctly reflects the shift away from ApplozicException. The new exception class suits the Kommunicate branding.


32-32: Using AppContextService
AppContextService.getContext(context) likely retrieves an application-scoped context. Ensure this approach prevents potential memory leaks if context is originally an Activity.

Would you confirm if AppContextService.getContext(context) is returning the application context to avoid lifecycle issues or memory leaks?


85-85: Initializing context with AppContextService
Storing the result of AppContextService.getContext(context) in an instance variable is presumably safe if it’s an application context. Just be sure you’re not referencing an Activity context here.


91-91: Retrieving action message preference
Invoking SettingsSharedPreference.getInstance(context).isActionMessagesHidden() matches the new naming scheme and appears correct.


151-154: Throwing KommunicateException when no attachment
This is a straightforward change from the old exception class. Initializing and then assigning e is fine, though you could inline it if you prefer brevity.


388-388: Updating server-call status
Replacing prior references with SettingsSharedPreference.updateServerCallDoneStatus(...) looks correct and aligns with the new naming.


582-582: Consistency in updating server-call status
This matches line 388. The calls to updateServerCallDoneStatus(...) are consistent across the file.


743-743: New exception in search error handling
Capturing the error response in a new KommunicateException is good. Review whether more context (e.g., a cause) is needed for debugging, depending on how KommunicateException is structured.


170-170:

✅ Verification successful

Relying on wasServerCallDoneBefore(null, null, null)
Passing null parameters is presumably valid here. However, confirm that the underlying function gracefully handles all three nulls without raising unexpected errors.

Also applies to: 180-180


🏁 Script executed:

#!/bin/bash
# Verify no unexpected NullPointerException or erroneous behavior with wasServerCallDoneBefore(...) calls.
rg "wasServerCallDoneBefore" -A 5

Length of output: 11554


Null parameter usage is verified safe.
After analyzing the implementation in SettingsSharedPreference.java, we see that wasServerCallDoneBefore(Contact contact, Channel channel, Integer conversationId) simply uses the key generated by getServerSyncCallKey(contact, channel, conversationId) when calling sharedPreferences.getBoolean(...). The same pattern—calling this function with all three parameters as null—is consistently used across MobiComConversationService.java (see lines 170 and 180) without any indication of errors or undesired behavior. There are no signs that passing null leads to a NullPointerException or erroneous outcomes.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/fragment/MobiComConversationFragment.java (33)

87-89: Renamed imports from Applozic to Kommunicate.

The imports have been changed to use Kommunicate's implementation instead of Applozic's.


96-97: Updated MQTT service import to use Kommunicate implementation.

The intent service for MQTT communication is now using Kommunicate's implementation.


118-119: Changed listener interface implementation.

The code now implements Kommunicate's UIEventListener instead of Applozic's equivalent.


180-181: Updated context service implementation.

Now using Kommunicate's AppContextService for accessing application context.


257-257: Updated interface implementation in class declaration.

The class now implements UIEventListener (from Kommunicate) instead of the previous ApplozicUIListener.


486-488: Using Kommunicate's context service and settings.

Changed the way settings are loaded and accessed, now using Kommunicate's implementation.


509-510: Updated file utility reference.

Now using Kommunicate's context service when loading restricted words.


523-528: Updated ImageLoader implementation.

Changed to use Kommunicate's context service for the ImageLoader implementation.


533-538: Updated message image loader.

Similar to the previous loader, now using Kommunicate's context service.


625-626: Updated user preference access.

Now using Kommunicate's context service to access user preferences.


928-933: Updated MQTT intent service implementation.

Changed the typing status notification mechanism to use Kommunicate's implementation.


967-972: Updated MQTT typing status handling.

Similar to the previous change, using Kommunicate's MQTT service for typing status.


1003-1008: Updated typing status notification.

Continuing the pattern of using Kommunicate's MQTT service for typing notifications.


1066-1068: Updated toolbar click handling.

Now using Kommunicate's context service to handle toolbar clicks.


1123-1124: Updated broadcast intent context.

Using Kommunicate's context service for broadcasting intent.


1333-1334: Updated typing subscription mechanism.

Now using Kommunicate's settings to unsubscribe from typing notifications.


1338-1339: Updated typing subscription mechanism.

Counterpart to the previous unsubscribe method, now using Kommunicate's settings to subscribe to typing notifications.


1477-1478: Updated toast message context.

Now using Kommunicate's context service for displaying toast messages.


1934-1935: Updated settings implementation.

Now using the renamed SettingsSharedPreference class from Kommunicate.


2188-2189: Updated typing subscription in conversation loading.

Using Kommunicate's settings implementation to subscribe to typing notifications when loading a conversation.


2233-2235: Updated notification management.

Using Kommunicate's settings and context service for notification management.


2933-2938: Updated message metadata access.

Now using Kommunicate's settings implementation to access message metadata.


3389-3390: Updated typing status publishing.

Using Kommunicate's settings implementation to publish typing status.


3510-3511: Updated typing subscription.

Using Kommunicate's settings implementation to subscribe to typing notifications in conversation resume.


3578-3593: Implemented consistent code style while transitioning.

The implementation of the business hours mechanism maintains good code quality while now using Kommunicate's classes.


4067-4068: Updated context for dialog items.

Using Kommunicate's context service for creating dialog items.


4088-4089: Updated dialog title context.

Using Kommunicate's context service for setting dialog titles.


4145-4146: Updated mute dialog context.

Using Kommunicate's context service for mute dialog options.


4166-4167: Updated mute user dialog title.

Using Kommunicate's context service for dialog titles.


4870-4872: Updated clipboard operations context.

Using Kommunicate's context service for clipboard operations.


5560-5609: Updated conversation management.

This implementation of taking over a conversation from a bot now uses Kommunicate's classes while maintaining the same functionality.


5622-5623: Updated auto-suggestion database access.

Using Kommunicate's context service for accessing the auto-suggestion database.


486-4717: Overall systematic renaming approach.

The systematic replacement of Applozic references with Kommunicate ones throughout the file is very thorough. All instances have been properly renamed while maintaining the original functionality, which is essential for ensuring backward compatibility and seamless transition.

The approach taken - consistent renaming of imports, service calls, settings access, and context handling - minimizes the risk of introducing bugs during this refactoring process.

kommunicateui/src/main/java/io/kommunicate/ui/conversation/activity/ConversationActivity.java (13)

53-54: Imports look correct.
No issues with these new imports for KommunicateSettings and SettingsSharedPreference.


96-96: Initialization service import approved.
AppContextService import for context initialization is consistent with the new Kommunicate framework.


276-276: Proper disconnection on stop.
Using KommunicateSettings.disconnectPublish(this) here aligns well with the matching connectPublishWithVerifyToken() call in onResume. No issues found.


287-287: Connection logic looks fine.
Switching to KommunicateSettings.connectPublishWithVerifyToken is consistent with the new naming. Good job.


368-368: Context initialization approach seems appropriate.
AppContextService.initWithContext(this) is a logical call for setting up the Kommunicate context.


399-399: Potential fallback check for geoApiKey.
Please confirm that no breakage occurs if geoApiKey is null or empty. Consider adding a safeguard or warning if the key is missing.


471-472: Account closed or disallowed logic is consistent.
Replacing old Applozic references with SettingsSharedPreference calls is in line with the renaming. No concerns.


505-505: Unused parameter.
postTaskUIMethod looks fine, but the completed parameter is never used. Consider validating or removing to avoid confusion.


514-514: Language fallback is properly set.
KommunicateSettings.setDefaultLanguage(this) is a clear improvement over any previous Applozic reference. Good job.


1044-1044: IP call flow logic looks consistent.
Switch to SettingsSharedPreference for checking call enablement is clear and coherent.


1067-1067: Audio call logic matches the new framework.
Again, no sightings of old references; the rename to SettingsSharedPreference is correct.


1349-1349: Newly introduced field.
SettingsSharedPreference settingsSharedPreference; properly replaces the old Applozic client references.


1358-1358: Instance reference check.
this.settingsSharedPreference = SettingsSharedPreference.getInstance(context); is straightforward and consistent.

kommunicate/src/main/java/io/kommunicate/Kommunicate.java (11)

16-17: Imports for renamed classes appear consistent.

These newly introduced imports from KommunicateSettings and SettingsSharedPreference look appropriate, aligning with the refactor from Applozic to Kommunicate.


27-27: Use of KommunicateException looks appropriate.

Replacing the old exception with KommunicateException is consistent with the overall change.


127-130: Initialization logic with KommunicateSettings is coherent.

Transitioning to KommunicateSettings.init and verifying that the placeholder ID is not used helps maintain clarity and consistency with the new library.


381-381: Updated application key usage is acceptable.

Calling KommunicateSettings.getInstance(context).getApplicationKey() is an appropriate replacement and keeps the logic simple.


554-554: Logout flow routed to KommunicateSettings is consistent.

This aligns well with the renaming strategy, and the callback approach handles post-logout tasks properly.


568-568: Device token setter now references Kommunicate settings.

The code aligns with the new package references and should work as intended.


572-572: Device token retrieval is updated consistently.

No issues noted; the new method call is straightforward.


672-672: Setting custom notification sound is properly renamed.

Refactoring references to KommunicateSettings is aligned with the rest of this PR.


807-808: Retrieving metadata from SettingsSharedPreference.

Merging the default metadata into the newly created conversation is a sensible approach.


1050-1050: Fetching existing metadata is logically sound.

Reading the stored metadata from SettingsSharedPreference before merging is consistent with the chat context update.


1071-1071: Storing updated metadata via SettingsSharedPreference.

Writing the merged context metadata back is appropriate and completes the rename from old preferences.

@adarshmishra
Copy link

@prateek-kommunicate Check TAG Issues raised by codeRabbit. Also, will there be any documentation changes required?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants