1 /* 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 20 #include <utility> 21 22 #include "androidfw/StringPiece.h" 23 24 #include "Resource.h" 25 26 namespace aapt { 27 28 using ApiVersion = int; 29 30 enum : ApiVersion { 31 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, 52 SDK_NOUGAT = 24, 53 SDK_NOUGAT_MR1 = 25, 54 SDK_O = 26, 55 SDK_O_MR1 = 27, 56 SDK_P = 28, 57 SDK_Q = 29, 58 }; 59 60 ApiVersion FindAttributeSdkLevel(const ResourceId& id); 61 std::pair<android::StringPiece, ApiVersion> GetDevelopmentSdkCodeNameAndVersion(); 62 63 } // namespace aapt 64 65 #endif // AAPT_SDK_CONSTANTS_H 66