Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fec7ba25 authored by Wenyi Wang's avatar Wenyi Wang Committed by android-build-merger
Browse files

Don't scroll menu when drawer is open

am: 7b33436a

Change-Id: I119166a32de57465346491eeb872821a308018a0
parents 09677e39 7b33436a
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -224,7 +224,7 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
            clearCheckedMenus();
            mIdMenuMap.get(R.id.nav_find_duplicates).setCheckable(true);
            mIdMenuMap.get(R.id.nav_find_duplicates).setChecked(true);
            updateScrollPosition(DUPLICATES_POSITION);
            maybeUpdateScrollPosition(DUPLICATES_POSITION);
        }

        if (savedState != null && savedState.containsKey(KEY_NEW_GROUP_ACCOUNT)) {
@@ -233,7 +233,11 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
        }
    }

    private void updateScrollPosition(int position) {
    private void maybeUpdateScrollPosition(int position) {
        if (mDrawer.isDrawerOpen(GravityCompat.START)) {
            if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "Don't scroll menu when drawer open");
            return;
        }
        final RecyclerView recyclerView = (RecyclerView) mNavigationView.getChildAt(0);
        final LinearLayoutManager layoutManager =
                (LinearLayoutManager) recyclerView.getLayoutManager();
@@ -416,7 +420,7 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
                && mGroupMenuMap.get(groupMetadata.groupId) != null) {
            mGroupMenuMap.get(groupMetadata.groupId).setCheckable(true);
            mGroupMenuMap.get(groupMetadata.groupId).setChecked(true);
            updateScrollPosition(mGroupMenuMap.get(groupMetadata.groupId).getOrder());
            maybeUpdateScrollPosition(mGroupMenuMap.get(groupMetadata.groupId).getOrder());
        }
    }

@@ -520,13 +524,13 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
            if (mIdMenuMap != null && mIdMenuMap.get(R.id.nav_all_contacts) != null) {
                mIdMenuMap.get(R.id.nav_all_contacts).setCheckable(true);
                mIdMenuMap.get(R.id.nav_all_contacts).setChecked(true);
                updateScrollPosition(ALL_CONTACTS_POSITION);
                maybeUpdateScrollPosition(ALL_CONTACTS_POSITION);
            }
        } else {
            if (mFilterMenuMap != null && mFilterMenuMap.get(filter) != null) {
                mFilterMenuMap.get(filter).setCheckable(true);
                mFilterMenuMap.get(filter).setChecked(true);
                updateScrollPosition(mFilterMenuMap.get(filter).getOrder());
                maybeUpdateScrollPosition(mFilterMenuMap.get(filter).getOrder());
            }
        }
    }