1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 package versioned.host.exp.exponent.modules.api; 4 5 import android.app.Activity; 6 import android.view.View; 7 import android.view.inputmethod.InputMethodManager; 8 9 import com.facebook.react.bridge.Promise; 10 import com.facebook.react.bridge.ReactApplicationContext; 11 import com.facebook.react.bridge.ReactContextBaseJavaModule; 12 import com.facebook.react.bridge.ReactMethod; 13 14 public class KeyboardModule extends ReactContextBaseJavaModule { KeyboardModule(ReactApplicationContext context)15 public KeyboardModule(ReactApplicationContext context) { 16 super(context); 17 } 18 19 @Override getName()20 public String getName() { 21 return "ExponentKeyboard"; 22 } 23 24 @ReactMethod hideAsync(final Promise promise)25 public void hideAsync(final Promise promise) { 26 Boolean success = false; 27 Activity activity = getCurrentActivity(); 28 if (activity != null) { 29 InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE); 30 View view = activity.getCurrentFocus(); 31 if (view != null) { 32 imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 33 success = true; 34 } 35 } 36 promise.resolve(success); 37 } 38 } 39