Old version with non-working Camera photo download
This commit is contained in:
204
app/src/main/java/com/haussteuerung/activityDoris.java
Normal file
204
app/src/main/java/com/haussteuerung/activityDoris.java
Normal file
@@ -0,0 +1,204 @@
|
||||
package com.haussteuerung;
|
||||
|
||||
import android.app.TimePickerDialog;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.activity.EdgeToEdge;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Locale;
|
||||
|
||||
public class activityDoris extends AppCompatActivity {
|
||||
Button buttonSend, zeitBlutdruck, zeitFiebertemp;
|
||||
int hourBlutdruck = 0, minuteBlutdruck = 0, hourFiebertemp = 0, minuteFiebertemp = 0;
|
||||
static String werteBlutdruck = "";
|
||||
static String wertFiebertemp = "";
|
||||
TextView textSYS, textDIA, textFiebertemp;
|
||||
LocalDateTime datetime = LocalDateTime.now();
|
||||
DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
String formattedDate = datetime.format(dateTimeFormat);
|
||||
public static boolean pausedDoris = true;
|
||||
Gson gson = new Gson();
|
||||
String msg;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
androidx.appcompat.app.ActionBar actionBar = getSupportActionBar();
|
||||
assert actionBar != null;
|
||||
actionBar.setBackgroundDrawable(AppCompatResources.getDrawable(getApplicationContext(), R.color.black));
|
||||
|
||||
pausedDoris = false;
|
||||
|
||||
setContentView(R.layout.activity_doris);
|
||||
setTitle("Haussteuerung - Doris");
|
||||
|
||||
buttonSend = findViewById(R.id.buttonSend);
|
||||
|
||||
// Blutdruck ---------------------------------------
|
||||
zeitBlutdruck = findViewById(R.id.zeitBlutdruck);
|
||||
CheckBox checkBlutdruck = findViewById(R.id.checkBlutdruck);
|
||||
textSYS = findViewById(R.id.textSYS);
|
||||
textDIA = findViewById(R.id.textDIA);
|
||||
TextView tv_SYS = findViewById(R.id.tvSYS);
|
||||
TextView tv_DIA = findViewById(R.id.tvDIA);
|
||||
hourBlutdruck = datetime.getHour();
|
||||
minuteBlutdruck = datetime.getMinute();
|
||||
zeitBlutdruck.setText(String.format(Locale.getDefault(), "%02d:%02d", datetime.getHour(), datetime.getMinute()));
|
||||
|
||||
zeitBlutdruck.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
timePickerDialog(zeitBlutdruck);
|
||||
}
|
||||
});
|
||||
|
||||
checkBlutdruck.setOnClickListener(view -> {
|
||||
if (checkBlutdruck.isChecked()) {
|
||||
zeitBlutdruck.setEnabled(true);
|
||||
tv_SYS.setEnabled(true);
|
||||
tv_DIA.setEnabled(true);
|
||||
textSYS.setEnabled(true);
|
||||
textDIA.setEnabled(true);
|
||||
} else {
|
||||
zeitBlutdruck.setEnabled(false);
|
||||
tv_SYS.setEnabled(false);
|
||||
tv_DIA.setEnabled(false);
|
||||
textSYS.setEnabled(false);
|
||||
textDIA.setEnabled(false);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Fiebertemperatur --------------------------------
|
||||
zeitFiebertemp = findViewById(R.id.zeitFiebertemp);
|
||||
CheckBox checkFiebertemp = findViewById(R.id.checkFiebertemp);
|
||||
TextView tvFiebertemp = findViewById(R.id.tvFiebertemp);
|
||||
textFiebertemp = findViewById(R.id.textFiebertemp);
|
||||
hourFiebertemp = datetime.getHour();
|
||||
minuteFiebertemp = datetime.getMinute();
|
||||
zeitFiebertemp.setText(String.format(Locale.getDefault(), "%02d:%02d", datetime.getHour(), datetime.getMinute()));
|
||||
|
||||
zeitFiebertemp.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
timePickerDialog(zeitFiebertemp);
|
||||
}
|
||||
});
|
||||
|
||||
checkFiebertemp.setOnClickListener(view -> {
|
||||
if (checkFiebertemp.isChecked()) {
|
||||
zeitFiebertemp.setEnabled(true);
|
||||
tvFiebertemp.setEnabled(true);
|
||||
textFiebertemp.setEnabled(true);
|
||||
} else {
|
||||
zeitFiebertemp.setEnabled(false);
|
||||
tvFiebertemp.setEnabled(false);
|
||||
textFiebertemp.setEnabled(false);
|
||||
}
|
||||
});
|
||||
|
||||
// Send-Button -------------------------------------
|
||||
|
||||
buttonSend.setOnClickListener(view -> {
|
||||
boolean setBlutdruck = false;
|
||||
if (checkBlutdruck.isChecked() && (textSYS.getText().length() == 0 || textDIA.getText().length() == 0)) {
|
||||
Toast.makeText(activityDoris.this, "Bitte alle Blutdruck-Werte ausfüllen!", Toast.LENGTH_LONG).show();
|
||||
} else if (checkBlutdruck.isChecked() && (textSYS.getText().length() > 0 || textDIA.getText().length() > 0)) {
|
||||
String hour = Integer.toString(hourBlutdruck);
|
||||
String minute = Integer.toString(minuteBlutdruck);
|
||||
String sys = textSYS.getText().toString();
|
||||
String dia = textDIA.getText().toString();
|
||||
werteBlutdruck = "{\"DeviceID\":\"" + MainActivity.ID + "\", \"Datum\":" + "\"" + formattedDate + " " + hour + ":" + minute + ":00" + "\"," + "\"SYS\":" + "\"" + sys + "\"," + "\"DIA\":" + "\"" + dia + "\"}";
|
||||
Log.d("Doris", werteBlutdruck);
|
||||
MqttClient.publish("cmnd/Haussteuerung/Doris/Blutdruck", werteBlutdruck);
|
||||
setBlutdruck = true;
|
||||
}
|
||||
|
||||
boolean setFiebertemp = false;
|
||||
if (checkFiebertemp.isChecked() && (textFiebertemp.getText().length() == 0)) {
|
||||
Toast.makeText(activityDoris.this, "Bitte einen Temperaturwert eingeben!", Toast.LENGTH_LONG).show();
|
||||
} else if (checkFiebertemp.isChecked() && (textFiebertemp.getText().length() > 0)) {
|
||||
String formattedDate = datetime.format(dateTimeFormat);
|
||||
String hour = Integer.toString(hourFiebertemp);
|
||||
String minute = Integer.toString(minuteFiebertemp);
|
||||
String fiebertemp = textFiebertemp.getText().toString();
|
||||
msg = gson.toJson(new Temperatur(MainActivity.ID, formattedDate + " " + hour + ":" + minute + ":00", fiebertemp));
|
||||
MqttClient.publish("cmnd/Haussteuerung/Doris/Temperatur", msg);
|
||||
// wertFiebertemp = "{\"DeviceID\":\"" + MainActivity.ID + "\", \"Datum\":" + "\"" + formattedDate + " " + hour + ":" + minute + ":00" + "\"," + "\"Temperatur\": " + "\"" + fiebertemp + "\"}";
|
||||
Log.d("Doris", msg);
|
||||
// MqttClient.publish("cmnd/Haussteuerung/Doris/Temperatur", wertFiebertemp);
|
||||
setFiebertemp = true;
|
||||
}
|
||||
if (setBlutdruck || setFiebertemp) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void timePickerDialog(Button button) {
|
||||
LocalTime localTime = LocalTime.parse(button.getText());
|
||||
int hour = localTime.getHour();
|
||||
int minute = localTime.getMinute();
|
||||
TimePickerDialog.OnTimeSetListener onTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
|
||||
@Override
|
||||
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
|
||||
button.setText(String.format(Locale.getDefault(), "%02d:%02d", selectedHour, selectedMinute));
|
||||
}
|
||||
};
|
||||
TimePickerDialog timePickerDialog = new TimePickerDialog(this, onTimeSetListener, hour, minute, true);
|
||||
timePickerDialog.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
pausedDoris = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
pausedDoris = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
pausedDoris = true;
|
||||
}
|
||||
}
|
||||
|
||||
class Temperatur {
|
||||
@SerializedName("DeviceID")
|
||||
private final String deviceId;
|
||||
@SerializedName("Datum")
|
||||
private final String datum;
|
||||
@SerializedName("Temperatur")
|
||||
private final String temperatur;
|
||||
|
||||
|
||||
public Temperatur(String deviceId, String datum, String temperatur) {
|
||||
this.deviceId = deviceId;
|
||||
this.datum = datum;
|
||||
this.temperatur = temperatur;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user