feat(brightness suw): add brightness preferences in suw

Add brightness level and auto brightness preference in
accessibility_settings_for_setup_wizard.xml. Since the flagging has not
be supported yet for non-Manifest resources, for now we add the
preferences by default, and update the preferece availablity status in
each preference controllers based on the flag.

Bug: 311093618
Flag: ACONFIG com.android.settings.accessibility.add_brightness_settings_in_suw DEVELOPMENT
Test: manually
      atest AccessibilitySettingsForSetupWizardTest
      atest AutoBrightnessPreferenceFragmentForSetupWizardTest
      atest AutoBrightnessPreferenceControllerTest
      atest BrightnessLevelPreferenceControllerTest
Change-Id: I350d99138bdd14bf28828a39e42f707b5b1066c1
This commit is contained in:
Roy Chou
2024-04-18 16:34:26 +00:00
parent 23349d60c0
commit 042c8c7328
19 changed files with 490 additions and 24 deletions

View File

@@ -24,6 +24,7 @@ import static com.android.settingslib.widget.TwoTargetPreference.ICON_SIZE_MEDIU
import android.accessibilityservice.AccessibilityServiceInfo;
import android.app.settings.SettingsEnums;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.ServiceInfo;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
@@ -40,11 +41,15 @@ import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.display.AutoBrightnessPreferenceController;
import com.android.settings.display.BrightnessLevelPreferenceController;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.AbstractPreferenceController;
import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupdesign.GlifPreferenceLayout;
import java.util.ArrayList;
import java.util.List;
/**
@@ -161,6 +166,21 @@ public class AccessibilitySettingsForSetupWizard extends DashboardFragment
return TAG;
}
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
BrightnessLevelPreferenceController brightnessLevelPreferenceController =
new BrightnessLevelPreferenceController(context, getSettingsLifecycle());
brightnessLevelPreferenceController.setInSetupWizard(true);
controllers.add(brightnessLevelPreferenceController);
String autoBrightnessKey = context.getString(R.string.preference_key_auto_brightness);
AutoBrightnessPreferenceController autoBrightnessPreferenceController =
new AutoBrightnessPreferenceController(context, autoBrightnessKey);
autoBrightnessPreferenceController.setInSetupWizard(true);
controllers.add(autoBrightnessPreferenceController);
return controllers;
}
/**
* Returns accessibility service info by given package name and service name.
*