diff options
Diffstat (limited to 'sdk_common/src/com/android/ide/common/rendering/HardwareConfigHelper.java')
-rw-r--r-- | sdk_common/src/com/android/ide/common/rendering/HardwareConfigHelper.java | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/sdk_common/src/com/android/ide/common/rendering/HardwareConfigHelper.java b/sdk_common/src/com/android/ide/common/rendering/HardwareConfigHelper.java deleted file mode 100644 index afca8fe..0000000 --- a/sdk_common/src/com/android/ide/common/rendering/HardwareConfigHelper.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * 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.android.ide.common.rendering; - -import com.android.annotations.NonNull; -import com.android.ide.common.rendering.api.HardwareConfig; -import com.android.resources.ScreenOrientation; -import com.android.sdklib.devices.ButtonType; -import com.android.sdklib.devices.Device; -import com.android.sdklib.devices.Screen; - -/** - * Helper method to create a {@link HardwareConfig} object. - * - * The base data comes from a {@link Device} object, with additional data provided on the helper - * object. - * - * Since {@link HardwareConfig} is immutable, this allows creating one in several (optional) - * steps more easily. - * - */ -public class HardwareConfigHelper { - - private final @NonNull Device mDevice; - private @NonNull ScreenOrientation mScreenOrientation = ScreenOrientation.PORTRAIT; - - // optional - private int mMaxRenderWidth = -1; - private int mMaxRenderHeight = -1; - private int mOverrideRenderWidth = -1; - private int mOverrideRenderHeight = -1; - - /** - * Creates a new helper for a given device. - * @param device the device to provide the base data. - */ - public HardwareConfigHelper(@NonNull Device device) { - mDevice = device; - } - - /** - * Sets the orientation of the config. - * @param screenOrientation the orientation. - * @return this (such that chains of setters can be stringed together) - */ - @NonNull - public HardwareConfigHelper setOrientation(@NonNull ScreenOrientation screenOrientation) { - mScreenOrientation = screenOrientation; - return this; - } - - /** - * Overrides the width and height to be used during rendering. - * - * A value of -1 will make the rendering use the normal width and height coming from the - * {@link Device} object. - * - * @param overrideRenderWidth the width in pixels of the layout to be rendered - * @param overrideRenderHeight the height in pixels of the layout to be rendered - * @return this (such that chains of setters can be stringed together) - */ - @NonNull - public HardwareConfigHelper setOverrideRenderSize(int overrideRenderWidth, - int overrideRenderHeight) { - mOverrideRenderWidth = overrideRenderWidth; - mOverrideRenderHeight = overrideRenderHeight; - return this; - } - - /** - * Sets the max width and height to be used during rendering. - * - * A value of -1 will make the rendering use the normal width and height coming from the - * {@link Device} object. - * - * @param maxRenderWidth the max width in pixels of the layout to be rendered - * @param maxRenderHeight the max height in pixels of the layout to be rendered - * @return this (such that chains of setters can be stringed together) - */ - @NonNull - public HardwareConfigHelper setMaxRenderSize(int maxRenderWidth, int maxRenderHeight) { - mMaxRenderWidth = maxRenderWidth; - mMaxRenderHeight = maxRenderHeight; - return this; - } - - /** - * Creates and returns the HardwareConfig object. - * @return the config - */ - @NonNull - public HardwareConfig getConfig() { - Screen screen = mDevice.getDefaultHardware().getScreen(); - - // compute width and height to take orientation into account. - int x = screen.getXDimension(); - int y = screen.getYDimension(); - int width, height; - - if (x > y) { - if (mScreenOrientation == ScreenOrientation.LANDSCAPE) { - width = x; - height = y; - } else { - width = y; - height = x; - } - } else { - if (mScreenOrientation == ScreenOrientation.LANDSCAPE) { - width = y; - height = x; - } else { - width = x; - height = y; - } - } - - if (mOverrideRenderHeight != -1) { - width = mOverrideRenderWidth; - } - - if (mOverrideRenderHeight != -1) { - height = mOverrideRenderHeight; - } - - if (mMaxRenderWidth != -1) { - width = mMaxRenderWidth; - } - - if (mMaxRenderHeight != -1) { - height = mMaxRenderHeight; - } - - return new HardwareConfig( - width, - height, - screen.getPixelDensity(), - (float) screen.getXdpi(), - (float) screen.getYdpi(), - screen.getSize(), - mScreenOrientation, - mDevice.getDefaultHardware().getButtonType() == ButtonType.SOFT); - } -} |