use of android.view.KeyEvent in project android_frameworks_base by ParanoidAndroid.
the class KeyUtils method longClick.
/**
* Simulates a long click via the keyboard.
*
* @param test The test case that is being run.
*/
public static void longClick(ActivityInstrumentationTestCase test) {
final Instrumentation inst = test.getInstrumentation();
inst.sendKeySync(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_CENTER));
try {
Thread.sleep((long) (ViewConfiguration.getLongPressTimeout() * 1.5f));
} catch (InterruptedException e) {
e.printStackTrace();
}
inst.sendKeySync(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_CENTER));
}
use of android.view.KeyEvent in project android_frameworks_base by ParanoidAndroid.
the class ListScrollListenerTest method testKeyScrolling.
@LargeTest
public void testKeyScrolling() {
Instrumentation inst = getInstrumentation();
int firstVisibleItem = mFirstVisibleItem;
for (int i = 0; i < mVisibleItemCount * 2; i++) {
inst.sendCharacterSync(KeyEvent.KEYCODE_DPAD_DOWN);
}
inst.waitForIdleSync();
assertTrue("Arrow scroll did not happen", mFirstVisibleItem > firstVisibleItem);
firstVisibleItem = mFirstVisibleItem;
inst.sendCharacterSync(KeyEvent.KEYCODE_SPACE);
inst.waitForIdleSync();
assertTrue("Page scroll did not happen", mFirstVisibleItem > firstVisibleItem);
firstVisibleItem = mFirstVisibleItem;
KeyEvent down = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_DOWN, 0, KeyEvent.META_ALT_ON);
KeyEvent up = new KeyEvent(0, 0, KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_DOWN, 0, KeyEvent.META_ALT_ON);
inst.sendKeySync(down);
inst.sendKeySync(up);
inst.waitForIdleSync();
assertTrue("Full scroll did not happen", mFirstVisibleItem > firstVisibleItem);
assertEquals("Full scroll did not happen", mTotalItemCount, mFirstVisibleItem + mVisibleItemCount);
}
use of android.view.KeyEvent in project k-9 by k9mail.
the class MessageWebView method emulateShiftHeld.
/*
* Emulate the shift key being pressed to trigger the text selection mode
* of a WebView.
*/
public void emulateShiftHeld() {
try {
KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
shiftPressEvent.dispatch(this, null, null);
Toast.makeText(getContext(), R.string.select_text_now, Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Timber.e(e, "Exception in emulateShiftHeld()");
}
}
use of android.view.KeyEvent in project android by cSploit.
the class HijackerWebView method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
SharedPreferences themePrefs = getSharedPreferences("THEME", 0);
Boolean isDark = themePrefs.getBoolean("isDark", false);
if (isDark)
setTheme(R.style.DarkTheme);
else
setTheme(R.style.AppTheme);
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
supportRequestWindowFeature(Window.FEATURE_PROGRESS);
setTitle(System.getCurrentTarget() + " > MITM > Session Hijacker");
setContentView(R.layout.plugin_mitm_hijacker_webview);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mWebView = (WebView) findViewById(R.id.webView);
mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mProgressBar = (ProgressBar) findViewById(R.id.webprogress);
mURLet = (EditText) findViewById(R.id.url);
mProgressBar.setVisibility(View.GONE);
mProgressBar.setMax(100);
mSettings = mWebView.getSettings();
mSettings.setJavaScriptEnabled(true);
mSettings.setJavaScriptCanOpenWindowsAutomatically(true);
mSettings.setBuiltInZoomControls(true);
mSettings.setAppCacheEnabled(false);
mSettings.setUserAgentString(DEFAULT_USER_AGENT);
mSettings.setUseWideViewPort(true);
mURLet.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_ACTION_NEXT) {
mWebView.loadUrl(mURLet.getText().toString());
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mWebView.getWindowToken(), 0);
mWebView.requestFocus();
return true;
}
return false;
}
});
mURLet.setOnKeyListener(new EditText.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
mWebView.loadUrl(mURLet.getText().toString());
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mWebView.getWindowToken(), 0);
mWebView.requestFocus();
return true;
}
return false;
}
});
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
mURLet.setText(url);
return true;
}
});
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
if ((mWebView != null) && (mURLet != null) && (progress == 0))
;
{
getSupportActionBar().setSubtitle(mWebView.getUrl());
mURLet.setText(mWebView.getUrl());
}
if (mProgressBar != null) {
mProgressBar.setVisibility(View.VISIBLE);
// Normalize our progress along the progress bar's scale
mProgressBar.setProgress(progress);
if (progress == 100) {
mProgressBar.setVisibility(View.GONE);
}
}
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
CookieManager cm = CookieManager.getInstance();
cm.flush();
} else {
CookieSyncManager.createInstance(this);
CookieManager.getInstance().removeAllCookie();
}
Session session = (Session) System.getCustomData();
if (session != null) {
String domain = null, rawcookie = null;
for (HttpCookie cookie : session.mCookies.values()) {
domain = cookie.getDomain();
rawcookie = cookie.getName() + "=" + cookie.getValue() + "; domain=" + domain + "; path=/" + (session.mHTTPS ? ";secure" : "");
CookieManager.getInstance().setCookie(domain, rawcookie);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
CookieManager cm = CookieManager.getInstance();
cm.flush();
} else {
CookieSyncManager.getInstance().startSync();
}
if (session.mUserAgent != null && session.mUserAgent.isEmpty() == false)
mSettings.setUserAgentString(session.mUserAgent);
String url = (session.mHTTPS ? "https" : "http") + "://";
if (domain != null && !Patterns.IP_ADDRESS.matcher(domain).matches())
url += "www.";
url += domain;
mWebView.loadUrl(url);
mWebView.requestFocus();
}
}
use of android.view.KeyEvent in project mobile-android by photo.
the class TextPanel method beginEdit.
/**
* Begin edit and open the android soft keyboard if available
*
* @param view
* the view
*/
private void beginEdit(final DrawableHighlightView view) {
if (null != view) {
view.setFocused(true);
}
mEditTextWatcher.view = null;
mEditText.removeTextChangedListener(mEditTextWatcher);
mEditText.setOnKeyListener(null);
final EditableDrawable editable = (EditableDrawable) view.getContent();
final String oldText = editable.isTextHint() ? "" : (String) editable.getText();
mEditText.setText(oldText);
mEditText.setSelection(mEditText.length());
mEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);
mEditText.requestFocusFromTouch();
// mInputManager.showSoftInput( mEditText, InputMethodManager.SHOW_IMPLICIT );
mInputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
mEditTextWatcher.view = view;
mEditText.setOnEditorActionListener(this);
mEditText.addTextChangedListener(mEditTextWatcher);
mEditText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
mLogger.log("onKey: " + event);
if (keyCode == KeyEvent.KEYCODE_DEL || keyCode == KeyEvent.KEYCODE_BACK) {
if (editable.isTextHint() && editable.isEditing()) {
editable.setText("");
view.forceUpdate();
}
}
return false;
}
});
}
Aggregations