diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index f0ac5f86d52a5644f258aadb3bb2e2b992a82ca6..ac9fc8ac2c8586db6b47b0c96f7d2c0fd44b3f5e 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -14,10 +14,6 @@ android:supportsRtl="true" android:theme="@style/AppTheme"> <activity - android:name=".control.SettingsActivity" - android:label="@string/title_activity_settings"> - </activity> - adb<activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> diff --git a/main/java/com/example/hbox/history/ChartListViewAdapter.kt b/main/java/com/example/hbox/history/ChartListViewAdapter.kt index 67dc518046b44063b7c6ab358146f8a1d8c53c44..baa351c7ec6e6c1147e918dc48dd5e7da91d80bc 100644 --- a/main/java/com/example/hbox/history/ChartListViewAdapter.kt +++ b/main/java/com/example/hbox/history/ChartListViewAdapter.kt @@ -2,14 +2,14 @@ package com.history import android.annotation.SuppressLint import android.content.Context -import android.graphics.Color -import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.BaseAdapter +import com.example.hbox.history.axisStyler.HumidityAxisStyler import com.example.hbox.history.axisStyler.TemperatureAxisStyler -import com.example.hbox.history.dataSetStyler.TemperaturDataSetStyler +import com.example.hbox.history.dataSetStyler.HumidityDataSetStyler +import com.example.hbox.history.dataSetStyler.TemperatureDataSetStyler import com.example.hbox.history.limitLinesFormatter.WeekdayLimitLinesCreator import com.github.mikephil.charting.charts.LineChart import com.github.mikephil.charting.data.Entry @@ -33,15 +33,29 @@ class ChartListViewAdapter(private val context: Context, private val sensorList: sensorList[position].data?.forEach { entries.add(Entry(it.date.toFloat(), it.value)) } - - // style dataset val lineDataSet = LineDataSet(entries, sensorList[position].name) - TemperaturDataSetStyler.styleDataSet(lineDataSet) - // style axis - TemperatureAxisStyler.styleXAxis(view.xAxis) - TemperatureAxisStyler.styleYAxisLeft(view.axisLeft) - TemperatureAxisStyler.styleYAxisRight(view.axisRight) + when(sensorList[position].type) { + "temperature" -> { + // style dataset + TemperatureDataSetStyler.styleDataSet(lineDataSet) + + // style axis + TemperatureAxisStyler.styleXAxis(view.xAxis) + TemperatureAxisStyler.styleYAxisLeft(view.axisLeft) + TemperatureAxisStyler.styleYAxisRight(view.axisRight) + } + "humidity" -> { + // style dataset + HumidityDataSetStyler.styleDataSet(lineDataSet) + + // style axis + HumidityAxisStyler.styleXAxis(view.xAxis) + HumidityAxisStyler.styleYAxisLeft(view.axisLeft) + HumidityAxisStyler.styleYAxisRight(view.axisRight) + } + } + // add weekdays WeekdayLimitLinesCreator.create(view.xAxis, sensorList[position]) diff --git a/main/java/com/example/hbox/history/HistoryFragment.kt b/main/java/com/example/hbox/history/HistoryFragment.kt index 34d48b26fe77513c840b68decc83bde0f6884c6f..62cc123a2b9cf76311ecbfc15524b3f6d9a759d4 100644 --- a/main/java/com/example/hbox/history/HistoryFragment.kt +++ b/main/java/com/example/hbox/history/HistoryFragment.kt @@ -13,7 +13,6 @@ import com.google.gson.Gson import com.history.ChartListViewAdapter import com.history.History import com.history.Sensor -import org.json.JSONObject import java.net.HttpURLConnection import java.net.URL diff --git a/main/java/com/example/hbox/history/axisFormatter/HumidityFormatter.kt b/main/java/com/example/hbox/history/axisFormatter/HumidityFormatter.kt new file mode 100644 index 0000000000000000000000000000000000000000..18684f9c21fc02e234af9a609a9fda6095c8de33 --- /dev/null +++ b/main/java/com/example/hbox/history/axisFormatter/HumidityFormatter.kt @@ -0,0 +1,14 @@ +package com.example.hbox.history.axisFormatter + +import com.github.mikephil.charting.components.AxisBase +import com.github.mikephil.charting.formatter.IAxisValueFormatter +import java.text.DecimalFormat + +class HumidityFormatter : IAxisValueFormatter { + override fun getFormattedValue(value: Float, axis: AxisBase?): String { + + val df = DecimalFormat("#") + //df.roundingMode = RoundingMode.CEILING + return df.format(value) + " %" + } +} \ No newline at end of file diff --git a/main/java/com/example/hbox/history/axisFormatter/NullDigitsFormatter.kt b/main/java/com/example/hbox/history/axisFormatter/TemperatureFormatter.kt similarity index 79% rename from main/java/com/example/hbox/history/axisFormatter/NullDigitsFormatter.kt rename to main/java/com/example/hbox/history/axisFormatter/TemperatureFormatter.kt index c55ca475c3c888b667e3d7df2c5b0737ea1b3ecb..be3896d6143c0abb7eee503b9c1adbc41446c0c7 100644 --- a/main/java/com/example/hbox/history/axisFormatter/NullDigitsFormatter.kt +++ b/main/java/com/example/hbox/history/axisFormatter/TemperatureFormatter.kt @@ -2,10 +2,9 @@ package com.example.hbox.history.axisFormatter import com.github.mikephil.charting.components.AxisBase import com.github.mikephil.charting.formatter.IAxisValueFormatter -import com.github.mikephil.charting.utils.ColorTemplate import java.text.DecimalFormat -class NullDigitsFormatter : IAxisValueFormatter { +class TemperatureFormatter : IAxisValueFormatter { override fun getFormattedValue(value: Float, axis: AxisBase?): String { val df = DecimalFormat("#") diff --git a/main/java/com/example/hbox/history/axisStyler/HumidityAxisStyler.kt b/main/java/com/example/hbox/history/axisStyler/HumidityAxisStyler.kt new file mode 100644 index 0000000000000000000000000000000000000000..d1fdef9f0f29f3b39a7f69c67c698b7f7d7ba42b --- /dev/null +++ b/main/java/com/example/hbox/history/axisStyler/HumidityAxisStyler.kt @@ -0,0 +1,46 @@ +package com.example.hbox.history.axisStyler + +import android.graphics.Color +import com.example.hbox.history.axisFormatter.HumidityFormatter +import com.example.hbox.history.axisFormatter.TemperatureFormatter +import com.example.hbox.history.axisFormatter.TimeFormatter +import com.github.mikephil.charting.components.XAxis +import com.github.mikephil.charting.components.YAxis + +class HumidityAxisStyler { + companion object { + fun styleXAxis(xAxis: XAxis) : XAxis { + xAxis.position = XAxis.XAxisPosition.BOTTOM + return xAxis.apply { + valueFormatter = TimeFormatter() + setDrawAxisLine(false) + setDrawGridLines(false) + setDrawLimitLinesBehindData(true) + textSize = 14f + } + } + + fun styleYAxisRight(yAxis: YAxis) : YAxis { + return yAxis.apply { + setDrawAxisLine(false) + setDrawLabels(false) + setDrawGridLines(false) + } + } + + fun styleYAxisLeft(yAxis: YAxis) : YAxis { + return yAxis.apply { + setDrawAxisLine(false) + textSize = 14f + valueFormatter = HumidityFormatter() + axisMinimum = 20f + axisMaximum = 90f + setDrawGridLines(true) + gridColor = Color.DKGRAY + setLabelCount(8,true) + + } + } + } + +} \ No newline at end of file diff --git a/main/java/com/example/hbox/history/axisStyler/TemperatureAxisStyler.kt b/main/java/com/example/hbox/history/axisStyler/TemperatureAxisStyler.kt index e0ad55d5517a099d429cf80705c620b4147ddcae..c59c30585b7fa0992f039da53bd1982b55f0382d 100644 --- a/main/java/com/example/hbox/history/axisStyler/TemperatureAxisStyler.kt +++ b/main/java/com/example/hbox/history/axisStyler/TemperatureAxisStyler.kt @@ -1,7 +1,7 @@ package com.example.hbox.history.axisStyler import android.graphics.Color -import com.example.hbox.history.axisFormatter.NullDigitsFormatter +import com.example.hbox.history.axisFormatter.TemperatureFormatter import com.example.hbox.history.axisFormatter.TimeFormatter import com.github.mikephil.charting.components.XAxis import com.github.mikephil.charting.components.YAxis @@ -31,7 +31,7 @@ class TemperatureAxisStyler { return yAxis.apply { setDrawAxisLine(false) textSize = 14f - valueFormatter = NullDigitsFormatter() + valueFormatter = TemperatureFormatter() axisMinimum = 16f axisMaximum = 32f setDrawGridLines(true) diff --git a/main/java/com/example/hbox/history/dataSetStyler/HumidityDataSetStyler.kt b/main/java/com/example/hbox/history/dataSetStyler/HumidityDataSetStyler.kt new file mode 100644 index 0000000000000000000000000000000000000000..c7c147501d6903912504b19bbf19b1c1314fcdc8 --- /dev/null +++ b/main/java/com/example/hbox/history/dataSetStyler/HumidityDataSetStyler.kt @@ -0,0 +1,21 @@ +package com.example.hbox.history.dataSetStyler + +import android.graphics.Color +import com.github.mikephil.charting.data.LineDataSet + +class HumidityDataSetStyler { + companion object { + fun styleDataSet (lineDataSet : LineDataSet) : LineDataSet { + return lineDataSet.apply{ + lineWidth = 0f + color = Color.argb(255,15,15,255) + fillColor = Color.argb(255,15,15,255) + fillAlpha = 100 + mode = LineDataSet.Mode.CUBIC_BEZIER + setDrawFilled(true) + setDrawCircles(false) + setDrawValues(false) + } + } + } +} \ No newline at end of file diff --git a/main/java/com/example/hbox/history/dataSetStyler/TemperaturDataSetStyler.kt b/main/java/com/example/hbox/history/dataSetStyler/TemperatureDataSetStyler.kt similarity index 94% rename from main/java/com/example/hbox/history/dataSetStyler/TemperaturDataSetStyler.kt rename to main/java/com/example/hbox/history/dataSetStyler/TemperatureDataSetStyler.kt index 758918e997a22814e61d2230c9962b4dabed488b..8d26bb187c018153027af6813e20dc3c68b6c990 100644 --- a/main/java/com/example/hbox/history/dataSetStyler/TemperaturDataSetStyler.kt +++ b/main/java/com/example/hbox/history/dataSetStyler/TemperatureDataSetStyler.kt @@ -3,7 +3,7 @@ package com.example.hbox.history.dataSetStyler import android.graphics.Color import com.github.mikephil.charting.data.LineDataSet -class TemperaturDataSetStyler { +class TemperatureDataSetStyler { companion object { fun styleDataSet (lineDataSet : LineDataSet) : LineDataSet { return lineDataSet.apply{