From 51dc6859acdf9f861691f4b7fadbc7363b8afab1 Mon Sep 17 00:00:00 2001 From: Spandan Das Date: Tue, 21 Mar 2023 01:36:46 +0000 Subject: [PATCH] Revert "Create EffectiveVersion* functions for ApiLevel" Revert submission 2457063 Reason for revert: Broken udc-dev Reverted changes: /q/submissionid:2457063 Change-Id: Ib0f6930ff292d25fee2640901b158ac4bb7b879b --- android/api_levels.go | 52 ------------------------------------------ android/sdk_version.go | 36 +++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 54 deletions(-) diff --git a/android/api_levels.go b/android/api_levels.go index e48a69ea2..a68d8e2b6 100644 --- a/android/api_levels.go +++ b/android/api_levels.go @@ -133,58 +133,6 @@ func (this ApiLevel) IsPrivate() bool { return this.number == PrivateApiLevel.number } -// EffectiveVersion converts an ApiLevel into the concrete ApiLevel that the module should use. For -// modules targeting an unreleased SDK (meaning it does not yet have a number) it returns -// FutureApiLevel(10000). -func (l ApiLevel) EffectiveVersion(ctx EarlyModuleContext) (ApiLevel, error) { - if l.EqualTo(InvalidApiLevel) { - return l, fmt.Errorf("invalid version in sdk_version %q", l.value) - } - if !l.IsPreview() { - return l, nil - } - ret := ctx.Config().DefaultAppTargetSdk(ctx) - if ret.IsPreview() { - return FutureApiLevel, nil - } - return ret, nil -} - -// EffectiveVersionString converts an SdkSpec into the concrete version string that the module -// should use. For modules targeting an unreleased SDK (meaning it does not yet have a number) -// it returns the codename (P, Q, R, etc.) -func (l ApiLevel) EffectiveVersionString(ctx EarlyModuleContext) (string, error) { - if l.EqualTo(InvalidApiLevel) { - return l.value, fmt.Errorf("invalid version in sdk_version %q", l.value) - } - if !l.IsPreview() { - return l.String(), nil - } - // Determine the default sdk - ret := ctx.Config().DefaultAppTargetSdk(ctx) - if !ret.IsPreview() { - // If the default sdk has been finalized, return that - return ret.String(), nil - } - // There can be more than one active in-development sdks - // If an app is targeting an active sdk, but not the default one, return the requested active sdk. - // e.g. - // SETUP - // In-development: UpsideDownCake, VanillaIceCream - // Default: VanillaIceCream - // Android.bp - // min_sdk_version: `UpsideDownCake` - // RETURN - // UpsideDownCake and not VanillaIceCream - for _, preview := range ctx.Config().PreviewApiLevels() { - if l.String() == preview.String() { - return preview.String(), nil - } - } - // Otherwise return the default one - return ret.String(), nil -} - // Returns -1 if the current API level is less than the argument, 0 if they // are equal, and 1 if it is greater than the argument. func (this ApiLevel) CompareTo(other ApiLevel) int { diff --git a/android/sdk_version.go b/android/sdk_version.go index f8ac44a47..2d93ae0fc 100644 --- a/android/sdk_version.go +++ b/android/sdk_version.go @@ -187,7 +187,14 @@ func (s SdkSpec) EffectiveVersion(ctx EarlyModuleContext) (ApiLevel, error) { if ctx.DeviceSpecific() || ctx.SocSpecific() { s = s.ForVendorPartition(ctx) } - return s.ApiLevel.EffectiveVersion(ctx) + if !s.ApiLevel.IsPreview() { + return s.ApiLevel, nil + } + ret := ctx.Config().DefaultAppTargetSdk(ctx) + if ret.IsPreview() { + return FutureApiLevel, nil + } + return ret, nil } // EffectiveVersionString converts an SdkSpec into the concrete version string that the module @@ -201,7 +208,32 @@ func (s SdkSpec) EffectiveVersionString(ctx EarlyModuleContext) (string, error) if ctx.DeviceSpecific() || ctx.SocSpecific() { s = s.ForVendorPartition(ctx) } - return s.ApiLevel.EffectiveVersionString(ctx) + if !s.ApiLevel.IsPreview() { + return s.ApiLevel.String(), nil + } + // Determine the default sdk + ret := ctx.Config().DefaultAppTargetSdk(ctx) + if !ret.IsPreview() { + // If the default sdk has been finalized, return that + return ret.String(), nil + } + // There can be more than one active in-development sdks + // If an app is targeting an active sdk, but not the default one, return the requested active sdk. + // e.g. + // SETUP + // In-development: UpsideDownCake, VanillaIceCream + // Default: VanillaIceCream + // Android.bp + // min_sdk_version: `UpsideDownCake` + // RETURN + // UpsideDownCake and not VanillaIceCream + for _, preview := range ctx.Config().PreviewApiLevels() { + if s.ApiLevel.String() == preview.String() { + return preview.String(), nil + } + } + // Otherwise return the default one + return ret.String(), nil } var (