mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-05-17 23:42:04 +00:00
- Updated TraktAuthState to replace device and user codes with pending authorization fields. - Modified TraktAuthUiState to remove polling fields and include pending authorization timestamp. - Introduced TraktBrandAsset enum for brand assets. - Implemented traktBrandPainter function for Android and iOS to provide appropriate brand images. - Added SVG and XML resources for Trakt brand assets (logo wordmark and favicon). - Updated iOS app to handle URL callbacks for Trakt authentication. - Added TraktAuthBridge to manage authentication callback handling.
74 lines
3.3 KiB
Kotlin
74 lines
3.3 KiB
Kotlin
package com.nuvio.app
|
|
|
|
import android.content.Intent
|
|
import android.os.Bundle
|
|
import androidx.activity.ComponentActivity
|
|
import androidx.activity.compose.setContent
|
|
import androidx.activity.enableEdgeToEdge
|
|
import androidx.activity.SystemBarStyle
|
|
import androidx.core.view.WindowCompat
|
|
import com.nuvio.app.core.storage.PlatformLocalAccountDataCleaner
|
|
import com.nuvio.app.features.addons.AddonStorage
|
|
import com.nuvio.app.features.library.LibraryStorage
|
|
import com.nuvio.app.features.home.HomeCatalogSettingsStorage
|
|
import com.nuvio.app.features.mdblist.MdbListSettingsStorage
|
|
import com.nuvio.app.features.player.PlayerSettingsStorage
|
|
import com.nuvio.app.features.profiles.ProfileStorage
|
|
import com.nuvio.app.features.details.SeasonViewModeStorage
|
|
import com.nuvio.app.features.search.SearchHistoryStorage
|
|
import com.nuvio.app.features.settings.ThemeSettingsStorage
|
|
import com.nuvio.app.features.trakt.TraktAuthStorage
|
|
import com.nuvio.app.features.trakt.handleTraktAuthCallbackUrl
|
|
import com.nuvio.app.features.tmdb.TmdbSettingsStorage
|
|
import com.nuvio.app.features.watched.WatchedStorage
|
|
import com.nuvio.app.features.streams.StreamLinkCacheStorage
|
|
import com.nuvio.app.features.watchprogress.ContinueWatchingPreferencesStorage
|
|
import com.nuvio.app.features.watchprogress.WatchProgressStorage
|
|
|
|
class MainActivity : ComponentActivity() {
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
enableEdgeToEdge(
|
|
navigationBarStyle = SystemBarStyle.dark(
|
|
scrim = 0xFF020404.toInt(),
|
|
),
|
|
)
|
|
super.onCreate(savedInstanceState)
|
|
window.setBackgroundDrawableResource(R.color.nuvio_background)
|
|
window.navigationBarColor = getColor(R.color.nuvio_background)
|
|
window.isNavigationBarContrastEnforced = false
|
|
WindowCompat.getInsetsController(window, window.decorView).isAppearanceLightStatusBars = false
|
|
AddonStorage.initialize(applicationContext)
|
|
LibraryStorage.initialize(applicationContext)
|
|
WatchedStorage.initialize(applicationContext)
|
|
HomeCatalogSettingsStorage.initialize(applicationContext)
|
|
PlayerSettingsStorage.initialize(applicationContext)
|
|
ProfileStorage.initialize(applicationContext)
|
|
SearchHistoryStorage.initialize(applicationContext)
|
|
SeasonViewModeStorage.initialize(applicationContext)
|
|
ThemeSettingsStorage.initialize(applicationContext)
|
|
TmdbSettingsStorage.initialize(applicationContext)
|
|
MdbListSettingsStorage.initialize(applicationContext)
|
|
TraktAuthStorage.initialize(applicationContext)
|
|
ContinueWatchingPreferencesStorage.initialize(applicationContext)
|
|
WatchProgressStorage.initialize(applicationContext)
|
|
StreamLinkCacheStorage.initialize(applicationContext)
|
|
PlatformLocalAccountDataCleaner.initialize(applicationContext)
|
|
forwardTraktAuthCallback(intent)
|
|
|
|
setContent {
|
|
App()
|
|
}
|
|
}
|
|
|
|
override fun onNewIntent(intent: Intent) {
|
|
super.onNewIntent(intent)
|
|
setIntent(intent)
|
|
forwardTraktAuthCallback(intent)
|
|
}
|
|
|
|
private fun forwardTraktAuthCallback(intent: Intent?) {
|
|
val callbackUrl = intent?.dataString?.trim().orEmpty()
|
|
if (callbackUrl.isBlank()) return
|
|
handleTraktAuthCallbackUrl(callbackUrl)
|
|
}
|
|
}
|