Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * Copyright (C) 2011 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.
 */

import android.content.ContentResolver;

import android.provider.Settings;

import android.text.TextUtils;

import java.util.Locale;

public class Main {
    /** The default delimiter for {@link Locale} strings. */
    private static final String LOCALE_DELIMITER = "-";

    /**
     * @return the old style locale string constructed from
     *         {@link Settings.Secure#TTS_DEFAULT_LANG},
     *         {@link Settings.Secure#TTS_DEFAULT_COUNTRY} and
     *         {@link Settings.Secure#TTS_DEFAULT_VARIANT}. If no such locale is
     *         set, then return the default phone locale.
     */
    @SuppressWarnings({ "deprecation", "javadoc" })
    private static Locale getV1Locale(ContentResolver resolver) {
        final String language = Settings.Secure.getString(resolver, Settings.Secure.TTS_DEFAULT_LANG);
        if (TextUtils.isEmpty(language)) {
            return Locale.getDefault();
        }

        final String country = Settings.Secure.getString(resolver, Settings.Secure.TTS_DEFAULT_COUNTRY);
        final String variant = Settings.Secure.getString(resolver, Settings.Secure.TTS_DEFAULT_VARIANT);
        final String locale = constructLocaleString(language, country, variant);

        return new Locale(locale);
    }

    private static String constructLocaleString(String language, String country, String variant) {
        final StringBuilder builder = new StringBuilder(language);
        if (TextUtils.isEmpty(language)) {
            return builder.toString();
        }

        builder.append(language);

        if (TextUtils.isEmpty(country)) {
            return builder.toString();
        }

        builder.append(LOCALE_DELIMITER);
        builder.append(country);

        if (TextUtils.isEmpty(variant)) {
            return builder.toString();
        }

        builder.append(LOCALE_DELIMITER);
        builder.append(variant);

        return builder.toString();
    }
}