mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 11:19:04 +01:00
Merge branch '346-full-screen-qr-code' into 'master'
Add fullscreen button to QR code view Closes #346 See merge request akwizgran/briar!734
This commit is contained in:
@@ -14,6 +14,8 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.AlphaAnimation;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.LinearLayout.LayoutParams;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
@@ -52,6 +54,8 @@ import javax.inject.Provider;
|
||||
import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_NOSENSOR;
|
||||
import static android.view.View.INVISIBLE;
|
||||
import static android.view.View.VISIBLE;
|
||||
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
|
||||
import static android.widget.LinearLayout.HORIZONTAL;
|
||||
import static android.widget.Toast.LENGTH_LONG;
|
||||
import static java.util.logging.Level.INFO;
|
||||
import static java.util.logging.Level.WARNING;
|
||||
@@ -84,6 +88,7 @@ public class ShowQrCodeFragment extends BaseEventFragment
|
||||
private ImageView qrCode;
|
||||
private TextView mainProgressTitle;
|
||||
private ViewGroup mainProgressContainer;
|
||||
private boolean fullscreen = false;
|
||||
|
||||
private boolean gotRemotePayload;
|
||||
private volatile boolean gotLocalPayload;
|
||||
@@ -128,6 +133,34 @@ public class ShowQrCodeFragment extends BaseEventFragment
|
||||
qrCode = view.findViewById(R.id.qr_code);
|
||||
mainProgressTitle = view.findViewById(R.id.title_progress_bar);
|
||||
mainProgressContainer = view.findViewById(R.id.container_progress);
|
||||
ImageView fullscreenButton = view.findViewById(R.id.fullscreen_button);
|
||||
fullscreenButton.setOnClickListener(v -> {
|
||||
View qrCodeContainer = view.findViewById(R.id.qr_code_container);
|
||||
LinearLayout cameraOverlay = view.findViewById(R.id.camera_overlay);
|
||||
LayoutParams statusParams, qrCodeParams;
|
||||
if (fullscreen) {
|
||||
// Shrink the QR code container to fill half its parent
|
||||
if (cameraOverlay.getOrientation() == HORIZONTAL) {
|
||||
statusParams = new LayoutParams(0, MATCH_PARENT, 1f);
|
||||
qrCodeParams = new LayoutParams(0, MATCH_PARENT, 1f);
|
||||
} else {
|
||||
statusParams = new LayoutParams(MATCH_PARENT, 0, 1f);
|
||||
qrCodeParams = new LayoutParams(MATCH_PARENT, 0, 1f);
|
||||
}
|
||||
fullscreenButton.setImageResource(
|
||||
R.drawable.ic_fullscreen_black_48dp);
|
||||
} else {
|
||||
// Grow the QR code container to fill its parent
|
||||
statusParams = new LayoutParams(0, 0, 0f);
|
||||
qrCodeParams = new LayoutParams(MATCH_PARENT, MATCH_PARENT, 1f);
|
||||
fullscreenButton.setImageResource(
|
||||
R.drawable.ic_fullscreen_exit_black_48dp);
|
||||
}
|
||||
statusView.setLayoutParams(statusParams);
|
||||
qrCodeContainer.setLayoutParams(qrCodeParams);
|
||||
cameraOverlay.invalidate();
|
||||
fullscreen = !fullscreen;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -284,6 +317,7 @@ public class ShowQrCodeFragment extends BaseEventFragment
|
||||
new AsyncTask<Void, Void, Bitmap>() {
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
protected Bitmap doInBackground(Void... params) {
|
||||
byte[] payloadBytes = payloadEncoder.encode(payload);
|
||||
if (LOG.isLoggable(INFO)) {
|
||||
|
||||
Reference in New Issue
Block a user