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

Commit 1243cb4e authored by Tingting Wang's avatar Tingting Wang
Browse files

Show promo after reloading data when stopping from search.

BUG 30706521

Change-Id: I36697d54ec2171a3568178b25fb86b39e18bcf1d
parent 4a2abe9d
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -82,6 +82,7 @@ import com.android.contacts.list.ContactsIntentResolver;
import com.android.contacts.list.ContactsRequest;
import com.android.contacts.list.ContactsUnavailableFragment;
import com.android.contacts.list.DefaultContactBrowseListFragment;
import com.android.contacts.list.DefaultContactBrowseListFragment.FeatureHighlightCallback;
import com.android.contacts.list.MultiSelectContactsListFragment.OnCheckBoxListActionListener;
import com.android.contacts.list.OnContactBrowserActionListener;
import com.android.contacts.list.OnContactsUnavailableActionListener;
@@ -104,7 +105,8 @@ public class PeopleActivity extends ContactsDrawerActivity implements
        DialogManager.DialogShowingViewActivity,
        ContactListFilterController.ContactListFilterListener,
        ProviderStatusListener,
        MultiContactDeleteListener {
        MultiContactDeleteListener,
        DefaultContactBrowseListFragment.FeatureHighlightCallback {

    private static final String TAG = "PeopleActivity";

@@ -356,6 +358,7 @@ public class PeopleActivity extends ContactsDrawerActivity implements
            transaction.add(R.id.tab_pager, mAllFragment, ALL_TAG);
        }

        mAllFragment.setFeatureHighlightCallback(this);
        mAllFragment.setOnContactListActionListener(new ContactBrowserActionListener());
        mAllFragment.setCheckBoxListListener(new CheckBoxListListener());
        mAllFragment.setListType(mContactListFilterController.getFilterListType());
@@ -578,9 +581,14 @@ public class PeopleActivity extends ContactsDrawerActivity implements
                showFabWithAnimation(shouldShowFabForAccount());
                break;
            case ActionBarAdapter.Listener.Action.STOP_SEARCH_AND_SELECTION_MODE:
                // If queryString is empty, fragment data will not be reloaded,
                // so hamburger promo should be checked now.
                // If not empty, promo should be checked and displayed after reloading. (b/30706521)
                if (TextUtils.isEmpty(mAllFragment.getQueryString())) {
                    maybeShowHamburgerFeatureHighlight();
                }
                setQueryTextToFragment("");
                updateFragmentsVisibility();
                maybeShowHamburgerFeatureHighlight();
                invalidateOptionsMenu();
                showFabWithAnimation(shouldShowFabForAccount());
                break;
@@ -1493,4 +1501,9 @@ public class PeopleActivity extends ContactsDrawerActivity implements
    protected ContactListFilter getContactListFilter() {
        return mContactListFilterController.getFilter();
    }

    @Override
    public void onLoadFinishedCallback() {
        maybeShowHamburgerFeatureHighlight();
    }
}
+12 −0
Original line number Diff line number Diff line
@@ -52,6 +52,11 @@ public class DefaultContactBrowseListFragment extends ContactBrowseListFragment
    private View mEmptyHomeView;
    private View mAccountFilterContainer;
    private TextView mSearchProgressText;
    private FeatureHighlightCallback mCallback;

    public interface FeatureHighlightCallback {
        void onLoadFinishedCallback();
    }

    public DefaultContactBrowseListFragment() {
        setPhotoLoaderEnabled(true);
@@ -63,6 +68,10 @@ public class DefaultContactBrowseListFragment extends ContactBrowseListFragment
        setDisplayDirectoryHeader(false);
    }

    public void setFeatureHighlightCallback(FeatureHighlightCallback callback) {
        mCallback = callback;
    }

    @Override
    public CursorLoader createCursorLoader(Context context) {
        return new FavoritesAndContactsLoader(context);
@@ -72,6 +81,9 @@ public class DefaultContactBrowseListFragment extends ContactBrowseListFragment
    public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
        bindListHeader(data.getCount());
        super.onLoadFinished(loader, data);
        if (!isSearchMode() && mCallback != null) {
            mCallback.onLoadFinishedCallback();
        }
    }

    private void bindListHeader(int numberOfContacts) {