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=d7447f070c86262fa885eaba61ae40e105ad995a;hp=4d1f07dbd534222d36f194940f5c0b92a5c28fa4;hb=3e32f8fd2bd81f5a17545db7f6235640179eecc9;hpb=3c8db4ad0cf45ddddd2c9fc141a9874795c1e5ba 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 4d1f07db..d7447f07 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 @@ -108,7 +108,9 @@ public class MainActivity extends ProfileThemedActivity { protected void onStart() { super.onStart(); - debug("flow", "MainActivity.onStart()"); + debug("flow", String.format(Locale.ENGLISH, + "MainActivity.onStart(), currentPage is %d, accountFilter is %s", mCurrentPage, + (mAccountFilter == null) ? "" : mAccountFilter)); mViewPager.setCurrentItem(mCurrentPage, false); if (mAccountFilter != null) showTransactionsFragment(mAccountFilter); else Data.accountFilter.setValue(null); @@ -249,37 +251,36 @@ public class MainActivity extends ProfileThemedActivity { if (mProfileListAdapter == null) mProfileListAdapter = new ProfilesRecyclerViewAdapter(); root.setAdapter(mProfileListAdapter); - mProfileListAdapter.editingProfiles - .observe(this, newValue -> { - if (newValue) { - profileListHeadMore.setVisibility(View.GONE); - profileListHeadCancel.setVisibility(View.VISIBLE); - profileListHeadAddProfile.setVisibility(View.VISIBLE); - if (drawer.isDrawerOpen(GravityCompat.START)) { - profileListHeadMore.startAnimation(AnimationUtils - .loadAnimation(MainActivity.this, R.anim.fade_out)); - profileListHeadCancel.startAnimation(AnimationUtils - .loadAnimation(MainActivity.this, R.anim.fade_in)); - profileListHeadAddProfile.startAnimation(AnimationUtils - .loadAnimation(MainActivity.this, R.anim.fade_in)); - } - } - else { - profileListHeadCancel.setVisibility(View.GONE); - profileListHeadMore.setVisibility(View.VISIBLE); - profileListHeadAddProfile.setVisibility(View.GONE); - if (drawer.isDrawerOpen(GravityCompat.START)) { - profileListHeadCancel.startAnimation(AnimationUtils - .loadAnimation(MainActivity.this, R.anim.fade_out)); - profileListHeadMore.startAnimation(AnimationUtils - .loadAnimation(MainActivity.this, R.anim.fade_in)); - profileListHeadAddProfile.startAnimation(AnimationUtils - .loadAnimation(MainActivity.this, R.anim.fade_out)); - } - } + mProfileListAdapter.editingProfiles.observe(this, newValue -> { + if (newValue) { + profileListHeadMore.setVisibility(View.GONE); + profileListHeadCancel.setVisibility(View.VISIBLE); + profileListHeadAddProfile.setVisibility(View.VISIBLE); + if (drawer.isDrawerOpen(GravityCompat.START)) { + profileListHeadMore.startAnimation( + AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_out)); + profileListHeadCancel.startAnimation( + AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_in)); + profileListHeadAddProfile.startAnimation( + AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_in)); + } + } + else { + profileListHeadCancel.setVisibility(View.GONE); + profileListHeadMore.setVisibility(View.VISIBLE); + profileListHeadAddProfile.setVisibility(View.GONE); + if (drawer.isDrawerOpen(GravityCompat.START)) { + profileListHeadCancel.startAnimation( + AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_out)); + profileListHeadMore.startAnimation( + AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_in)); + profileListHeadAddProfile.startAnimation( + AnimationUtils.loadAnimation(MainActivity.this, R.anim.fade_out)); + } + } - mProfileListAdapter.notifyDataSetChanged(); - }); + mProfileListAdapter.notifyDataSetChanged(); + }); LinearLayoutManager llm = new LinearLayoutManager(this); @@ -290,7 +291,22 @@ public class MainActivity extends ProfileThemedActivity { profileListHeadCancel.setOnClickListener((v) -> mProfileListAdapter.flipEditingProfiles()); profileListHeadMoreAndCancel .setOnClickListener((v) -> mProfileListAdapter.flipEditingProfiles()); - + if (drawerListener == null) { + drawerListener = new DrawerLayout.SimpleDrawerListener() { + @Override + public void onDrawerClosed(View drawerView) { + super.onDrawerClosed(drawerView); + mProfileListAdapter.setAnimationsEnabled(false); + mProfileListAdapter.editingProfiles.setValue(false); + } + @Override + public void onDrawerOpened(View drawerView) { + super.onDrawerOpened(drawerView); + mProfileListAdapter.setAnimationsEnabled(true); + } + }; + drawer.addDrawerListener(drawerListener); + } setupProfile(); } private void scheduleDataRetrievalIfStale(Date lastUpdate) {