diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-11-01 01:20:10 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-11-01 01:20:10 +0000 |
commit | 2f8e4c6cf0163761c93b23d1cfbf5f0b32b9a189 (patch) | |
tree | fb94b5758afacbcdbd752d68a6812184cc824cb4 | |
parent | 38b2cb50eca81592eabf993c6b13a90ac7a31f97 (diff) | |
parent | dd0eefe42f818e8eb52265d523f55a1bc7c2db39 (diff) | |
download | android_onboarding-2f8e4c6cf0163761c93b23d1cfbf5f0b32b9a189.tar.gz |
Snap for 11031655 from dd0eefe42f818e8eb52265d523f55a1bc7c2db39 to 24Q1-release
Change-Id: I4725e49b2d8895598bb18c6c2e305370a7ab2496
5 files changed, 42 insertions, 26 deletions
diff --git a/src/com/android/onboarding/contracts/setupwizard/SuwArguments.kt b/src/com/android/onboarding/contracts/setupwizard/SuwArguments.kt index 8b5b032..e1cb3eb 100644 --- a/src/com/android/onboarding/contracts/setupwizard/SuwArguments.kt +++ b/src/com/android/onboarding/contracts/setupwizard/SuwArguments.kt @@ -30,7 +30,7 @@ data class SuwArguments( val firstRun: Boolean, val portalSetup: Boolean, val scriptUri: Uri?, - val hasMultipleUsers: Boolean, + val hasMultipleUsers: Boolean?, val theme: String, val wizardBundle: Bundle, ) diff --git a/src/com/android/onboarding/contracts/setupwizard/SuwArgumentsSerializer.kt b/src/com/android/onboarding/contracts/setupwizard/SuwArgumentsSerializer.kt index 16c67a6..d346dff 100644 --- a/src/com/android/onboarding/contracts/setupwizard/SuwArgumentsSerializer.kt +++ b/src/com/android/onboarding/contracts/setupwizard/SuwArgumentsSerializer.kt @@ -32,7 +32,7 @@ class SuwArgumentsSerializer @Inject constructor() : ScopedIntentSerializer<SuwA firstRun = booleanExtra("firstRun"), portalSetup = booleanExtra("portalSetup"), scriptUri = parcelableExtraOrNull("scriptUri"), - hasMultipleUsers = booleanExtra("hasMultipleUsers"), + hasMultipleUsers = booleanExtraOrNull("hasMultipleUsers"), theme = stringExtra("theme"), wizardBundle = bundleExtra("wizardBundle"), ) diff --git a/src/com/android/onboarding/flags/DefaultOnboardingFlagsProvider.kt b/src/com/android/onboarding/flags/DefaultOnboardingFlagsProvider.kt index 3b9da9c..d5cba12 100644 --- a/src/com/android/onboarding/flags/DefaultOnboardingFlagsProvider.kt +++ b/src/com/android/onboarding/flags/DefaultOnboardingFlagsProvider.kt @@ -4,25 +4,21 @@ import android.os.SystemProperties /** A default implementation of [OnboardingFlagsProvider] using system property. */ class DefaultOnboardingFlagsProvider : OnboardingFlagsProvider { + override val isContractEnabled: Boolean + get() = + SystemProperties.getBoolean("$SYSTEM_PROPERTY_NAMESPACE.$FEATURE_CONTRACT_ENABLED", false) + override val isNodeLoggingEnabled: Boolean + get() = + SystemProperties.getBoolean("$SYSTEM_PROPERTY_NAMESPACE.$FEATURE_NODE_LOGGING_ENABLED", false) - override fun isOnboardingContractEnabled(): Boolean { - return SystemProperties.getBoolean( - SYSTEM_PROPERTY_NAMESPACE + FEATURE_ONBOARDING_CONTRACT_ENABLED, - false - ) - } - - override fun isOnboardingNodeLoggingEnabled(): Boolean { - return SystemProperties.getBoolean( - SYSTEM_PROPERTY_NAMESPACE + FEATURE_ONBOARDING_NODE_LOGGING_ENABLED, - false - ) - } + override val isDebug: Boolean + get() = SystemProperties.getBoolean("$SYSTEM_PROPERTY_NAMESPACE.$FEATURE_DEBUG_ENABLED", false) companion object { // The key length has to be less that 31 characters (<18 if excluding namespace) - public const val SYSTEM_PROPERTY_NAMESPACE = "aoj.feature." - private const val FEATURE_ONBOARDING_CONTRACT_ENABLED = "contract" - private const val FEATURE_ONBOARDING_NODE_LOGGING_ENABLED = "node_logging" + const val SYSTEM_PROPERTY_NAMESPACE = "aoj.feature" + private const val FEATURE_CONTRACT_ENABLED = "contract" + private const val FEATURE_NODE_LOGGING_ENABLED = "node_logging" + private const val FEATURE_DEBUG_ENABLED = "debug" } } diff --git a/src/com/android/onboarding/flags/OnboardingFlagsProvider.kt b/src/com/android/onboarding/flags/OnboardingFlagsProvider.kt index 2d37786..69c561d 100644 --- a/src/com/android/onboarding/flags/OnboardingFlagsProvider.kt +++ b/src/com/android/onboarding/flags/OnboardingFlagsProvider.kt @@ -2,13 +2,27 @@ package com.android.onboarding.flags /** Interface for getting enabled state of different onboarding feature flags. */ interface OnboardingFlagsProvider { + @Deprecated(message = "Replaced with a property", replaceWith = ReplaceWith("isContractEnabled")) + fun isOnboardingContractEnabled(): Boolean = isContractEnabled /** - * Returns [true] if the onboarding contract architecture is being used across the onboarding + * Returns `true` if the onboarding contract architecture is being used across the onboarding * flow. */ - fun isOnboardingContractEnabled(): Boolean + val isContractEnabled: Boolean - /** Returns [true] if onboarding node logs should be uploaded remotely. */ - fun isOnboardingNodeLoggingEnabled(): Boolean + @Deprecated( + message = "Replaced with a property", + replaceWith = ReplaceWith("isNodeLoggingEnabled") + ) + fun isOnboardingNodeLoggingEnabled(): Boolean = isNodeLoggingEnabled + + /** Returns `true` if onboarding node logs should be uploaded remotely. */ + val isNodeLoggingEnabled: Boolean + + /** + * Indicates that all onboarding components should activate the flagged changes regardless of + * other flag values. + */ + val isDebug: Boolean } diff --git a/src/com/android/onboarding/flags/testing/FakeOnboardingFlagsProvider.kt b/src/com/android/onboarding/flags/testing/FakeOnboardingFlagsProvider.kt index dfa7115..56a1d21 100644 --- a/src/com/android/onboarding/flags/testing/FakeOnboardingFlagsProvider.kt +++ b/src/com/android/onboarding/flags/testing/FakeOnboardingFlagsProvider.kt @@ -4,10 +4,16 @@ import com.android.onboarding.flags.OnboardingFlagsProvider /** A fake implementation of [OnboardingFlagsProvider]. */ class FakeOnboardingFlagsProvider( - var isOnboardingContractEnabledFlag: Boolean = false, - var isOnboardingNodeLoggingEnabledFlag: Boolean = false + override var isContractEnabled: Boolean = false, + override var isNodeLoggingEnabled: Boolean = false, + override var isDebug: Boolean = false, ) : OnboardingFlagsProvider { - override fun isOnboardingContractEnabled() = isOnboardingContractEnabledFlag + @Deprecated(message = "Replaced with overrides", replaceWith = ReplaceWith("isContractEnabled")) + var isOnboardingContractEnabledFlag: Boolean by ::isContractEnabled - override fun isOnboardingNodeLoggingEnabled() = isOnboardingNodeLoggingEnabledFlag + @Deprecated( + message = "Replaced with overrides", + replaceWith = ReplaceWith("isNodeLoggingEnabled") + ) + var isOnboardingNodeLoggingEnabledFlag: Boolean by ::isNodeLoggingEnabled } |