diff --git a/CHANGELOG.md b/CHANGELOG.md
index 95f071e73..562f93730 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## Unreleased
+
+Changes:
+
+- Separate edit UI in tabs to make it feel more spacious
+
## v1.6.2 (2021-01-04)
Changes:
diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java
index 48ad0950f..73248475b 100644
--- a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java
+++ b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java
@@ -32,6 +32,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
+import com.google.android.material.tabs.TabLayout;
import com.google.zxing.BarcodeFormat;
import com.jaredrummler.android.colorpicker.ColorPickerDialog;
import com.jaredrummler.android.colorpicker.ColorPickerDialogListener;
@@ -44,6 +45,8 @@ public class LoyaltyCardEditActivity extends AppCompatActivity
{
private static final String TAG = "Catima";
+ TabLayout tabs;
+
ImageView thumbnail;
EditText storeFieldEdit;
EditText noteFieldEdit;
@@ -107,6 +110,7 @@ public class LoyaltyCardEditActivity extends AppCompatActivity
db = new DBHelper(this);
importUriHelper = new ImportURIHelper(this);
+ tabs = findViewById(R.id.tabs);
thumbnail = findViewById(R.id.thumbnail);
storeFieldEdit = findViewById(R.id.storeNameEdit);
noteFieldEdit = findViewById(R.id.noteEdit);
@@ -179,6 +183,25 @@ public class LoyaltyCardEditActivity extends AppCompatActivity
@Override
public void afterTextChanged(Editable s) { }
});
+
+ tabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
+ @Override
+ public void onTabSelected(TabLayout.Tab tab) {
+ showPart(tab.getText().toString());
+ }
+
+ @Override
+ public void onTabUnselected(TabLayout.Tab tab) {
+
+ }
+
+ @Override
+ public void onTabReselected(TabLayout.Tab tab) {
+ showPart(tab.getText().toString());
+ }
+ });
+
+ tabs.selectTab(tabs.getTabAt(0));
}
@Override
@@ -622,4 +645,19 @@ public class LoyaltyCardEditActivity extends AppCompatActivity
thumbnail.setMinimumWidth(thumbnail.getHeight());
}
+
+ private void showPart(String part) {
+ View cardPart = findViewById(R.id.cardPart);
+ View barcodePart = findViewById(R.id.barcodePart);
+
+ if (getString(R.string.card).equals(part)) {
+ cardPart.setVisibility(View.VISIBLE);
+ barcodePart.setVisibility(View.GONE);
+ } else if (getString(R.string.barcode).equals(part)) {
+ cardPart.setVisibility(View.GONE);
+ barcodePart.setVisibility(View.VISIBLE);
+ } else {
+ throw new UnsupportedOperationException();
+ }
+ }
}
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 020d08289..52ea89f09 100644
--- a/app/src/main/res/layout/loyalty_card_edit_activity.xml
+++ b/app/src/main/res/layout/loyalty_card_edit_activity.xml
@@ -26,6 +26,20 @@
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
+
+
+
+
+
-
-
-
-
+
+
+ android:paddingTop="@dimen/inputPadding"
+ android:orientation="horizontal">
-
+ android:layout_marginEnd="@dimen/activity_margin"
+ android:layout_gravity="center_vertical"
+ app:cardCornerRadius="4dp"
+ android:paddingHorizontal="@dimen/inputPadding"
+ app:cardElevation="0dp">
-
+
-
+
-
+ android:hint="@string/storeName">
-
-
+
-
-
+
+
-
+
+ android:paddingHorizontal="@dimen/inputPadding"
+ android:paddingTop="@dimen/inputPadding"
+ android:orientation="horizontal">
-
+ android:hint="@string/note">
-
-
+
-
-
+
+
-
+
-
+ android:layout_height="wrap_content"
+ android:paddingHorizontal="@dimen/inputPadding"
+ android:paddingTop="@dimen/inputPadding"
+ android:orientation="horizontal">
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:text="@string/editBarcode"
+ android:textColor="#FFFFFF"
+ android:layout_weight="1.0"/>
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d75bd4cf7..bf4b4b81e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -132,4 +132,7 @@
Are you sure you want to leave this screen? Changed made will not be saved.
Manually enter card ID
Groups: %s
+ Card
+ Barcode
+ Edit barcode