diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java index dbdd3636c..2a7bf0f0f 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java @@ -32,6 +32,8 @@ import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.zxing.BarcodeFormat; +import java.util.List; + import protect.card_locker.preferences.Settings; public class LoyaltyCardViewActivity extends AppCompatActivity @@ -40,7 +42,9 @@ public class LoyaltyCardViewActivity extends AppCompatActivity TextView cardIdFieldView; View bottomSheet; + ImageView bottomSheetButton; TextView noteView; + TextView groupsView; TextView storeName; ImageView barcodeImage; View collapsingToolbarLayout; @@ -106,7 +110,9 @@ public class LoyaltyCardViewActivity extends AppCompatActivity cardIdFieldView = findViewById(R.id.cardIdView); bottomSheet = findViewById(R.id.bottom_sheet); + bottomSheetButton = findViewById(R.id.bottomSheetButton); noteView = findViewById(R.id.noteView); + groupsView = findViewById(R.id.groupsView); storeName = findViewById(R.id.storeName); barcodeImage = findViewById(R.id.barcode); collapsingToolbarLayout = findViewById(R.id.collapsingToolbarLayout); @@ -142,20 +148,39 @@ public class LoyaltyCardViewActivity extends AppCompatActivity } }); - BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet); + final BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet); behavior.addBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { @Override public void onStateChanged(@NonNull View bottomSheet, int newState) { - if (newState == BottomSheetBehavior.STATE_COLLAPSED || newState == BottomSheetBehavior.STATE_HIDDEN) { - editButton.show(); - } else { - editButton.hide(); + switch (newState) { + case BottomSheetBehavior.STATE_COLLAPSED: + bottomSheetButton.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24); + editButton.show(); + break; + case BottomSheetBehavior.STATE_EXPANDED: + bottomSheetButton.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24); + editButton.hide(); + break; + case BottomSheetBehavior.STATE_HIDDEN: + editButton.show(); + break; } } @Override public void onSlide(@NonNull View bottomSheet, float slideOffset) { } }); + + bottomSheetButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (behavior.getState() == BottomSheetBehavior.STATE_EXPANDED) { + behavior.setState(BottomSheetBehavior.STATE_COLLAPSED); + } else { + behavior.setState(BottomSheetBehavior.STATE_EXPANDED); + } + } + }); } @Override @@ -214,11 +239,33 @@ public class LoyaltyCardViewActivity extends AppCompatActivity if(loyaltyCard.note.length() > 0) { - bottomSheet.setVisibility(View.VISIBLE); + noteView.setVisibility(View.VISIBLE); noteView.setText(loyaltyCard.note); - TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(noteView, - getResources().getInteger(R.integer.settings_card_note_min_font_size_sp)-1, - settings.getCardNoteFontSize(), 1, TypedValue.COMPLEX_UNIT_SP); + } + else + { + noteView.setVisibility(View.GONE); + } + + List loyaltyCardGroups = db.getLoyaltyCardGroups(loyaltyCardId); + + if(loyaltyCardGroups.size() > 0) { + StringBuilder groupsString = new StringBuilder(); + for (Group group : loyaltyCardGroups) { + groupsString.append(group._id); + groupsString.append(" "); + } + + groupsView.setVisibility(View.VISIBLE); + groupsView.setText(getString(R.string.groupsList, groupsString.toString())); + } + else + { + groupsView.setVisibility(View.GONE); + } + + if (noteView.getVisibility() == View.VISIBLE || groupsView.getVisibility() == View.VISIBLE) { + bottomSheet.setVisibility(View.VISIBLE); } else { diff --git a/app/src/main/java/protect/card_locker/preferences/Settings.java b/app/src/main/java/protect/card_locker/preferences/Settings.java index 586e18769..8be423b17 100644 --- a/app/src/main/java/protect/card_locker/preferences/Settings.java +++ b/app/src/main/java/protect/card_locker/preferences/Settings.java @@ -81,11 +81,6 @@ public class Settings return getInt(R.string.settings_key_card_id_font_size, R.integer.settings_card_id_font_size_sp); } - public int getCardNoteFontSize() - { - return getInt(R.string.settings_key_card_note_font_size, R.integer.settings_card_note_font_size_sp); - } - public boolean useMaxBrightnessDisplayingBarcode() { return getBoolean(R.string.settings_key_display_barcode_max_brightness, true); 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 6b6064f48..73757e74c 100644 --- a/app/src/main/res/layout/loyalty_card_view_layout.xml +++ b/app/src/main/res/layout/loyalty_card_view_layout.xml @@ -87,19 +87,31 @@ app:behavior_peekHeight="80dp" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> - + android:src="@drawable/ic_baseline_arrow_drop_up_24" + android:tint="@android:color/white" /> + + diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 6b2f923dc..7849fd2d9 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -106,5 +106,4 @@ <xliff:g xmlns:xliff=\"urn:oasis:names:tc:xliff:document:1.2\">%d</xliff:g> carte <xliff:g xmlns:xliff=\"urn:oasis:names:tc:xliff:document:1.2\">%d</xliff:g> cartes - Tirez pour plus d\'informations \ No newline at end of file diff --git a/app/src/main/res/values/settings.xml b/app/src/main/res/values/settings.xml index 882dc2567..5bdb7365f 100644 --- a/app/src/main/res/values/settings.xml +++ b/app/src/main/res/values/settings.xml @@ -28,7 +28,6 @@ 14 40 50 - 50 40 @@ -39,6 +38,4 @@ 16 50 16 - 50 - 26 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 83cab17ac..94b9cd1b5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -138,5 +138,5 @@ Are you sure you want to leave this screen? Changed made will not be saved. Scan the barcode with your camera Manually enter card ID - Pull up for more info + Groups: %s diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index cd573de00..54a2a9397 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -41,13 +41,6 @@ app:vnt_maxValue="@integer/settings_card_id_max_font_size_sp" app:vnt_minValue="@integer/settings_card_id_min_font_size_sp" /> - -