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=6d52dfc00f56144264875091b4c89c6e7af055f7;hp=3c9a6798a11110a034c4cb01a2af71bb4d21ff2b;hb=4bd21d1274260bf0a97d599a659dc1c0350e70d3;hpb=541deb95e67eac219de586058419bb89cd6134a1 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 3c9a6798..6d52dfc0 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 @@ -71,7 +71,7 @@ public class MainActivity extends CrashReportingActivity { private static final String BUNDLE_SAVED_STATE = "bundle_savedState"; DrawerLayout drawer; private LinearLayout profileListContainer; - private View profileListHeadArrow; + private View profileListHeadArrow, profileListHeadMore, profileListHeadCancel; private FragmentManager fragmentManager; private TextView tvLastUpdate; private RetrieveTransactionsTask retrieveTransactionsTask; @@ -117,6 +117,8 @@ public class MainActivity extends CrashReportingActivity { fab = findViewById(R.id.btn_add_transaction); profileListContainer = findViewById(R.id.nav_profile_list_container); profileListHeadArrow = findViewById(R.id.nav_profiles_arrow); + profileListHeadMore = findViewById(R.id.nav_profiles_start_edit); + profileListHeadCancel = findViewById(R.id.nav_profiles_cancel_edit); drawer = findViewById(R.id.drawer_layout); tvLastUpdate = findViewById(R.id.transactions_last_update); bTransactionListCancelDownload = findViewById(R.id.transaction_list_cancel_download); @@ -241,28 +243,39 @@ public class MainActivity extends CrashReportingActivity { mProfileListAdapter.addEditingProfilesObserver(new Observer() { @Override public void update(Observable o, Object arg) { - final View profilesArrow = findViewById(R.id.nav_profiles_arrow); if (mProfileListAdapter.isEditingProfiles()) { - profilesArrow.clearAnimation(); - profilesArrow.setVisibility(View.GONE); + profileListHeadArrow.clearAnimation(); + profileListHeadArrow.setVisibility(View.GONE); + profileListHeadMore.setVisibility(View.GONE); // findViewById(R.id.nav_profiles_arrow).setAlpha(0f); - findViewById(R.id.nav_profiles_cancel_edit).setVisibility(View.VISIBLE); + profileListHeadCancel.setVisibility(View.VISIBLE); } else { - profilesArrow.setVisibility(View.VISIBLE); + profileListHeadArrow.setVisibility(View.VISIBLE); // findViewById(R.id.nav_profiles_arrow).setAlpha(1f); - findViewById(R.id.nav_profiles_cancel_edit).setVisibility(View.GONE); + profileListHeadCancel.setVisibility(View.GONE); + profileListHeadMore.setVisibility(View.GONE); + profileListHeadMore + .setVisibility(profileListExpanded ? View.VISIBLE : View.GONE); } } }); - findViewById(R.id.nav_profiles_cancel_edit).setOnClickListener((v) -> { - mProfileListAdapter.stopEditingProfiles(); - }); LinearLayoutManager llm = new LinearLayoutManager(this); llm.setOrientation(RecyclerView.VERTICAL); root.setLayoutManager(llm); + + profileListHeadMore.setOnClickListener((v) -> mProfileListAdapter.startEditingProfiles()); + profileListHeadCancel.setOnClickListener((v) -> mProfileListAdapter.stopEditingProfiles()); + + drawer.addDrawerListener(new DrawerLayout.SimpleDrawerListener() { + @Override + public void onDrawerClosed(View drawerView) { + super.onDrawerClosed(drawerView); + collapseProfileList(); + } + }); } private void profileThemeChanged() { setupProfileColors(); @@ -475,6 +488,8 @@ public class MainActivity extends CrashReportingActivity { profileListContainer.setVisibility(View.VISIBLE); profileListContainer.startAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_down)); profileListHeadArrow.startAnimation(AnimationUtils.loadAnimation(this, R.anim.rotate_180)); + profileListHeadMore.setVisibility(View.VISIBLE); + profileListHeadMore.startAnimation(AnimationUtils.loadAnimation(this, R.anim.fade_in)); } private void collapseProfileList() { profileListExpanded = false; @@ -497,6 +512,7 @@ public class MainActivity extends CrashReportingActivity { profileListContainer.startAnimation(animation); profileListHeadArrow .startAnimation(AnimationUtils.loadAnimation(this, R.anim.rotate_180_back)); + profileListHeadMore.setVisibility(View.GONE); mProfileListAdapter.stopEditingProfiles(); }