Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ android {
applicationId "com.openvehicles.OVMS"
minSdk 21
targetSdk 36
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
</activity>
<activity
android:name=".ui.MainActivity"
android:theme="@style/Theme.App.WithActionBar"
android:configChanges="orientation|keyboardHidden"
android:exported="false">
</activity>
Expand All @@ -72,6 +73,7 @@

<activity
android:name=".ui.BaseFragmentActivity"
android:theme="@style/Theme.App.WithActionBar"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateAlwaysHidden" />
<activity
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/java/com/openvehicles/OVMS/BaseApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import android.content.Context
import com.maltaisn.icondialog.pack.IconPack
import com.maltaisn.icondialog.pack.IconPackLoader
import com.maltaisn.iconpack.defaultpack.createDefaultIconPack
import com.openvehicles.OVMS.ui2.misc.ThemeMode

class BaseApp : Application() {

Expand All @@ -16,6 +17,8 @@ class BaseApp : Application() {
app = this
context = applicationContext

ThemeMode.apply(this)

loadIconPack()
}

Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/com/openvehicles/OVMS/ui/ApiActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import android.os.Bundle
import android.os.IBinder
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
import com.openvehicles.OVMS.api.ApiObservable.addObserver
import com.openvehicles.OVMS.api.ApiObservable.deleteObserver
import com.openvehicles.OVMS.api.ApiObservable.notifyOnBind
Expand Down
51 changes: 40 additions & 11 deletions app/src/main/java/com/openvehicles/OVMS/ui/AuxBatteryFragment.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.openvehicles.OVMS.ui

import android.content.res.Configuration
import android.graphics.Color
import android.graphics.Paint
import android.os.Bundle
Expand All @@ -14,6 +15,8 @@ import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.core.graphics.ColorUtils
import com.github.mikephil.charting.charts.LineChart
import com.github.mikephil.charting.components.LimitLine
import com.github.mikephil.charting.components.XAxis
Expand All @@ -25,13 +28,15 @@ import com.github.mikephil.charting.formatter.DefaultAxisValueFormatter
import com.github.mikephil.charting.highlight.Highlight
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet
import com.github.mikephil.charting.listener.OnChartValueSelectedListener
import com.google.android.material.color.MaterialColors
import com.openvehicles.OVMS.R
import com.openvehicles.OVMS.entities.AuxBatteryData
import com.openvehicles.OVMS.entities.AuxBatteryData.Companion.loadFile
import com.openvehicles.OVMS.entities.CarData
import com.openvehicles.OVMS.entities.CmdSeries
import com.openvehicles.OVMS.ui.utils.ProgressOverlay
import com.openvehicles.OVMS.ui.utils.TimeAxisValueFormatter
import com.openvehicles.OVMS.ui.utils.Ui
import com.openvehicles.OVMS.utils.AppPrefs
import com.openvehicles.OVMS.utils.CarsStorage.getSelectedCarData
import java.text.SimpleDateFormat
Expand Down Expand Up @@ -65,6 +70,15 @@ class AuxBatteryFragment : BaseFragment(), CmdSeries.Listener, ProgressOverlay.O
private var carData: CarData? = null
private var cmdSeries: CmdSeries? = null
private var appPrefs: AppPrefs? = null

private var colorText = Color.WHITE
private var colorGrid = Color.GRAY
private var colorVolt = COLOR_VOLT
private var colorVoltGrid = COLOR_VOLT_GRID
private var colorTempAmbient = COLOR_TEMP_AMBIENT
private var colorTempCharger = COLOR_TEMP_CHARGER
private var colorCurrText = COLOR_CURR_TEXT
private var colorCurrGrid = COLOR_CURR_GRID

/**
* Check data model validity
Expand All @@ -89,6 +103,21 @@ class AuxBatteryFragment : BaseFragment(), CmdSeries.Listener, ProgressOverlay.O
showTemp = true
}

// Init theme colors:
val ctx = requireContext()
colorText = MaterialColors.getColor(ctx, android.R.attr.textColorPrimary, Color.WHITE)
colorGrid = ColorUtils.setAlphaComponent(colorText, 40)

val isNight = (ctx.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES
if (!isNight) {
colorVolt = Color.parseColor("#669900")
colorVoltGrid = ColorUtils.setAlphaComponent(colorVolt, 100)
colorTempAmbient = Color.parseColor("#998800")
colorTempCharger = Color.parseColor("#996600")
colorCurrText = Color.parseColor("#994444")
colorCurrGrid = ColorUtils.setAlphaComponent(colorCurrText, 100)
}

// Setup UI:
val rootView = inflater.inflate(R.layout.fragment_auxbattery, null)
val progressOverlay = createProgressOverlay(rootView, false)
Expand All @@ -115,16 +144,16 @@ class AuxBatteryFragment : BaseFragment(), CmdSeries.Listener, ProgressOverlay.O
}
})
xAxis = packChart.xAxis
xAxis.textColor = Color.WHITE
xAxis.textColor = colorText
xAxis.isGranularityEnabled = true
xAxis.setGranularity(60f) // one minute
yAxisLeft = packChart.axisLeft
yAxisLeft.textColor = COLOR_CURR_TEXT
yAxisLeft.gridColor = COLOR_CURR_GRID
yAxisLeft.textColor = colorCurrText
yAxisLeft.gridColor = colorCurrGrid
yAxisLeft.valueFormatter = DefaultAxisValueFormatter(0)
yAxisRight = packChart.axisRight
yAxisRight.textColor = COLOR_VOLT
yAxisRight.gridColor = COLOR_VOLT_GRID
yAxisRight.textColor = colorVolt
yAxisRight.gridColor = colorVoltGrid
yAxisRight.valueFormatter = DefaultAxisValueFormatter(1)
yAxisRight.setGranularity(0.1f)

Expand Down Expand Up @@ -343,7 +372,7 @@ class AuxBatteryFragment : BaseFragment(), CmdSeries.Listener, ProgressOverlay.O
if (packStatus.isNewSection(lastStatus)) {
val l = LimitLine(xpos)
l.label = timeFmt.format(packStatus.timeStamp!!)
l.textColor = Color.WHITE
l.textColor = colorText
l.textStyle = Paint.Style.FILL
l.setTextSize(6f)
l.enableDashedLine(3f, 2f, 0f)
Expand All @@ -368,7 +397,7 @@ class AuxBatteryFragment : BaseFragment(), CmdSeries.Listener, ProgressOverlay.O
)
packTempAmbientSet = dataSet
dataSet.axisDependency = YAxis.AxisDependency.LEFT
dataSet.setColor(COLOR_TEMP_AMBIENT)
dataSet.setColor(colorTempAmbient)
dataSet.setLineWidth(3f)
dataSet.setDrawCircles(false)
dataSet.setDrawValues(false)
Expand All @@ -378,7 +407,7 @@ class AuxBatteryFragment : BaseFragment(), CmdSeries.Listener, ProgressOverlay.O
LineDataSet(tempChargerValues, getString(R.string.aux_battery_data_temp_charger))
packTempChargerSet = dataSet
dataSet.axisDependency = YAxis.AxisDependency.LEFT
dataSet.setColor(COLOR_TEMP_CHARGER)
dataSet.setColor(colorTempCharger)
dataSet.setLineWidth(3f)
dataSet.setDrawCircles(false)
dataSet.setDrawValues(false)
Expand All @@ -404,7 +433,7 @@ class AuxBatteryFragment : BaseFragment(), CmdSeries.Listener, ProgressOverlay.O
dataSet = LineDataSet(voltValues, getString(R.string.aux_battery_data_volt))
packVoltSet = dataSet
dataSet.axisDependency = YAxis.AxisDependency.RIGHT
dataSet.setColor(COLOR_VOLT)
dataSet.setColor(colorVolt)
dataSet.setLineWidth(3f)
dataSet.setDrawCircles(false)
dataSet.setDrawValues(false)
Expand Down Expand Up @@ -455,7 +484,7 @@ class AuxBatteryFragment : BaseFragment(), CmdSeries.Listener, ProgressOverlay.O
// display data sets:
val data = LineData(dataSets)
packData = data
data.setValueTextColor(Color.WHITE)
data.setValueTextColor(colorText)
data.setValueTextSize(9f)
packChart.setData(data)
val xAxis = packChart.xAxis
Expand All @@ -469,7 +498,7 @@ class AuxBatteryFragment : BaseFragment(), CmdSeries.Listener, ProgressOverlay.O
}
xAxis.addLimitLine(l)
}
packChart.legend.textColor = Color.WHITE
packChart.legend.textColor = colorText
packChart.invalidate()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.content.Intent
import android.content.res.Configuration.ORIENTATION_UNDEFINED
import android.os.Bundle
import android.widget.FrameLayout
import androidx.core.view.WindowCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentTransaction.TRANSIT_FRAGMENT_FADE
import com.openvehicles.OVMS.R
Expand All @@ -19,6 +20,7 @@ class BaseFragmentActivity : ApiActivity() {
get() = supportFragmentManager.findFragmentById(contentId)

public override fun onCreate(savedInstanceState: Bundle?) {
WindowCompat.setDecorFitsSystemWindows(window, true)
super.onCreate(savedInstanceState)

if (intent == null) {
Expand Down Expand Up @@ -51,6 +53,7 @@ class BaseFragmentActivity : ApiActivity() {
private fun setDefaultContentView() {
val fl = FrameLayout(this)
fl.setId(R.id.content)
fl.fitsSystemWindows = true
setContentView(fl)
}

Expand Down
Loading