mirror of
https://github.com/permissionlesstech/bitchat-android.git
synced 2026-07-24 22:45:20 +00:00
* persistence step 1 * fix build * messages in the background work, notifications not yet * app state store * DM icon shows up * notification launches when app is closed! * keep ui updated * lifecycle fixes * extensive logging, maybe revert later * send nickname in announcement * quit in notification * setting in about sheet * fix quit bitchat * lifecycle fixes * power mode based on background state * stats for both direciotns * fix graph persistence * better counting * count per device * only compute when debug sheet is open? untested * fix read receipts * fix read receipts fully * fix unread badge if messages have been read in focus * foreground promotion fix * fix app kill in notification * adjust to new tor * nice * about sheet design
53 lines
2.0 KiB
Kotlin
53 lines
2.0 KiB
Kotlin
package com.bitchat.android
|
|
|
|
import android.app.Application
|
|
import com.bitchat.android.nostr.RelayDirectory
|
|
import com.bitchat.android.ui.theme.ThemePreferenceManager
|
|
import com.bitchat.android.net.ArtiTorManager
|
|
|
|
/**
|
|
* Main application class for bitchat Android
|
|
*/
|
|
class BitchatApplication : Application() {
|
|
|
|
override fun onCreate() {
|
|
super.onCreate()
|
|
|
|
// Initialize Tor first so any early network goes over Tor
|
|
try {
|
|
val torProvider = ArtiTorManager.getInstance()
|
|
torProvider.init(this)
|
|
} catch (_: Exception){}
|
|
|
|
// Initialize relay directory (loads assets/nostr_relays.csv)
|
|
RelayDirectory.initialize(this)
|
|
|
|
// Initialize LocationNotesManager dependencies early so sheet subscriptions can start immediately
|
|
try { com.bitchat.android.nostr.LocationNotesInitializer.initialize(this) } catch (_: Exception) { }
|
|
|
|
// Initialize favorites persistence early so MessageRouter/NostrTransport can use it on startup
|
|
try {
|
|
com.bitchat.android.favorites.FavoritesPersistenceService.initialize(this)
|
|
} catch (_: Exception) { }
|
|
|
|
// Warm up Nostr identity to ensure npub is available for favorite notifications
|
|
try {
|
|
com.bitchat.android.nostr.NostrIdentityBridge.getCurrentNostrIdentity(this)
|
|
} catch (_: Exception) { }
|
|
|
|
// Initialize theme preference
|
|
ThemePreferenceManager.init(this)
|
|
|
|
// Initialize debug preference manager (persists debug toggles)
|
|
try { com.bitchat.android.ui.debug.DebugPreferenceManager.init(this) } catch (_: Exception) { }
|
|
|
|
// Initialize mesh service preferences
|
|
try { com.bitchat.android.service.MeshServicePreferences.init(this) } catch (_: Exception) { }
|
|
|
|
// Proactively start the foreground service to keep mesh alive
|
|
try { com.bitchat.android.service.MeshForegroundService.start(this) } catch (_: Exception) { }
|
|
|
|
// TorManager already initialized above
|
|
}
|
|
}
|