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

Commit 0660d196 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Let SuggestionFeatureProvider manage SuggestionService name"

parents 5bfead75 6598a7b4
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -17,13 +17,13 @@
package com.android.settings.dashboard.suggestions;

import android.app.LoaderManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Loader;
import android.os.Bundle;
import android.service.settings.suggestions.Suggestion;
import android.util.Log;

import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
@@ -61,9 +61,9 @@ public class SuggestionControllerMixin implements SuggestionController.ServiceCo
        mContext = context.getApplicationContext();
        mHost = host;
        mSuggestionController = new SuggestionController(mContext,
                new ComponentName(
                        "com.android.settings.intelligence",
                        "com.android.settings.intelligence.suggestions.SuggestionService"),
                FeatureFactory.getFactory(mContext)
                        .getSuggestionFeatureProvider(mContext)
                        .getSuggestionServiceComponent(),
                this /* serviceConnectionListener */);
        if (lifecycle != null) {
            lifecycle.addObserver(this);
+6 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ public interface SuggestionFeatureProvider {

    /**
     * Whether or not the whole suggestion feature is enabled.
     *
     * @deprecated in favor of {@link #isSuggestionV2Enabled(Context)}
     */
    @Deprecated
@@ -42,6 +43,11 @@ public interface SuggestionFeatureProvider {
     */
    boolean isSuggestionV2Enabled(Context context);

    /**
     * Returns the component name for SuggestionService.
     */
    ComponentName getSuggestionServiceComponent();

    /**
     * Returns true if smart suggestion should be used instead of xml based SuggestionParser.
     */
+7 −0
Original line number Diff line number Diff line
@@ -79,6 +79,13 @@ public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider
        return !isLowRamDevice && isV2Enabled();
    }

    @Override
    public ComponentName getSuggestionServiceComponent() {
        return new ComponentName(
                "com.android.settings.intelligence",
                "com.android.settings.intelligence.suggestions.SuggestionService");
    }

    private static boolean isV2Enabled() {
        return FeatureFlagUtils.isEnabled(FEATURE_FLAG_SUGGESTIONS_V2);
    }
+5 −1
Original line number Diff line number Diff line
@@ -23,8 +23,10 @@ import static org.mockito.Mockito.when;

import android.app.LoaderManager;
import android.content.Context;
import android.database.MatrixCursor;

import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.core.lifecycle.Lifecycle;

@@ -32,6 +34,7 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@@ -43,7 +46,7 @@ import org.robolectric.annotation.Config;
        })
public class SuggestionControllerMixinTest {

    @Mock
    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
    private Context mContext;
    @Mock
    private SuggestionControllerMixin.SuggestionControllerHost mHost;
@@ -53,6 +56,7 @@ public class SuggestionControllerMixinTest {
    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        FakeFeatureFactory.setupForTest(mContext);
        mLifecycle = new Lifecycle();
        when(mContext.getApplicationContext()).thenReturn(mContext);
    }
+6 −0
Original line number Diff line number Diff line
@@ -134,6 +134,12 @@ public class SuggestionFeatureProviderImplTest {
        SettingsShadowSystemProperties.clear();
    }

    @Test
    public void getSuggestionServiceComponentName_shouldReturnAndroidPackage() {
        assertThat(mProvider.getSuggestionServiceComponent().getPackageName())
                .isEqualTo("com.android.settings.intelligence");
    }

    @Test
    public void isSuggestionCompleted_doubleTapPower_trueWhenNotAvailable() {
        SettingsShadowResources.overrideResource(