136c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi/* 236c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * Copyright (C) 2014 The Android Open Source Project 336c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * 436c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * Licensed under the Apache License, Version 2.0 (the "License"); 536c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * you may not use this file except in compliance with the License. 636c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * You may obtain a copy of the License at 736c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * 836c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * http://www.apache.org/licenses/LICENSE-2.0 936c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * 1036c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * Unless required by applicable law or agreed to in writing, software 1136c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * distributed under the License is distributed on an "AS IS" BASIS, 1236c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1336c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * See the License for the specific language governing permissions and 1436c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi * limitations under the License. 1536c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi */ 1636c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi 1736c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagipackage com.android.inputmethod.latin; 1836c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi 1936c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagiimport android.content.BroadcastReceiver; 2036c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagiimport android.content.Context; 2136c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagiimport android.content.Intent; 2236c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagiimport android.util.Log; 2336c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi 2436c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagipublic class DictionaryDumpBroadcastReceiver extends BroadcastReceiver { 2536c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi private static final String TAG = DictionaryDumpBroadcastReceiver.class.getSimpleName(); 2636c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi 2736c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi private static final String DOMAIN = "com.android.inputmethod.latin"; 2836c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi public static final String DICTIONARY_DUMP_INTENT_ACTION = DOMAIN + ".DICT_DUMP"; 2936c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi public static final String DICTIONARY_NAME_KEY = "dictName"; 3036c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi 3136c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi final LatinIME mLatinIme; 3236c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi 3336c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi public DictionaryDumpBroadcastReceiver(final LatinIME latinIme) { 3436c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi mLatinIme = latinIme; 3536c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi } 3636c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi 3736c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi @Override 3836c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi public void onReceive(Context context, Intent intent) { 3936c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi final String action = intent.getAction(); 4036c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi if (action.equals(DICTIONARY_DUMP_INTENT_ACTION)) { 4136c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi final String dictName = intent.getStringExtra(DICTIONARY_NAME_KEY); 4236c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi if (dictName == null) { 4336c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi Log.e(TAG, "Received dictionary dump intent action " + 4436c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi "but the dictionary name is not set."); 4536c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi return; 4636c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi } 4736c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi mLatinIme.dumpDictionaryForDebug(dictName); 4836c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi } 4936c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi } 5036c7a62dffb7f5b6728fa0850c1f63aee0f14d80Keisuke Kuroyanagi} 51