Share default settings decoding
This commit is contained in:
@@ -96,6 +96,35 @@ public final class SbtSettings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private enum EmptySettingsSource implements SettingsSource {
|
||||||
|
INSTANCE;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getBoolean(String key, boolean defaultValue) {
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getInt(String key, int defaultValue) {
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getString(String key, String defaultValue) {
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<String> getStringSet(String key) {
|
||||||
|
return Collections.emptySet();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean contains(String key) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static final String MODULE_PACKAGE = "se.ajpanton.statusbartweak";
|
public static final String MODULE_PACKAGE = "se.ajpanton.statusbartweak";
|
||||||
public static final String PREFS_NAME = "sbt_settings";
|
public static final String PREFS_NAME = "sbt_settings";
|
||||||
public static final String ACTION_SETTINGS_CHANGED =
|
public static final String ACTION_SETTINGS_CHANGED =
|
||||||
@@ -938,142 +967,7 @@ public final class SbtSettings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static SbtSettings defaults() {
|
public static SbtSettings defaults() {
|
||||||
return new SbtSettings(
|
return fromSource(EmptySettingsSource.INSTANCE);
|
||||||
SbtDefaults.ICONS_AOD_CUTOUT_LIMIT_DEFAULT,
|
|
||||||
SbtDefaults.ICONS_LOCK_CUTOUT_LIMIT_DEFAULT,
|
|
||||||
SbtDefaults.UNLOCKED_MAX_ICONS_PER_ROW_DEFAULT,
|
|
||||||
SbtDefaults.ICONS_AOD_MAX_ICONS_PER_ROW_DEFAULT,
|
|
||||||
SbtDefaults.ICONS_AOD_MAX_ROWS_DEFAULT,
|
|
||||||
SbtDefaults.ICONS_AOD_EVEN_DISTRIBUTION_DEFAULT,
|
|
||||||
SbtDefaults.ICONS_LOCK_MAX_ICONS_PER_ROW_DEFAULT,
|
|
||||||
SbtDefaults.ICONS_LOCK_MAX_ROWS_DEFAULT,
|
|
||||||
SbtDefaults.ICONS_LOCK_EVEN_DISTRIBUTION_DEFAULT,
|
|
||||||
SbtDefaults.CARDS_AOD_MAX_ICONS_PER_ROW_DEFAULT,
|
|
||||||
SbtDefaults.CARDS_AOD_MAX_ROWS_DEFAULT,
|
|
||||||
SbtDefaults.CARDS_AOD_EVEN_DISTRIBUTION_DEFAULT,
|
|
||||||
SbtDefaults.CARDS_AOD_LIMIT_TO_WIDTH_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CARDS_NOTIF_AOD_ICON_HEIGHT_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.CARDS_LOCK_MAX_ICONS_PER_ROW_DEFAULT,
|
|
||||||
SbtDefaults.CARDS_LOCK_MAX_ROWS_DEFAULT,
|
|
||||||
SbtDefaults.CARDS_LOCK_EVEN_DISTRIBUTION_DEFAULT,
|
|
||||||
SbtDefaults.CARDS_LOCK_LIMIT_TO_WIDTH_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CARDS_NOTIF_LOCK_ICON_HEIGHT_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.AOD_KEEP_VISIBLE_DURING_CALL_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_LOCKSCREEN_UNPLUGGED_PERCENT_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_AOD_UNPLUGGED_PERCENT_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_BAR_ENABLED_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_BAR_POSITION_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_BAR_ALIGNMENT_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_BAR_THICKNESS_DP_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_BAR_EDGE_OFFSET_DP_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_BAR_CURVED_GEOMETRY_MODE_DEFAULT,
|
|
||||||
Collections.emptySet(),
|
|
||||||
Collections.emptyMap(),
|
|
||||||
Collections.emptyMap(),
|
|
||||||
SbtDefaults.BATTERY_BAR_MIN_LEVEL_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_BAR_MAX_LEVEL_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_BAR_DEFAULT_DISCHARGE_COLOR_DEFAULT,
|
|
||||||
SbtDefaults.BATTERY_BAR_DEFAULT_CHARGE_COLOR_DEFAULT,
|
|
||||||
new ArrayList<>(),
|
|
||||||
SbtDefaults.CLOCK_ENABLED_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_ENABLED_LOCKSCREEN_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_ENABLED_UNLOCKED_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_POSITION_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_HORIZONTAL_OFFSET_PX_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_MIDDLE_CUTOUT_SIDE_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_MIDDLE_AUTO_NEAREST_SIDE_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_MIDDLE_CUTOUT_GAP_PX_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_VERTICAL_OFFSET_PX_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_TEXT_SIZE_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_TEXT_SIZE_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_SHOW_SECONDS_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_SHOW_DATE_PREFIX_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_CUSTOM_FORMAT_ENABLED_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_CUSTOM_FORMAT_DEFAULT,
|
|
||||||
SbtDefaults.DRAWER_CLOCK_CUSTOM_FORMAT_ENABLED_DEFAULT,
|
|
||||||
SbtDefaults.DRAWER_CLOCK_CUSTOM_FORMAT_DEFAULT,
|
|
||||||
SbtDefaults.DRAWER_DATE_CUSTOM_FORMAT_ENABLED_DEFAULT,
|
|
||||||
SbtDefaults.DRAWER_DATE_CUSTOM_FORMAT_DEFAULT,
|
|
||||||
SbtDefaults.CLOCK_IGNORE_UNDER_DISPLAY_CAMERAS_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_PADDING_CUTOUT_PX_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_PADDING_LEFT_PX_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_PADDING_RIGHT_PX_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_ITEM_PADDING_PX_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_PADDING_LEFT_ADD_STOCK_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_PADDING_RIGHT_ADD_STOCK_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_IGNORE_UNDER_DISPLAY_CAMERAS_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_ITEM_ORDER_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CARRIER_POSITION_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CARRIER_ENABLED_LOCKSCREEN_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CARRIER_MIDDLE_SIDE_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CARRIER_VERTICAL_OFFSET_PX_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CHIP_POSITION_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CHIP_ENABLED_UNLOCKED_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CHIP_MIDDLE_SIDE_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CHIP_VERTICAL_OFFSET_PX_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_CHIP_HEIGHT_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_POSITION_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_SORT_ORDER_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_ENABLED_AOD_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_ENABLED_LOCKSCREEN_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_ENABLED_UNLOCKED_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_MIDDLE_SIDE_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_VERTICAL_OFFSET_PX_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_ICON_HEIGHT_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_LOCK_ICON_HEIGHT_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_AOD_ICON_HEIGHT_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_UNLOCKED_COUNT_DEFAULT,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_UNLOCKED_COUNT_DEFAULT,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
SbtDefaults.LAYOUT_NOTIF_UNLOCKED_COUNT_DEFAULT,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_POSITION_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_ENABLED_AOD_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_ENABLED_LOCKSCREEN_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_ENABLED_UNLOCKED_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_MIDDLE_SIDE_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_VERTICAL_OFFSET_PX_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_ICON_HEIGHT_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_ICON_HEIGHT_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_ICON_HEIGHT_STEPS_DEFAULT,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_UNLOCKED_COUNT_DEFAULT,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_UNLOCKED_COUNT_DEFAULT,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
SbtDefaults.LAYOUT_STATUS_UNLOCKED_COUNT_DEFAULT,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
Collections.emptyMap(),
|
|
||||||
Collections.emptyMap(),
|
|
||||||
SbtDefaults.SYSTEM_ICON_DUAL_SIM_SIGNAL_MODE_DEFAULT,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
Collections.emptyMap(),
|
|
||||||
Collections.emptyMap(),
|
|
||||||
"dot",
|
|
||||||
SbtDefaults.DEBUG_VISUALIZE_NOTIFICATION_CONTAINER_DEFAULT,
|
|
||||||
SbtDefaults.DEBUG_VISUALIZE_STATUS_CONTAINER_DEFAULT,
|
|
||||||
SbtDefaults.DEBUG_VISUALIZE_CLOCK_CONTAINER_DEFAULT,
|
|
||||||
SbtDefaults.DEBUG_VISUALIZE_CHIP_CONTAINER_DEFAULT,
|
|
||||||
SbtDefaults.DEBUG_VISUALIZE_CAMERA_CUTOUT_DEFAULT,
|
|
||||||
SbtDefaults.DEBUG_VISUALIZE_AOD_STOCK_CONTAINERS_DEFAULT,
|
|
||||||
SbtDefaults.DEBUG_EXPERIMENTAL_AOD_STATUSBAR_ROOT_DEFAULT
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String sanitizeLockedNotificationMode(String mode) {
|
private static String sanitizeLockedNotificationMode(String mode) {
|
||||||
@@ -1245,7 +1139,7 @@ public final class SbtSettings {
|
|||||||
|
|
||||||
static SbtSettings fromSource(SettingsSource prefs) {
|
static SbtSettings fromSource(SettingsSource prefs) {
|
||||||
if (prefs == null) {
|
if (prefs == null) {
|
||||||
return defaults();
|
prefs = EmptySettingsSource.INSTANCE;
|
||||||
}
|
}
|
||||||
Map<String, Integer> systemIconBlockedModes = readSystemIconBlockedModes(prefs);
|
Map<String, Integer> systemIconBlockedModes = readSystemIconBlockedModes(prefs);
|
||||||
return new SbtSettings(
|
return new SbtSettings(
|
||||||
|
|||||||
@@ -17,6 +17,16 @@ public final class SbtSettingsTest {
|
|||||||
SbtSettings defaults = SbtSettings.defaults();
|
SbtSettings defaults = SbtSettings.defaults();
|
||||||
SbtSettings decoded = SbtSettings.fromSource(new MapSource());
|
SbtSettings decoded = SbtSettings.fromSource(new MapSource());
|
||||||
|
|
||||||
|
assertEquals(SbtDefaults.CLOCK_ENABLED_DEFAULT, defaults.clockEnabled);
|
||||||
|
assertEquals(SbtDefaults.CLOCK_CUSTOM_FORMAT_DEFAULT, defaults.clockCustomFormat);
|
||||||
|
assertEquals(SbtDefaults.BATTERY_BAR_POSITION_DEFAULT, defaults.batteryBarPosition);
|
||||||
|
assertEquals(SbtDefaults.BATTERY_BAR_THICKNESS_DP_DEFAULT, defaults.batteryBarThicknessDp);
|
||||||
|
assertEquals(
|
||||||
|
SbtDefaults.LAYOUT_NOTIF_UNLOCKED_COUNT_DEFAULT,
|
||||||
|
defaults.layoutNotifUnlockedCount);
|
||||||
|
assertEquals(
|
||||||
|
SbtDefaults.LAYOUT_STATUS_UNLOCKED_COUNT_DEFAULT,
|
||||||
|
defaults.layoutStatusUnlockedCount);
|
||||||
assertEquals(defaults.clockEnabled, decoded.clockEnabled);
|
assertEquals(defaults.clockEnabled, decoded.clockEnabled);
|
||||||
assertEquals(defaults.clockCustomFormat, decoded.clockCustomFormat);
|
assertEquals(defaults.clockCustomFormat, decoded.clockCustomFormat);
|
||||||
assertEquals(defaults.batteryBarPosition, decoded.batteryBarPosition);
|
assertEquals(defaults.batteryBarPosition, decoded.batteryBarPosition);
|
||||||
|
|||||||
Reference in New Issue
Block a user