Invoke NFC button
@@ -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);
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
BIN
OpenKeychain/src/main/res/drawable-hdpi/ic_nfc_white_24dp.png
Normal file
|
After Width: | Height: | Size: 740 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
BIN
OpenKeychain/src/main/res/drawable-mdpi/ic_nfc_white_24dp.png
Normal file
|
After Width: | Height: | Size: 485 B |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
BIN
OpenKeychain/src/main/res/drawable-xhdpi/ic_nfc_white_24dp.png
Normal file
|
After Width: | Height: | Size: 943 B |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
BIN
OpenKeychain/src/main/res/drawable-xxhdpi/ic_nfc_white_24dp.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
OpenKeychain/src/main/res/drawable-xxxhdpi/ic_nfc_white_24dp.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
@@ -21,7 +21,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:text="@string/import_qr_code_button"
|
||||
android:layout_weight="1"
|
||||
android:drawableRight="@drawable/ic_action_qr_code"
|
||||
android:drawableRight="@drawable/ic_qrcode_white_24dp"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="center_vertical" />
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="8dp"
|
||||
android:src="@drawable/ic_action_nfc"
|
||||
android:src="@drawable/ic_nfc_white_24dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
style="@style/SelectableItem" />
|
||||
|
||||
|
||||
@@ -116,6 +116,14 @@
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:src="@drawable/ic_mode_edit_white_24dp" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/view_key_action_nfc"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="64dp"
|
||||
android:visibility="invisible"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:src="@drawable/ic_nfc_white_24dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
|
||||