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 PREFS_NAME = "sbt_settings";
|
||||
public static final String ACTION_SETTINGS_CHANGED =
|
||||
@@ -938,142 +967,7 @@ public final class SbtSettings {
|
||||
}
|
||||
|
||||
public static SbtSettings defaults() {
|
||||
return new SbtSettings(
|
||||
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
|
||||
);
|
||||
return fromSource(EmptySettingsSource.INSTANCE);
|
||||
}
|
||||
|
||||
private static String sanitizeLockedNotificationMode(String mode) {
|
||||
@@ -1245,7 +1139,7 @@ public final class SbtSettings {
|
||||
|
||||
static SbtSettings fromSource(SettingsSource prefs) {
|
||||
if (prefs == null) {
|
||||
return defaults();
|
||||
prefs = EmptySettingsSource.INSTANCE;
|
||||
}
|
||||
Map<String, Integer> systemIconBlockedModes = readSystemIconBlockedModes(prefs);
|
||||
return new SbtSettings(
|
||||
|
||||
@@ -17,6 +17,16 @@ public final class SbtSettingsTest {
|
||||
SbtSettings defaults = SbtSettings.defaults();
|
||||
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.clockCustomFormat, decoded.clockCustomFormat);
|
||||
assertEquals(defaults.batteryBarPosition, decoded.batteryBarPosition);
|
||||
|
||||
Reference in New Issue
Block a user