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