/** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ package com.facebook.react.devsupport; import android.os.Handler; import android.view.KeyEvent; import android.view.View; import android.widget.EditText; /** * A class allows recognizing double key tap of "R", used to reload JS in * {@link AbstractReactActivity}, {@link RedBoxDialog} and {@link ReactActivity}. */ public class DoubleTapReloadRecognizer { private boolean mDoRefresh = false; private static final long DOUBLE_TAP_DELAY = 200; public boolean didDoubleTapR(int keyCode, View view) { if (keyCode == KeyEvent.KEYCODE_R && !(view instanceof EditText)) { if (mDoRefresh) { mDoRefresh = false; return true; } else { mDoRefresh = true; new Handler().postDelayed( new Runnable() { @Override public void run() { mDoRefresh = false; } }, DOUBLE_TAP_DELAY); } } return false; } }