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

Commit 9955db63 authored by Matthew Fritze's avatar Matthew Fritze
Browse files

SearchFeatureProvider's context field is removed

SearchFeatureProvider was holding on to a context and
outlived the SettingsActivity, thus leaking the activity.
The context was passed into most methods, and thus it
makes more sense to pass it in to every method.

Bug: 33677967
Test: Run MakeSettingsRoboTests
Change-Id: Ia82f30e7e0b83587b4baeef28e81da6b8e4303fe
parent ad5ccad4
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -329,7 +329,7 @@ public class SettingsActivity extends SettingsDrawerActivity
        }

        MenuInflater inflater = getMenuInflater();
        if (mSearchFeatureProvider.isEnabled()) {
        if (mSearchFeatureProvider.isEnabled(this)) {
            mSearchFeatureProvider.setUpSearchMenu(menu, this);
            return true;
        }
@@ -405,7 +405,7 @@ public class SettingsActivity extends SettingsDrawerActivity
        final FeatureFactory factory = FeatureFactory.getFactory(this);

        mDashboardFeatureProvider = factory.getDashboardFeatureProvider(this);
        mSearchFeatureProvider = factory.getSearchFeatureProvider(this);
        mSearchFeatureProvider = factory.getSearchFeatureProvider();

        // Should happen before any call to getIntent()
        getMetaData();
@@ -1097,7 +1097,7 @@ public class SettingsActivity extends SettingsDrawerActivity
    @Deprecated
    @Override
    public boolean onQueryTextSubmit(String query) {
        if (mSearchFeatureProvider.isEnabled()) {
        if (mSearchFeatureProvider.isEnabled(this)) {
            return false;
        }
        mSearchQuery = query;
@@ -1109,7 +1109,7 @@ public class SettingsActivity extends SettingsDrawerActivity
    @Override
    public boolean onQueryTextChange(String newText) {
        mSearchQuery = newText;
        if (mSearchFeatureProvider.isEnabled() || mSearchResultsFragment == null) {
        if (mSearchFeatureProvider.isEnabled(this) || mSearchResultsFragment == null) {
            return false;
        }
        return mSearchResultsFragment.onQueryTextChange(newText);
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ public abstract class FeatureFactory {
    public abstract EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(
            Context context);

    public abstract SearchFeatureProvider getSearchFeatureProvider(Context context);
    public abstract SearchFeatureProvider getSearchFeatureProvider();

    public abstract SurveyFeatureProvider getSurveyFeatureProvider(Context context);

+2 −2
Original line number Diff line number Diff line
@@ -104,9 +104,9 @@ public class FeatureFactoryImpl extends FeatureFactory {
    }

    @Override
    public SearchFeatureProvider getSearchFeatureProvider(Context context) {
    public SearchFeatureProvider getSearchFeatureProvider() {
        if (mSearchFeatureProvider == null) {
            mSearchFeatureProvider = new SearchFeatureProviderImpl(context);
            mSearchFeatureProvider = new SearchFeatureProviderImpl();
        }
        return mSearchFeatureProvider;
    }
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ public interface SearchFeatureProvider {
    /**
     * @return true to use the new version of search
     */
    boolean isEnabled();
    boolean isEnabled(Context context);

    /**
     * Inserts the Menu items into Settings activity.
+3 −8
Original line number Diff line number Diff line
@@ -31,16 +31,11 @@ import com.android.settings.applications.PackageManagerWrapperImpl;
 * FeatureProvider for the refactored search code.
 */
public class SearchFeatureProviderImpl implements SearchFeatureProvider {
    protected Context mContext;

    private DatabaseIndexingManager mDatabaseIndexingManager;

    public SearchFeatureProviderImpl(Context context) {
        mContext = context;
    }

    @Override
    public boolean isEnabled() {
    public boolean isEnabled(Context context) {
        return false;
    }

@@ -49,7 +44,7 @@ public class SearchFeatureProviderImpl implements SearchFeatureProvider {
        if (menu == null || activity == null) {
            return;
        }
        String menuTitle = mContext.getString(R.string.search_menu);
        String menuTitle = activity.getString(R.string.search_menu);
        MenuItem menuItem = menu.add(Menu.NONE, Menu.NONE, Menu.NONE, menuTitle)
                .setIcon(R.drawable.abc_ic_search_api_material)
                .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@@ -86,7 +81,7 @@ public class SearchFeatureProviderImpl implements SearchFeatureProvider {

    @Override
    public void updateIndex(Context context) {
        if (isEnabled()) {
        if (isEnabled(context)) {
            getIndexingManager(context).update();
        } else {
            Index.getInstance(context).update();
Loading