X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FMainActivity.java;h=b98ccbe06678921a4cbdf04752842123cd3db89a;hp=5c2c6f5c1d23f616ff480606dc80931d39bcb1e6;hb=05efd84b433be55e8992fe87e31912d9d57c2362;hpb=dc0b910128c5c1e532fc5c957e62f0276b0abd10 diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java index 5c2c6f5c..b98ccbe0 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java @@ -1,5 +1,5 @@ /* - * Copyright © 2018 Damyan Ivanov. + * Copyright © 2019 Damyan Ivanov. * This file is part of Mobile-Ledger. * Mobile-Ledger is free software: you can distribute it and/or modify it * under the term of the GNU General Public License as published by @@ -21,6 +21,7 @@ import android.content.Intent; import android.content.pm.PackageInfo; import android.os.Build; import android.os.Bundle; +import android.support.annotation.ColorInt; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; @@ -34,11 +35,17 @@ import android.view.ContextMenu; import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; +import android.widget.TextView; import net.ktnx.mobileledger.R; import net.ktnx.mobileledger.model.LedgerAccount; import net.ktnx.mobileledger.ui.account_summary.AccountSummaryFragment; import net.ktnx.mobileledger.ui.transaction_list.TransactionListFragment; +import net.ktnx.mobileledger.utils.MLDB; + +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Date; public class MainActivity extends AppCompatActivity { DrawerLayout drawer; @@ -46,6 +53,7 @@ public class MainActivity extends AppCompatActivity { private TransactionListFragment transactionListFragment; private Fragment currentFragment = null; private FragmentManager fragmentManager; + private TextView tvLastUpdate; @Override protected void onCreate(Bundle savedInstanceState) { @@ -72,6 +80,12 @@ public class MainActivity extends AppCompatActivity { e.printStackTrace(); } + tvLastUpdate = findViewById(R.id.transactions_last_update); + updateLastUpdateText(); + long last_update = MLDB.get_option_value(MLDB.OPT_TRANSACTION_LIST_STAMP, 0L); + Log.d("transactions", String.format("Last update = %d", last_update)); + + fragmentManager = getSupportFragmentManager(); onAccountSummaryClicked(null); @@ -92,7 +106,7 @@ public class MainActivity extends AppCompatActivity { startActivity(intent); } public void markDrawerItemCurrent(int id) { - View item = drawer.findViewById(id); + TextView item = drawer.findViewById(id); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { item.setBackgroundColor(getResources().getColor(R.color.table_row_even_bg, getTheme())); } @@ -100,11 +114,15 @@ public class MainActivity extends AppCompatActivity { item.setBackgroundColor(getResources().getColor(R.color.table_row_even_bg)); } + setTitle(item.getText()); + + @ColorInt int transparent = getResources().getColor(android.R.color.transparent); + LinearLayout actions = drawer.findViewById(R.id.nav_actions); for (int i = 0; i < actions.getChildCount(); i++) { View view = actions.getChildAt(i); if (view.getId() != id) { - view.setBackgroundColor(getResources().getColor(android.R.color.transparent)); + view.setBackgroundColor(transparent); } } } @@ -200,5 +218,24 @@ public class MainActivity extends AppCompatActivity { super.onBackPressed(); } } + public void updateLastUpdateText() { + { + long last_update = MLDB.get_option_value(MLDB.OPT_TRANSACTION_LIST_STAMP, 0L); + Log.d("transactions", String.format("Last update = %d", last_update)); + if (last_update == 0) { + tvLastUpdate.setText(getString(R.string.transaction_last_update_never)); + } + else { + Date date = new Date(last_update); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + tvLastUpdate.setText(date.toInstant().atZone(ZoneId.systemDefault()) + .format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); + } + else { + tvLastUpdate.setText(date.toLocaleString()); + } + } + } + } }