Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Threema/Threema/Onboarding/   (Social Medium ©)  Datei vom 26.9.2026 mit Größe 5 kB image not shown  

Quelle  SplashViewControllerDelegate.swift   Sprache: JAVA

 

import Foundation

// MARK: - SplashViewControllerDelegate

/// Delegate protocol for SplashViewController to communicate events to OnboardingCoordinator.
/// This allows the coordinator to control the onboarding flow while SplashViewController
/// handles UI presentation and navigation animations.
@objc @MainActor
protocol SplashViewControllerDelegate: AnyObject {
    
    // MARK: - Lifecycle
    
    /// Called when the view controller has appeared and is ready for instructions.
    /// The coordinator should respond by calling appropriate methods on SplashViewController.
    func splashViewControllerDidAppear(_ viewController: SplashViewController)
    
    // MARK: - User Actions
    
    /// Called when user taps the "Setup" button to create a new identity.
    func splashViewControllerDidTapSetup(_ viewController: SplashViewController) async
    
    /// Called when user taps the "Restore" button to restore an existing identity.
    func splashViewControllerDidTapRestore(_ viewController: SplashViewController)
    
    // MARK: - Question Responses
    
    /// Called when user responds to the "ID backup found" question.
    /// - Parameters:
    ///   - viewController: The SplashViewController
    ///   - useBackup: `true` if user wants to use the found backup, `false` to ignore it
    func splashViewController(_ viewController: SplashViewController, didAnswerIDBackupQuestion useBackup: Bool)
    
    /// Called when user responds to the "ID already exists" question.
    /// - Parameters:
    ///   - viewController: The SplashViewController
    ///   - useExisting: `true` if user wants to use existing ID, `false` to create new
    func splashViewController(_ viewController: SplashViewController, didAnswerIDExistsQuestion useExisting: Bool)
    
    // MARK: - Identity Creation
    
    /// Called when RandomSeedViewController has generated a random seed.
    /// The coordinator should proceed with identity creation.
    /// - Parameters:
    ///   - viewController: The SplashViewController
    ///   - seed: The generated random seed data
    func splashViewController(_ viewController: SplashViewController, didGenerateRandomSeed seed: Data)
    
    /// Called when user cancels identity creation (backs out of RandomSeedViewController).
    func splashViewControllerDidCancelIDCreation(_ viewController: SplashViewController)
    
    // MARK: - Restore Flow
    
    /// Called when a restore option is selected.
    /// - Parameters:
    ///   - viewController: The SplashViewController
    ///   - option: The selected restore option
    func splashViewController(_ viewController: SplashViewController, didSelectRestoreOption option: RestoreOption)
    
    /// Called when restore flow completes successfully.
    func splashViewControllerDidCompleteRestoreIdentity(_ viewController: SplashViewController)
    
    /// Called when user cancels from the RestoreOptionData screen.
    func splashViewControllerDidCancelRestore(_ viewController: SplashViewController)
    
    /// Called when user cancels from the RestoreOptionBackup screen.
    func splashViewControllerDidCancelRestoreOptionBackup(_ viewController: SplashViewController)
    
    /// Called when user cancels from the RestoreSafe screen.
    func splashViewControllerDidCancelRestoreSafe(_ viewController: SplashViewController)
    
    /// Called when user cancels from the RestoreIdentity screen.
    func splashViewControllerDidCancelRestoreIdentity(_ viewController: SplashViewController)
    
    /// Called when `RestoreSafeViewController` requests a safe restore in the coordinator flow.
    /// The coordinator orchestrates the two-phase restore (prepare → resolve RS → perform).
    /// - Parameters:
    ///   - viewController: The SplashViewController
    ///   - restoreSafeViewController: The `RestoreSafeViewController` initiating the restore,
    ///     passed through so the coordinator can read its server/identity properties and
    ///     dismiss its loading HUD on completion or error.
    ///   - identity: The Threema ID entered by the user
    ///   - password: The Safe password entered by the user
    func splashViewController(
        _ viewController: SplashViewController,
        didRequestSafeRestore restoreSafeViewController: RestoreSafeViewController,
        identity: String,
        password: String
    )
    
    // MARK: - License (Business/OnPrem)
    
    /// Called when license entry is confirmed.
    func splashViewControllerDidConfirmLicense(_ viewController: SplashViewController)
    
    // MARK: - Completion
    
    /// Called when the entire onboarding/ID setup flow has completed.
    /// - Parameters:
    ///   - viewController: The SplashViewController
    ///   - setupConfiguration: The setup configuration with user's choices
    func splashViewController(
        _ viewController: SplashViewController,
        didCompleteIDSetupWith setupConfiguration: SetupConfiguration
    ) async
}

// MARK: - RestoreOption

/// Options for restoring an identity.
@objc
enum RestoreOption: Int {
    /// Restore from Threema Safe (full restore)
    case safe
    /// Restore from a full backup (full content restore)
    case localBackup
    /// Restore identity only from Threema Safe
    case safeIdentityOnly
    /// Restore from ID backup string
    case idBackup
    /// Keep local data and restore identity
    case keepLocalData
}

Messung
CHZG
839610093

¤ Dauer der Verarbeitung: 0.0 Sekunden  (vorverarbeitet am  2026-11-04) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.