import android.app.Activity;
import android.content.res.Resources;
-import android.util.Log;
import android.util.TypedValue;
import net.ktnx.mobileledger.R;
import androidx.annotation.ColorInt;
import androidx.annotation.ColorLong;
+import androidx.lifecycle.MutableLiveData;
import static java.lang.Math.abs;
+import static net.ktnx.mobileledger.utils.Logger.debug;
public class Colors {
public static final int DEFAULT_HUE_DEG = 261;
@ColorInt
public static int primary, defaultTextColor;
public static int profileThemeId = -1;
- public static ObservableValue<Integer> themeWatch = new ObservableValue<>(0);
+ public static MutableLiveData<Integer> themeWatch = new MutableLiveData<>(0);
public static void refreshColors(Resources.Theme theme) {
TypedValue tv = new TypedValue();
theme.resolveAttribute(R.attr.table_row_dark_bg, tv, true);
accent = tv.data;
// trigger theme observers
- themeWatch.notifyObservers();
+ themeWatch.postValue(themeWatch.getValue()+1);
}
public static @ColorLong
long hsvaColor(float hue, float saturation, float value, float alpha) {
float l = yellowLightness + (blueLightness - yellowLightness) *
(float) Math.cos(Math.toRadians(Math.abs(180 - y) / 2f));
int result = hslColor(hueDegrees/360f, 0.845f, l);
- Log.d("colors", String.format("getPrimaryColorForHue(%d) = %x", hueDegrees, result));
+ debug("colors", String.format("getPrimaryColorForHue(%d) = %x", hueDegrees, result));
return result;
}
public static void setupTheme(Activity activity) {
break;
default:
activity.setTheme(R.style.AppTheme_NoActionBar);
- Log.d("profiles",
+ debug("profiles",
String.format("Theme hue %d not supported, using the default", themeId));
}