Fix unbundled settings launching activity.

Bug: 194257786
Test: Unit
Change-Id: I69dc860878e5900d0c6142221349adfd52447884
This commit is contained in:
Tiffany Nguyen
2021-07-21 14:47:23 +08:00
parent d2e1fc591b
commit 161bbeaa1d
2 changed files with 8 additions and 4 deletions

View File

@@ -105,7 +105,7 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle
return super.handlePreferenceTreeClick(preference); return super.handlePreferenceTreeClick(preference);
} }
Intent intent = new Intent(); Intent intent = new Intent();
intent.setComponent(currentFragmentName); intent.setComponent(replacingActivity);
mContext.startActivity(intent); mContext.startActivity(intent);
return true; return true;
} }

View File

@@ -32,6 +32,7 @@ import static org.mockito.Mockito.when;
import android.app.Activity; import android.app.Activity;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -42,6 +43,7 @@ import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
@@ -53,6 +55,7 @@ public class TopLevelBatteryPreferenceControllerTest {
private FakeFeatureFactory mFeatureFactory; private FakeFeatureFactory mFeatureFactory;
private TopLevelBatteryPreferenceController mController; private TopLevelBatteryPreferenceController mController;
private BatterySettingsFeatureProvider mBatterySettingsFeatureProvider; private BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
private ArgumentCaptor<Intent> mIntentArgumentCaptor;
@Before @Before
public void setUp() { public void setUp() {
@@ -107,8 +110,9 @@ public class TopLevelBatteryPreferenceControllerTest {
ComponentName newPathName = mController.convertClassPathToComponentName(newFragmentPath); ComponentName newPathName = mController.convertClassPathToComponentName(newFragmentPath);
when(mBatterySettingsFeatureProvider.getReplacingActivity(any())).thenReturn( when(mBatterySettingsFeatureProvider.getReplacingActivity(any())).thenReturn(
newPathName); newPathName);
doNothing().when(mContext).startActivity(any()); doNothing().when(mContext).startActivity(mIntentArgumentCaptor.capture());
assertThat(mIntentArgumentCaptor.getValue().getComponent()).isEqualTo(newPathName);
assertThat(mController.handlePreferenceTreeClick(preference)).isTrue(); assertThat(mController.handlePreferenceTreeClick(preference)).isTrue();
} }