BrowserPreferencesPage.java revision d69f51ddd5b6c28c9d16725e65facaf830d650e1
10c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project/* 20c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 30c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * 40c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 50c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * you may not use this file except in compliance with the License. 60c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * You may obtain a copy of the License at 70c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * 80c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 90c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * 100c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 110c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 120c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * See the License for the specific language governing permissions and 140c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * limitations under the License. 150c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project */ 160c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 170c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectpackage com.android.browser; 180c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 1978a98e459323f938e97789a6131beddbebb459ceNicolas Roardimport android.content.Intent; 200c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport android.net.Uri; 210c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport android.os.Bundle; 220c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport android.preference.EditTextPreference; 230c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport android.preference.Preference; 240c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport android.preference.PreferenceActivity; 2578a98e459323f938e97789a6131beddbebb459ceNicolas Roardimport android.preference.PreferenceScreen; 26f344d03c0b01d30575ba1ddd1ed340705c6f5a97Steve Blockimport android.webkit.GeolocationPermissions; 2799b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roardimport android.webkit.ValueCallback; 2878a98e459323f938e97789a6131beddbebb459ceNicolas Roardimport android.webkit.WebStorage; 29d69f51ddd5b6c28c9d16725e65facaf830d650e1Bjorn Bringert 30d69f51ddd5b6c28c9d16725e65facaf830d650e1Bjorn Bringertimport java.util.Map; 31d69f51ddd5b6c28c9d16725e65facaf830d650e1Bjorn Bringertimport java.util.Set; 320c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 330c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectpublic class BrowserPreferencesPage extends PreferenceActivity 34b81735a96d5e44ff9acf275619ad797ec0467670Andrei Popescu implements Preference.OnPreferenceChangeListener { 350c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 3699b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard private String LOGTAG = "BrowserPreferencesPage"; 37d530494de9c182af4aff97ddd46343b32594da51Leon Scroggins /* package */ static final String CURRENT_PAGE = "currentPage"; 3878a98e459323f938e97789a6131beddbebb459ceNicolas Roard 390c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project @Override 400c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project protected void onCreate(Bundle savedInstanceState) { 410c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project super.onCreate(savedInstanceState); 420c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 430c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project // Load the XML preferences file 440c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project addPreferencesFromResource(R.xml.browser_preferences); 450c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 460c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project Preference e = findPreference(BrowserSettings.PREF_HOMEPAGE); 470c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project e.setOnPreferenceChangeListener(this); 480c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project e.setSummary(getPreferenceScreen().getSharedPreferences() 490c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project .getString(BrowserSettings.PREF_HOMEPAGE, null)); 50d530494de9c182af4aff97ddd46343b32594da51Leon Scroggins ((BrowserHomepagePreference) e).setCurrentPage( 51d530494de9c182af4aff97ddd46343b32594da51Leon Scroggins getIntent().getStringExtra(CURRENT_PAGE)); 520c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 530c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project e = findPreference(BrowserSettings.PREF_EXTRAS_RESET_DEFAULTS); 540c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project e.setOnPreferenceChangeListener(this); 550c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 560c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project e = findPreference(BrowserSettings.PREF_TEXT_SIZE); 570c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project e.setOnPreferenceChangeListener(this); 580c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project e.setSummary(getVisualTextSizeName( 590c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project getPreferenceScreen().getSharedPreferences() 600c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project .getString(BrowserSettings.PREF_TEXT_SIZE, null)) ); 610c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 622f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba e = findPreference(BrowserSettings.PREF_DEFAULT_ZOOM); 632f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba e.setOnPreferenceChangeListener(this); 642f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba e.setSummary(getVisualDefaultZoomName( 652f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba getPreferenceScreen().getSharedPreferences() 662f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba .getString(BrowserSettings.PREF_DEFAULT_ZOOM, null)) ); 672f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba 680c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project e = findPreference(BrowserSettings.PREF_DEFAULT_TEXT_ENCODING); 690c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project e.setOnPreferenceChangeListener(this); 70f344d03c0b01d30575ba1ddd1ed340705c6f5a97Steve Block 71fde9746ac3055848e110c35f19ec5893c621f766Leon Scroggins e = findPreference(BrowserSettings.PREF_CLEAR_HISTORY); 72fde9746ac3055848e110c35f19ec5893c621f766Leon Scroggins e.setOnPreferenceChangeListener(this); 73fde9746ac3055848e110c35f19ec5893c621f766Leon Scroggins 740c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project if (BrowserSettings.getInstance().showDebugSettings()) { 750c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project addPreferencesFromResource(R.xml.debug_preferences); 760c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 77f344d03c0b01d30575ba1ddd1ed340705c6f5a97Steve Block 78f344d03c0b01d30575ba1ddd1ed340705c6f5a97Steve Block PreferenceScreen websiteSettings = (PreferenceScreen) 79e46990ea925f41bdb4d504c91a681e826f4b6eb1Nicolas Roard findPreference(BrowserSettings.PREF_WEBSITE_SETTINGS); 80e46990ea925f41bdb4d504c91a681e826f4b6eb1Nicolas Roard Intent intent = new Intent(this, WebsiteSettingsActivity.class); 81f344d03c0b01d30575ba1ddd1ed340705c6f5a97Steve Block websiteSettings.setIntent(intent); 82e46990ea925f41bdb4d504c91a681e826f4b6eb1Nicolas Roard } 836f480422c930d5a85624f42af8f1ca2c063cb4b5Nicolas Roard 84e46990ea925f41bdb4d504c91a681e826f4b6eb1Nicolas Roard /* 85f344d03c0b01d30575ba1ddd1ed340705c6f5a97Steve Block * We need to set the PreferenceScreen state in onResume(), as the number of 86f344d03c0b01d30575ba1ddd1ed340705c6f5a97Steve Block * origins with active features (WebStorage, Geolocation etc) could have 87f344d03c0b01d30575ba1ddd1ed340705c6f5a97Steve Block * changed after calling the WebsiteSettingsActivity. 88e46990ea925f41bdb4d504c91a681e826f4b6eb1Nicolas Roard */ 89e46990ea925f41bdb4d504c91a681e826f4b6eb1Nicolas Roard @Override 90e46990ea925f41bdb4d504c91a681e826f4b6eb1Nicolas Roard protected void onResume() { 91e46990ea925f41bdb4d504c91a681e826f4b6eb1Nicolas Roard super.onResume(); 9299b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard final PreferenceScreen websiteSettings = (PreferenceScreen) 93e46990ea925f41bdb4d504c91a681e826f4b6eb1Nicolas Roard findPreference(BrowserSettings.PREF_WEBSITE_SETTINGS); 9499b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard websiteSettings.setEnabled(false); 9599b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard WebStorage.getInstance().getOrigins(new ValueCallback<Map>() { 9699b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard public void onReceiveValue(Map webStorageOrigins) { 9799b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard if ((webStorageOrigins != null) && !webStorageOrigins.isEmpty()) { 9899b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard websiteSettings.setEnabled(true); 9999b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard } 10099b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard } 10199b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard }); 1022a6a0f478fb9b67bf7398b1ba7c54ca9c9e430bfSteve Block GeolocationPermissions.getInstance().getOrigins(new ValueCallback<Set<String> >() { 1032a6a0f478fb9b67bf7398b1ba7c54ca9c9e430bfSteve Block public void onReceiveValue(Set<String> geolocationOrigins) { 10499b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard if ((geolocationOrigins != null) && !geolocationOrigins.isEmpty()) { 10599b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard websiteSettings.setEnabled(true); 10699b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard } 10799b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard } 10899b3ae1a384981f96fca5432f3d20bf4e8d13667Nicolas Roard }); 1090c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1100c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 1110c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project @Override 1120c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project protected void onPause() { 1130c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project super.onPause(); 1140c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 1150c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project // sync the shared preferences back to BrowserSettings 1160c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project BrowserSettings.getInstance().syncSharedPreferences( 117d69f51ddd5b6c28c9d16725e65facaf830d650e1Bjorn Bringert getApplicationContext(), 1180c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project getPreferenceScreen().getSharedPreferences()); 1190c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1200c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 1210c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project public boolean onPreferenceChange(Preference pref, Object objValue) { 1220c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project if (pref.getKey().equals(BrowserSettings.PREF_EXTRAS_RESET_DEFAULTS)) { 1230c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project Boolean value = (Boolean) objValue; 1240c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project if (value.booleanValue() == true) { 1250c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project finish(); 1260c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1270c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } else if (pref.getKey().equals(BrowserSettings.PREF_HOMEPAGE)) { 1280c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project String value = (String) objValue; 1290c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project boolean needUpdate = value.indexOf(' ') != -1; 1300c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project if (needUpdate) { 1310c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project value = value.trim().replace(" ", "%20"); 1320c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1330c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project if (value.length() != 0 && Uri.parse(value).getScheme() == null) { 1340c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project value = "http://" + value; 1350c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project needUpdate = true; 1360c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1370c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project // Set the summary value. 1380c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project pref.setSummary(value); 1390c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project if (needUpdate) { 1400c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project // Update through the EditText control as it has a cached copy 1410c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project // of the string and it will handle persisting the value 1420c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project ((EditTextPreference) pref).setText(value); 1430c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 1440c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project // as we update the value above, we need to return false 1450c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project // here so that setText() is not called by EditTextPref 1460c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project // with the old value. 1470c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project return false; 1480c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } else { 1490c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project return true; 1500c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1510c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } else if (pref.getKey().equals(BrowserSettings.PREF_TEXT_SIZE)) { 1520c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project pref.setSummary(getVisualTextSizeName((String) objValue)); 1530c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project return true; 1542f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba } else if (pref.getKey().equals(BrowserSettings.PREF_DEFAULT_ZOOM)) { 1552f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba pref.setSummary(getVisualDefaultZoomName((String) objValue)); 1562f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba return true; 1570c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } else if (pref.getKey().equals( 1580c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project BrowserSettings.PREF_DEFAULT_TEXT_ENCODING)) { 1590c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project pref.setSummary((String) objValue); 1600c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project return true; 161fde9746ac3055848e110c35f19ec5893c621f766Leon Scroggins } else if (pref.getKey().equals(BrowserSettings.PREF_CLEAR_HISTORY) 162fde9746ac3055848e110c35f19ec5893c621f766Leon Scroggins && ((Boolean) objValue).booleanValue() == true) { 163fde9746ac3055848e110c35f19ec5893c621f766Leon Scroggins // Need to tell the browser to remove the parent/child relationship 164fde9746ac3055848e110c35f19ec5893c621f766Leon Scroggins // between tabs 165fde9746ac3055848e110c35f19ec5893c621f766Leon Scroggins setResult(RESULT_OK, (new Intent()).putExtra(Intent.EXTRA_TEXT, 166fde9746ac3055848e110c35f19ec5893c621f766Leon Scroggins pref.getKey())); 167fde9746ac3055848e110c35f19ec5893c621f766Leon Scroggins return true; 1680c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1690c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project 1700c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project return false; 1710c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1722f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba 1730c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project private CharSequence getVisualTextSizeName(String enumName) { 1742f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba CharSequence[] visualNames = getResources().getTextArray( 1752f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba R.array.pref_text_size_choices); 1762f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba CharSequence[] enumNames = getResources().getTextArray( 1772f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba R.array.pref_text_size_values); 1782f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba 1790c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project // Sanity check 1800c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project if (visualNames.length != enumNames.length) { 1810c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project return ""; 1820c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1832f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba 1840c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project for (int i = 0; i < enumNames.length; i++) { 1850c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project if (enumNames[i].equals(enumName)) { 1860c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project return visualNames[i]; 1870c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1880c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 1892f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba 1902f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba return ""; 1912f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba } 1922f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba 1932f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba private CharSequence getVisualDefaultZoomName(String enumName) { 1942f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba CharSequence[] visualNames = getResources().getTextArray( 1952f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba R.array.pref_default_zoom_choices); 1962f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba CharSequence[] enumNames = getResources().getTextArray( 1972f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba R.array.pref_default_zoom_values); 1982f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba 1992f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba // Sanity check 2002f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba if (visualNames.length != enumNames.length) { 2012f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba return ""; 2022f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba } 2032f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba 2042f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba for (int i = 0; i < enumNames.length; i++) { 2052f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba if (enumNames[i].equals(enumName)) { 2062f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba return visualNames[i]; 2072f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba } 2082f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba } 2092f83068b9e8835f97010bc2ee1d77f3a13827ae4Grace Kloba 2100c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project return ""; 2110c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project } 2120c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project} 213