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.content.Context; 20c9a877174c6ba3552c1a6e396509f8d08049a3f6satokimport android.graphics.drawable.Drawable; 21c9a877174c6ba3552c1a6e396509f8d08049a3f6satokimport android.os.Bundle; 22c9a877174c6ba3552c1a6e396509f8d08049a3f6satokimport android.preference.PreferenceFragment; 23c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 24c9a877174c6ba3552c1a6e396509f8d08049a3f6satok/** 25c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * This is a helper class for an IME's settings preference fragment. It's recommended for every 26c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * IME to have its own settings preference fragment which inherits this class. 27c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 28c9a877174c6ba3552c1a6e396509f8d08049a3f6satokpublic abstract class InputMethodSettingsFragment extends PreferenceFragment 29c9a877174c6ba3552c1a6e396509f8d08049a3f6satok implements InputMethodSettingsInterface { 30c9a877174c6ba3552c1a6e396509f8d08049a3f6satok private final InputMethodSettingsImpl mSettings = new InputMethodSettingsImpl(); 31c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 32c9a877174c6ba3552c1a6e396509f8d08049a3f6satok public void onCreate(Bundle savedInstanceState) { 33c9a877174c6ba3552c1a6e396509f8d08049a3f6satok super.onCreate(savedInstanceState); 34c9a877174c6ba3552c1a6e396509f8d08049a3f6satok final Context context = getActivity(); 35c9a877174c6ba3552c1a6e396509f8d08049a3f6satok setPreferenceScreen(getPreferenceManager().createPreferenceScreen(context)); 36c9a877174c6ba3552c1a6e396509f8d08049a3f6satok mSettings.init(context, getPreferenceScreen()); 37c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 38c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 39c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 40c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 41c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 42c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 43c9a877174c6ba3552c1a6e396509f8d08049a3f6satok public void setInputMethodSettingsCategoryTitle(int resId) { 44c9a877174c6ba3552c1a6e396509f8d08049a3f6satok mSettings.setInputMethodSettingsCategoryTitle(resId); 45c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 46c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 47c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 48c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 49c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 50c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 51c9a877174c6ba3552c1a6e396509f8d08049a3f6satok public void setInputMethodSettingsCategoryTitle(CharSequence title) { 52c9a877174c6ba3552c1a6e396509f8d08049a3f6satok mSettings.setInputMethodSettingsCategoryTitle(title); 53c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 54c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 55c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 56c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 57c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 58c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 59c9a877174c6ba3552c1a6e396509f8d08049a3f6satok public void setSubtypeEnablerTitle(int resId) { 60c9a877174c6ba3552c1a6e396509f8d08049a3f6satok mSettings.setSubtypeEnablerTitle(resId); 61c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 62c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 63c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 64c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 65c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 66c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 67c9a877174c6ba3552c1a6e396509f8d08049a3f6satok public void setSubtypeEnablerTitle(CharSequence title) { 68c9a877174c6ba3552c1a6e396509f8d08049a3f6satok mSettings.setSubtypeEnablerTitle(title); 69c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 70c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 71c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 72c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 73c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 74c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 75f3320979f6d3b63686f15cedae65bba144643e25satok public void setSubtypeEnablerIcon(int resId) { 76f3320979f6d3b63686f15cedae65bba144643e25satok mSettings.setSubtypeEnablerIcon(resId); 77c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 78c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 79c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 80c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 81c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 82c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 83f3320979f6d3b63686f15cedae65bba144643e25satok public void setSubtypeEnablerIcon(Drawable drawable) { 84f3320979f6d3b63686f15cedae65bba144643e25satok mSettings.setSubtypeEnablerIcon(drawable); 85c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 86c9a877174c6ba3552c1a6e396509f8d08049a3f6satok 87c9a877174c6ba3552c1a6e396509f8d08049a3f6satok /** 88c9a877174c6ba3552c1a6e396509f8d08049a3f6satok * {@inheritDoc} 89c9a877174c6ba3552c1a6e396509f8d08049a3f6satok */ 90c9a877174c6ba3552c1a6e396509f8d08049a3f6satok @Override 91f3320979f6d3b63686f15cedae65bba144643e25satok public void onResume() { 92f3320979f6d3b63686f15cedae65bba144643e25satok super.onResume(); 93f3320979f6d3b63686f15cedae65bba144643e25satok mSettings.updateSubtypeEnabler(); 94c9a877174c6ba3552c1a6e396509f8d08049a3f6satok } 95c9a877174c6ba3552c1a6e396509f8d08049a3f6satok} 96