• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.android.onboarding.contracts.setupwizard
2 
3 import com.android.onboarding.contracts.NodeAwareIntentScope
4 import com.android.onboarding.contracts.NodeAwareIntentSerializer
5 import com.android.onboarding.contracts.OnboardingNodeId
6 import com.google.android.setupcompat.util.WizardManagerHelper
7 import javax.inject.Inject
8 
9 class SuwArgumentsSerializer @Inject constructor(@OnboardingNodeId override val nodeId: Long) :
10   NodeAwareIntentSerializer<SuwArguments> {
11 
writenull12   override fun NodeAwareIntentScope.write(value: SuwArguments) {
13     intent[WizardManagerHelper.EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW] = value::isSuwSuggestedActionFlow
14     intent[WizardManagerHelper.EXTRA_IS_SETUP_FLOW] = value::isSetupFlow
15     intent[WizardManagerHelper.EXTRA_IS_PRE_DEFERRED_SETUP] = value::preDeferredSetup
16     intent[WizardManagerHelper.EXTRA_IS_DEFERRED_SETUP] = value::deferredSetup
17     intent[WizardManagerHelper.EXTRA_IS_FIRST_RUN] = value::firstRun
18     intent[WizardManagerHelper.EXTRA_IS_PORTAL_SETUP] = value::portalSetup
19     intent[EXTRA_WIZARD_BUNDLE] = value::wizardBundle
20     intent[WizardManagerHelper.EXTRA_THEME] = value::theme
21     intent[EXTRA_HAS_MULTIPLE_USERS] = value::hasMultipleUsers
22     intent[EXTRA_IS_SUBACTIVITY_FIRST_LAUNCHED] = value::isSubactivityFirstLaunched
23   }
24 
readnull25   override fun NodeAwareIntentScope.read(): SuwArguments =
26     object : SuwArguments {
27       override val isSuwSuggestedActionFlow by
28         boolean(WizardManagerHelper.EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW).required
29       override val isSetupFlow by boolean(WizardManagerHelper.EXTRA_IS_SETUP_FLOW).required
30       override val preDeferredSetup by
31         boolean(WizardManagerHelper.EXTRA_IS_PRE_DEFERRED_SETUP).required
32       override val deferredSetup by boolean(WizardManagerHelper.EXTRA_IS_DEFERRED_SETUP).required
33       override val firstRun by boolean(WizardManagerHelper.EXTRA_IS_FIRST_RUN).required
34       override val portalSetup by boolean(WizardManagerHelper.EXTRA_IS_PORTAL_SETUP).required
35       override val wizardBundle by bundle(EXTRA_WIZARD_BUNDLE).required
36       override val theme by string(WizardManagerHelper.EXTRA_THEME).required
37       override val hasMultipleUsers by boolean(EXTRA_HAS_MULTIPLE_USERS)
38       override val isSubactivityFirstLaunched by boolean(EXTRA_IS_SUBACTIVITY_FIRST_LAUNCHED)
39     }
40 
41   private companion object {
42     const val EXTRA_IS_SUBACTIVITY_FIRST_LAUNCHED = "isSubactivityFirstLaunched"
43     const val EXTRA_HAS_MULTIPLE_USERS = "hasMultipleUsers"
44     const val EXTRA_WIZARD_BUNDLE = "wizardBundle"
45   }
46 }
47