Loading src/com/android/settings/applications/assist/DefaultAssistPicker.java +13 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.applications.assist; import android.app.ActivityManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; Loading @@ -38,6 +39,8 @@ import com.android.settingslib.widget.CandidateInfo; import java.util.ArrayList; import java.util.List; import androidx.annotation.VisibleForTesting; public class DefaultAssistPicker extends DefaultAppPickerFragment { private static final String TAG = "DefaultAssistPicker"; Loading @@ -45,9 +48,12 @@ public class DefaultAssistPicker extends DefaultAppPickerFragment { new Intent(VoiceInteractionService.SERVICE_INTERFACE); private static final Intent ASSIST_ACTIVITY_PROBE = new Intent(Intent.ACTION_ASSIST); private final List<Info> mAvailableAssistants = new ArrayList<>(); @VisibleForTesting final List<Info> mAvailableAssistants = new ArrayList<>(); private AssistUtils mAssistUtils; private ActivityManager mActivityManager; @Override public int getMetricsCategory() { Loading @@ -63,6 +69,7 @@ public class DefaultAssistPicker extends DefaultAppPickerFragment { public void onAttach(Context context) { super.onAttach(context); mAssistUtils = new AssistUtils(context); mActivityManager = context.getSystemService(ActivityManager.class); } @Override Loading Loading @@ -132,7 +139,11 @@ public class DefaultAssistPicker extends DefaultAppPickerFragment { return mAssistUtils.getAssistComponentForUser(mUserId); } private void addAssistServices() { @VisibleForTesting void addAssistServices() { if (mActivityManager.isLowRamDevice()) { return; } final List<ResolveInfo> services = mPm.queryIntentServices( ASSIST_SERVICE_PROBE, PackageManager.GET_META_DATA); for (ResolveInfo resolveInfo : services) { Loading tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPickerTest.java +14 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import android.app.ActivityManager; import android.content.ComponentName; import android.content.Context; import android.provider.Settings; Loading @@ -31,6 +32,8 @@ import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; import org.robolectric.shadow.api.Shadow; import org.robolectric.shadows.ShadowActivityManager; import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; Loading @@ -48,10 +51,12 @@ public class DefaultAssistPickerTest { private Context mContext; private DefaultAssistPicker mPicker; private ShadowActivityManager mShadowActivityManager; @Before public void setUp() { mContext = RuntimeEnvironment.application; mShadowActivityManager = Shadow.extract(mContext.getSystemService(ActivityManager.class)); mPicker = spy(new DefaultAssistPicker()); mPicker.onAttach(mContext); doReturn(mContext).when(mPicker).getContext(); Loading @@ -71,7 +76,7 @@ public class DefaultAssistPickerTest { } @Test public void setDefaultAppKey_noAvaialbleAssit_shouldClearDefaultAssist() { public void setDefaultAppKey_noAvailableAssist_shouldClearDefaultAssist() { final List<DefaultAssistPicker.Info> assistants = new ArrayList<>(); ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants); mPicker.setDefaultKey(sTestAssist.flattenToString()); Loading @@ -94,4 +99,12 @@ public class DefaultAssistPickerTest { .isEmpty(); assertThat(mPicker.getDefaultKey()).isNull(); } @Test public void addAssistService_lowRamDevice_shouldDoNothing() { mShadowActivityManager.setIsLowRamDevice(true); mPicker.addAssistServices(); assertThat(mPicker.mAvailableAssistants).hasSize(0); } } Loading
src/com/android/settings/applications/assist/DefaultAssistPicker.java +13 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.applications.assist; import android.app.ActivityManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; Loading @@ -38,6 +39,8 @@ import com.android.settingslib.widget.CandidateInfo; import java.util.ArrayList; import java.util.List; import androidx.annotation.VisibleForTesting; public class DefaultAssistPicker extends DefaultAppPickerFragment { private static final String TAG = "DefaultAssistPicker"; Loading @@ -45,9 +48,12 @@ public class DefaultAssistPicker extends DefaultAppPickerFragment { new Intent(VoiceInteractionService.SERVICE_INTERFACE); private static final Intent ASSIST_ACTIVITY_PROBE = new Intent(Intent.ACTION_ASSIST); private final List<Info> mAvailableAssistants = new ArrayList<>(); @VisibleForTesting final List<Info> mAvailableAssistants = new ArrayList<>(); private AssistUtils mAssistUtils; private ActivityManager mActivityManager; @Override public int getMetricsCategory() { Loading @@ -63,6 +69,7 @@ public class DefaultAssistPicker extends DefaultAppPickerFragment { public void onAttach(Context context) { super.onAttach(context); mAssistUtils = new AssistUtils(context); mActivityManager = context.getSystemService(ActivityManager.class); } @Override Loading Loading @@ -132,7 +139,11 @@ public class DefaultAssistPicker extends DefaultAppPickerFragment { return mAssistUtils.getAssistComponentForUser(mUserId); } private void addAssistServices() { @VisibleForTesting void addAssistServices() { if (mActivityManager.isLowRamDevice()) { return; } final List<ResolveInfo> services = mPm.queryIntentServices( ASSIST_SERVICE_PROBE, PackageManager.GET_META_DATA); for (ResolveInfo resolveInfo : services) { Loading
tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPickerTest.java +14 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import android.app.ActivityManager; import android.content.ComponentName; import android.content.Context; import android.provider.Settings; Loading @@ -31,6 +32,8 @@ import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; import org.robolectric.shadow.api.Shadow; import org.robolectric.shadows.ShadowActivityManager; import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; Loading @@ -48,10 +51,12 @@ public class DefaultAssistPickerTest { private Context mContext; private DefaultAssistPicker mPicker; private ShadowActivityManager mShadowActivityManager; @Before public void setUp() { mContext = RuntimeEnvironment.application; mShadowActivityManager = Shadow.extract(mContext.getSystemService(ActivityManager.class)); mPicker = spy(new DefaultAssistPicker()); mPicker.onAttach(mContext); doReturn(mContext).when(mPicker).getContext(); Loading @@ -71,7 +76,7 @@ public class DefaultAssistPickerTest { } @Test public void setDefaultAppKey_noAvaialbleAssit_shouldClearDefaultAssist() { public void setDefaultAppKey_noAvailableAssist_shouldClearDefaultAssist() { final List<DefaultAssistPicker.Info> assistants = new ArrayList<>(); ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants); mPicker.setDefaultKey(sTestAssist.flattenToString()); Loading @@ -94,4 +99,12 @@ public class DefaultAssistPickerTest { .isEmpty(); assertThat(mPicker.getDefaultKey()).isNull(); } @Test public void addAssistService_lowRamDevice_shouldDoNothing() { mShadowActivityManager.setIsLowRamDevice(true); mPicker.addAssistServices(); assertThat(mPicker.mAvailableAssistants).hasSize(0); } }