Commit Graph
34 Commits
Author SHA1 Message Date
CC 0a8f77961a wifi aware working 2026-06-08 23:31:05 +02:00
CC 3ac6976a54 Merge branch 'main' into wifi-aware-refactor-mesh-core
# Conflicts:
#	app/src/main/AndroidManifest.xml
#	app/src/main/java/com/bitchat/android/BitchatApplication.kt
#	app/src/main/java/com/bitchat/android/MainActivity.kt
#	app/src/main/java/com/bitchat/android/mesh/BluetoothConnectionTracker.kt
#	app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt
#	app/src/main/java/com/bitchat/android/noise/NoiseEncryptionService.kt
#	app/src/main/java/com/bitchat/android/onboarding/PermissionManager.kt
#	app/src/main/java/com/bitchat/android/ui/SidebarComponents.kt
2026-06-08 22:56:40 +02:00
callebtcandGitHub 423feb8b77 Fix/foreground permissions scanning (#556)
* try catch the foreground location service if not available

* ask for background permissions

* background permissions in onboarding

* small improvements
2026-01-05 15:09:04 +07:00
callebtcandGitHub 35030a05d8 Wifi aware skip bluetooth (#538)
* unify connection tracker for ble and wifi

* bluetooth optional
2026-01-04 02:02:24 +07:00
callebtcandGitHub fa1978d587 Revert "fix: wifi aware socket binding (#533)" (#535)
This reverts commit 0c7505b588.
2026-01-03 23:37:49 +07:00
0c7505b588 fix: wifi aware socket binding (#533)
* wifi aware wip

* wifi aware wip

* starting to work

* werk

* dms work

* wip

* fix(wifi-aware): use bindSocket and scoped IPv6 instead of bindProcessToNetwork

* Merge branch 'upstream/main' into fix/wifi-aware-socket-binding

* Fix Wi-Fi Aware connectivity and UI integration post-merge

- Replace bindProcessToNetwork with bindSocket for VPN compatibility.
- Implement Scoped IPv6 address resolution (aware0) for mesh routing.
- Bridge Wi-Fi Aware incoming messages to AppStateStore for UI visibility.
- Fix syntax errors and variable name conflicts in Debug UI.

* Enhance Wi-Fi Aware robustness and debug UI display

- Clean up transport resources (sockets, server sockets, network callbacks) immediately on peer disconnection.
- Implement resolveScopedAddress to show scoped IPv6 (e.g., %aware0) in Debug UI.
- Fix Map type mismatch warning in ChatViewModel bridge.
- Filter self-ID from peer cleanup tables to prevent recursive self-removal.

* Share GossipSyncManager across transports to prevent redundant message synchronization

- Registered BluetoothMeshService's GossipSyncManager as a singleton in MeshServiceHolder.
- Modified WifiAwareMeshService to use the shared GossipSyncManager if available.
- Added background cleanup for peer mappings on socket disconnection.
- Fixed Kotlin type mismatch during nickname map merging.

* Restore VPN acquisition logic and improve peer cleanup

- Revert removal of NET_CAPABILITY_NOT_VPN to allow hardware handle acquisition while VPN is active.
- Refactor handlePeerDisconnection to more reliably cleanup initial and routed IDs.
- Switch cleanup logging to debug level to reduce log noise.

---------

Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
Co-authored-by: aidenvalue <>
2026-01-03 23:31:20 +07:00
callebtc f4341ae1c1 wifi aware wip 2025-10-21 22:24:55 +02:00
callebtcandGitHub ad28cc710c Translations (#467)
* english done

* de

* more extraction

* wip strings en

* translations work

* remove unneeded translations

* remove notification message

* add languages

* new languages
2025-10-12 18:54:20 +02:00
callebtcandGitHub 633a506753 Media transfers (#440)
* tor voice wip

* worky BLE a bit

* can send sound

* remove tor

* ui cleanup

* recording time

* progress bar color

* nicknames for audio

* onboarding permissions no microphone

* may work

* fix destionation

* extend

* refactor voice input component

* fix keyboard collapse issue

* send images

* wip image open

* image sending works

* wip waveforms

* better

* better animation

* fix cursor for sending audio

* image sending animation

* image sending animation

* full screen image viewer

* gossip sync for fragments too

* reduce delays

* fix keyboard focus

* use v2 for file transfers

* do not sync fragments

* scrollable image viewer

* ui

* ui adjustments

* nicer animation

* seek through audio

* add spec

* add more details to documentation

* File sharing E2E:
- Add TLV BitchatFilePacket, FileSharingManager
- Implement sendFileNote in ChatViewModel
- File receive path: save to files/incoming and render [file] messages with FileMessageItem or FileSendingAnimation during transfer
- SAF FilePickerButton and dispatcher wiring; image/file choice to follow in MediaPickerOptions
- Add FileViewerDialog with system open/save, FileProvider and file_paths
- Hook transfer progress to file sending UI
- Manifest: READ_MEDIA_* and FileProvider
- Fix MessageHandler saving and prefix for non-image payloads
- Add helper utils (FileUtils)

* kinda wip

* fix buttons

* files half working

* wip file transfer

* file packet has 2-byte TLV and chunks. it wokrs but it sucks

* clean

* remove gossip sync for fragments

* fix audio and image rendering

* adjust FILE_SIZE TLV size too

* cleanup

* haptic

* private messages media

* read receipts for media

* use enum for message type not string

* delivery ack checks dont push content

* check

* animation fix

* refactor

* ui adjustments

* comments

* refactor

* fix crash on send and receive of the same file

* refactor notifications

* tests
2025-09-19 22:46:14 +02:00
callebtcandGitHub 1a398b16ef Redesign: Permissions screen, battery optimization, location sheet (#415)
* update permissions screen design

* battery optimization screen

* remove init screen

* skip init screen on load

* skip on load only

* location sheet design wip

* denser location sheet

* location sheet layout fix
2025-09-14 04:22:56 +02:00
Héctor de IsidroandGitHub bbf5918896 Fix edge-to-edge layout issues (#367)
* Remove redundant setDecorFitsSystemWindows call

* Fix edge-to-edge layout issues
2025-09-02 14:25:45 +02:00
callebtcandGitHub cedc6552ce make notifications optional (#349) 2025-08-29 23:39:11 +02:00
callebtcandGitHub 3248f37932 update (#340) 2025-08-29 20:13:11 +02:00
callebtcandGitHub 550520795f UI geohash notifications (#325)
* location name in notifications

* remove tests

* panic nostr

* mentions with hashes, otherwise none

* fix timestamps

* parse geohashes in messages

* works

* fix country name

* mention notifications work
2025-08-28 17:47:47 +02:00
callebtcandGitHub 7243d841a3 Nostr geohash (#276)
* first nostr build

* add test file

* internet access

* fix relay manager

* fix serialization

* demo service - remove later

* fix nostr

* event dedupe

* dedupe

* ui wip

* can send messages

* subscription works

* works

* favs

* works

* delete chat on change

* fix mentions

* remove autojoin channels

* styling

* adjust colors

* ui changes

* live updates working

* use local timestamp

* message history in background

* robust

* fixes

* nicknames refresh optimization

* nostr service

* refactor nostr

* style

* geohash works

* centralize colors

* refactoring

* disable DMs for now: click on peer nickname doesnt open chat list in geohash mode

* use local time

* less logging

* robustness

* scroll nickname

* adjust some text
2025-08-22 19:09:18 +02:00
a0d1c6f77c Add Real-Time Bluetooth State Monitoring to OnboardingFlowScreen (#55)
* Add bluetooth monitor function to onboarding flow screen

* Adds function that checks bluetooth status in real time

* Add bluetooth monitor function to onboarding flow screen

* Refactor

* Comment button to manually check BT state

* Original commits

* feat(ui): Remove auto-trigger for Bluetooth enable prompt

* feat(ui): Remove auto-trigger for Bluetooth enable prompt

* feat(ui): Remove BluetoothStatusBanner. Pending approval on feature, will add in a new PR

* Refactor and fix conflicts

---------

Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
2025-08-05 23:49:04 +02:00
callebtcandGitHub 4b1d6f8c04 UI improvements (#192)
* bitchat logo

* improve ui
2025-07-25 20:02:59 +02:00
callebtcandGitHub 9b85a070ac Update app/src/main/java/com/bitchat/android/onboarding/BatteryOptimizationScreen.kt 2025-07-19 20:07:50 +02:00
callebtcandGitHub fc63184c2f Update app/src/main/java/com/bitchat/android/onboarding/BatteryOptimizationScreen.kt 2025-07-19 20:07:38 +02:00
Faded 83144afd66 fix(onboarding): improve battery optimization screen layout and scrolling
Restructure BatteryOptimizationEnabledContent to use proper scrolling behavior and fixed button placement at the bottom. The changes ensure better usability by preventing content from being hidden behind buttons and allowing full content visibility through scrolling.
2025-07-19 18:56:39 +05:00
Faded 7972439c14 Merge branch 'main' into fix/wrong-cursor-location 2025-07-18 05:19:19 +05:00
Mohamad Hamade d730acbb79 Refactor: Migrate MainViewModel to use StateFlow
This commit refactors the `MainViewModel` to use `StateFlow` instead of `mutableStateOf` for managing its observable properties. This change improves the way UI state is handled and observed, aligning with modern Android development best practices.

Additionally, `OnboardingState.kt` has been moved to the `onboarding` package for better organization.
2025-07-16 01:13:42 +03:00
Faded fe57c5684e feat(battery): add battery optimization management for background reliability
Add battery optimization permission and management system to ensure app runs reliably in background:
- Add REQUEST_IGNORE_BATTERY_OPTIMIZATIONS permission
- Create BatteryOptimizationManager to handle battery optimization checks and requests
- Add battery optimization UI screens and flow in onboarding
- Integrate battery optimization checks into MainActivity flow
2025-07-14 14:23:59 +05:00
callebtc 930081bba0 add location services check 2025-07-13 20:27:43 +02:00
callebtc 2a0f84b53b adjust scan intervals and reduce logging 2025-07-13 17:16:31 +02:00
callebtc ee70073324 notifications description 2025-07-12 17:43:13 +02:00
callebtcandGitHub 68bc1e4ee9 Merge branch 'main' into prudhvir3ddy/safe-permission-category 2025-07-12 17:42:10 +02:00
callebtc ad6dc3680b permissions layout 2025-07-12 17:40:25 +02:00
prudhvir3ddy a345d0a021 Refactor: Update permission handling to use PermissionType enum 2025-07-12 10:06:56 +05:30
Gaurav Vashisth 1098970810 fixes vertical padding in permission explanation 2025-07-10 23:20:14 +05:30
callebtc f47ed01243 bluetooth checking 2025-07-10 14:15:54 +02:00
callebtc ef6a815b4c bluetooth check 2025-07-10 14:01:42 +02:00
callebtc 3cee97ccc7 check bluetooth 2025-07-10 13:49:52 +02:00
callebtc f9f56794d3 onboarding 2025-07-10 13:15:28 +02:00