diff --git a/app/src/main/kotlin/io/element/android/x/MainActivity.kt b/app/src/main/kotlin/io/element/android/x/MainActivity.kt index c6ff338190..a969c8e0ba 100644 --- a/app/src/main/kotlin/io/element/android/x/MainActivity.kt +++ b/app/src/main/kotlin/io/element/android/x/MainActivity.kt @@ -30,15 +30,19 @@ import com.bumble.appyx.core.integration.NodeHost import com.bumble.appyx.core.integrationpoint.NodeComponentActivity import com.bumble.appyx.core.plugin.NodeReadyObserver import io.element.android.libraries.architecture.bindings +import io.element.android.libraries.core.log.logger.LoggerTag import io.element.android.libraries.designsystem.theme.ElementTheme import io.element.android.x.di.AppBindings import timber.log.Timber +private val loggerTag = LoggerTag("MainActivity") + class MainActivity : NodeComponentActivity() { lateinit var mainNode: MainNode override fun onCreate(savedInstanceState: Bundle?) { + Timber.tag(loggerTag.value).w("onCreate, with savedInstanceState: ${savedInstanceState != null}") installSplashScreen() super.onCreate(savedInstanceState) val appBindings = bindings() @@ -78,11 +82,26 @@ class MainActivity : NodeComponentActivity() { */ override fun onNewIntent(intent: Intent?) { super.onNewIntent(intent) - Timber.w("onNewIntent") + Timber.tag(loggerTag.value).w("onNewIntent") intent ?: return mainNode.handleIntent(intent) } + override fun onPause() { + super.onPause() + Timber.tag(loggerTag.value).w("onPause") + } + + override fun onResume() { + super.onResume() + Timber.tag(loggerTag.value).w("onResume") + } + + override fun onDestroy() { + super.onDestroy() + Timber.tag(loggerTag.value).w("onDestroy") + } + override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) bindings().matrixClientsHolder().onSaveInstanceState(outState) diff --git a/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/push/providers/firebase/FirebasePushProvider.kt b/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/push/providers/firebase/FirebasePushProvider.kt index 15530033d5..33f2e87ffd 100644 --- a/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/push/providers/firebase/FirebasePushProvider.kt +++ b/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/push/providers/firebase/FirebasePushProvider.kt @@ -16,7 +16,9 @@ package io.element.android.libraries.push.providers.firebase +import com.squareup.anvil.annotations.ContributesMultibinding import io.element.android.libraries.core.log.logger.LoggerTag +import io.element.android.libraries.di.AppScope import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.push.providers.api.Distributor import io.element.android.libraries.push.providers.api.PushProvider @@ -26,6 +28,7 @@ import javax.inject.Inject private val loggerTag = LoggerTag("FirebasePushProvider") +@ContributesMultibinding(AppScope::class) class FirebasePushProvider @Inject constructor( private val firebaseStore: FirebaseStore, private val firebaseTroubleshooter: FirebaseTroubleshooter, diff --git a/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/push/providers/firebase/di/FirebaseModule.kt b/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/push/providers/firebase/di/FirebaseModule.kt deleted file mode 100644 index 9e36754101..0000000000 --- a/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/push/providers/firebase/di/FirebaseModule.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2023 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.element.android.libraries.push.providers.firebase.di - -import com.squareup.anvil.annotations.ContributesTo -import dagger.Binds -import dagger.Module -import dagger.multibindings.IntoSet -import io.element.android.libraries.di.AppScope -import io.element.android.libraries.push.providers.api.PushProvider -import io.element.android.libraries.push.providers.firebase.FirebasePushProvider - -@Module -@ContributesTo(AppScope::class) -interface FirebaseModule { - @Binds - @IntoSet - fun bind(pushProvider: FirebasePushProvider): PushProvider -} diff --git a/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/push/providers/unifiedpush/UnifiedPushProvider.kt b/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/push/providers/unifiedpush/UnifiedPushProvider.kt index 854c070d7e..6ab21e281b 100644 --- a/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/push/providers/unifiedpush/UnifiedPushProvider.kt +++ b/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/push/providers/unifiedpush/UnifiedPushProvider.kt @@ -17,7 +17,9 @@ package io.element.android.libraries.push.providers.unifiedpush import android.content.Context +import com.squareup.anvil.annotations.ContributesMultibinding import io.element.android.libraries.androidutils.system.getApplicationLabel +import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.ApplicationContext import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.push.providers.api.Distributor @@ -26,6 +28,7 @@ import io.element.android.libraries.pushstore.api.clientsecret.PushClientSecret import org.unifiedpush.android.connector.UnifiedPush import javax.inject.Inject +@ContributesMultibinding(AppScope::class) class UnifiedPushProvider @Inject constructor( @ApplicationContext private val context: Context, private val registerUnifiedPushUseCase: RegisterUnifiedPushUseCase, diff --git a/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/push/providers/unifiedpush/di/UnifiedPushModule.kt b/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/push/providers/unifiedpush/di/UnifiedPushModule.kt deleted file mode 100644 index 9e34b349e3..0000000000 --- a/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/push/providers/unifiedpush/di/UnifiedPushModule.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2023 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.element.android.libraries.push.providers.unifiedpush.di - -import com.squareup.anvil.annotations.ContributesTo -import dagger.Binds -import dagger.Module -import dagger.multibindings.IntoSet -import io.element.android.libraries.di.AppScope -import io.element.android.libraries.push.providers.api.PushProvider -import io.element.android.libraries.push.providers.unifiedpush.UnifiedPushProvider - -@Module -@ContributesTo(AppScope::class) -interface UnifiedPushModule { - @Binds - @IntoSet - fun bind(pushProvider: UnifiedPushProvider): PushProvider -}