Commits by Nikka
9 subscribers
164 links
Owned by @NikkaGameS
Download Telegram
🔨 1 new commit to ComuCompose:master:

910dcad: Remove ServerService and refactor connection logic

- Delete ServerService and remove from Manifest.
- Update SocketService configuration and cleanup logic.
- Refactor TokenDb usage in Handlers to use a singleton instance.
- Add automatic reconnection checks in MainActivity and ChatActivity on resume.
- Improve null safety for profile icons and average color calculations.
- Optimize login flow and service startup sequences in LoginActivity.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

e045f51: Replace ACRA with Firebase Crashlytics
Add message timestamps and date separators in ChatActivity
Parse message time in Handlers and add formatting utilities
Redirect notification clicks to LoginActivity if not connected
Move heavy color calculation off the main thread in MainActivity
Fix potential null pointer issues in Handlers

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

c82ea0d: Refactor message handling loop and remove unused methods
Optimize profile picture loading and caching mechanisms
Update ChatActivity reconnection logic and timestamp UI
Reduce polling delays and improve background thread management

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

1ddbd2d: 3000-rc2 -> Implement custom loading animation and improve navigation flow

- Replace standard progress indicators with new JumpSwapDots composable in ChatActivity and MainActivity.
- Add ReconScreen to LoginActivity for handling reconnection states using the new comu_circle resource.
- Enhance intent handling in LoginActivity and ComuFirebaseService to navigate directly to specific chats.
- Move socket closure to a background thread in SocketService.
- Enforce a character limit on the text input in MainActivity.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

4ec964d: Push latest changes

* Utils.kt: Add optional fill parameter to JumpSwapDots to control width behavior.
* ChatActivity.kt: Adjust JumpSwapDots animation speed to 125.
* LoginActivity.kt: Replace CircularProgressIndicator with JumpSwapDots during loading state; fix incorrect Handlers.messageCheck call (start -> run).
* MainActivity.kt: Replace CircularProgressIndicator with JumpSwapDots for UI consistency.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

5e2abaa: Revamp Profile UI and add Firebase Performance

- Rewrite ProfileActivity with collapsing droplet header, custom avatar morphing, and nested scroll handling.
- Integrate Firebase Performance Monitoring plugin and dependencies.
- Update JumpSwapDots utility with new layout parameters and animation logic.
- Add animated connecting indicator to MainActivity and adjust dot sizing in ChatActivity.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

9f3bcfe: Refactor event handling and cleanup code

- Replace hardcoded event name strings with constants in Handlers.kt
- Introduce waitResult helper to deduplicate synchronous request logic
- Convert if-else chains to when expressions and improve formatting
- Use getIcon() accessor instead of direct property access in ProfileActivity
- Improve null safety checks and string building efficiency

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuServer:main:

5307034: Refactor, clean up, and update protocol events

Refactored code for improved readability and consistency:
- Standardized if-else blocks and added braces {}.
- Removed unused methods, exception variables, and legacy code.
- Replaced hardcoded event names with descriptive alternatives.
- Updated JSON response keys to match new event names.

Bug fixes and enhancements:
- Fixed typos in log messages.
- Added time field to "msg.new" event for timestamps.
- Refactored msg.delete for better isdel handling.
- Introduced Encrypt method for string encryption.

Other changes:
- Added SharpCompress.Compressors.Xz library.
- Replaced GoogleUserOutputData deserialization with JsonDocument. by NikkaGames
🔨 1 new commit to ComuCompose:master:

2204a63: Implement edge-to-edge UI and refactor profile animations

- Enable transparent status bars and edge-to-edge layout across Main, Login, Chat, and Profile activities
- Update themes.xml to support transparent system bars
- Refactor droplet background physics, avatar blur, and layout in ProfileActivity
- Add default profile image fallback logic in MainActivity
- Update incoming message event key in Firebase service

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

24f07c3: Refactor threading to Coroutines and remove Firebase Performance

- Migrate background tasks in Handlers (LoadChats, NewChat, icon processing) from Java Threads/Executors to Kotlin Coroutines.
- Convert getIcon to a suspend function and remove CompletableFuture usage.
- Update LoginActivity, MainActivity, ChatActivity, and ComuFirebaseService to initialize and pass CoroutineScope for async operations.
- Remove Firebase Performance Monitoring dependency and plugin configuration.
- Simplify vibration logic in ComuFirebaseService by removing legacy SDK version checks.
- Remove redundant whitespace in ProfileActivity.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

6a9d4e6: Migrate to SQLCipher and implement message drafts

- Replace standard SQLite with SQLCipher for encrypted local storage
- Implement message draft saving, restoring, and preview in chat list
- Update TokenDatabase to support encryption and store user data blobs
- Embed obfuscated SSL certificate in SocketService and remove commu.jks
- Enhance token validation using app signature and device ID
- Update MainActivity UI with new list item design and ripple effects
- Lock app orientation to portrait and add splash screen logic

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 2 new commits to ComuCompose:master:

4b74d9e: Migrate to SQLCipher and implement message drafts

- Replace standard SQLite with SQLCipher for encrypted local storage
- Implement message draft saving, restoring, and preview in chat list
- Update TokenDatabase to support encryption and store user data blobs
- Embed obfuscated SSL certificate in SocketService and remove commu.jks
- Enhance token validation using app signature and device ID
- Update MainActivity UI with new list item design and ripple effects
- Lock app orientation to portrait and add splash screen logic

Add proguard rules for SQLCipher

- Keep classes and members for net.sqlcipher.** and org.sqlite.** to prevent obfuscation issues.
- Add dontwarn rules for sqlcipher and sqlite packages.
- Specifically keep mNativeHandle in SQLiteDatabase to ensure native access works correctly.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
bb3a9cb: Merge remote-tracking branch 'origin/master' by NikkaGames
🔨 1 new commit to ComuCompose:master:

7cffbb2: Refactor threading for chat loading, search, and login operations
Optimize image processing and icon loading in Handlers
Rename request queue in SocketService and update PendingIntent flags
Fix draft state updates and empty view logic in ChatActivity
Adjust chat list item padding and text styling in MainActivity

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

42df7b6: Revamp Profile UI and adjust chat bubble width

- Update ProfileActivity to include a row of action buttons (Message, Notify, Call, Add) with AnimatedVisibility.
- Add User Bio and "Joined at" sections to the profile layout.
- Implement logic to display a verified badge next to the username, utilizing a new brighter color extension function.
- Increase the maximum width of text messages in ChatActivity from 60% to 75% of the screen width.
- Add ic_notify vector resource.
- Remove unused blur animation logic from ProfileActivity.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

3397ced: Refactor profile data handling and user search flow

- Separate profile view data (UID, name, icon, verification) from current user data in Singleton to prevent conflicts.
- Update ProfileActivity to consume specific profile fields and handle from_profile navigation logic for chat initiation.
- Redirect user search in Handlers to open ProfileActivity instead of directly launching ChatActivity.
- Update ChatActivity and MainActivity to populate Singleton profile data before navigating to ProfileActivity.
- Rename "New Chat" to "Search user" and update the search icon in MainActivity.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

ed4d6be: Extract average color from user icon and use it for verified badge tint

* Calculate average color from item icon in Handlers.kt.
* Add color property to ItemClass with a default blue value.
* Apply the calculated item.color to the verified badge tint in MainActivity.kt.
* Ensure a default profile icon is displayed if item.icon is null in MainActivity.kt.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuServer:main:

0302964: Send empty message history if user has no messages to counterparty by NikkaGames
🔨 1 new commit to ComuCompose:master:

ad42f65: Push latest changes

* ChatActivity: Refine noMessages state logic during initial load to prevent empty state flash.
* deploymentTargetSelector: Update deployment target selection mode.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to AudioReceiver:master:

78c49b2: Refactor AudioReceiverService socket handling and update Gradle properties

- Make DatagramSocket a class-level member in AudioReceiverService to allow proper cleanup.
- Ensure the socket is closed in onDestroy to prevent resource leaks.
- Add exception handling for socket reception and thread sleep to gracefully exit the loop on interruption or error.
- Increase Gradle JVM heap size to 4GB.
- Clean up comments and add android.deployInstruments, android.injected.testOnly, and android.baselineProfiles properties in gradle.properties.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

a6b1002: Refactor service state checks and notification permissions

- Introduce ServiceStateHelper in Utils to verify running services using ActivityManager, replacing the static SocketService.isRunning check across ChatActivity, LoginActivity, MainActivity, and ComuFirebaseService.
- Add NotificationPermission helper class in Utils to handle Android 13+ notification permission requests and implement it in LoginActivity.
- Update ChatActivity to display "Reconnecting..." status text when the socket service is not running or connected.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:

edfb07b: Update profile and chat screens to handle dynamic icon loading and screen sizes

- Add getScreenClass utility using WindowMetricsCalculator to categorize screen dimensions.
- Update ProfileActivity to conditionally render profile components based on screen class and notch presence.
- Implement dynamic loading of profile icons in ProfileActivity and ChatActivity via coroutines and new EVENT_USER_PICTURE_LINK handler.
- Refactor ComuFirebaseService to handle profileLink from FCM data, fetching icons if missing before notification display.
- Add androidx.window dependency.
- Update LoginActivity to check SocketService.isRunning static flag instead of helper method.
- Ensure proper process termination in Handlers upon failed token validation.

Signed-off-by: NikkaGames <[email protected]> by NikkaGames