]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/transaction_list/TransactionListAdapter.java
transaction list: make day/month markers more visible
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / transaction_list / TransactionListAdapter.java
index e265ee4a568505b8422bb36a971a1ee0c8829d97..573fd15c0c09ce9fffb62b60f2dbb9ba59aa65df 100644 (file)
@@ -63,7 +63,8 @@ public class TransactionListAdapter extends RecyclerView.Adapter<TransactionRowH
 //                tr.getAccounts().size()));
 
             TransactionLoader loader = new TransactionLoader();
-            loader.execute(new TransactionLoaderParams(tr, holder, position, boldAccountName));
+            loader.execute(new TransactionLoaderParams(tr, holder, position, boldAccountName,
+                    item.isOdd()));
 
             // WORKAROUND what seems to be a bug in CardHolder somewhere
             // when a view that was previously holding a delimiter is re-purposed
@@ -80,11 +81,15 @@ public class TransactionListAdapter extends RecyclerView.Adapter<TransactionRowH
             if (item.isMonthShown()) {
                 holder.tvDelimiterMonth.setText(Globals.monthNames[date.getMonth()]);
                 holder.tvDelimiterMonth.setVisibility(View.VISIBLE);
-                holder.vDelimiterLine.setBackgroundResource(R.drawable.dashed_border_8dp);
+//                holder.vDelimiterLine.setBackgroundResource(R.drawable.dashed_border_8dp);
+                holder.vDelimiterLine.setVisibility(View.GONE);
+                holder.vDelimiterThick.setVisibility(View.VISIBLE);
             }
             else {
                 holder.tvDelimiterMonth.setVisibility(View.GONE);
-                holder.vDelimiterLine.setBackgroundResource(R.drawable.dashed_border_1dp);
+//                holder.vDelimiterLine.setBackgroundResource(R.drawable.dashed_border_1dp);
+                holder.vDelimiterLine.setVisibility(View.VISIBLE);
+                holder.vDelimiterThick.setVisibility(View.GONE);
             }
         }
     }
@@ -116,11 +121,12 @@ public class TransactionListAdapter extends RecyclerView.Adapter<TransactionRowH
         @Override
         protected Void doInBackground(TransactionLoaderParams... p) {
             LedgerTransaction tr = p[0].transaction;
+            boolean odd = p[0].odd;
 
             SQLiteDatabase db = MLDB.getReadableDatabase();
             tr.loadData(db);
 
-            publishProgress(new TransactionLoaderStep(p[0].holder, p[0].position, tr));
+            publishProgress(new TransactionLoaderStep(p[0].holder, p[0].position, tr, odd));
 
             int rowIndex = 0;
             for (LedgerTransactionAccount acc : tr.getAccounts()) {
@@ -143,12 +149,8 @@ public class TransactionListAdapter extends RecyclerView.Adapter<TransactionRowH
                 case HEAD:
                     holder.tvDescription.setText(step.getTransaction().getDescription());
 
-                    if (step.getPosition() % 2 == 0) {
-                        holder.row.setBackgroundColor(Globals.tableRowEvenBG);
-                    }
-                    else {
-                        holder.row.setBackgroundColor(Globals.tableRowOddBG);
-                    }
+                    if (step.isOdd()) holder.row.setBackgroundColor(Globals.tableRowDarkBG);
+                    else holder.row.setBackgroundColor(Globals.tableRowLightBG);
 
                     break;
                 case ACCOUNTS:
@@ -193,7 +195,9 @@ public class TransactionListAdapter extends RecyclerView.Adapter<TransactionRowH
 //                            acc.getAccountName(), acc.getAmount()));
 
                     String boldAccountName = step.getBoldAccountName();
-                    if ((boldAccountName != null) && boldAccountName.equals(acc.getAccountName())) {
+                    if ((boldAccountName != null) &&
+                        acc.getAccountName().startsWith(boldAccountName))
+                    {
                         accName.setTypeface(null, Typeface.BOLD);
                         accAmount.setTypeface(null, Typeface.BOLD);
                         accName.setTextColor(Globals.primaryDark);
@@ -225,12 +229,14 @@ public class TransactionListAdapter extends RecyclerView.Adapter<TransactionRowH
         TransactionRowHolder holder;
         int position;
         String boldAccountName;
+        boolean odd;
         TransactionLoaderParams(LedgerTransaction transaction, TransactionRowHolder holder,
-                                int position, String boldAccountName) {
+                                int position, String boldAccountName, boolean odd) {
             this.transaction = transaction;
             this.holder = holder;
             this.position = position;
             this.boldAccountName = boldAccountName;
+            this.odd = odd;
         }
     }
 }
\ No newline at end of file