diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/Locale.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/Locale.java | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/Locale.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/Locale.java deleted file mode 100644 index 6cb396394..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/Locale.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php - * - * 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.eclipse.adt.internal.editors.layout.configuration; - -import static com.android.ide.common.resources.configuration.LocaleQualifier.FAKE_VALUE; - -import com.android.annotations.NonNull; -import com.android.annotations.Nullable; -import com.android.ide.common.resources.configuration.FolderConfiguration; -import com.android.ide.common.resources.configuration.LocaleQualifier; - -import org.eclipse.swt.graphics.Image; - -/** - * A language,region pair - */ -public class Locale { - /** - * A special marker region qualifier representing any region - */ - public static final LocaleQualifier ANY_QUALIFIER = new LocaleQualifier(FAKE_VALUE); - - /** - * A locale which matches any language and region - */ - public static final Locale ANY = new Locale(ANY_QUALIFIER); - - /** - * The locale qualifier, or {@link #ANY_QUALIFIER} if this locale matches - * any locale - */ - @NonNull - public final LocaleQualifier qualifier; - - /** - * Constructs a new {@linkplain Locale} matching a given language in a given - * locale. - * - * @param locale the locale - */ - private Locale(@NonNull - LocaleQualifier locale) { - qualifier = locale; - } - - /** - * Constructs a new {@linkplain Locale} matching a given language in a given - * specific locale. - * - * @param locale the locale - * @return a locale with the given locale - */ - @NonNull - public static Locale create(@NonNull - LocaleQualifier locale) { - return new Locale(locale); - } - - /** - * Constructs a new {@linkplain Locale} for the given folder configuration - * - * @param folder the folder configuration - * @return a locale with the given language and region - */ - public static Locale create(FolderConfiguration folder) { - LocaleQualifier locale = folder.getLocaleQualifier(); - if (locale == null) { - return ANY; - } else { - return new Locale(locale); - } - } - - /** - * Constructs a new {@linkplain Locale} for the given locale string, e.g. - * "zh", "en-rUS", or "b+eng+US". - * - * @param localeString the locale description - * @return the corresponding locale - */ - @NonNull - public static Locale create(@NonNull - String localeString) { - // Load locale. Note that this can get overwritten by the - // project-wide settings read below. - - LocaleQualifier qualifier = LocaleQualifier.getQualifier(localeString); - if (qualifier != null) { - return new Locale(qualifier); - } else { - return ANY; - } - } - - /** - * Returns a flag image to use for this locale - * - * @return a flag image, or a default globe icon - */ - @NonNull - public Image getFlagImage() { - String languageCode = qualifier.hasLanguage() ? qualifier.getLanguage() : null; - if (languageCode == null) { - return FlagManager.getGlobeIcon(); - } - String regionCode = hasRegion() ? qualifier.getRegion() : null; - FlagManager icons = FlagManager.get(); - Image image = icons.getFlag(languageCode, regionCode); - if (image != null) { - return image; - } else { - return FlagManager.getGlobeIcon(); - } - } - - /** - * Returns true if this locale specifies a specific language. This is true - * for all locales except {@link #ANY}. - * - * @return true if this locale specifies a specific language - */ - public boolean hasLanguage() { - return !qualifier.hasFakeValue(); - } - - /** - * Returns true if this locale specifies a specific region - * - * @return true if this locale specifies a region - */ - public boolean hasRegion() { - return qualifier.getRegion() != null && !FAKE_VALUE.equals(qualifier.getRegion()); - } - - /** - * Returns the locale formatted as language-region. If region is not set, - * language is returned. If language is not set, empty string is returned. - */ - public String toLocaleId() { - return qualifier == ANY_QUALIFIER ? "" : qualifier.getTag(); - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + qualifier.hashCode(); - return result; - } - - @Override - public boolean equals(@Nullable - Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - Locale other = (Locale) obj; - if (!qualifier.equals(other.qualifier)) - return false; - return true; - } - - @Override - public String toString() { - return qualifier.getTag(); - } -} |