Populate the locale list

This populates the language list. The option looks like it works,
but is not implemented yet.

Step 6.

Bug: 5306641
Change-Id: I6ef84dea9a26e450add1d91b44238d86fe49200a
This commit is contained in:
Jean Chalard
2011-12-05 19:34:53 +09:00
parent 081842e5f1
commit a947e582f1

View File

@@ -20,7 +20,10 @@ import com.android.settings.R;
import com.android.settings.UserDictionarySettings;
import com.android.settings.Utils;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import android.animation.LayoutTransition;
import android.app.Activity;
@@ -30,7 +33,9 @@ import android.provider.UserDictionary;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
public class UserDictionaryAddWordActivity extends Activity {
public static final String EXTRA_WORD = "word";
@@ -78,12 +83,45 @@ public class UserDictionaryAddWordActivity extends Activity {
finish();
}
private static void addLocaleDisplayNameToList(final List<String> list, final String locale) {
if (null != locale) {
list.add(Utils.createLocaleFromString(locale).getDisplayName());
}
}
public void onClickOptions(final View v) {
final View moreOptionsView =
findViewById(R.id.user_dict_settings_add_dialog_shortcut_interface);
moreOptionsView.setVisibility(View.VISIBLE);
findViewById(R.id.user_dictionary_settings_add_dialog_options).setVisibility(View.GONE);
findViewById(R.id.user_dictionary_settings_add_dialog_manage).setVisibility(View.VISIBLE);
final Set<String> locales = UserDictionaryList.getUserDictionaryLocalesList(this);
if (null != mLocale && locales.contains(mLocale)) {
// Remove our locale if it's in, because we're always gonna put it at the top
locales.remove(mLocale);
}
final String systemLocale = Locale.getDefault().toString();
if (null != systemLocale && locales.contains(systemLocale)) {
// The system locale should be inside. We want it at the 2nd spot.
locales.remove(systemLocale);
}
final ArrayList<String> localesList = new ArrayList<String>();
// Add the passed locale, then the system locale at the top of the list. Add an
// "all languages" entry at the bottom of the list.
addLocaleDisplayNameToList(localesList, mLocale);
addLocaleDisplayNameToList(localesList, systemLocale);
for (final String l : locales) {
// TODO: sort in unicode order
addLocaleDisplayNameToList(localesList, l);
}
localesList.add(getString(R.string.user_dict_settings_all_languages));
final Spinner localeSpinner =
(Spinner)findViewById(R.id.user_dictionary_settings_add_dialog_locale);
final ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, localesList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
localeSpinner.setAdapter(adapter);
}
public void onClickManage(final View v) {