Fix the toggle button flicker problem when display

- Root cause: the side effect of the parallel controller loading.
- Solution: disable the parallel approach and remove the entry point
  of parallel approach in DashboardFragment.

Fixes: 187838753
Test: Robo test for AppInfoDashboardFragment, ConfigureNotificationSettings,
      ConnectedDeviceDashboardFragment, DevelopmentSettingsDashboardFragment,
      NetworkDashboardFragment, DashboardFragment
Change-Id: If3b09c4fd6f33042e0ed38704f08e855ab8f5377
This commit is contained in:
Sunny Shao
2021-05-24 15:59:01 +08:00
parent 19baf0df84
commit 9fa4bb8ffa
7 changed files with 2 additions and 65 deletions

View File

@@ -37,7 +37,6 @@ import android.content.pm.ActivityInfo;
import android.content.pm.ProviderInfo;
import android.net.Uri;
import android.os.Bundle;
import android.util.FeatureFlagUtils;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
@@ -46,7 +45,6 @@ import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.FeatureFlags;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.slices.BlockingSlicePrefController;
import com.android.settings.testutils.FakeFeatureFactory;
@@ -335,37 +333,6 @@ public class DashboardFragmentTest {
assertThat(pref).isInstanceOf(PrimarySwitchPreference.class);
}
@Test
public void isFeatureFlagAndIsParalleled_runParalleledUpdatePreferenceStates() {
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTROLLER_ENHANCEMENT, true);
final TestFragment testFragment = spy(new TestFragment(RuntimeEnvironment.application));
testFragment.updatePreferenceStates();
verify(testFragment).updatePreferenceStatesInParallel();
}
@Test
public void notFeatureFlagAndIsParalleled_notRunParalleledUpdatePreferenceStates() {
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTROLLER_ENHANCEMENT, false);
final TestFragment testFragment = spy(new TestFragment(RuntimeEnvironment.application));
testFragment.updatePreferenceStates();
verify(testFragment, never()).updatePreferenceStatesInParallel();
}
@Test
public void isFeatureFlagAndNotParalleled_notRunParalleledUpdatePreferenceStates() {
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTROLLER_ENHANCEMENT, true);
final TestFragment testFragment = spy(new TestFragment(RuntimeEnvironment.application));
testFragment.setUsingControllerEnhancement(false);
testFragment.updatePreferenceStates();
verify(testFragment, never()).updatePreferenceStatesInParallel();
}
public static class TestPreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin {