Merge "Let SuggestionFeatureProvider manage SuggestionService name"
This commit is contained in:
committed by
Android (Google) Code Review
commit
0660d19629
@@ -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);
|
||||
|
@@ -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.
|
||||
*/
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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(
|
||||
|
Reference in New Issue
Block a user