diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java index 6bb8c7096..fe36aadbf 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java @@ -304,7 +304,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements setCenterGuideline(loyaltyCard.zoomLevel); - drawMainImage(mainImageIndex, true); + drawMainImage(mainImageIndex, true, isFullscreen); } @Override @@ -837,7 +837,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements } } - private void drawMainImage(int index, boolean waitForResize) { + private void drawMainImage(int index, boolean waitForResize, boolean isFullscreen) { if (imageTypes.isEmpty()) { mainImage.setVisibility(View.GONE); return; @@ -852,13 +852,31 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements ImageType wantedImageType = imageTypes.get(index); + // Use padding in non-fullscreen mode + int px = Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10, getResources().getDisplayMetrics())); + ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) mainImage.getLayoutParams(); + layoutParams.topMargin = isFullscreen ? 0 : px; + if (!isFullscreen && wantedImageType == ImageType.BARCODE) { + mainImage.setPadding(0, px, 0, px); + } else { + mainImage.setPadding(0, 0, 0, 0); + } + mainImage.setLayoutParams(layoutParams); + if (wantedImageType == ImageType.BARCODE) { + // Use border in non-fullscreen mode + if (!isFullscreen) { + mainImage.setBackground(AppCompatResources.getDrawable(this, R.drawable.round_outline)); + } else { + mainImage.setBackgroundColor(Color.WHITE); + } + if (waitForResize) { redrawBarcodeAfterResize(); } else { drawBarcode(); } - mainImage.setBackgroundColor(Color.WHITE); + mainImage.setContentDescription(getString(R.string.barcodeImageDescriptionWithType, format.prettyName())); } else if (wantedImageType == ImageType.IMAGE_FRONT) { mainImage.setImageBitmap(frontImageBitmap); @@ -888,7 +906,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements mainImageIndex = newIndex; - drawMainImage(newIndex, false); + drawMainImage(newIndex, false, isFullscreen); } /** @@ -904,7 +922,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements if (enabled && !imageTypes.isEmpty()) { Log.d(TAG, "Move into fullscreen"); - drawMainImage(mainImageIndex, true); + drawMainImage(mainImageIndex, true, isFullscreen); barcodeScaler.setProgress(loyaltyCard.zoomLevel); setCenterGuideline(loyaltyCard.zoomLevel); @@ -950,7 +968,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements // Reset center guideline setCenterGuideline(100); - drawMainImage(mainImageIndex, true); + drawMainImage(mainImageIndex, true, isFullscreen); // Show maximize and hide minimize button and scaler maximizeButton.setVisibility(imageTypes.isEmpty() ? View.GONE : View.VISIBLE); diff --git a/app/src/main/res/drawable/round_outline.xml b/app/src/main/res/drawable/round_outline.xml new file mode 100644 index 000000000..672294b89 --- /dev/null +++ b/app/src/main/res/drawable/round_outline.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/loyalty_card_edit_activity.xml b/app/src/main/res/layout/loyalty_card_edit_activity.xml index 73ba267cf..95017115a 100644 --- a/app/src/main/res/layout/loyalty_card_edit_activity.xml +++ b/app/src/main/res/layout/loyalty_card_edit_activity.xml @@ -184,12 +184,12 @@ android:layout_height="wrap_content" android:id="@+id/barcodeLayout"> diff --git a/app/src/main/res/layout/loyalty_card_view_layout.xml b/app/src/main/res/layout/loyalty_card_view_layout.xml index 63c8d8f96..1db10765c 100644 --- a/app/src/main/res/layout/loyalty_card_view_layout.xml +++ b/app/src/main/res/layout/loyalty_card_view_layout.xml @@ -67,8 +67,7 @@ android:layout_width="match_parent" android:layout_height="0dp" android:orientation="horizontal" - android:layout_marginTop="10dp" - android:layout_marginBottom="10dp" + android:layout_marginBottom="0dp" android:layout_marginStart="15.0dip" android:layout_marginEnd="15.0dip" app:layout_constraintBottom_toTopOf="@+id/centerGuideline"