/* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.motorola.studio.android.emulator.core.skin; import java.util.HashMap; import java.util.Map; /** * DESCRIPTION: * This bean holds data from the skin.xml file * * RESPONSIBILITY: * - Provide an easy way to retrieve data read from skin.xml files * * COLABORATORS: * None. * * USAGE: * Call any of the interface methods to add or retrieve data to the class model */ public class AndroidSkinBean { private final Map<String, Integer> skinPropertiesMap = new HashMap<String, Integer>(); /** * Adds a skin property to the bean * * @param key The skin property key to use * @param value The value of the skin property */ public void addSkinPropertyValue(String key, int value) { skinPropertiesMap.put(key, value); } /** * Retrieves a value of a skin property identified by key * * @param key The key that identifies the desired property * * @return The value of the desired property */ public int getSkinPropertyValue(String key) { if (skinPropertiesMap.get(key) != null) { return skinPropertiesMap.get(key); } else { return 0; } } /** * Tests if open external display information is available at the skin * which properties are stored at this bean * * @return True if open external display information is available; * false otherwise */ public boolean isOpenExternalDisplayAvailable() { boolean result = true; Integer testObj1 = skinPropertiesMap.get(ISkinKeyXmlTags.SKIN_OPEN_EXTERNAL_VIEW_WIDTH); Integer testObj2 = skinPropertiesMap.get(ISkinKeyXmlTags.SKIN_OPEN_EXTERNAL_VIEW_HEIGHT); // If any of the width and height information is not available // it is considered that there is not enough information about // the open external display if ((testObj1 == null) || (testObj2 == null)) { result = false; } return result; } /** * Tests if external display information is available at the skin * which properties are stored at this bean * * @return True if external display information is available; * false otherwise */ public boolean isExternalDisplayAvailable() { boolean result = true; Integer testObj1 = skinPropertiesMap.get(ISkinKeyXmlTags.SKIN_EXTERNAL_VIEW_WIDTH); Integer testObj2 = skinPropertiesMap.get(ISkinKeyXmlTags.SKIN_EXTERNAL_VIEW_HEIGHT); // If any of the width and height information is not available // it is considered that there is not enough information about // the external display if ((testObj1 == null) || (testObj2 == null)) { result = false; } return result; } public double getEmbeddedViewScale() { Integer testObj1 = skinPropertiesMap.get("embeddedViewScale"); return testObj1.intValue() / 10.0; } }