16f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski/* 26f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * Copyright (C) 2015 The Android Open Source Project 36f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * 46f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * Licensed under the Apache License, Version 2.0 (the "License"); 56f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * you may not use this file except in compliance with the License. 66f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * You may obtain a copy of the License at 76f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * 86f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * http://www.apache.org/licenses/LICENSE-2.0 96f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * 106f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * Unless required by applicable law or agreed to in writing, software 116f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * distributed under the License is distributed on an "AS IS" BASIS, 126f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * See the License for the specific language governing permissions and 146f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * limitations under the License. 156f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski */ 166f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1775f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski#include "SdkConstants.h" 1875f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski 1975f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski#include <algorithm> 206f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski#include <string> 216f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski#include <unordered_map> 2275f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski#include <vector> 236f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 24d5083f6f6b9bc76bbe64052bcec639eee752a321Adam Lesinskiusing android::StringPiece; 25d5083f6f6b9bc76bbe64052bcec639eee752a321Adam Lesinski 266f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskinamespace aapt { 276f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 28d0f116b619feede0cfdb647157ce5ab4d50a1c46Adam Lesinskistatic const char* sDevelopmentSdkCodeName = "O"; 29c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinskistatic ApiVersion sDevelopmentSdkLevel = 26; 30fb6312fe93a8544e6a95d1c619c8cea3940cbe1aAdam Lesinski 31c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinskistatic const std::vector<std::pair<uint16_t, ApiVersion>> sAttrIdMap = { 32cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x021c, 1}, 33cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x021d, 2}, 34cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x0269, SDK_CUPCAKE}, 35cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x028d, SDK_DONUT}, 36cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x02ad, SDK_ECLAIR}, 37cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x02b3, SDK_ECLAIR_0_1}, 38cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x02b5, SDK_ECLAIR_MR1}, 39cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x02bd, SDK_FROYO}, 40cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x02cb, SDK_GINGERBREAD}, 41cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x0361, SDK_HONEYCOMB}, 42cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x0363, SDK_HONEYCOMB_MR1}, 43cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x0366, SDK_HONEYCOMB_MR2}, 44cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x03a6, SDK_ICE_CREAM_SANDWICH}, 45cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x03ae, SDK_JELLY_BEAN}, 46cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x03cc, SDK_JELLY_BEAN_MR1}, 47cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x03da, SDK_JELLY_BEAN_MR2}, 48cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x03f1, SDK_KITKAT}, 49cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x03f6, SDK_KITKAT_WATCH}, 50cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {0x04ce, SDK_LOLLIPOP}, 51c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinski {0x04d8, SDK_LOLLIPOP_MR1}, 52c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinski {0x04f1, SDK_MARSHMALLOW}, 53c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinski {0x0527, SDK_NOUGAT}, 54c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinski {0x0530, SDK_NOUGAT_MR1}, 55c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinski {0x0568, SDK_O}, 5675f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski}; 5775f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski 58c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinskistatic bool less_entry_id(const std::pair<uint16_t, ApiVersion>& p, uint16_t entryId) { 59cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski return p.first < entryId; 6075f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski} 6175f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski 62c744ae8aca97edfb2422598ea620e8219449fa9bAdam LesinskiApiVersion FindAttributeSdkLevel(const ResourceId& id) { 63c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinski if (id.package_id() != 0x01 || id.type_id() != 0x01) { 64cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski return 0; 65cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski } 66c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinski auto iter = std::lower_bound(sAttrIdMap.begin(), sAttrIdMap.end(), id.entry_id(), less_entry_id); 67cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski if (iter == sAttrIdMap.end()) { 68cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski return SDK_LOLLIPOP_MR1; 69cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski } 70cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski return iter->second; 7175f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski} 7275f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski 73c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinskistatic const std::unordered_map<std::string, ApiVersion> sAttrMap = { 74cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"marqueeRepeatLimit", 2}, 75cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowNoDisplay", 3}, 76cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"backgroundDimEnabled", 3}, 77cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"inputType", 3}, 78cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"isDefault", 3}, 79cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowDisablePreview", 3}, 80cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"privateImeOptions", 3}, 81cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"editorExtras", 3}, 82cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"settingsActivity", 3}, 83cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fastScrollEnabled", 3}, 84cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"reqTouchScreen", 3}, 85cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"reqKeyboardType", 3}, 86cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"reqHardKeyboard", 3}, 87cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"reqNavigation", 3}, 88cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowSoftInputMode", 3}, 89cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"imeFullscreenBackground", 3}, 90cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"noHistory", 3}, 91cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"headerDividersEnabled", 3}, 92cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"footerDividersEnabled", 3}, 93cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"candidatesTextStyleSpans", 3}, 94cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"smoothScrollbar", 3}, 95cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"reqFiveWayNav", 3}, 96cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyBackground", 3}, 97cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyTextSize", 3}, 98cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"labelTextSize", 3}, 99cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyTextColor", 3}, 100cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyPreviewLayout", 3}, 101cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyPreviewOffset", 3}, 102cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyPreviewHeight", 3}, 103cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"verticalCorrection", 3}, 104cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"popupLayout", 3}, 105cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"state_long_pressable", 3}, 106cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyWidth", 3}, 107cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyHeight", 3}, 108cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"horizontalGap", 3}, 109cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"verticalGap", 3}, 110cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"rowEdgeFlags", 3}, 111cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"codes", 3}, 112cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"popupKeyboard", 3}, 113cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"popupCharacters", 3}, 114cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyEdgeFlags", 3}, 115cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"isModifier", 3}, 116cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"isSticky", 3}, 117cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"isRepeatable", 3}, 118cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"iconPreview", 3}, 119cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyOutputText", 3}, 120cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyLabel", 3}, 121cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyIcon", 3}, 122cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyboardMode", 3}, 123cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"isScrollContainer", 3}, 124cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fillEnabled", 3}, 125cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"updatePeriodMillis", 3}, 126cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"initialLayout", 3}, 127cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"voiceSearchMode", 3}, 128cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"voiceLanguageModel", 3}, 129cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"voicePromptText", 3}, 130cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"voiceLanguage", 3}, 131cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"voiceMaxResults", 3}, 132cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"bottomOffset", 3}, 133cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"topOffset", 3}, 134cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"allowSingleTap", 3}, 135cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"handle", 3}, 136cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"content", 3}, 137cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"animateOnClick", 3}, 138cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"configure", 3}, 139cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"hapticFeedbackEnabled", 3}, 140cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"innerRadius", 3}, 141cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"thickness", 3}, 142cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"sharedUserLabel", 3}, 143cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dropDownWidth", 3}, 144cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dropDownAnchor", 3}, 145cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"imeOptions", 3}, 146cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"imeActionLabel", 3}, 147cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"imeActionId", 3}, 148cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"imeExtractEnterAnimation", 3}, 149cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"imeExtractExitAnimation", 3}, 150cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"tension", 4}, 151cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"extraTension", 4}, 152cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"anyDensity", 4}, 153cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"searchSuggestThreshold", 4}, 154cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"includeInGlobalSearch", 4}, 155cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"onClick", 4}, 156cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"targetSdkVersion", 4}, 157cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"maxSdkVersion", 4}, 158cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"testOnly", 4}, 159cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"contentDescription", 4}, 160cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"gestureStrokeWidth", 4}, 161cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"gestureColor", 4}, 162cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"uncertainGestureColor", 4}, 163cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fadeOffset", 4}, 164cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fadeDuration", 4}, 165cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"gestureStrokeType", 4}, 166cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"gestureStrokeLengthThreshold", 4}, 167cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"gestureStrokeSquarenessThreshold", 4}, 168cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"gestureStrokeAngleThreshold", 4}, 169cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"eventsInterceptionEnabled", 4}, 170cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fadeEnabled", 4}, 171cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"backupAgent", 4}, 172cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"allowBackup", 4}, 173cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"glEsVersion", 4}, 174cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"queryAfterZeroResults", 4}, 175cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dropDownHeight", 4}, 176cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"smallScreens", 4}, 177cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"normalScreens", 4}, 178cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"largeScreens", 4}, 179cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"progressBarStyleInverse", 4}, 180cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"progressBarStyleSmallInverse", 4}, 181cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"progressBarStyleLargeInverse", 4}, 182cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"searchSettingsDescription", 4}, 183cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textColorPrimaryInverseDisableOnly", 4}, 184cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"autoUrlDetect", 4}, 185cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"resizeable", 4}, 186cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"required", 5}, 187cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"accountType", 5}, 188cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"contentAuthority", 5}, 189cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"userVisible", 5}, 190cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowShowWallpaper", 5}, 191cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"wallpaperOpenEnterAnimation", 5}, 192cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"wallpaperOpenExitAnimation", 5}, 193cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"wallpaperCloseEnterAnimation", 5}, 194cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"wallpaperCloseExitAnimation", 5}, 195cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"wallpaperIntraOpenEnterAnimation", 5}, 196cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"wallpaperIntraOpenExitAnimation", 5}, 197cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"wallpaperIntraCloseEnterAnimation", 5}, 198cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"wallpaperIntraCloseExitAnimation", 5}, 199cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"supportsUploading", 5}, 200cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"killAfterRestore", 5}, 201cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"restoreNeedsApplication", 5}, 202cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"smallIcon", 5}, 203cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"accountPreferences", 5}, 204cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textAppearanceSearchResultSubtitle", 5}, 205cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textAppearanceSearchResultTitle", 5}, 206cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"summaryColumn", 5}, 207cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"detailColumn", 5}, 208cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"detailSocialSummary", 5}, 209cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"thumbnail", 5}, 210cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"detachWallpaper", 5}, 211cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"finishOnCloseSystemDialogs", 5}, 212cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"scrollbarFadeDuration", 5}, 213cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"scrollbarDefaultDelayBeforeFade", 5}, 214cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fadeScrollbars", 5}, 215cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorBackgroundCacheHint", 5}, 216cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dropDownHorizontalOffset", 5}, 217cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dropDownVerticalOffset", 5}, 218cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"quickContactBadgeStyleWindowSmall", 6}, 219cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"quickContactBadgeStyleWindowMedium", 6}, 220cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"quickContactBadgeStyleWindowLarge", 6}, 221cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"quickContactBadgeStyleSmallWindowSmall", 6}, 222cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"quickContactBadgeStyleSmallWindowMedium", 6}, 223cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"quickContactBadgeStyleSmallWindowLarge", 6}, 224cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"author", 7}, 225cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"autoStart", 7}, 226cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"expandableListViewWhiteStyle", 8}, 227cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"installLocation", 8}, 228cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"vmSafeMode", 8}, 229cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"webTextViewStyle", 8}, 230cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"restoreAnyVersion", 8}, 231cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"tabStripLeft", 8}, 232cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"tabStripRight", 8}, 233cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"tabStripEnabled", 8}, 234cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"logo", 9}, 235cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"xlargeScreens", 9}, 236cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"immersive", 9}, 237cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"overScrollMode", 9}, 238cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"overScrollHeader", 9}, 239cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"overScrollFooter", 9}, 240cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"filterTouchesWhenObscured", 9}, 241cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textSelectHandleLeft", 9}, 242cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textSelectHandleRight", 9}, 243cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textSelectHandle", 9}, 244cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textSelectHandleWindowStyle", 9}, 245cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"popupAnimationStyle", 9}, 246cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"screenSize", 9}, 247cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"screenDensity", 9}, 248cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"allContactsName", 11}, 249cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowActionBar", 11}, 250cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarStyle", 11}, 251cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"navigationMode", 11}, 252cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"displayOptions", 11}, 253cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"subtitle", 11}, 254cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"customNavigationLayout", 11}, 255cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"hardwareAccelerated", 11}, 256cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"measureWithLargestChild", 11}, 257cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"animateFirstView", 11}, 258cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dropDownSpinnerStyle", 11}, 259cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionDropDownStyle", 11}, 260cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionButtonStyle", 11}, 261cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"showAsAction", 11}, 262cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"previewImage", 11}, 263cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeBackground", 11}, 264cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeCloseDrawable", 11}, 265cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowActionModeOverlay", 11}, 266cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"valueFrom", 11}, 267cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"valueTo", 11}, 268cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"valueType", 11}, 269cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"propertyName", 11}, 270cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"ordering", 11}, 271cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragment", 11}, 272cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowActionBarOverlay", 11}, 273cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentOpenEnterAnimation", 11}, 274cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentOpenExitAnimation", 11}, 275cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentCloseEnterAnimation", 11}, 276cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentCloseExitAnimation", 11}, 277cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentFadeEnterAnimation", 11}, 278cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentFadeExitAnimation", 11}, 279cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarSize", 11}, 280cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"imeSubtypeLocale", 11}, 281cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"imeSubtypeMode", 11}, 282cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"imeSubtypeExtraValue", 11}, 283cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"splitMotionEvents", 11}, 284cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"listChoiceBackgroundIndicator", 11}, 285cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"spinnerMode", 11}, 286cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"animateLayoutChanges", 11}, 287cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarTabStyle", 11}, 288cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarTabBarStyle", 11}, 289cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarTabTextStyle", 11}, 290cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionOverflowButtonStyle", 11}, 291cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeCloseButtonStyle", 11}, 292cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"titleTextStyle", 11}, 293cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"subtitleTextStyle", 11}, 294cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"iconifiedByDefault", 11}, 295cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionLayout", 11}, 296cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionViewClass", 11}, 297cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"activatedBackgroundIndicator", 11}, 298cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"state_activated", 11}, 299cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"listPopupWindowStyle", 11}, 300cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"popupMenuStyle", 11}, 301cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textAppearanceLargePopupMen", 11}, 302cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textAppearanceSmallPopupMen", 11}, 303cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"breadCrumbTitle", 11}, 304cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"breadCrumbShortTitle", 11}, 305cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"listDividerAlertDialog", 11}, 306cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textColorAlertDialogListItem", 11}, 307cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"loopViews", 11}, 308cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dialogTheme", 11}, 309cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"alertDialogTheme", 11}, 310cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dividerVertical", 11}, 311cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"homeAsUpIndicator", 11}, 312cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"enterFadeDuration", 11}, 313cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"exitFadeDuration", 11}, 314cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"selectableItemBackground", 11}, 315cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"autoAdvanceViewId", 11}, 316cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"useIntrinsicSizeAsMinimum", 11}, 317cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeCutDrawable", 11}, 318cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeCopyDrawable", 11}, 319cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModePasteDrawable", 11}, 320cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textEditPasteWindowLayout", 11}, 321cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textEditNoPasteWindowLayout", 11}, 322cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textIsSelectable", 11}, 323cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowEnableSplitTouch", 11}, 324cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"indeterminateProgressStyle", 11}, 325cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"progressBarPadding", 11}, 326cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"animationResolution", 11}, 327cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"state_accelerated", 11}, 328cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"baseline", 11}, 329cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"homeLayout", 11}, 330cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"opacity", 11}, 331cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"alpha", 11}, 332cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"transformPivotX", 11}, 333cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"transformPivotY", 11}, 334cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"translationX", 11}, 335cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"translationY", 11}, 336cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"scaleX", 11}, 337cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"scaleY", 11}, 338cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"rotation", 11}, 339cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"rotationX", 11}, 340cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"rotationY", 11}, 341cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"showDividers", 11}, 342cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dividerPadding", 11}, 343cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"borderlessButtonStyle", 11}, 344cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dividerHorizontal", 11}, 345cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"itemPadding", 11}, 346cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"buttonBarStyle", 11}, 347cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"buttonBarButtonStyle", 11}, 348cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"segmentedButtonStyle", 11}, 349cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"staticWallpaperPreview", 11}, 350cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"allowParallelSyncs", 11}, 351cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"isAlwaysSyncable", 11}, 352cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"verticalScrollbarPosition", 11}, 353cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fastScrollAlwaysVisible", 11}, 354cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fastScrollThumbDrawable", 11}, 355cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fastScrollPreviewBackgroundLeft", 11}, 356cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fastScrollPreviewBackgroundRight", 11}, 357cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fastScrollTrackDrawable", 11}, 358cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fastScrollOverlayPosition", 11}, 359cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"customTokens", 11}, 360cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"nextFocusForward", 11}, 361cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"firstDayOfWeek", 11}, 362cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"showWeekNumber", 11}, 363cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"minDate", 11}, 364cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"maxDate", 11}, 365cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"shownWeekCount", 11}, 366cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"selectedWeekBackgroundColor", 11}, 367cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"focusedMonthDateColor", 11}, 368cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"unfocusedMonthDateColor", 11}, 369cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"weekNumberColor", 11}, 370cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"weekSeparatorLineColor", 11}, 371cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"selectedDateVerticalBar", 11}, 372cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"weekDayTextAppearance", 11}, 373cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dateTextAppearance", 11}, 374cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"solidColor", 11}, 375cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"spinnersShown", 11}, 376cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"calendarViewShown", 11}, 377cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"state_multiline", 11}, 378cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"detailsElementBackground", 11}, 379cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textColorHighlightInverse", 11}, 380cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textColorLinkInverse", 11}, 381cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"editTextColor", 11}, 382cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"editTextBackground", 11}, 383cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"horizontalScrollViewStyle", 11}, 384cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layerType", 11}, 385cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"alertDialogIcon", 11}, 386cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowMinWidthMajor", 11}, 387cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowMinWidthMinor", 11}, 388cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"queryHint", 11}, 389cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fastScrollTextColor", 11}, 390cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"largeHeap", 11}, 391cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowCloseOnTouchOutside", 11}, 392cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"datePickerStyle", 11}, 393cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"calendarViewStyle", 11}, 394cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textEditSidePasteWindowLayout", 11}, 395cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textEditSideNoPasteWindowLayout", 11}, 396cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionMenuTextAppearance", 11}, 397cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionMenuTextColor", 11}, 398cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textCursorDrawable", 12}, 399cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"resizeMode", 12}, 400cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"requiresSmallestWidthDp", 12}, 401cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"compatibleWidthLimitDp", 12}, 402cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"largestWidthLimitDp", 12}, 403cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"state_hovered", 13}, 404cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"state_drag_can_accept", 13}, 405cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"state_drag_hovered", 13}, 406cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"stopWithTask", 13}, 407cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"switchTextOn", 13}, 408cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"switchTextOff", 13}, 409cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"switchPreferenceStyle", 13}, 410cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"switchTextAppearance", 13}, 411cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"track", 13}, 412cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"switchMinWidth", 13}, 413cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"switchPadding", 13}, 414cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"thumbTextPadding", 13}, 415cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textSuggestionsWindowStyle", 13}, 416cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textEditSuggestionItemLayout", 13}, 417cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"rowCount", 13}, 418cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"rowOrderPreserved", 13}, 419cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"columnCount", 13}, 420cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"columnOrderPreserved", 13}, 421cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"useDefaultMargins", 13}, 422cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"alignmentMode", 13}, 423cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_row", 13}, 424cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_rowSpan", 13}, 425cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_columnSpan", 13}, 426cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeSelectAllDrawable", 13}, 427cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"isAuxiliary", 13}, 428cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"accessibilityEventTypes", 13}, 429cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"packageNames", 13}, 430cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"accessibilityFeedbackType", 13}, 431cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"notificationTimeout", 13}, 432cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"accessibilityFlags", 13}, 433cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"canRetrieveWindowContent", 13}, 434cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"listPreferredItemHeightLarge", 13}, 435cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"listPreferredItemHeightSmall", 13}, 436cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarSplitStyle", 13}, 437cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionProviderClass", 13}, 438cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"backgroundStacked", 13}, 439cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"backgroundSplit", 13}, 440cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textAllCaps", 13}, 441cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorPressedHighlight", 13}, 442cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorLongPressedHighlight", 13}, 443cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorFocusedHighlight", 13}, 444cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorActivatedHighlight", 13}, 445cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorMultiSelectHighlight", 13}, 446cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"drawableStart", 13}, 447cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"drawableEnd", 13}, 448cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeStyle", 13}, 449cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"minResizeWidth", 13}, 450cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"minResizeHeight", 13}, 451cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarWidgetTheme", 13}, 452cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"uiOptions", 13}, 453cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"subtypeLocale", 13}, 454cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"subtypeExtraValue", 13}, 455cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarDivider", 13}, 456cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarItemBackground", 13}, 457cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeSplitBackground", 13}, 458cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textAppearanceListItem", 13}, 459cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textAppearanceListItemSmall", 13}, 460cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"targetDescriptions", 13}, 461cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"directionDescriptions", 13}, 462cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"overridesImplicitlyEnabledSubtype", 13}, 463cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"listPreferredItemPaddingLeft", 13}, 464cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"listPreferredItemPaddingRight", 13}, 465cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"requiresFadingEdge", 13}, 466cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"publicKey", 13}, 467cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"parentActivityName", 16}, 468cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"isolatedProcess", 16}, 469cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"importantForAccessibility", 16}, 470cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keyboardLayout", 16}, 471cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fontFamily", 16}, 472cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"mediaRouteButtonStyle", 16}, 473cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"mediaRouteTypes", 16}, 474cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"supportsRtl", 17}, 475cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textDirection", 17}, 476cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textAlignment", 17}, 477cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layoutDirection", 17}, 478cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"paddingStart", 17}, 479cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"paddingEnd", 17}, 480cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_marginStart", 17}, 481cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_marginEnd", 17}, 482cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_toStartOf", 17}, 483cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_toEndOf", 17}, 484cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_alignStart", 17}, 485cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_alignEnd", 17}, 486cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_alignParentStart", 17}, 487cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_alignParentEnd", 17}, 488cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"listPreferredItemPaddingStart", 17}, 489cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"listPreferredItemPaddingEnd", 17}, 490cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"singleUser", 17}, 491cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"presentationTheme", 17}, 492cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"subtypeId", 17}, 493cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"initialKeyguardLayout", 17}, 494cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"widgetCategory", 17}, 495cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"permissionGroupFlags", 17}, 496cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"labelFor", 17}, 497cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"permissionFlags", 17}, 498cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"checkedTextViewStyle", 17}, 499cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"showOnLockScreen", 17}, 500cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"format12Hour", 17}, 501cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"format24Hour", 17}, 502cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"timeZone", 17}, 503cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"mipMap", 18}, 504cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"mirrorForRtl", 18}, 505cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowOverscan", 18}, 506cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"requiredForAllUsers", 18}, 507cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"indicatorStart", 18}, 508cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"indicatorEnd", 18}, 509cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"childIndicatorStart", 18}, 510cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"childIndicatorEnd", 18}, 511cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"restrictedAccountType", 18}, 512cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"requiredAccountType", 18}, 513cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"canRequestTouchExplorationMode", 18}, 514cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"canRequestEnhancedWebAccessibility", 18}, 515cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"canRequestFilterKeyEvents", 18}, 516cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layoutMode", 18}, 517cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"keySet", 19}, 518cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"targetId", 19}, 519cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fromScene", 19}, 520cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"toScene", 19}, 521cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"transition", 19}, 522cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"transitionOrdering", 19}, 523cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fadingMode", 19}, 524cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"startDelay", 19}, 525cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"ssp", 19}, 526cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"sspPrefix", 19}, 527cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"sspPattern", 19}, 528cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"addPrintersActivity", 19}, 529cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"vendor", 19}, 530cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"category", 19}, 531cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"isAsciiCapable", 19}, 532cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"autoMirrored", 19}, 533cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"supportsSwitchingToNextInputMethod", 19}, 534cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"requireDeviceUnlock", 19}, 535cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"apduServiceBanner", 19}, 536cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"accessibilityLiveRegion", 19}, 537cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowTranslucentStatus", 19}, 538cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowTranslucentNavigation", 19}, 539cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"advancedPrintOptionsActivity", 19}, 540cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"banner", 20}, 541cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowSwipeToDismiss", 20}, 542cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"isGame", 20}, 543cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"allowEmbedded", 20}, 544cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"setupActivity", 20}, 545cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fastScrollStyle", 21}, 546cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowContentTransitions", 21}, 547cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowContentTransitionManager", 21}, 548cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"translationZ", 21}, 549cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"tintMode", 21}, 550cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"controlX1", 21}, 551cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"controlY1", 21}, 552cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"controlX2", 21}, 553cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"controlY2", 21}, 554cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"transitionName", 21}, 555cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"transitionGroup", 21}, 556cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"viewportWidth", 21}, 557cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"viewportHeight", 21}, 558cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fillColor", 21}, 559cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"pathData", 21}, 560cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"strokeColor", 21}, 561cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"strokeWidth", 21}, 562cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"trimPathStart", 21}, 563cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"trimPathEnd", 21}, 564cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"trimPathOffset", 21}, 565cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"strokeLineCap", 21}, 566cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"strokeLineJoin", 21}, 567cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"strokeMiterLimit", 21}, 568cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorControlNormal", 21}, 569cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorControlActivated", 21}, 570cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorButtonNormal", 21}, 571cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorControlHighlight", 21}, 572cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"persistableMode", 21}, 573cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"titleTextAppearance", 21}, 574cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"subtitleTextAppearance", 21}, 575cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"slideEdge", 21}, 576cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarTheme", 21}, 577cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"textAppearanceListItemSecondary", 21}, 578cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorPrimary", 21}, 579cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorPrimaryDark", 21}, 580cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorAccent", 21}, 581cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"nestedScrollingEnabled", 21}, 582cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowEnterTransition", 21}, 583cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowExitTransition", 21}, 584cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowSharedElementEnterTransition", 21}, 585cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowSharedElementExitTransition", 21}, 586cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowAllowReturnTransitionOverlap", 21}, 587cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowAllowEnterTransitionOverlap", 21}, 588cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"sessionService", 21}, 589cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"stackViewStyle", 21}, 590cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"switchStyle", 21}, 591cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"elevation", 21}, 592cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"excludeId", 21}, 593cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"excludeClass", 21}, 594cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"hideOnContentScroll", 21}, 595cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionOverflowMenuStyle", 21}, 596cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"documentLaunchMode", 21}, 597cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"maxRecents", 21}, 598cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"autoRemoveFromRecents", 21}, 599cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"stateListAnimator", 21}, 600cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"toId", 21}, 601cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fromId", 21}, 602cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"reversible", 21}, 603cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"splitTrack", 21}, 604cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"targetName", 21}, 605cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"excludeName", 21}, 606cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"matchOrder", 21}, 607cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowDrawsSystemBarBackgrounds", 21}, 608cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"statusBarColor", 21}, 609cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"navigationBarColor", 21}, 610cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"contentInsetStart", 21}, 611cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"contentInsetEnd", 21}, 612cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"contentInsetLeft", 21}, 613cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"contentInsetRight", 21}, 614cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"paddingMode", 21}, 615cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_rowWeight", 21}, 616cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"layout_columnWeight", 21}, 617cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"translateX", 21}, 618cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"translateY", 21}, 619cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"selectableItemBackgroundBorderless", 21}, 620cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"elegantTextHeight", 21}, 621cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"searchKeyphraseId", 21}, 622cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"searchKeyphrase", 21}, 623cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"searchKeyphraseSupportedLocales", 21}, 624cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowTransitionBackgroundFadeDuration", 21}, 625cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"overlapAnchor", 21}, 626cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"progressTint", 21}, 627cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"progressTintMode", 21}, 628cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"progressBackgroundTint", 21}, 629cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"progressBackgroundTintMode", 21}, 630cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"secondaryProgressTint", 21}, 631cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"secondaryProgressTintMode", 21}, 632cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"indeterminateTint", 21}, 633cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"indeterminateTintMode", 21}, 634cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"backgroundTint", 21}, 635cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"backgroundTintMode", 21}, 636cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"foregroundTint", 21}, 637cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"foregroundTintMode", 21}, 638cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"buttonTint", 21}, 639cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"buttonTintMode", 21}, 640cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"thumbTint", 21}, 641cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"thumbTintMode", 21}, 642cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fullBackupOnly", 21}, 643cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"propertyXName", 21}, 644cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"propertyYName", 21}, 645cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"relinquishTaskIdentity", 21}, 646cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"tileModeX", 21}, 647cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"tileModeY", 21}, 648cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeShareDrawable", 21}, 649cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeFindDrawable", 21}, 650cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionModeWebSearchDrawable", 21}, 651cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"transitionVisibilityMode", 21}, 652cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"minimumHorizontalAngle", 21}, 653cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"minimumVerticalAngle", 21}, 654cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"maximumAngle", 21}, 655cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"searchViewStyle", 21}, 656cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"closeIcon", 21}, 657cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"goIcon", 21}, 658cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"searchIcon", 21}, 659cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"voiceIcon", 21}, 660cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"commitIcon", 21}, 661cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"suggestionRowLayout", 21}, 662cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"queryBackground", 21}, 663cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"submitBackground", 21}, 664cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"buttonBarPositiveButtonStyle", 21}, 665cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"buttonBarNeutralButtonStyle", 21}, 666cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"buttonBarNegativeButtonStyle", 21}, 667cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"popupElevation", 21}, 668cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"actionBarPopupTheme", 21}, 669cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"multiArch", 21}, 670cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"touchscreenBlocksFocus", 21}, 671cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowElevation", 21}, 672cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"launchTaskBehindTargetAnimation", 21}, 673cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"launchTaskBehindSourceAnimation", 21}, 674cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"restrictionType", 21}, 675cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dayOfWeekBackground", 21}, 676cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"dayOfWeekTextAppearance", 21}, 677cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"headerMonthTextAppearance", 21}, 678cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"headerDayOfMonthTextAppearance", 21}, 679cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"headerYearTextAppearance", 21}, 680cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"yearListItemTextAppearance", 21}, 681cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"yearListSelectorColor", 21}, 682cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"calendarTextColor", 21}, 683cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"recognitionService", 21}, 684cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"timePickerStyle", 21}, 685cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"timePickerDialogTheme", 21}, 686cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"headerTimeTextAppearance", 21}, 687cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"headerAmPmTextAppearance", 21}, 688cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"numbersTextColor", 21}, 689cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"numbersBackgroundColor", 21}, 690cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"numbersSelectorColor", 21}, 691cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"amPmTextColor", 21}, 692cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"amPmBackgroundColor", 21}, 693cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"searchKeyphraseRecognitionFlags", 21}, 694cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"checkMarkTint", 21}, 695cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"checkMarkTintMode", 21}, 696cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"popupTheme", 21}, 697cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"toolbarStyle", 21}, 698cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowClipToOutline", 21}, 699cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"datePickerDialogTheme", 21}, 700cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"showText", 21}, 701cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowReturnTransition", 21}, 702cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowReenterTransition", 21}, 703cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowSharedElementReturnTransition", 21}, 704cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowSharedElementReenterTransition", 21}, 705cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"resumeWhilePausing", 21}, 706cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"datePickerMode", 21}, 707cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"timePickerMode", 21}, 708cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"inset", 21}, 709cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"letterSpacing", 21}, 710cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fontFeatureSettings", 21}, 711cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"outlineProvider", 21}, 712cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"contentAgeHint", 21}, 713cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"country", 21}, 714cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowSharedElementsUseOverlay", 21}, 715cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"reparent", 21}, 716cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"reparentWithOverlay", 21}, 717cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"ambientShadowAlpha", 21}, 718cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"spotShadowAlpha", 21}, 719cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"navigationIcon", 21}, 720cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"navigationContentDescription", 21}, 721cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentExitTransition", 21}, 722cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentEnterTransition", 21}, 723cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentSharedElementEnterTransition", 21}, 724cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentReturnTransition", 21}, 725cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentSharedElementReturnTransition", 21}, 726cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentReenterTransition", 21}, 727cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentAllowEnterTransitionOverlap", 21}, 728cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fragmentAllowReturnTransitionOverlap", 21}, 729cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"patternPathData", 21}, 730cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"strokeAlpha", 21}, 731cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"fillAlpha", 21}, 732cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"windowActivityTransitions", 21}, 733cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski {"colorEdgeEffect", 21}}; 7346f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 735c744ae8aca97edfb2422598ea620e8219449fa9bAdam LesinskiApiVersion FindAttributeSdkLevel(const ResourceName& name) { 736cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski if (name.package != "android" && name.type != ResourceType::kAttr) { 737cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski return 0; 738cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski } 73975f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski 740cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski auto iter = sAttrMap.find(name.entry); 741cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski if (iter != sAttrMap.end()) { 742cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski return iter->second; 743cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski } 744cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski return SDK_LOLLIPOP_MR1; 7456f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski} 7466f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 747c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinskistd::pair<StringPiece, ApiVersion> GetDevelopmentSdkCodeNameAndVersion() { 748c744ae8aca97edfb2422598ea620e8219449fa9bAdam Lesinski return std::make_pair(StringPiece(sDevelopmentSdkCodeName), sDevelopmentSdkLevel); 749fb6312fe93a8544e6a95d1c619c8cea3940cbe1aAdam Lesinski} 750fb6312fe93a8544e6a95d1c619c8cea3940cbe1aAdam Lesinski 751cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski} // namespace aapt 752