aboutsummaryrefslogtreecommitdiffstats
path: root/layoutlib_api/src
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2012-11-28 16:38:50 -0800
committerXavier Ducrohet <xav@android.com>2012-11-29 12:56:09 -0800
commitd09b8a2d6ce570cc81ec6678b07f40541f4657f4 (patch)
tree08de690cd224142213c60321419dabd699ad97a9 /layoutlib_api/src
parent79a4aff85957ef993e46dbbbe1f1ae0bab632d90 (diff)
downloadsdk-d09b8a2d6ce570cc81ec6678b07f40541f4657f4.zip
sdk-d09b8a2d6ce570cc81ec6678b07f40541f4657f4.tar.gz
sdk-d09b8a2d6ce570cc81ec6678b07f40541f4657f4.tar.bz2
Add support for layout dir qualifiers.
Change-Id: I6da728d079975fa19f1ae816fa585031a9c6fe75
Diffstat (limited to 'layoutlib_api/src')
-rw-r--r--layoutlib_api/src/com/android/resources/LayoutDirection.java100
1 files changed, 100 insertions, 0 deletions
diff --git a/layoutlib_api/src/com/android/resources/LayoutDirection.java b/layoutlib_api/src/com/android/resources/LayoutDirection.java
new file mode 100644
index 0000000..fbc386d
--- /dev/null
+++ b/layoutlib_api/src/com/android/resources/LayoutDirection.java
@@ -0,0 +1,100 @@
+/*
+ * 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.resources;
+
+/**
+ * Layout Direction enum.
+ */
+public enum LayoutDirection implements ResourceEnum {
+ LTR("ldltr", "LTR", "Left To Right"), //$NON-NLS-1$
+ RTL("ldrtl", "RTL", "Right To Left"); //$NON-NLS-1$
+
+ private final String mValue;
+ private final String mShortDisplayValue;
+ private final String mLongDisplayValue;
+
+ private LayoutDirection(String value, String shortDisplayValue, String longDisplayValue) {
+ mValue = value;
+ mShortDisplayValue = shortDisplayValue;
+ mLongDisplayValue = longDisplayValue;
+ }
+
+ /**
+ * Returns the enum for matching the provided qualifier value.
+ * @param value The qualifier value.
+ * @return the enum for the qualifier value or null if no matching was found.
+ */
+ public static LayoutDirection getEnum(String value) {
+ for (LayoutDirection orient : values()) {
+ if (orient.mValue.equals(value)) {
+ return orient;
+ }
+ }
+
+ return null;
+ }
+
+ @Override
+ public String getResourceValue() {
+ return mValue;
+ }
+
+ @Override
+ public String getShortDisplayValue() {
+ return mShortDisplayValue;
+ }
+
+ @Override
+ public String getLongDisplayValue() {
+ return mLongDisplayValue;
+ }
+
+ public static int getIndex(LayoutDirection orientation) {
+ int i = 0;
+ for (LayoutDirection orient : values()) {
+ if (orient == orientation) {
+ return i;
+ }
+
+ i++;
+ }
+
+ return -1;
+ }
+
+ public static LayoutDirection getByIndex(int index) {
+ int i = 0;
+ for (LayoutDirection orient : values()) {
+ if (i == index) {
+ return orient;
+ }
+ i++;
+ }
+
+ return null;
+ }
+
+ @Override
+ public boolean isFakeValue() {
+ return false;
+ }
+
+ @Override
+ public boolean isValidValueForDevice() {
+ return true;
+ }
+}