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=3e774a04ce4883920cea6f2c5ce015c4f049dadf;hp=dcf653fd4fc761ada654ba852181f5b9d8308d29;hb=3b7d0b3a96e48343b4500466d4bb3f5b62e28dde;hpb=20aa0282e0bee8ba789de85bfe7a2184c3342e79 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 dcf653fd..3e774a04 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 @@ -100,6 +100,7 @@ public class MainActivity extends ProfileThemedActivity { protected void onStart() { super.onStart(); + Log.d("flow", "MainActivity.onStart()"); setupProfile(); updateLastUpdateTextFromDB(); @@ -129,7 +130,7 @@ public class MainActivity extends ProfileThemedActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - + Log.d("flow", "MainActivity.onCreate()"); setContentView(R.layout.activity_main); fab = findViewById(R.id.btn_add_transaction); @@ -169,6 +170,22 @@ public class MainActivity extends ProfileThemedActivity { fab.hide(); } + int old_index = -1; + int new_index = -1; + if (arg != null) { + MobileLedgerProfile old = (MobileLedgerProfile) arg; + old_index = Data.getProfileIndex(old); + new_index = Data.getProfileIndex(profile); + } + + if ((old_index != -1) && (new_index != -1)) { + mProfileListAdapter.notifyItemChanged(old_index); + mProfileListAdapter.notifyItemChanged(new_index); + } + else mProfileListAdapter.notifyDataSetChanged(); + + collapseProfileList(); + int newProfileTheme = profile.getThemeId(); if (newProfileTheme != Colors.profileThemeId) { Log.d("profiles", String.format("profile theme %d → %d", Colors.profileThemeId, @@ -176,6 +193,8 @@ public class MainActivity extends ProfileThemedActivity { profileThemeChanged(); Colors.profileThemeId = newProfileTheme; } + else + drawer.closeDrawers(); }); }); Data.profiles.addObserver((o, arg) -> { @@ -298,15 +317,17 @@ public class MainActivity extends ProfileThemedActivity { }); } private void updateLastUpdateDisplay() { + LinearLayout l = findViewById(R.id.transactions_last_update_layout); TextView v = findViewById(R.id.transactions_last_update); Date date = Data.lastUpdateDate.get(); if (date == null) { - v.setText(R.string.transaction_last_update_never); + l.setVisibility(View.INVISIBLE); Log.d("main", "no last update date :("); } else { final String text = DateFormat.getDateTimeInstance().format(date); v.setText(text); + l.setVisibility(View.VISIBLE); Log.d("main", String.format("Date formatted: %s", text)); } } @@ -438,7 +459,8 @@ public class MainActivity extends ProfileThemedActivity { mBackMeansToAccountList = false; } else { - Log.d("fragments", String.format("manager stack: %d", fragmentManager.getBackStackEntryCount())); + Log.d("fragments", String.format("manager stack: %d", + fragmentManager.getBackStackEntryCount())); super.onBackPressed(); }