Updated on 2026-08-14

This commit is contained in:
Tangem 2024-06-13 15:28:09 +04:00
parent 1526da80eb
commit 7bd4bd3d52
13 changed files with 9 additions and 388 deletions

View file

@ -1,25 +0,0 @@
package com.tangem.core.navigation
import android.net.Uri
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import org.rekotlin.Action
import java.lang.ref.WeakReference
sealed class NavigationAction : Action {
data class NavigateTo(
val screen: AppScreen,
val fragmentShareTransition: FragmentShareTransition? = null,
val addToBackstack: Boolean = true,
val bundle: Bundle? = null,
) : NavigationAction()
data class PopBackTo(val screen: AppScreen? = null, val inclusive: Boolean = false) : NavigationAction()
data class OpenDocument(val url: Uri) : NavigationAction()
data class ActivityCreated(val activity: WeakReference<AppCompatActivity>) : NavigationAction()
data class ActivityDestroyed(val activity: WeakReference<AppCompatActivity>) : NavigationAction()
}

View file

@ -1,39 +0,0 @@
package com.tangem.core.navigation
import androidx.appcompat.app.AppCompatActivity
import org.rekotlin.StateType
import java.lang.ref.WeakReference
data class NavigationState(
val backStack: List<AppScreen> = emptyList(),
val activity: WeakReference<AppCompatActivity>? = null,
) : StateType
enum class AppScreen(val isDialogFragment: Boolean = false) {
Home,
Disclaimer,
OnboardingNote,
OnboardingWallet,
OnboardingTwins,
OnboardingOther,
Wallet,
WalletDetails,
Send(isDialogFragment = true),
Details,
DetailsSecurity,
CardSettings,
AppSettings,
ResetToFactory,
AccessCodeRecovery,
ManageTokens,
AddCustomToken,
WalletConnectSessions,
QrScanning,
ReferralProgram,
Swap,
Welcome,
SaveWallet(isDialogFragment = true),
AppCurrencySelector,
ModalNotification(isDialogFragment = true),
Staking,
}

View file

@ -1,16 +0,0 @@
package com.tangem.core.navigation
/**
* Navigation controller that based on redux actions
*
[REDACTED_AUTHOR]
*/
interface ReduxNavController {
/** Navigate by [action] */
fun navigate(action: NavigationAction)
fun popBackStack(screen: AppScreen? = null)
fun getBackStack(): List<AppScreen>
}

View file

@ -1,18 +1,8 @@
package com.tangem.core.navigation
import android.view.View
import androidx.transition.TransitionSet
import java.lang.ref.WeakReference
/**
[REDACTED_AUTHOR]
*/
data class FragmentShareTransition(
val shareElements: List<ShareElement>,
val enterTransitionSet: TransitionSet,
val exitTransitionSet: TransitionSet,
)
/**
* For ease of use, the name is used as transitionName\name into the FragmentTransaction.addSharedElement
*/