aboutsummaryrefslogtreecommitdiffstats
path: root/sdk_common/src/com/android/ide/common/resources/configuration/DensityQualifier.java
diff options
context:
space:
mode:
Diffstat (limited to 'sdk_common/src/com/android/ide/common/resources/configuration/DensityQualifier.java')
-rw-r--r--sdk_common/src/com/android/ide/common/resources/configuration/DensityQualifier.java130
1 files changed, 0 insertions, 130 deletions
diff --git a/sdk_common/src/com/android/ide/common/resources/configuration/DensityQualifier.java b/sdk_common/src/com/android/ide/common/resources/configuration/DensityQualifier.java
deleted file mode 100644
index a9e4a01..0000000
--- a/sdk_common/src/com/android/ide/common/resources/configuration/DensityQualifier.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (C) 2007 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.resources.configuration;
-
-import com.android.resources.Density;
-import com.android.resources.ResourceEnum;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * Resource Qualifier for Screen Pixel Density.
- */
-public final class DensityQualifier extends EnumBasedResourceQualifier {
- private final static Pattern sDensityLegacyPattern = Pattern.compile("^(\\d+)dpi$");//$NON-NLS-1$
-
- public static final String NAME = "Density";
-
- private Density mValue = Density.MEDIUM;
-
- public DensityQualifier() {
- // pass
- }
-
- public DensityQualifier(Density value) {
- mValue = value;
- }
-
- public Density getValue() {
- return mValue;
- }
-
- @Override
- ResourceEnum getEnumValue() {
- return mValue;
- }
-
- @Override
- public String getName() {
- return NAME;
- }
-
- @Override
- public String getShortName() {
- return NAME;
- }
-
- @Override
- public int since() {
- return 4;
- }
-
- @Override
- public boolean checkAndSet(String value, FolderConfiguration config) {
- Density density = Density.getEnum(value);
- if (density == null) {
-
- // attempt to read a legacy value.
- Matcher m = sDensityLegacyPattern.matcher(value);
- if (m.matches()) {
- String v = m.group(1);
-
- try {
- density = Density.getEnum(Integer.parseInt(v));
- } catch (NumberFormatException e) {
- // looks like the string we extracted wasn't a valid number
- // which really shouldn't happen since the regexp would have failed.
- }
- }
- }
-
- if (density != null) {
- DensityQualifier qualifier = new DensityQualifier();
- qualifier.mValue = density;
- config.setDensityQualifier(qualifier);
- return true;
- }
-
- return false;
- }
-
- @Override
- public boolean isMatchFor(ResourceQualifier qualifier) {
- if (qualifier instanceof DensityQualifier) {
- // as long as there's a density qualifier, it's always a match.
- // The best match will be found later.
- return true;
- }
-
- return false;
- }
-
- @Override
- public boolean isBetterMatchThan(ResourceQualifier compareTo, ResourceQualifier reference) {
- if (compareTo == null) {
- return true;
- }
-
- DensityQualifier compareQ = (DensityQualifier)compareTo;
- DensityQualifier referenceQ = (DensityQualifier)reference;
-
- if (compareQ.mValue == referenceQ.mValue) {
- // what we have is already the best possible match (exact match)
- return false;
- } else if (mValue == referenceQ.mValue) {
- // got new exact value, this is the best!
- return true;
- } else {
- // in all case we're going to prefer the higher dpi.
- // if reference is high, we want highest dpi.
- // if reference is medium, we'll prefer to scale down high dpi, than scale up low dpi
- // if reference if low, we'll prefer to scale down high than medium (2:1 over 4:3)
- return mValue.getDpiValue() > compareQ.mValue.getDpiValue();
- }
- }
-}