]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java
whitespace
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / activity / MainActivity.java
index 4d1f07dbd534222d36f194940f5c0b92a5c28fa4..12957e97e9e7c8e02c14e37ba674f40456433a8f 100644 (file)
@@ -249,37 +249,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 +289,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) {