InputMethodManagerCompatWrapper.java revision 6fbbab3b8442ad010c53dc53a09535f7b0ef0323
1610f1dc8553cf2ed97e763a06a19380c4a6cd636satok/* 2610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * Copyright (C) 2011 The Android Open Source Project 3610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * 4610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * Licensed under the Apache License, Version 2.0 (the "License"); 5610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * you may not use this file except in compliance with the License. 6610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * You may obtain a copy of the License at 7610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * 8610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * http://www.apache.org/licenses/LICENSE-2.0 9610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * 10610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * Unless required by applicable law or agreed to in writing, software 11610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * distributed under the License is distributed on an "AS IS" BASIS, 12610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * See the License for the specific language governing permissions and 14610f1dc8553cf2ed97e763a06a19380c4a6cd636satok * limitations under the License. 15610f1dc8553cf2ed97e763a06a19380c4a6cd636satok */ 16610f1dc8553cf2ed97e763a06a19380c4a6cd636satok 17610f1dc8553cf2ed97e763a06a19380c4a6cd636satokpackage com.android.inputmethod.compat; 18610f1dc8553cf2ed97e763a06a19380c4a6cd636satok 19610f1dc8553cf2ed97e763a06a19380c4a6cd636satokimport android.content.Context; 20610f1dc8553cf2ed97e763a06a19380c4a6cd636satokimport android.os.IBinder; 21610f1dc8553cf2ed97e763a06a19380c4a6cd636satokimport android.view.inputmethod.InputMethodManager; 2255d28fd1b2631a63542a647f693d8a8ed749bcf7Tadashi G. Takaoka 23610f1dc8553cf2ed97e763a06a19380c4a6cd636satokimport java.lang.reflect.Method; 24610f1dc8553cf2ed97e763a06a19380c4a6cd636satok 25a28a05e971cc242b338331a3b78276fa95188d19Tadashi G. Takaokapublic final class InputMethodManagerCompatWrapper { 2681d4e3cd66a9388c47c7dba55240ddf849b31934Tadashi G. Takaoka private static final Method METHOD_switchToNextInputMethod = CompatUtils.getMethod( 2781d4e3cd66a9388c47c7dba55240ddf849b31934Tadashi G. Takaoka InputMethodManager.class, "switchToNextInputMethod", IBinder.class, Boolean.TYPE); 28610f1dc8553cf2ed97e763a06a19380c4a6cd636satok 296fbbab3b8442ad010c53dc53a09535f7b0ef0323Tadashi G. Takaoka public final InputMethodManager mImm; 3081d4e3cd66a9388c47c7dba55240ddf849b31934Tadashi G. Takaoka 316fbbab3b8442ad010c53dc53a09535f7b0ef0323Tadashi G. Takaoka public InputMethodManagerCompatWrapper(final Context context) { 326fbbab3b8442ad010c53dc53a09535f7b0ef0323Tadashi G. Takaoka mImm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE); 33610f1dc8553cf2ed97e763a06a19380c4a6cd636satok } 34610f1dc8553cf2ed97e763a06a19380c4a6cd636satok 356fbbab3b8442ad010c53dc53a09535f7b0ef0323Tadashi G. Takaoka public boolean switchToNextInputMethod(final IBinder token, final boolean onlyCurrentIme) { 3681d4e3cd66a9388c47c7dba55240ddf849b31934Tadashi G. Takaoka return (Boolean)CompatUtils.invoke(mImm, false, METHOD_switchToNextInputMethod, token, 3781d4e3cd66a9388c47c7dba55240ddf849b31934Tadashi G. Takaoka onlyCurrentIme); 3881d4e3cd66a9388c47c7dba55240ddf849b31934Tadashi G. Takaoka } 39610f1dc8553cf2ed97e763a06a19380c4a6cd636satok} 40