]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/AccountSummary.java
use the global reference instead of passing it to execute()
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / AccountSummary.java
index e8cf0398b559c77cc07c36011e4bd5cf561777e1..ec122cd44627a88475f0d57d57b06a7fb42d006a 100644 (file)
@@ -22,7 +22,6 @@ import android.widget.TextView;
 import java.util.Date;
 
 import static android.view.View.GONE;
-import static net.ktnx.mobileledger.MobileLedgerDB.db;
 import static net.ktnx.mobileledger.MobileLedgerDB.set_option_value;
 
 public class AccountSummary extends AppCompatActivity {
@@ -33,6 +32,7 @@ public class AccountSummary extends AppCompatActivity {
     public static void preferences_changed() {
         account_list_needs_update = true;
     }
+    MenuItem mRefresh;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -88,7 +88,9 @@ public class AccountSummary extends AppCompatActivity {
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         // Inflate the menu; this adds items to the action bar if it is present.
-        //getMenuInflater().inflate(R.menu.latest_transactions, menu);
+        getMenuInflater().inflate(R.menu.account_summary, menu);
+        mRefresh = (MenuItem) menu.findItem(R.id.menu_acc_summary_refresh);
+        assert mRefresh != null;
         return true;
     }
 
@@ -107,6 +109,10 @@ public class AccountSummary extends AppCompatActivity {
         return super.onOptionsItemSelected(item);
     }
 
+    public void onRefreshAccountSummaryClicked(MenuItem mi) {
+        update_accounts(true);
+    }
+
     private void prepare_db() {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
             MobileLedgerDB.setDb_filename(this.getApplicationInfo().deviceProtectedDataDir + "/" + MobileLedgerDB.DATABASE_NAME);
@@ -116,6 +122,8 @@ public class AccountSummary extends AppCompatActivity {
         }
         MobileLedgerDB.initDB();
 
+        MobileLedgerDB.applyRevisions(getResources(), getPackageName());
+
         account_list_last_updated = MobileLedgerDB.get_option_value("last_refresh", (long) 0);
 
     }
@@ -129,6 +137,7 @@ public class AccountSummary extends AppCompatActivity {
     }
 
     private void update_accounts() {
+        mRefresh.setVisible(false);
         Resources rm = getResources();
 
         ProgressBar pb = findViewById(R.id.progressBar);
@@ -150,15 +159,18 @@ public class AccountSummary extends AppCompatActivity {
             protected void onPostExecute(Void result) {
                 pb.setVisibility(GONE);
                 pt.setVisibility(GONE);
-                if (this.error != 0)
-                    Snackbar.make(drawer, rm.getString(this.error), Snackbar.LENGTH_LONG );
-                else
+                mRefresh.setVisible(true);
+                if (this.error != 0) {
+                    String err_text = rm.getString(this.error);
+                    Log.d("visual", String.format("showing snackbar: %s", err_text));
+                    Snackbar.make(drawer, err_text, Snackbar.LENGTH_LONG ).show();
+                } else
                     set_option_value("last_refresh", new Date().getTime() );
             }
         };
 
         task.setPref(PreferenceManager.getDefaultSharedPreferences(this));
-        task.execute(db);
+        task.execute();
 
     }
 }