1c9a877174c6ba3552c1a6e396509f8d08049a3f6satok/* 2c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * Copyright (C) 2011 The Android Open Source Project 3c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * 4c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * Licensed under the Apache License, Version 2.0 (the "License"); 5c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * you may not use this file except in compliance with the License. 6c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * You may obtain a copy of the License at 7c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * 8c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * http://www.apache.org/licenses/LICENSE-2.0 9c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * 10c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * Unless required by applicable law or agreed to in writing, software 11c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * distributed under the License is distributed on an "AS IS" BASIS, 12c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * See the License for the specific language governing permissions and 14c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * limitations under the License 15c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 16c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 17c9a877174c6ba3552c1a6e396509f8d08049a3f6satokpackage com.android.inputmethodcommon; 18c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 19c9a877174c6ba3552c1a6e396509f8d08049a3f6satokimport android.graphics.drawable.Drawable; 20c9a877174c6ba3552c1a6e396509f8d08049a3f6satokimport android.os.Bundle; 21c9a877174c6ba3552c1a6e396509f8d08049a3f6satokimport android.preference.PreferenceActivity; 22c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 23c9a877174c6ba3552c1a6e396509f8d08049a3f6satok/** 24c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * This is a helper class for an IME's settings preference activity. It's recommended for every 25c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * IME to have its own settings preference activity which inherits this class. 26c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 27c9a877174c6ba3552c1a6e396509f8d08049a3f6satokpublic abstract class InputMethodSettingsActivity extends PreferenceActivity 28c9a877174c6ba3552c1a6e396509f8d08049a3f6satok implements InputMethodSettingsInterface { 29c9a877174c6ba3552c1a6e396509f8d08049a3f6satok private final InputMethodSettingsImpl mSettings = new InputMethodSettingsImpl(); 30c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @SuppressWarnings("deprecation") 31c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 32c9a877174c6ba3552c1a6e396509f8d08049a3f6satok public void onCreate(Bundle savedInstanceState) { 33c9a877174c6ba3552c1a6e396509f8d08049a3f6satok super.onCreate(savedInstanceState); 34c9a877174c6ba3552c1a6e396509f8d08049a3f6satok setPreferenceScreen(getPreferenceManager().createPreferenceScreen(this)); 35c9a877174c6ba3552c1a6e396509f8d08049a3f6satok mSettings.init(this, getPreferenceScreen()); 36c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 37c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 38c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 39c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 40c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 41c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 42c9a877174c6ba3552c1a6e396509f8d08049a3f6satok public void setInputMethodSettingsCategoryTitle(int resId) { 43c9a877174c6ba3552c1a6e396509f8d08049a3f6satok mSettings.setInputMethodSettingsCategoryTitle(resId); 44c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 45c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 46c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 47c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 48c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 49c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 50c9a877174c6ba3552c1a6e396509f8d08049a3f6satok public void setInputMethodSettingsCategoryTitle(CharSequence title) { 51c9a877174c6ba3552c1a6e396509f8d08049a3f6satok mSettings.setInputMethodSettingsCategoryTitle(title); 52c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 53c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 54c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 55c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 56c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 57c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 58c9a877174c6ba3552c1a6e396509f8d08049a3f6satok public void setSubtypeEnablerTitle(int resId) { 59c9a877174c6ba3552c1a6e396509f8d08049a3f6satok mSettings.setSubtypeEnablerTitle(resId); 60c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 61c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 62c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 63c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 64c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 65c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 66c9a877174c6ba3552c1a6e396509f8d08049a3f6satok public void setSubtypeEnablerTitle(CharSequence title) { 67c9a877174c6ba3552c1a6e396509f8d08049a3f6satok mSettings.setSubtypeEnablerTitle(title); 68c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 69c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 70c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 71c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 72c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 73c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 74f3320979f6d3b63686f15cedae65bba144643e25satok public void setSubtypeEnablerIcon(int resId) { 75f3320979f6d3b63686f15cedae65bba144643e25satok mSettings.setSubtypeEnablerIcon(resId); 76c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 77c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 78c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 79c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 80c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 81c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 82f3320979f6d3b63686f15cedae65bba144643e25satok public void setSubtypeEnablerIcon(Drawable drawable) { 83f3320979f6d3b63686f15cedae65bba144643e25satok mSettings.setSubtypeEnablerIcon(drawable); 84c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 85c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 86c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 87c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 88c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 89c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 90f3320979f6d3b63686f15cedae65bba144643e25satok public void onResume() { 91f3320979f6d3b63686f15cedae65bba144643e25satok super.onResume(); 92f3320979f6d3b63686f15cedae65bba144643e25satok mSettings.updateSubtypeEnabler(); 93c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 94c9a877174c6ba3552c1a6e396509f8d08049a3f6satok} 95