diff --git a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java index f86b1ffee58..7f314d16799 100644 --- a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java +++ b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java @@ -18,7 +18,6 @@ package com.android.settings.fuelgauge; import android.content.ComponentName; import android.content.Context; -import android.content.Intent; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; @@ -32,8 +31,6 @@ import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; import com.android.settingslib.utils.ThreadUtils; -import java.util.HashMap; - public class TopLevelBatteryPreferenceController extends BasePreferenceController implements LifecycleObserver, OnStart, OnStop, BatteryPreferenceController { @@ -43,13 +40,9 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle Preference mPreference; private final BatteryBroadcastReceiver mBatteryBroadcastReceiver; private BatteryInfo mBatteryInfo; - private BatterySettingsFeatureProvider mBatterySettingsFeatureProvider; private BatteryStatusFeatureProvider mBatteryStatusFeatureProvider; private String mBatteryStatusLabel; - @VisibleForTesting - protected static HashMap sReplacingActivityMap = new HashMap<>(); - public TopLevelBatteryPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mBatteryBroadcastReceiver = new BatteryBroadcastReceiver(mContext); @@ -63,8 +56,6 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle }, true /* shortString */); }); - mBatterySettingsFeatureProvider = FeatureFactory.getFactory(context) - .getBatterySettingsFeatureProvider(context); mBatteryStatusFeatureProvider = FeatureFactory.getFactory(context) .getBatteryStatusFeatureProvider(context); } @@ -81,37 +72,6 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle mPreference = screen.findPreference(getPreferenceKey()); } - @Override - public boolean handlePreferenceTreeClick(Preference preference) { - String prefFrag = preference.getFragment(); - if (prefFrag == null || prefFrag.isEmpty()) { - // Not a redirect, so use the default. - return super.handlePreferenceTreeClick(preference); - } - - ComponentName currentFragmentName = convertClassPathToComponentName(prefFrag); - if (currentFragmentName == null) { - return super.handlePreferenceTreeClick(preference); - } - - ComponentName replacingActivity; - if (sReplacingActivityMap.containsKey(prefFrag)) { - replacingActivity = sReplacingActivityMap.get(prefFrag); - } else { - replacingActivity = mBatterySettingsFeatureProvider.getReplacingActivity( - currentFragmentName); - sReplacingActivityMap.put(prefFrag, replacingActivity); - } - - if (replacingActivity == null || currentFragmentName.compareTo(replacingActivity) == 0) { - return super.handlePreferenceTreeClick(preference); - } - Intent intent = new Intent(); - intent.setComponent(replacingActivity); - mContext.startActivity(intent); - return true; - } - @Override public void onStart() { mBatteryBroadcastReceiver.register(); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java index 700522abc1f..da0002c50a4 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java @@ -21,11 +21,7 @@ import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_ import static com.google.common.truth.Truth.assertThat; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -37,14 +33,11 @@ import android.content.Intent; import androidx.preference.Preference; import com.android.settings.R; -import com.android.settings.testutils.FakeFeatureFactory; -import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; @@ -53,24 +46,14 @@ import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) public class TopLevelBatteryPreferenceControllerTest { private Context mContext; - private FakeFeatureFactory mFeatureFactory; private TopLevelBatteryPreferenceController mController; private BatterySettingsFeatureProvider mBatterySettingsFeatureProvider; - private ArgumentCaptor mIntentArgumentCaptor; @Before public void setUp() { MockitoAnnotations.initMocks(this); - mFeatureFactory = FakeFeatureFactory.setupForTest(); mContext = spy(Robolectric.setupActivity(Activity.class)); mController = new TopLevelBatteryPreferenceController(mContext, "test_key"); - mBatterySettingsFeatureProvider = - mFeatureFactory.batterySettingsFeatureProvider; - } - - @After - public void cleanUp() { - TopLevelBatteryPreferenceController.sReplacingActivityMap.clear(); } @Test @@ -84,56 +67,6 @@ public class TopLevelBatteryPreferenceControllerTest { assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); } - @Test - public void handlePreferenceTreeClick_noFragment_noCustomActivityCalled() { - Preference preference = new Preference(mContext); - - assertThat(mController.handlePreferenceTreeClick(preference)).isFalse(); - } - - @Test - public void handlePreferenceTreeClick_sameActivityReturned_noCustomActivityCalled() { - String fragmentPath = "my.fragment.ClassName"; - Preference preference = mock(Preference.class); - when(preference.getFragment()).thenReturn(fragmentPath); - ComponentName pathName = mController.convertClassPathToComponentName(fragmentPath); - when(mBatterySettingsFeatureProvider.getReplacingActivity(any())).thenReturn(pathName); - - assertThat(mController.handlePreferenceTreeClick(preference)).isFalse(); - } - - @Test - @Ignore - public void handlePreferenceTreeClick_newActivityReturned_newActivityRedirected() { - String fragmentPath = "my.fragment.ClassName"; - Preference preference = mock(Preference.class); - when(preference.getFragment()).thenReturn(fragmentPath); - String newFragmentPath = "my.fragment.NewClassName"; - ComponentName newPathName = mController.convertClassPathToComponentName(newFragmentPath); - when(mBatterySettingsFeatureProvider.getReplacingActivity(any())).thenReturn( - newPathName); - doNothing().when(mContext).startActivity(mIntentArgumentCaptor.capture()); - - assertThat(mIntentArgumentCaptor.getValue().getComponent()).isEqualTo(newPathName); - assertThat(mController.handlePreferenceTreeClick(preference)).isTrue(); - } - - @Test - public void handlePreferenceTreeClick_calledMultipleTimes_fetchedFromCache() { - String fragmentPath = "my.fragment.ClassName"; - Preference preference = mock(Preference.class); - when(preference.getFragment()).thenReturn(fragmentPath); - String newFragmentPath = "my.fragment.NewClassName"; - ComponentName newPathName = mController.convertClassPathToComponentName(newFragmentPath); - when(mBatterySettingsFeatureProvider.getReplacingActivity(any())).thenReturn( - newPathName); - doNothing().when(mContext).startActivity(any()); - - assertThat(mController.handlePreferenceTreeClick(preference)).isTrue(); - assertThat(mController.handlePreferenceTreeClick(preference)).isTrue(); - verify(mBatterySettingsFeatureProvider, times(1)).getReplacingActivity(any()); - } - @Test public void convertClassPathToComponentName_nullInput_returnsNull() { assertThat(mController.convertClassPathToComponentName(null)).isNull();