AndroidAPS/wear/src/main/java/info/nightscout/androidaps/Home.java

151 lines
6.8 KiB
Java
Raw Normal View History

2016-11-17 15:17:02 +01:00
package info.nightscout.androidaps;
import android.graphics.Color;
import android.support.v4.content.ContextCompat;
2016-11-27 03:48:03 +01:00
import android.support.wearable.watchface.WatchFaceStyle;
2016-11-17 15:17:02 +01:00
import android.view.LayoutInflater;
2016-11-25 21:29:46 +01:00
import com.ustwo.clockwise.common.WatchMode;
2016-11-17 15:17:02 +01:00
public class Home extends BaseWatchFace {
2016-11-27 03:48:03 +01:00
private long chartTapTime = 0;
2016-11-17 15:17:02 +01:00
@Override
public void onCreate() {
super.onCreate();
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
layoutView = inflater.inflate(R.layout.activity_home, null);
performViewSetup();
}
2016-11-27 03:48:03 +01:00
@Override
protected void onTapCommand(int tapType, int x, int y, long eventTime) {
if (tapType == TAP_TYPE_TAP&&
x >=chart.getLeft() &&
x <= chart.getRight()&&
y >= chart.getTop() &&
y <= chart.getBottom()){
if (eventTime - chartTapTime < 800){
changeChartTimeframe();
}
chartTapTime = eventTime;
}
}
private void changeChartTimeframe() {
int timeframe = Integer.parseInt(sharedPrefs.getString("chart_timeframe", "3"));
timeframe = (timeframe%5) + 1;
sharedPrefs.edit().putString("chart_timeframe", "" + timeframe).commit();
}
protected void onWatchModeChanged(WatchMode watchMode) {
if (! sharedPrefs.getBoolean("dark", true)){
//in bright mode: different colours if active:
setColor();
} else {
//TODO: Handle low bit ambient
}
}
@Override
protected WatchFaceStyle getWatchFaceStyle(){
return new WatchFaceStyle.Builder(this).setAcceptsTapEvents(true).build();
}
2016-11-17 15:17:02 +01:00
protected void setColorDark() {
mLinearLayout.setBackgroundColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_statusView));
mTime.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_mTime));
2016-11-26 07:05:12 +01:00
mRelativeLayout.setBackgroundColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_background));
2016-11-17 15:17:02 +01:00
if (sgvLevel == 1) {
mSgv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_highColor));
mDelta.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_highColor));
mDirection.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_highColor));
2016-11-17 15:17:02 +01:00
} else if (sgvLevel == 0) {
mSgv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_midColor));
mDelta.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_midColor));
mDirection.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_midColor));
2016-11-17 15:17:02 +01:00
} else if (sgvLevel == -1) {
mSgv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_lowColor));
mDelta.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_lowColor));
mDirection.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_lowColor));
2016-11-17 15:17:02 +01:00
}
2016-11-17 15:17:02 +01:00
if (ageLevel == 1) {
mTimestamp.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_mTimestamp1_home));
2016-11-17 15:17:02 +01:00
} else {
mTimestamp.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_mTimestamp));
2016-11-17 15:17:02 +01:00
}
if (batteryLevel == 1) {
2016-11-26 07:05:12 +01:00
mUploaderBattery.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_uploaderBattery));
2016-11-17 15:17:02 +01:00
} else {
2016-11-26 07:05:12 +01:00
mUploaderBattery.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_uploaderBatteryEmpty));
2016-11-17 15:17:02 +01:00
}
mStatus.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.dark_mStatus_home));
2016-11-17 15:17:02 +01:00
if (chart != null) {
highColor = ContextCompat.getColor(getApplicationContext(), R.color.dark_highColor);
lowColor = ContextCompat.getColor(getApplicationContext(), R.color.dark_lowColor);
midColor = ContextCompat.getColor(getApplicationContext(), R.color.dark_midColor);
2016-11-27 03:48:03 +01:00
gridColor = ContextCompat.getColor(getApplicationContext(), R.color.dark_gridColor);
2016-11-17 15:17:02 +01:00
singleLine = false;
pointSize = 2;
setupCharts();
}
}
protected void setColorBright() {
if (getCurrentWatchMode() == WatchMode.INTERACTIVE) {
2016-11-26 07:05:12 +01:00
mLinearLayout.setBackgroundColor(ContextCompat.getColor(getApplicationContext(), R.color.light_stripe_background));
mRelativeLayout.setBackgroundColor(ContextCompat.getColor(getApplicationContext(), R.color.light_background));
2016-11-17 15:17:02 +01:00
if (sgvLevel == 1) {
mSgv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.light_highColor));
mDelta.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.light_highColor));
mDirection.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.light_highColor));
2016-11-17 15:17:02 +01:00
} else if (sgvLevel == 0) {
mSgv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.light_midColor));
mDelta.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.light_midColor));
mDirection.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.light_midColor));
2016-11-17 15:17:02 +01:00
} else if (sgvLevel == -1) {
mSgv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.light_lowColor));
mDelta.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.light_lowColor));
mDirection.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.light_lowColor));
2016-11-17 15:17:02 +01:00
}
if (ageLevel == 1) {
mTimestamp.setTextColor(Color.WHITE);
} else {
mTimestamp.setTextColor(Color.RED);
}
if (batteryLevel == 1) {
mUploaderBattery.setTextColor(Color.WHITE);
} else {
mUploaderBattery.setTextColor(Color.RED);
}
mStatus.setTextColor(Color.WHITE);
mTime.setTextColor(Color.BLACK);
if (chart != null) {
highColor = ContextCompat.getColor(getApplicationContext(), R.color.light_highColor);
lowColor = ContextCompat.getColor(getApplicationContext(), R.color.light_lowColor);
midColor = ContextCompat.getColor(getApplicationContext(), R.color.light_midColor);
2016-11-27 03:48:03 +01:00
gridColor = ContextCompat.getColor(getApplicationContext(), R.color.light_gridColor);
2016-11-17 15:17:02 +01:00
singleLine = false;
pointSize = 2;
setupCharts();
}
} else {
2016-11-27 03:48:03 +01:00
setColorDark();
2016-11-17 15:17:02 +01:00
}
}
2016-11-27 03:48:03 +01:00
}