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:
@@ -20,6 +20,7 @@ import static com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MAX;
|
||||
import static com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MIN;
|
||||
import static com.android.settingslib.display.BrightnessUtils.convertLinearToGammaFloat;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.app.ActivityOptions;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
@@ -39,10 +40,12 @@ import android.text.TextUtils;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.accessibility.Flags;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.core.SettingsBaseActivity;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.core.lifecycle.events.OnStart;
|
||||
@@ -51,17 +54,18 @@ import com.android.settingslib.transition.SettingsTransitionHelper;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
|
||||
public class BrightnessLevelPreferenceController extends AbstractPreferenceController implements
|
||||
public class BrightnessLevelPreferenceController extends BasePreferenceController implements
|
||||
PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop {
|
||||
|
||||
private static final String TAG = "BrightnessPrefCtrl";
|
||||
private static final String KEY_BRIGHTNESS = "brightness";
|
||||
|
||||
private static final Uri BRIGHTNESS_ADJ_URI;
|
||||
private final ContentResolver mContentResolver;
|
||||
private final Handler mHandler = new Handler(Looper.getMainLooper());
|
||||
private final DisplayManager mDisplayManager;
|
||||
|
||||
@Nullable
|
||||
private Preference mPreference;
|
||||
private boolean mInSetupWizard;
|
||||
|
||||
static {
|
||||
BRIGHTNESS_ADJ_URI = System.getUriFor(System.SCREEN_AUTO_BRIGHTNESS_ADJ);
|
||||
@@ -90,9 +94,12 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
public BrightnessLevelPreferenceController(Context context, Lifecycle lifecycle) {
|
||||
super(context);
|
||||
this(context, context.getString(R.string.preference_key_brightness_level), lifecycle);
|
||||
}
|
||||
|
||||
private BrightnessLevelPreferenceController(Context context, String key, Lifecycle lifecycle) {
|
||||
super(context, key);
|
||||
mDisplayManager = context.getSystemService(DisplayManager.class);
|
||||
|
||||
if (lifecycle != null) {
|
||||
@@ -101,20 +108,22 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
|
||||
mContentResolver = mContext.getContentResolver();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
return true;
|
||||
public void setInSetupWizard(boolean inSetupWizard) {
|
||||
mInSetupWizard = inSetupWizard;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return KEY_BRIGHTNESS;
|
||||
public int getAvailabilityStatus() {
|
||||
if (mInSetupWizard && !Flags.addBrightnessSettingsInSuw()) {
|
||||
return CONDITIONALLY_UNAVAILABLE;
|
||||
}
|
||||
return AVAILABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
mPreference = screen.findPreference(KEY_BRIGHTNESS);
|
||||
mPreference = screen.findPreference(getPreferenceKey());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user