Merge "Launch new Home app when selecting Home app in Settings"

This commit is contained in:
Treehugger Robot
2017-12-18 22:09:25 +00:00
committed by Gerrit Code Review
2 changed files with 13 additions and 1 deletions

View File

@@ -18,6 +18,7 @@ package com.android.settings.applications.defaultapps;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
@@ -104,6 +105,14 @@ public class DefaultHomePicker extends DefaultAppPickerFragment {
IntentFilter.MATCH_CATEGORY_EMPTY, IntentFilter.MATCH_CATEGORY_EMPTY,
allComponents.toArray(new ComponentName[0]), allComponents.toArray(new ComponentName[0]),
component); component);
// Launch the new Home app so the change is immediately visible even if
// the Home button is not pressed.
final Context context = getContext();
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
return true; return true;
} }
return false; return false;

View File

@@ -73,6 +73,7 @@ public class DefaultHomePickerTest {
@Mock @Mock
private PackageManager mPackageManager; private PackageManager mPackageManager;
private Context mContext;
private DefaultHomePicker mPicker; private DefaultHomePicker mPicker;
@Before @Before
@@ -85,7 +86,8 @@ public class DefaultHomePickerTest {
mPicker.onAttach((Context) mActivity); mPicker.onAttach((Context) mActivity);
ReflectionHelpers.setField(mPicker, "mPm", mPackageManagerWrapper); ReflectionHelpers.setField(mPicker, "mPm", mPackageManagerWrapper);
doReturn(RuntimeEnvironment.application).when(mPicker).getContext(); mContext = spy(RuntimeEnvironment.application);
doReturn(mContext).when(mPicker).getContext();
} }
@Test @Test
@@ -94,6 +96,7 @@ public class DefaultHomePickerTest {
verify(mPackageManagerWrapper).replacePreferredActivity(any(IntentFilter.class), verify(mPackageManagerWrapper).replacePreferredActivity(any(IntentFilter.class),
anyInt(), any(ComponentName[].class), any(ComponentName.class)); anyInt(), any(ComponentName[].class), any(ComponentName.class));
verify(mContext).startActivity(any());
} }
@Test @Test