]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/transaction_list/TransactionRowHolder.java
adopt Room for displaying account lists
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / transaction_list / TransactionRowHolder.java
index ba48d70ca7994ac9bc4575b573016b1b0b853f49..5ec19ba94649e41b89e3e8636ab69f3f32bcf250 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2020 Damyan Ivanov.
+ * Copyright © 2021 Damyan Ivanov.
  * This file is part of MoLe.
  * MoLe is free software: you can distribute it and/or modify it
  * under the term of the GNU General Public License as published by
@@ -17,7 +17,6 @@
 
 package net.ktnx.mobileledger.ui.transaction_list;
 
-import android.text.format.DateUtils;
 import android.view.View;
 import android.widget.LinearLayout;
 import android.widget.TextView;
@@ -28,7 +27,6 @@ import androidx.constraintlayout.widget.ConstraintLayout;
 import androidx.recyclerview.widget.RecyclerView;
 
 import net.ktnx.mobileledger.R;
-import net.ktnx.mobileledger.model.Data;
 import net.ktnx.mobileledger.model.TransactionListItem;
 
 import java.util.Observer;
@@ -60,27 +58,8 @@ class TransactionRowHolder extends RecyclerView.ViewHolder {
         this.vHeader = itemView.findViewById(R.id.last_update_container);
         this.tvLastUpdate = itemView.findViewById(R.id.last_update_text);
     }
-    private void initLastUpdateObserver() {
-        if (lastUpdateObserver != null)
-            return;
-
-        lastUpdateObserver = (o, arg) -> setLastUpdateText(Data.lastUpdate.get());
-
-        Data.lastUpdate.addObserver(lastUpdateObserver);
-    }
-    void setLastUpdateText(long lastUpdate) {
-        final int formatFlags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR |
-                                DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_NUMERIC_DATE;
-        tvLastUpdate.setText((lastUpdate == 0) ? "----"
-                                               : DateUtils.formatDateTime(tvLastUpdate.getContext(),
-                                                       lastUpdate, formatFlags));
-    }
-    private void dropLastUpdateObserver() {
-        if (lastUpdateObserver == null)
-            return;
-
-        Data.lastUpdate.deleteObserver(lastUpdateObserver);
-        lastUpdateObserver = null;
+    void setLastUpdateText(String text) {
+        tvLastUpdate.setText(text);
     }
     void setType(TransactionListItem.Type newType) {
         if (newType == lastType)
@@ -91,19 +70,16 @@ class TransactionRowHolder extends RecyclerView.ViewHolder {
                 vHeader.setVisibility(View.GONE);
                 vTransaction.setVisibility(View.VISIBLE);
                 vDelimiter.setVisibility(View.GONE);
-                dropLastUpdateObserver();
                 break;
             case DELIMITER:
                 vHeader.setVisibility(View.GONE);
                 vTransaction.setVisibility(View.GONE);
                 vDelimiter.setVisibility(View.VISIBLE);
-                dropLastUpdateObserver();
                 break;
             case HEADER:
                 vHeader.setVisibility(View.VISIBLE);
                 vTransaction.setVisibility(View.GONE);
                 vDelimiter.setVisibility(View.GONE);
-                initLastUpdateObserver();
                 break;
             default:
                 throw new IllegalStateException("Unexpected value: " + newType);