Skip to content

Commit

Permalink
remove NotifManager
Browse files Browse the repository at this point in the history
  • Loading branch information
StageGuard committed Feb 20, 2025
1 parent 6820a37 commit 4f49265
Show file tree
Hide file tree
Showing 11 changed files with 0 additions and 1,079 deletions.
20 changes: 0 additions & 20 deletions app/android/src/main/kotlin/AndroidModules.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ package me.him188.ani.android

import android.content.Intent
import android.widget.Toast
import androidx.core.app.NotificationManagerCompat
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
Expand All @@ -20,7 +19,6 @@ import kotlinx.coroutines.flow.first
import kotlinx.coroutines.newSingleThreadContext
import kotlinx.coroutines.runBlocking
import kotlinx.io.files.Path
import me.him188.ani.android.activity.MainActivity
import me.him188.ani.android.navigation.AndroidBrowserNavigator
import me.him188.ani.app.data.models.preference.AnitorrentConfig
import me.him188.ani.app.data.repository.user.SettingsRepository
Expand Down Expand Up @@ -51,8 +49,6 @@ import me.him188.ani.app.platform.BaseComponentActivity
import me.him188.ani.app.platform.ContextMP
import me.him188.ani.app.platform.PermissionManager
import me.him188.ani.app.platform.findActivity
import me.him188.ani.app.platform.notification.AndroidNotifManager
import me.him188.ani.app.platform.notification.NotifManager
import me.him188.ani.app.tools.update.AndroidUpdateInstaller
import me.him188.ani.app.tools.update.UpdateInstaller
import me.him188.ani.utils.io.SystemPath
Expand Down Expand Up @@ -85,22 +81,6 @@ fun getAndroidModules(
single<PermissionManager> {
AndroidPermissionManager()
}
single<NotifManager> {
AndroidNotifManager(
NotificationManagerCompat.from(androidContext()),
getContext = { androidContext() },
activityIntent = {
Intent(androidContext(), MainActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_SINGLE_TOP
}
// androidContext().packageManager.getLaunchIntentForPackage(androidContext().packageName)
// ?: Intent(Intent.ACTION_MAIN).apply {
// setPackage(androidContext().packageName)
// }
},
coroutineScope.coroutineContext,
).apply { createChannels() }
}
single<BrowserNavigator> { AndroidBrowserNavigator() }

single<TorrentServiceConnection<IRemoteAniTorrentEngine>> { torrentServiceConnection }
Expand Down
4 changes: 0 additions & 4 deletions app/android/src/main/kotlin/AniApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import kotlinx.coroutines.CoroutineName
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import me.him188.ani.android.activity.MainActivity
import me.him188.ani.app.domain.media.cache.MediaCacheNotificationTask
import me.him188.ani.app.domain.torrent.TorrentManager
import me.him188.ani.app.domain.torrent.service.AniTorrentService
import me.him188.ani.app.domain.torrent.service.ServiceConnectionManager
Expand Down Expand Up @@ -124,9 +123,6 @@ class AniApplication : Application() {
scope.launch(CoroutineName("TorrentManager initializer")) {
koin.get<TorrentManager>() // start sharing, connect to DHT now
}
scope.launch(CoroutineName("MediaCacheNotificationTask")) {
MediaCacheNotificationTask(koin.get(), koin.get()).run()
}
}

@SuppressLint("DiscouragedPrivateApi")
Expand Down
43 changes: 0 additions & 43 deletions app/android/src/main/kotlin/activity/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

package me.him188.ani.android.activity

import android.content.Intent
import android.os.Bundle
import android.widget.Toast
import androidx.activity.SystemBarStyle
Expand All @@ -19,72 +18,30 @@ import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.remember
import androidx.core.view.WindowCompat
import androidx.lifecycle.lifecycleScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import me.him188.ani.app.domain.session.SessionManager
import me.him188.ani.app.navigation.AniNavigator
import me.him188.ani.app.platform.AppStartupTasks
import me.him188.ani.app.platform.MeteredNetworkDetector
import me.him188.ani.app.platform.PlatformWindow
import me.him188.ani.app.platform.notification.AndroidNotifManager
import me.him188.ani.app.platform.notification.AndroidNotifManager.Companion.EXTRA_REQUEST_CODE
import me.him188.ani.app.platform.notification.NotifManager
import me.him188.ani.app.ui.foundation.layout.LocalPlatformWindow
import me.him188.ani.app.ui.foundation.theme.SystemBarColorEffect
import me.him188.ani.app.ui.foundation.widgets.LocalToaster
import me.him188.ani.app.ui.foundation.widgets.Toaster
import me.him188.ani.app.ui.main.AniApp
import me.him188.ani.app.ui.main.AniAppContent
import me.him188.ani.utils.logging.error
import me.him188.ani.utils.logging.info
import me.him188.ani.utils.logging.logger
import org.koin.android.ext.android.inject
import org.koin.mp.KoinPlatformTools

class MainActivity : AniComponentActivity() {
private val sessionManager: SessionManager by inject()
private val meteredNetworkDetector: MeteredNetworkDetector by inject()

private val logger = logger<MainActivity>()

private val aniNavigator = AniNavigator()

override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)

val code = intent.getIntExtra(EXTRA_REQUEST_CODE, -1)
if (code != -1) {
KoinPlatformTools.defaultContext().getOrNull()?.get<NotifManager>()?.let {
logger.info { "onNewIntent requestCode: $code" }
AndroidNotifManager.handleIntent(code)
}
}

handleStartIntent(intent)
}

private fun handleStartIntent(intent: Intent) {
val data = intent.data ?: return
if (data.scheme != "ani") return
if (data.host == "subjects") {
val id = data.pathSegments.getOrNull(0)?.toIntOrNull() ?: return
lifecycleScope.launch {
try {
if (!aniNavigator.isNavControllerReady()) {
aniNavigator.awaitNavController()
delay(1000) // 等待初始化好, 否则跳转可能无效
}
aniNavigator.navigateSubjectDetails(id, placeholder = null)
} catch (e: Exception) {
logger.error(e) { "Failed to navigate to subject details" }
}
}
}
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
handleStartIntent(intent)

enableEdgeToEdge(
// 透明状态栏
Expand Down
3 changes: 0 additions & 3 deletions app/desktop/src/main/kotlin/AniDesktop.kt
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,6 @@ import me.him188.ani.app.platform.PermissionManager
import me.him188.ani.app.platform.PlatformWindow
import me.him188.ani.app.platform.createAppRootCoroutineScope
import me.him188.ani.app.platform.getCommonKoinModule
import me.him188.ani.app.platform.notification.NoopNotifManager
import me.him188.ani.app.platform.notification.NotifManager
import me.him188.ani.app.platform.startCommonKoinModule
import me.him188.ani.app.platform.window.LocalTitleBarThemeController
import me.him188.ani.app.platform.window.setTitleBar
Expand Down Expand Up @@ -280,7 +278,6 @@ object AniDesktop {
}
single<UpdateInstaller> { DesktopUpdateInstaller.currentOS() }
single<PermissionManager> { GrantedPermissionManager }
single<NotifManager> { NoopNotifManager }
single<WindowStateRepository> { WindowStateRepositoryImpl(context.dataStores.savedWindowStateStore) }
single<AppTerminator> { DefaultAppTerminator }
},
Expand Down

This file was deleted.

Loading

0 comments on commit 4f49265

Please # to comment.