import androidx.annotation.ColorInt;
import androidx.annotation.ColorLong;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.lifecycle.MutableLiveData;
import net.ktnx.mobileledger.BuildConfig;
private static final float blueLightness = 0.665f;
private static final float yellowLightness = 0.350f;
private static final int[][] EMPTY_STATES = new int[][]{new int[0]};
+ private static final int SWIPE_COLOR_COUNT = 6;
public static @ColorInt
- int accent;
+ int secondary;
@ColorInt
public static int tableRowDarkBG;
public static int profileThemeId = -1;
public static MutableLiveData<Integer> themeWatch = new MutableLiveData<>(0);
- private static int SWIPE_COLOR_COUNT = 6;
private static int[] themeIDs =
{R.style.AppTheme_000, R.style.AppTheme_005, R.style.AppTheme_010, R.style.AppTheme_015,
R.style.AppTheme_020, R.style.AppTheme_025, R.style.AppTheme_030, R.style.AppTheme_035,
TypedValue tv = new TypedValue();
theme.resolveAttribute(R.attr.table_row_dark_bg, tv, true);
tableRowDarkBG = tv.data;
- theme.resolveAttribute(R.attr.colorAccent, tv, true);
- accent = tv.data;
+ theme.resolveAttribute(R.attr.colorSecondary, tv, true);
+ secondary = tv.data;
// trigger theme observers
themeWatch.postValue(themeWatch.getValue() + 1);
public static float baseHueLightness(int baseHueDegrees) {
switch (baseHueDegrees % 360) {
case 0:
- return 0.450f; // red
+ return 0.550f; // red
case 60:
- return 0.400f; // yellow
+ return 0.250f; // yellow
case 120:
- return 0.400f; // green
+ return 0.290f; // green
case 180:
- return 0.400f; // cyan
+ return 0.300f; // cyan
case 240:
- return 0.750f; // blue
+ return 0.710f; // blue
case 300:
- return 0.500f; // magenta
+ return 0.450f; // magenta
default:
throw new IllegalStateException(
String.format(Locale.US, "baseHueLightness called with invalid value %d",
return result;
}
public static void setupTheme(Activity activity) {
- MobileLedgerProfile profile = Data.profile.getValue();
+ MobileLedgerProfile profile = Data.getProfile();
setupTheme(activity, profile);
}
- public static void setupTheme(Activity activity, MobileLedgerProfile profile) {
+ public static void setupTheme(Activity activity, @Nullable MobileLedgerProfile profile) {
final int themeHue = (profile == null) ? -1 : profile.getThemeHue();
setupTheme(activity, themeHue);
}