tls-psk: second steps
This commit is contained in:
@@ -51,8 +51,12 @@ public class TransferPresenter implements KeyTransferServerCallback, KeyTransfer
|
||||
public void onClickScan() {
|
||||
clearConnections();
|
||||
|
||||
view.scanQrCode();
|
||||
}
|
||||
|
||||
public void onQrCodeScanned(String qrCodeContent) {
|
||||
keyTransferClientInteractor = new KeyTransferClientInteractor();
|
||||
keyTransferClientInteractor.connectToServer("10.100.40.126", this);
|
||||
keyTransferClientInteractor.connectToServer(qrCodeContent, this);
|
||||
}
|
||||
|
||||
private void clearConnections() {
|
||||
@@ -73,7 +77,7 @@ public class TransferPresenter implements KeyTransferServerCallback, KeyTransfer
|
||||
|
||||
@Override
|
||||
public void onServerStarted(String qrCodeData) {
|
||||
Bitmap qrCodeBitmap = QrCodeUtils.getQRCodeBitmap(Uri.parse("pgp+transfer:" + qrCodeData), 0);
|
||||
Bitmap qrCodeBitmap = QrCodeUtils.getQRCodeBitmap(Uri.parse("pgp+transfer://" + qrCodeData));
|
||||
view.setQrImage(qrCodeBitmap);
|
||||
}
|
||||
|
||||
@@ -93,5 +97,7 @@ public class TransferPresenter implements KeyTransferServerCallback, KeyTransfer
|
||||
void showWaitingForConnection();
|
||||
|
||||
void setQrImage(Bitmap qrCode);
|
||||
|
||||
void scanQrCode();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
package org.sufficientlysecure.keychain.ui.transfer.view;
|
||||
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.Build.VERSION_CODES;
|
||||
import android.os.Bundle;
|
||||
@@ -33,7 +35,9 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.ViewAnimator;
|
||||
|
||||
import com.google.zxing.client.android.Intents;
|
||||
import org.sufficientlysecure.keychain.R;
|
||||
import org.sufficientlysecure.keychain.ui.QrCodeCaptureActivity;
|
||||
import org.sufficientlysecure.keychain.ui.transfer.presenter.TransferPresenter;
|
||||
import org.sufficientlysecure.keychain.ui.transfer.presenter.TransferPresenter.TransferMvpView;
|
||||
|
||||
@@ -42,10 +46,10 @@ import org.sufficientlysecure.keychain.ui.transfer.presenter.TransferPresenter.T
|
||||
public class TransferFragment extends Fragment implements TransferMvpView {
|
||||
public static final int VIEW_WAITING = 0;
|
||||
public static final int VIEW_CONNECTED = 1;
|
||||
public static final int REQUEST_CODE_SCAN = 1;
|
||||
|
||||
|
||||
private ImageView vQrCodeImage;
|
||||
private View vScanButton;
|
||||
private TransferPresenter presenter;
|
||||
private ViewAnimator vTransferAnimator;
|
||||
private TextView vConnectionStatusText;
|
||||
@@ -60,8 +64,8 @@ public class TransferFragment extends Fragment implements TransferMvpView {
|
||||
vConnectionStatusText = (TextView) view.findViewById(R.id.connection_status);
|
||||
|
||||
vQrCodeImage = (ImageView) view.findViewById(R.id.qr_code_image);
|
||||
vScanButton = view.findViewById(R.id.button_scan);
|
||||
vScanButton.setOnClickListener(new OnClickListener() {
|
||||
|
||||
view.findViewById(R.id.button_scan).setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (presenter != null) {
|
||||
@@ -121,4 +125,24 @@ public class TransferFragment extends Fragment implements TransferMvpView {
|
||||
});
|
||||
vQrCodeImage.requestLayout();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void scanQrCode() {
|
||||
Intent intent = new Intent(getActivity(), QrCodeCaptureActivity.class);
|
||||
startActivityForResult(intent, REQUEST_CODE_SCAN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
switch (requestCode) {
|
||||
case REQUEST_CODE_SCAN:
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
String qrCodeData = data.getStringExtra(Intents.Scan.RESULT);
|
||||
presenter.onQrCodeScanned(qrCodeData);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,10 @@ import java.util.Locale;
|
||||
*/
|
||||
public class QrCodeUtils {
|
||||
|
||||
public static Bitmap getQRCodeBitmap(final Uri uri) {
|
||||
return getQRCodeBitmap(uri.toString(), 0);
|
||||
}
|
||||
|
||||
public static Bitmap getQRCodeBitmap(final Uri uri, final int size) {
|
||||
// for URIs we want alphanumeric encoding to save space, thus make everything upper case!
|
||||
// zxing will then select Mode.ALPHANUMERIC internally
|
||||
|
||||
Reference in New Issue
Block a user