PM-27756: Create common ExitManager (#6117)

This commit is contained in:
David Perez
2025-11-04 12:08:50 -06:00
committed by GitHub
parent 0959284e6f
commit 4b7fcdb6ea
18 changed files with 58 additions and 64 deletions

View File

@@ -13,16 +13,17 @@ import com.bitwarden.annotation.OmitFromCoverage
import com.bitwarden.authenticator.ui.platform.manager.AuthenticatorBuildInfoManagerImpl
import com.bitwarden.authenticator.ui.platform.manager.biometrics.BiometricsManager
import com.bitwarden.authenticator.ui.platform.manager.biometrics.BiometricsManagerImpl
import com.bitwarden.authenticator.ui.platform.manager.exit.ExitManager
import com.bitwarden.authenticator.ui.platform.manager.exit.ExitManagerImpl
import com.bitwarden.authenticator.ui.platform.manager.permissions.PermissionsManager
import com.bitwarden.authenticator.ui.platform.manager.permissions.PermissionsManagerImpl
import com.bitwarden.core.data.manager.BuildInfoManager
import com.bitwarden.ui.platform.composition.LocalExitManager
import com.bitwarden.ui.platform.composition.LocalIntentManager
import com.bitwarden.ui.platform.composition.LocalQrCodeAnalyzer
import com.bitwarden.ui.platform.feature.qrcodescan.util.QrCodeAnalyzer
import com.bitwarden.ui.platform.feature.qrcodescan.util.QrCodeAnalyzerImpl
import com.bitwarden.ui.platform.manager.IntentManager
import com.bitwarden.ui.platform.manager.exit.ExitManager
import com.bitwarden.ui.platform.manager.exit.ExitManagerImpl
import java.time.Clock
/**
@@ -57,13 +58,6 @@ val LocalBiometricsManager: ProvidableCompositionLocal<BiometricsManager> = comp
error("CompositionLocal BiometricsManager not present")
}
/**
* Provides access to the exit manager throughout the app.
*/
val LocalExitManager: ProvidableCompositionLocal<ExitManager> = compositionLocalOf {
error("CompositionLocal ExitManager not present")
}
/**
* Provides access to the permission manager throughout the app.
*/

View File

@@ -1,14 +0,0 @@
package com.bitwarden.authenticator.ui.platform.manager.exit
import androidx.compose.runtime.Immutable
/**
* A manager class for handling the various ways to exit the app.
*/
@Immutable
interface ExitManager {
/**
* Finishes the activity.
*/
fun exitApplication()
}

View File

@@ -1,14 +0,0 @@
package com.bitwarden.authenticator.ui.platform.manager.exit
import android.app.Activity
/**
* The default implementation of the [ExitManager] for managing the various ways to exit the app.
*/
class ExitManagerImpl(
val activity: Activity,
) : ExitManager {
override fun exitApplication() {
activity.finish()
}
}

View File

@@ -3,12 +3,12 @@ package com.bitwarden.authenticator.ui.platform.base
import androidx.compose.runtime.Composable
import com.bitwarden.authenticator.ui.platform.composition.LocalManagerProvider
import com.bitwarden.authenticator.ui.platform.manager.biometrics.BiometricsManager
import com.bitwarden.authenticator.ui.platform.manager.exit.ExitManager
import com.bitwarden.authenticator.ui.platform.manager.permissions.PermissionsManager
import com.bitwarden.ui.platform.base.BaseComposeTest
import com.bitwarden.ui.platform.feature.qrcodescan.util.QrCodeAnalyzer
import com.bitwarden.ui.platform.feature.settings.appearance.model.AppTheme
import com.bitwarden.ui.platform.manager.IntentManager
import com.bitwarden.ui.platform.manager.exit.ExitManager
import com.bitwarden.ui.platform.theme.BitwardenTheme
import io.mockk.mockk