Invoke NFC button

This commit is contained in:
Dominik Schürmann
2015-02-25 20:50:34 +01:00
parent 0931c7742b
commit b521162ef0
81 changed files with 52 additions and 64 deletions

View File

@@ -88,6 +88,7 @@ public class ViewKeyActivity extends BaseActivity implements
private ImageButton mActionEncryptText;
private ImageButton mActionVerify;
private ImageButton mActionEdit;
private ImageButton mActionNfc;
private FloatingActionButton mFab;
private AspectRatioImageView mPhoto;
private ImageButton mQrCode;
@@ -123,6 +124,7 @@ public class ViewKeyActivity extends BaseActivity implements
mActionEncryptText = (ImageButton) findViewById(R.id.view_key_action_encrypt_text);
mActionVerify = (ImageButton) findViewById(R.id.view_key_action_verify);
mActionEdit = (ImageButton) findViewById(R.id.view_key_action_edit);
mActionNfc = (ImageButton) findViewById(R.id.view_key_action_nfc);
mFab = (FloatingActionButton) findViewById(R.id.fab);
mPhoto = (AspectRatioImageView) findViewById(R.id.view_key_photo);
mQrCode = (ImageButton) findViewById(R.id.view_key_qr_code);
@@ -187,6 +189,13 @@ public class ViewKeyActivity extends BaseActivity implements
}
});
mActionNfc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
invokeNfcBeam();
}
});
// Prepare the loaders. Either re-connect with an existing ones,
// or start new ones.
@@ -270,6 +279,15 @@ public class ViewKeyActivity extends BaseActivity implements
return super.onOptionsItemSelected(item);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void invokeNfcBeam() {
// Check for available NFC Adapter
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (mNfcAdapter != null) {
mNfcAdapter.invokeBeam(this);
}
}
private void scanQrCode() {
Intent scanQrCode = new Intent(this, QrCodeScanActivity.class);
scanQrCode.setAction(QrCodeScanActivity.ACTION_SCAN_WITH_RESULT);
@@ -623,6 +641,7 @@ public class ViewKeyActivity extends BaseActivity implements
mActionEncryptText.setVisibility(View.GONE);
mActionVerify.setVisibility(View.GONE);
mActionEdit.setVisibility(View.GONE);
mActionNfc.setVisibility(View.GONE);
mFab.setVisibility(View.GONE);
mQrCodeLayout.setVisibility(View.GONE);
} else if (isExpired) {
@@ -641,6 +660,7 @@ public class ViewKeyActivity extends BaseActivity implements
mActionEncryptFile.setVisibility(View.GONE);
mActionEncryptText.setVisibility(View.GONE);
mActionVerify.setVisibility(View.GONE);
mActionNfc.setVisibility(View.GONE);
mFab.setVisibility(View.GONE);
mQrCodeLayout.setVisibility(View.GONE);
} else if (mIsSecret) {
@@ -675,6 +695,13 @@ public class ViewKeyActivity extends BaseActivity implements
mActionEncryptText.setVisibility(View.VISIBLE);
mActionVerify.setVisibility(View.GONE);
mActionEdit.setVisibility(View.VISIBLE);
// invokeBeam is available from API 21
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
mActionNfc.setVisibility(View.VISIBLE);
} else {
mActionNfc.setVisibility(View.GONE);
}
mFab.setVisibility(View.VISIBLE);
mFab.setIconDrawable(getResources().getDrawable(R.drawable.ic_repeat_white_24dp));
} else {
@@ -682,6 +709,7 @@ public class ViewKeyActivity extends BaseActivity implements
mActionEncryptText.setVisibility(View.VISIBLE);
mActionEdit.setVisibility(View.GONE);
mQrCodeLayout.setVisibility(View.GONE);
mActionNfc.setVisibility(View.GONE);
if (isVerified) {
mStatusText.setText(R.string.view_key_verified);