-
Notifications
You must be signed in to change notification settings - Fork 628
moves all non‑UI logic #515
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
Closed
Closed
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
9e25ee4
Automated update of relay data - Sun Sep 21 06:21:05 UTC 2025
actions-user 6cccaae
Merge remote-tracking branch 'origin/main'
yet300 95358ac
Automated update of relay data - Sun Sep 28 06:20:40 UTC 2025
actions-user 696f698
refactor: new close button like ios(but not liquid glass)
yet300 e0c7240
Merge remote-tracking branch 'origin/main'
yet300 16d67d3
feat: Migrate from Parcelable to Kotlinx Serialization
yet300 ee08835
Merge branch 'permissionlesstech:main' into main
yet300 95e08d4
feat: Add JsonUtil to replace Gson
yet300 045db11
feat: Migrate from Gson to Kotlinx Serialization
yet300 866b8da
Refactor: Migrate Nostr JSON handling from Gson to kotlinx.serialization
yet300 d54fc17
Refactor: Use kotlinx.serialization for NoisePayload
yet300 d49ea7f
Refactor: Replace Gson with Kotlinx Serialization
yet300 af46f69
Refactor: Remove Gson dependency
yet300 148f804
Merge branch 'main' into feature/migrate-kotlinx.serialization
yet300 74d90fd
Merge branch 'main' into feature/migrate-kotlinx.serialization
yet300 314b8ea
Merge remote-tracking branch 'upstream/main' into feature/migrate-kot…
yet300 df5375f
Refactor: Replace CloseButton with TextButton in bottom sheets
yet300 d52f95f
feat: Add Koin for dependency injection
yet300 43209f6
Refactor Data Layer to Clean Architecture with Koin
yet300 3112aeb
refactor: migrate singleton services to Koin dependency injection
yet300 0a84982
refactor: migrate GeohashBookmarksStore and DebugSettingsManager to K…
yet300 d7283b5
refactor: inject DebugSettingsManager into mesh layer core classes
yet300 c077f4f
refactor: complete DebugSettingsManager Koin migration
yet300 4cec384
Refactor: Use Koin property delegation for meshService
yet300 328a0dd
Refactor: Use Koin for PermissionManager dependency injection
yet300 8ba831e
refactor: Add PeerFingerprintManager dependency to tests
yet300 b07a846
refactor: eliminate lateinit vars and use Koin dependency injection
yet300 776fcfb
Refactor: Lazily initialize GossipSyncManager
yet300 e76f34d
Refactor FavoritesPersistenceService to use Koin dependency injection
yet300 e0f6489
refactor: Use dependency injection for manager classes
yet300 29d0241
refactor: Centralize UI logic in ChatViewModel
yet300 26a8ad8
Refactor: Move geohash and PoW logic to ChatViewModel
yet300 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| package com.bitchat.android.di | ||
|
|
||
| import org.koin.core.annotation.ComponentScan | ||
| import org.koin.core.annotation.Module | ||
|
|
||
| @Module | ||
| @ComponentScan("com.bitchat.android") | ||
| class AppModule | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| package com.bitchat.android.di | ||
|
|
||
| import org.koin.core.context.startKoin | ||
| import org.koin.dsl.KoinAppDeclaration | ||
| import org.koin.ksp.generated.module | ||
|
|
||
| fun initKoin(config: KoinAppDeclaration? = null) { | ||
| startKoin { | ||
| modules( | ||
| AppModule().module | ||
| ) | ||
| config?.invoke(this) | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MainActivity now relies on Koin (
by inject()for PermissionManager/BluetoothMeshService andby viewModel()for ChatViewModel), but the only module registered at startup isAppModule, which just component-scanscom.bitchat.androidwithout any Koin@Single/@Factorybindings. All the managers were annotated withjakarta.inject.Singletoninstead of Koin’s annotations, so the generated module is effectively empty and Koin cannot provide the injected dependencies. At runtime the app will throwNoBeanDefFoundExceptionas soon as MainActivity is created, blocking startup. Consider registering the bindings explicitly or switching the classes to Koin annotations so the component scan produces definitions.Useful? React with 👍 / 👎.