Java tutorial
//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(); } }