1cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta/* 2cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * Copyright (C) 2014 The Android Open Source Project 3cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * 4cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * Licensed under the Apache License, Version 2.0 (the "License"); 5cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * you may not use this file except in compliance with the License. 6cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * You may obtain a copy of the License at 7cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * 8cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * http://www.apache.org/licenses/LICENSE-2.0 9cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * 10cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * Unless required by applicable law or agreed to in writing, software 11cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * distributed under the License is distributed on an "AS IS" BASIS, 12cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * See the License for the specific language governing permissions and 14cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * limitations under the License. 15cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta */ 16cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta 17cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Guptapackage com.android.layoutlib.bridge.android; 18cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta 190a5d5bc6c103cd83ed2d79f2fd5a335e8e8f11beDeepanshu Guptaimport com.android.ide.common.rendering.api.LayoutlibCallback; 20cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Guptaimport com.android.ide.common.rendering.api.RenderParams; 21cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Guptaimport com.android.ide.common.rendering.api.SessionParams.Key; 22cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta 23cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta/** 24cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * This contains all known keys for the {@link RenderParams#getFlag(Key)}. 25cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * <p/> 26cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * The IDE has its own copy of this class which may be newer or older than this one. 27cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * <p/> 28cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * Constants should never be modified or removed from this class. 29cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta */ 30cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Guptapublic final class RenderParamsFlags { 31cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta 32cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta public static final Key<String> FLAG_KEY_ROOT_TAG = 33cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta new Key<String>("rootTag", String.class); 34cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta public static final Key<Boolean> FLAG_KEY_DISABLE_BITMAP_CACHING = 35cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta new Key<Boolean>("disableBitmapCaching", Boolean.class); 36cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta public static final Key<Boolean> FLAG_KEY_RENDER_ALL_DRAWABLE_STATES = 37cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta new Key<Boolean>("renderAllDrawableStates", Boolean.class); 38cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta /** 39cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * To tell LayoutLib that the IDE supports RecyclerView. 40cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * <p/> 41cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta * Default is false. 42cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta */ 43cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta public static final Key<Boolean> FLAG_KEY_RECYCLER_VIEW_SUPPORT = 44cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta new Key<Boolean>("recyclerViewSupport", Boolean.class); 45cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta /** 460a5d5bc6c103cd83ed2d79f2fd5a335e8e8f11beDeepanshu Gupta * The application package name. Used via {@link LayoutlibCallback#getFlag(Key)} 47cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta */ 48cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta public static final Key<String> FLAG_KEY_APPLICATION_PACKAGE = 49cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta new Key<String>("applicationPackage", String.class); 500a5d5bc6c103cd83ed2d79f2fd5a335e8e8f11beDeepanshu Gupta /** 510a5d5bc6c103cd83ed2d79f2fd5a335e8e8f11beDeepanshu Gupta * To tell LayoutLib that IDE supports providing XML Parser for a file (useful for getting in 520a5d5bc6c103cd83ed2d79f2fd5a335e8e8f11beDeepanshu Gupta * memory contents of the file). Used via {@link LayoutlibCallback#getFlag(Key)} 530a5d5bc6c103cd83ed2d79f2fd5a335e8e8f11beDeepanshu Gupta */ 540a5d5bc6c103cd83ed2d79f2fd5a335e8e8f11beDeepanshu Gupta public static final Key<Boolean> FLAG_KEY_XML_FILE_PARSER_SUPPORT = 550a5d5bc6c103cd83ed2d79f2fd5a335e8e8f11beDeepanshu Gupta new Key<Boolean>("xmlFileParser", Boolean.class); 560685ab35ad78094ceb2d9fb0583e2cadd1968c90Diego Perez /** 570685ab35ad78094ceb2d9fb0583e2cadd1968c90Diego Perez * To tell LayoutLib to not render when creating a new session. This allows controlling when the first 580685ab35ad78094ceb2d9fb0583e2cadd1968c90Diego Perez * layout rendering will happen. 590685ab35ad78094ceb2d9fb0583e2cadd1968c90Diego Perez */ 600685ab35ad78094ceb2d9fb0583e2cadd1968c90Diego Perez public static final Key<Boolean> FLAG_DO_NOT_RENDER_ON_CREATE = 610685ab35ad78094ceb2d9fb0583e2cadd1968c90Diego Perez new Key<Boolean>("doNotRenderOnCreate", Boolean.class); 62b1bd12381b7b0b57eff6d9bb1a5ae23309ab2b5cJerome Gaillard /** 63b1bd12381b7b0b57eff6d9bb1a5ae23309ab2b5cJerome Gaillard * The adaptive icon mask path. Used via {@link LayoutlibCallback#getFlag(Key)} 64b1bd12381b7b0b57eff6d9bb1a5ae23309ab2b5cJerome Gaillard */ 65b1bd12381b7b0b57eff6d9bb1a5ae23309ab2b5cJerome Gaillard public static final Key<String> FLAG_KEY_ADAPTIVE_ICON_MASK_PATH = 66b1bd12381b7b0b57eff6d9bb1a5ae23309ab2b5cJerome Gaillard new Key<>("adaptiveIconMaskPath", String.class); 67cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta 68cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta // Disallow instances. 69cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta private RenderParamsFlags() {} 70cb40f2cb35d559d9ea60382b6dee80022c851124Deepanshu Gupta} 71