@Override public boolean onKeyDown(int keyCode, KeyEvent event) { try { if (KeyEvent.KEYCODE_BACK == keyCode) { if (mFileTransfer == null || !RcsSessionUtil.isAllowedToAbortFileTransferSession(mFileTransfer)) { finish(); return true; } AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.label_confirm_close); builder.setPositiveButton( R.string.label_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { quitSession(); } }); builder.setNegativeButton( R.string.label_cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { /* Exit activity */ finish(); } }); builder.setCancelable(true); registerDialog(builder.show()); return true; } } catch (RcsServiceException e) { showException(e); } return super.onKeyDown(keyCode, event); }
private void quitSession() { if (LogUtils.isActive) { Log.d(LOGTAG, "quitSession"); } try { if (mFileTransfer != null && RcsSessionUtil.isAllowedToAbortFileTransferSession(mFileTransfer)) { mFileTransfer.abortTransfer(); } } catch (RcsServiceException e) { showException(e); } finally { mFileTransfer = null; finish(); } }