blob: f131cc6d7553c6b451c3e1c1807b36f291619ddd [file] [log] [blame]
Adam Lesinski6f6ceb72014-11-14 14:48:12 -08001/*
2 * Copyright (C) 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef AAPT_SDK_CONSTANTS_H
18#define AAPT_SDK_CONSTANTS_H
19
Adam Lesinskifb6312f2016-06-28 14:40:32 -070020#include <utility>
21
Adam Lesinskid5083f62017-01-16 15:07:21 -080022#include "androidfw/StringPiece.h"
23
Adam Lesinskice5e56e2016-10-21 17:56:45 -070024#include "Resource.h"
25
Adam Lesinski6f6ceb72014-11-14 14:48:12 -080026namespace aapt {
27
Adam Lesinskic744ae82017-05-17 19:28:38 -070028using ApiVersion = int;
29
30enum : ApiVersion {
Adam Lesinskicacb28f2016-10-19 12:18:14 -070031 SDK_CUPCAKE = 3,
32 SDK_DONUT = 4,
33 SDK_ECLAIR = 5,
34 SDK_ECLAIR_0_1 = 6,
35 SDK_ECLAIR_MR1 = 7,
36 SDK_FROYO = 8,
37 SDK_GINGERBREAD = 9,
38 SDK_GINGERBREAD_MR1 = 10,
39 SDK_HONEYCOMB = 11,
40 SDK_HONEYCOMB_MR1 = 12,
41 SDK_HONEYCOMB_MR2 = 13,
42 SDK_ICE_CREAM_SANDWICH = 14,
43 SDK_ICE_CREAM_SANDWICH_MR1 = 15,
44 SDK_JELLY_BEAN = 16,
45 SDK_JELLY_BEAN_MR1 = 17,
46 SDK_JELLY_BEAN_MR2 = 18,
47 SDK_KITKAT = 19,
48 SDK_KITKAT_WATCH = 20,
49 SDK_LOLLIPOP = 21,
50 SDK_LOLLIPOP_MR1 = 22,
51 SDK_MARSHMALLOW = 23,
Zak Cohen1a6acdb2016-12-12 15:21:21 -080052 SDK_NOUGAT = 24,
53 SDK_NOUGAT_MR1 = 25,
Adam Lesinskic744ae82017-05-17 19:28:38 -070054 SDK_O = 26,
Michael Wrighteec01ac2017-08-23 13:49:14 -070055 SDK_O_MR1 = 27,
Wale Ogunwale3da5f3b2018-04-11 15:12:31 -070056 SDK_P = 28,
Ian Pedowitz1912a572019-05-12 19:44:42 +000057 SDK_Q = 29,
Svet Ganoved460aa2020-04-15 15:10:14 -070058 SDK_R = 30,
Jeff Sharkey7c5f4332021-05-27 09:26:59 -060059 SDK_S = 31,
Michael Wright534f2982021-10-28 17:05:25 +010060 SDK_S_V2 = 32,
Yurii Zubrytskyif4532282022-04-04 22:53:03 -070061 SDK_TIRAMISU = 33,
Alex Buynytskyyde160152023-04-04 19:52:28 +000062 SDK_UPSIDE_DOWN_CAKE = 34,
Michael Wrighte4e3d4a2024-04-23 18:03:08 +000063 SDK_VANILLA_ICE_CREAM = 35,
Jackal Guo201a60a2021-08-31 12:37:30 +080064 SDK_CUR_DEVELOPMENT = 10000,
Adam Lesinski6f6ceb72014-11-14 14:48:12 -080065};
66
Adam Lesinskic744ae82017-05-17 19:28:38 -070067ApiVersion FindAttributeSdkLevel(const ResourceId& id);
Yurii Zubrytskyia5775142022-11-02 17:49:49 -070068std::optional<ApiVersion> GetDevelopmentSdkCodeNameVersion(android::StringPiece code_name);
Adam Lesinski6f6ceb72014-11-14 14:48:12 -080069
Adam Lesinskicacb28f2016-10-19 12:18:14 -070070} // namespace aapt
Adam Lesinski6f6ceb72014-11-14 14:48:12 -080071
Adam Lesinskicacb28f2016-10-19 12:18:14 -070072#endif // AAPT_SDK_CONSTANTS_H