77 Commits

Author SHA1 Message Date
Mohamad Hamade
245181d736 Refactor: Introduce MainViewModel for onboarding state management
This commit introduces a `MainViewModel` to manage the UI state for the onboarding flow. This change centralizes the onboarding state (including Bluetooth status, location status, error messages, and loading indicators) within the ViewModel, allowing it to survive configuration changes and simplifying state management within `MainActivity`.

Key changes:
- Created `MainViewModel.kt` to hold and manage onboarding-related UI state.
- Moved onboarding state variables (e.g., `onboardingState`, `bluetoothStatus`, `locationStatus`) from `MainActivity` to `MainViewModel`.
- Updated `MainActivity` to observe and update onboarding state through the `MainViewModel`.
- Created `OnboardingState.kt` to define the possible states of the onboarding process.
- Ensured that the onboarding process is not restarted on configuration changes by checking `mainViewModel.onboardingState` before initiating.
2025-07-15 02:24:41 +03:00
callebtc
e0f727647a chore: refactor 2025-07-14 00:24:00 +02:00
callebtc
7ecdb1426b revert comment 2025-07-14 00:18:15 +02:00
callebtc
193918d81a track rssi correctly 2025-07-14 00:13:45 +02:00
callebtc
06a9ec6268 badge 2025-07-13 23:57:10 +02:00
callebtc
20cf8b59f8 copy text and fix notifications for DM 2025-07-13 23:42:58 +02:00
callebtc
f909f01fec integrate into main 2025-07-13 23:23:15 +02:00
callebtc
f9a639af2d Merge branch 'main' into fix/android-ios-fragmentation-compatibility 2025-07-13 23:18:00 +02:00
callebtc
0e2614d3eb fix build 2025-07-13 22:52:50 +02:00
callebtc
362f9b0ff2 log 2025-07-13 22:39:41 +02:00
callebtc
f40283694d logs 2025-07-13 22:35:18 +02:00
callebtc
cac3b9ec6c better logging of device id 2025-07-13 22:18:31 +02:00
callebtc
725dc01352 fix null delegate 2025-07-13 22:06:43 +02:00
callebtc
f7c68d2ff2 fix 2025-07-13 21:38:39 +02:00
callebtc
a68e14133b wip refactor 2025-07-13 21:34:31 +02:00
callebtc
d25d3bf991
Merge branch 'main' into fix/android-ios-fragmentation-compatibility 2025-07-13 21:25:11 +02:00
callebtc
930081bba0 add location services check 2025-07-13 20:27:43 +02:00
callebtc
887ca0119e Merge branch 'main' into adjust-scan-intervals 2025-07-13 19:43:58 +02:00
callebtc
75bcb9277c
Merge pull request #57 from GUVWAF/routingOpt
Cheap routing optimizations
2025-07-13 17:38:42 +02:00
callebtc
2cf6bf19b1 Merge branch 'main' into routingOpt 2025-07-13 17:20:49 +02:00
callebtc
2a0f84b53b adjust scan intervals and reduce logging 2025-07-13 17:16:31 +02:00
callebtc
0d54d60dd5
Merge pull request #60 from prudhvir3ddy/prudhvir3ddy/upgrade_deps
Upgrade compileSDK, kotlin, AGP, compose, core libs
2025-07-13 17:09:00 +02:00
callebtc
ee70073324 notifications description 2025-07-12 17:43:13 +02:00
callebtc
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
callebtc
d490393de6 back gesture works 2025-07-12 17:32:08 +02:00
callebtc
a97e2549b8 fix fav updates 2025-07-12 17:11:19 +02:00
callebtc
ea25b71d6f fix favorites 2025-07-12 16:55:50 +02:00
callebtc
d54d470614 more logging 2025-07-12 16:36:00 +02:00
callebtc
035273011f fix startup 2025-07-12 15:42:37 +02:00
GUVWAF
1b37f46d1e Fallback to broadcast if direct send fails 2025-07-12 13:18:09 +02:00
GUVWAF
d1085fde0b Cheap routing optimizations
- Don't relay back to sender or relayer
- Only send to connected device if recipientID matches one
- Don't relay our own ACK/read receipt
2025-07-12 13:18:09 +02:00
callebtc
e58cf4fd0d fix null pointer 2025-07-12 12:53:01 +02:00
prudhvir3ddy
dfb621ca64 Merge branch 'main' of ssh://github.com/permissionlesstech/bitchat-android into prudhvir3ddy/upgrade_deps 2025-07-12 10:16:12 +05:30
prudhvir3ddy
a345d0a021 Refactor: Update permission handling to use PermissionType enum 2025-07-12 10:06:56 +05:30
callebtc
8e93500823 nice 2025-07-12 02:58:30 +02:00
callebtc
50995c670f orange 2025-07-12 02:55:14 +02:00
callebtc
759ebaec93 buttons 2025-07-12 02:49:49 +02:00
callebtc
a9995ebfc1 like 2025-07-12 02:45:59 +02:00
callebtc
006ac7e78a buttons 2025-07-12 02:37:51 +02:00
callebtc
83da8f3b1b input 2025-07-12 02:34:56 +02:00
callebtc
9b57504c2c
Merge pull request #39 from alpermelkeli/main
implement channel password management at local and /pass command hand…
2025-07-12 02:24:51 +02:00
callebtc
cd94542404
Merge pull request #42 from vashisthg/permission-explanation-vertical-padding
fixes vertical padding in permission explanation
2025-07-11 18:39:06 +02:00
callebtc
75c4b758b6 fix: /w shows usernames now 2025-07-11 18:27:24 +02:00
prudhvir3ddy
9bdfa31d55 Upgrade compileSDK, kotlin, AGP, compose, core libs 2025-07-11 17:15:54 +05:30
ShilohEye
33d273f268 Fix Android fragmentation for iOS/Rust compatibility
- Changed MAX_FRAGMENT_SIZE from 500 to 150 bytes to match iOS/Rust
- Fixed fragment ID generation to use 8 random bytes instead of string
- Implemented automatic fragmentation in BluetoothConnectionManager
- Added 20ms delay between fragments to match iOS/Rust implementation
- Updated fragment calculation to account for full packet overhead (34 bytes)

This ensures Android-generated fragments fit within iOS's default 185-byte BLE MTU,
fixing issues with commands like ?ls -la and ?ifconfig failing on iOS devices.
2025-07-10 19:25:52 -04:00
Gaurav Vashisth
1098970810 fixes vertical padding in permission explanation 2025-07-10 23:20:14 +05:30
alpermelkeli
85f23c23fd implement channel password management at local and /pass command handling. 2025-07-10 18:56:55 +03:00
callebtc
f47ed01243 bluetooth checking 2025-07-10 14:15:54 +02:00
callebtc
ef6a815b4c bluetooth check 2025-07-10 14:01:42 +02:00