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

Commit 12b8e80c authored by Wenyi Wang's avatar Wenyi Wang Committed by Android (Google) Code Review
Browse files

Merge "Don't wait for drawer is idle to switch view" into ub-contactsdialer-h-dev

parents f79c7af8 79ef0887
Loading
Loading
Loading
Loading
+29 −50
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.res.Configuration;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.os.Bundle;
import android.os.Handler;
import android.provider.ContactsContract.Intents;
import android.support.annotation.LayoutRes;
import android.support.design.widget.NavigationView;
@@ -112,11 +113,11 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
    private static final String KEY_NEW_GROUP_ACCOUNT = "newGroupAccount";
    private static final String KEY_CONTACTS_VIEW = "contactsView";

    private static final long DRAWER_CLOSE_DELAY = 300L;

    protected ContactsView mCurrentView;

    private class ContactsActionBarDrawerToggle extends ActionBarDrawerToggle {

        private Runnable mRunnable;
        private boolean mMenuClickedBefore = SharedPreferenceUtil.getHamburgerMenuClickedBefore(
                ContactsDrawerActivity.this);

@@ -177,16 +178,8 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
            if (newState != DrawerLayout.STATE_IDLE) {
                updateStatusBarBackground();
            }
            if (mRunnable != null && newState == DrawerLayout.STATE_IDLE) {
                mRunnable.run();
                mRunnable = null;
            }
            initializeAssistantNewBadge();
        }

        public void runWhenIdle(Runnable runnable) {
            mRunnable = runnable;
        }
    }

    protected ContactListFilterController mContactListFilterController;
@@ -437,14 +430,9 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
                menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                        mToggle.runWhenIdle(new Runnable() {
                            @Override
                            public void run() {
                        onGroupMenuItemClicked(groupListItem.getGroupId(),
                                groupListItem.getTitle());
                        updateMenuSelection(menuItem);
                            }
                        });
                        mDrawer.closeDrawer(GravityCompat.START);
                        return true;
                    }
@@ -464,12 +452,7 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
        menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                mToggle.runWhenIdle(new Runnable() {
                    @Override
                    public void run() {
                onCreateGroupMenuItemClicked();
                    }
                });
                mDrawer.closeDrawer(GravityCompat.START);
                return true;
            }
@@ -562,13 +545,8 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
            menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    mToggle.runWhenIdle(new Runnable() {
                        @Override
                        public void run() {
                    onFilterMenuItemClicked(intent);
                    updateMenuSelection(menuItem);
                        }
                    });
                    mDrawer.closeDrawer(GravityCompat.START);
                    return true;
                }
@@ -614,11 +592,14 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
    @Override
    public boolean onNavigationItemSelected(final MenuItem item) {
        final int id = item.getItemId();
        mToggle.runWhenIdle(new Runnable() {

        if (id == R.id.nav_settings) {
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                if (id == R.id.nav_settings) {
                    startActivity(createPreferenceIntent());
                }
            }, DRAWER_CLOSE_DELAY);
        } else if (id == R.id.nav_help) {
            HelpUtils.launchHelpAndFeedbackForMainScreen(ContactsDrawerActivity.this);
        } else if (id == R.id.nav_all_contacts) {
@@ -634,8 +615,6 @@ public abstract class ContactsDrawerActivity extends AppCompatContactsActivity i
        } else {
            Log.w(TAG, "Unhandled navigation view item selection");
        }
            }
        });

        mDrawer.closeDrawer(GravityCompat.START);
        return true;