Add support for device state based auto-rotation preferences in Settings.
- Creates new preferences that are shown when device-state rotation is supported. - Hides standard preferences when device-state rotation is supported. - Controllers/Preferences for individual folded/unfolded rotation settings are created and added programatically based on the settable device states available. Test: Manually + Unit tests Bug: 195757480 Change-Id: If254220ca3018bc6ec1c4e3947375733f6816f92
This commit is contained in:
@@ -53,6 +53,7 @@ import com.android.settingslib.utils.ThreadUtils;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@@ -280,6 +281,11 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
||||
return null;
|
||||
}
|
||||
|
||||
/** Returns all controllers of type T. */
|
||||
protected <T extends AbstractPreferenceController> List<T> useAll(Class<T> clazz) {
|
||||
return (List<T>) mPreferenceControllers.getOrDefault(clazz, Collections.emptyList());
|
||||
}
|
||||
|
||||
protected void addPreferenceController(AbstractPreferenceController controller) {
|
||||
if (mPreferenceControllers.get(controller.getClass()) == null) {
|
||||
mPreferenceControllers.put(controller.getClass(), new ArrayList<>());
|
||||
|
Reference in New Issue
Block a user