1053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/* 259aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma * Copyright (C) 2008-2012 OMRON SOFTWARE Co., Ltd. 3053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 4053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * you may not use this file except in compliance with the License. 6053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * You may obtain a copy of the License at 7053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 8053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 10053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * See the License for the specific language governing permissions and 14053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * limitations under the License. 15053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 16053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 17053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectpackage jp.co.omronsoft.openwnn; 18053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 19053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport java.io.IOException; 20053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport java.util.ArrayList; 21053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport java.util.HashMap; 22053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport java.util.Iterator; 23053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport org.xmlpull.v1.XmlPullParserException; 24053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport android.content.SharedPreferences; 25053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport android.content.res.XmlResourceParser; 26053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport android.util.Log; 27053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 28053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/** 293feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa * The generator class of symbol list. 30053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * <br> 31053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * This class is used for generating lists of symbols. 32053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 333feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD. All Rights Reserved. 34053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 35053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectpublic class SymbolList implements WnnEngine { 36053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /* 37053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * DEFINITION OF CONSTANTS 38053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 393feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** Language definition (English) */ 40053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public static final int LANG_EN = 0; 41053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 423feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** Language definition (Japanese) */ 43053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public static final int LANG_JA = 1; 44053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 453feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** Language definition (Chinese) */ 46053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public static final int LANG_ZHCN = 2; 47053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 48053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 493feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** Key string to get normal symbol list for Japanese */ 50053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public static final String SYMBOL_JAPANESE = "j"; 51053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 523feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** Key string to get normal symbol list for English */ 53053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public static final String SYMBOL_ENGLISH = "e"; 54053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 553feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** Key string to get normal symbol list for Chinese */ 563feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa public static final String SYMBOL_CHINESE = "c1"; 577b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa 583feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** Key string to get face mark list for Japanese */ 5977ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa public static final String SYMBOL_JAPANESE_FACE = "j_face"; 60053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 613feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** The name of XML tag key */ 6277ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa private static final String XMLTAG_KEY = "string"; 63053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 64053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /* 65053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * DEFINITION OF VARIABLES 66053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 673feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** Symbols data */ 687b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa protected HashMap<String,ArrayList<String>> mSymbols; 69053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 703feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** OpenWnn which has this instance */ 71053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project private OpenWnn mWnn; 72053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 733feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** current list of symbols */ 74053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project private ArrayList<String> mCurrentList; 75053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 763feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** Iterator for getting symbols from the list */ 7777ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa private Iterator<String> mCurrentListIterator; 78053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 79053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /* 80053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * DEFINITION OF METHODS 81053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 82053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /** 83053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Constructor 84053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 857b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa * @param parent OpenWnn instance which uses this. 867b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa * @param lang Language ({@code LANG_EN}, {@code LANG_JA} or {@code LANG_ZHCN}) 87053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 88053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public SymbolList(OpenWnn parent, int lang) { 89053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project mWnn = parent; 907b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa mSymbols = new HashMap<String, ArrayList<String>>(); 91053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 92053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project switch (lang) { 93053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project case LANG_EN: 94053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /* symbols for English IME */ 95053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project mSymbols.put(SYMBOL_ENGLISH, getXmlfile(R.xml.symbols_latin12_list)); 96053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project mCurrentList = mSymbols.get(SYMBOL_ENGLISH); 97053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project break; 98053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 99053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project case LANG_JA: 100053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /* symbols for Japanese IME */ 101053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project mSymbols.put(SYMBOL_JAPANESE, getXmlfile(R.xml.symbols_japan_list)); 102053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project mSymbols.put(SYMBOL_JAPANESE_FACE, getXmlfile(R.xml.symbols_japan_face_list)); 10359aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma mSymbols.put(SYMBOL_ENGLISH, getXmlfile(R.xml.symbols_latin1_list)); 10459aefa242169b7a51c2381daee58ff22fd1834ceJunichi Monma mCurrentList = mSymbols.get(SYMBOL_JAPANESE); 105053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project break; 106e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa 1073feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa case LANG_ZHCN: 108053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /* symbols for Chinese IME */ 1093feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa mSymbols.put(SYMBOL_CHINESE, getXmlfile(R.xml.symbols_china_list)); 1103feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa mSymbols.put(SYMBOL_ENGLISH, getXmlfile(R.xml.symbols_latin1_list)); 1113feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa mCurrentList = mSymbols.get(SYMBOL_CHINESE); 112053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project break; 113053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 114053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 115053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project mCurrentList = null; 116053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 11777ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa 118053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /** 119053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Get a attribute value from a XML resource. 120053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 12177ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa * @param xrp XML resource 12277ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa * @param name The attribute name 123053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 12477ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa * @return The value of the attribute 125053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 126053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project private String getXmlAttribute(XmlResourceParser xrp, String name) { 127053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project int resId = xrp.getAttributeResourceValue(null, name, 0); 128053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project if (resId == 0) { 129053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project return xrp.getAttributeValue(null, name); 130053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } else { 131053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project return mWnn.getString(resId); 132053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 133053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 134053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 135053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /** 136053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Load a symbols list from XML resource. 137053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 13877ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa * @param id XML resource ID 13977ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa * @return The symbols list 140053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 14177ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa private ArrayList<String> getXmlfile(int id) { 142053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project ArrayList<String> list = new ArrayList<String>(); 143053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 144053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project XmlResourceParser xrp = mWnn.getResources().getXml(id); 145053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project try { 146053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project int xmlEventType; 147053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project while ((xmlEventType = xrp.next()) != XmlResourceParser.END_DOCUMENT) { 148053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project if (xmlEventType == XmlResourceParser.START_TAG) { 149053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project String attribute = xrp.getName(); 150053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project if (XMLTAG_KEY.equals(attribute)) { 151053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project String value = getXmlAttribute(xrp, "value"); 152053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project if (value != null) { 153053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project list.add(value); 154053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 155053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 156053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 157053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 158053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project xrp.close(); 159053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } catch (XmlPullParserException e) { 160053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project Log.e("OpenWnn", "Ill-formatted keybaord resource file"); 161053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } catch (IOException e) { 162053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project Log.e("OpenWnn", "Unable to read keyboard resource file"); 163053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 164053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 165053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project return list; 166053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 167053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 168053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /** 169053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Set the dictionary 170053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * 171053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * @param listType The list of symbol 1727b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa * @return {@code true} if valid type is specified; {@code false} if not; 173053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */ 174053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public boolean setDictionary(String listType) { 175053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project mCurrentList = mSymbols.get(listType); 176053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project return (mCurrentList != null); 177053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 178053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 179053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /*********************************************************************** 180053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * WnnEngine's interface 181053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project **********************************************************************/ 1823feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#init */ 183053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public void init() {} 18477ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa 1853feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#close */ 186053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public void close() {} 18777ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa 1883feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#predict */ 189053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public int predict(ComposingText text, int minLen, int maxLen) { 190053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /* ignore if there is no list for the type */ 191053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project if (mCurrentList == null) { 192053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project mCurrentListIterator = null; 193053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project return 0; 194053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 195053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 196053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project /* return the iterator of the list */ 197053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project mCurrentListIterator = mCurrentList.iterator(); 198053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project return 1; 199053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 20077ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa 2013feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#convert */ 202053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public int convert(ComposingText text) { 203053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project return 0; 204053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 205053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 2063feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#searchWords */ 207053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public int searchWords(String key) {return 0;} 208053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 2093feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#searchWords */ 210053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public int searchWords(WnnWord word) {return 0;} 21177ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa 2123feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#getNextCandidate */ 213053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public WnnWord getNextCandidate() { 214053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project if (mCurrentListIterator == null || !mCurrentListIterator.hasNext()) { 215053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project return null; 216053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 217053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project String str = mCurrentListIterator.next(); 218053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project WnnWord word = new WnnWord(str, str); 219053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project return word; 220053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project } 22177ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa 2223feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#learn */ 223053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public boolean learn(WnnWord word) {return false;} 22477ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa 2253feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#addWord */ 226053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public int addWord(WnnWord word) {return 0;} 227053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 2283feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#deleteWord */ 229053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public boolean deleteWord(WnnWord word) {return false;} 23077ffa9b0b986a2d70143f63cdaa8451bf1674f84Daisuke Miyakawa 2313feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#setPreferences */ 232053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public void setPreferences(SharedPreferences pref) {} 233053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 2343feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#breakSequence */ 235053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public void breakSequence() {} 236053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 2373feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#makeCandidateListOf */ 238053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public int makeCandidateListOf(int clausePosition) {return 0;} 239053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 2403feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#initializeDictionary */ 241053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public boolean initializeDictionary(int dictionary) {return true;} 242053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project 2433feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#initializeDictionary */ 2447b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa public boolean initializeDictionary(int dictionary, int type) {return true;} 2457b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa 2463feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa /** @see jp.co.omronsoft.openwnn.WnnEngine#getUserDictionaryWords */ 247053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project public WnnWord[] getUserDictionaryWords() {return null;} 248053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project} 249