From 7875271b7eb7f199b105f59ff886518ae5885c1a Mon Sep 17 00:00:00 2001 From: Avior Date: Mon, 16 Jan 2023 10:15:49 +0100 Subject: [PATCH] feat: Moved from in chart to the library one --- app/build.gradle.kts | 4 +- app/libs/samsung-health-data-1.5.0.aar | Bin 244120 -> 0 bytes .../dzeio/openhealth/adapters/FoodAdapter.kt | 8 + .../com/dzeio/openhealth/data/food/Food.kt | 12 +- .../data/openfoodfact/OFFProduct.kt | 2 +- .../dzeio/openhealth/graphs/WeightChart.kt | 8 +- .../ui/food/SearchFoodDialogViewModel.kt | 8 +- .../dzeio/openhealth/ui/home/HomeFragment.kt | 5 +- .../openhealth/ui/steps/StepsHomeFragment.kt | 52 +----- .../openhealth/ui/water/WaterHomeFragment.kt | 63 ++++--- .../utils/{GraphUtils.kt => ChartUtils.kt} | 70 +++++++- .../res/layout/fragment_main_water_home.xml | 2 +- charts/.gitignore | 1 - charts/README.md | 3 - charts/build.gradle.kts | 34 ---- charts/consumer-rules.pro | 0 charts/proguard-rules.pro | 21 --- .../dzeio/charts/ExampleInstrumentedTest.kt | 24 --- charts/src/main/AndroidManifest.xml | 2 - .../main/java/com/dzeio/charts/Animation.kt | 66 -------- .../main/java/com/dzeio/charts/ChartView.kt | 150 ---------------- .../com/dzeio/charts/ChartViewInterface.kt | 47 ----- .../src/main/java/com/dzeio/charts/Entry.kt | 10 -- .../main/java/com/dzeio/charts/axis/XAxis.kt | 125 -------------- .../com/dzeio/charts/axis/XAxisInterface.kt | 84 --------- .../main/java/com/dzeio/charts/axis/YAxis.kt | 145 ---------------- .../com/dzeio/charts/axis/YAxisInterface.kt | 85 ---------- .../com/dzeio/charts/axis/YAxisPosition.kt | 11 -- .../dzeio/charts/components/ChartScroll.kt | 144 ---------------- .../java/com/dzeio/charts/series/BarSerie.kt | 125 -------------- .../com/dzeio/charts/series/BarSerie.kt.old | 160 ------------------ .../java/com/dzeio/charts/series/BaseSerie.kt | 47 ----- .../java/com/dzeio/charts/series/LineSerie.kt | 74 -------- .../com/dzeio/charts/series/SerieInterface.kt | 41 ----- .../com/dzeio/charts/utils/CanvasUtils.kt | 144 ---------------- .../java/com/dzeio/charts/ExampleUnitTest.kt | 17 -- gradlew | 0 settings.gradle | 1 - 38 files changed, 140 insertions(+), 1655 deletions(-) delete mode 100644 app/libs/samsung-health-data-1.5.0.aar rename app/src/main/java/com/dzeio/openhealth/utils/{GraphUtils.kt => ChartUtils.kt} (60%) delete mode 100644 charts/.gitignore delete mode 100644 charts/README.md delete mode 100644 charts/build.gradle.kts delete mode 100644 charts/consumer-rules.pro delete mode 100644 charts/proguard-rules.pro delete mode 100644 charts/src/androidTest/java/com/dzeio/charts/ExampleInstrumentedTest.kt delete mode 100644 charts/src/main/AndroidManifest.xml delete mode 100644 charts/src/main/java/com/dzeio/charts/Animation.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/ChartView.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/ChartViewInterface.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/Entry.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/axis/XAxis.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/axis/XAxisInterface.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/axis/YAxis.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/axis/YAxisInterface.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/axis/YAxisPosition.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/components/ChartScroll.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/series/BarSerie.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/series/BarSerie.kt.old delete mode 100644 charts/src/main/java/com/dzeio/charts/series/BaseSerie.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/series/LineSerie.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/series/SerieInterface.kt delete mode 100644 charts/src/main/java/com/dzeio/charts/utils/CanvasUtils.kt delete mode 100644 charts/src/test/java/com/dzeio/charts/ExampleUnitTest.kt mode change 100644 => 100755 gradlew diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 871ff0b..cc6305e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -130,7 +130,7 @@ android { dependencies { // Dzeio Charts - implementation(project(":charts")) + implementation("com.dzeio:charts:edd78e87e1") // Dzeio Crash Handler implementation("com.dzeio:crashhandler:1.0.1") @@ -139,7 +139,7 @@ dependencies { implementation("androidx.core:core-ktx:1.9.0") implementation("androidx.appcompat:appcompat:1.7.0-alpha01") implementation("javax.inject:javax.inject:1") - implementation("com.google.android.material:material:1.8.0-beta01") + implementation("com.google.android.material:material:1.8.0-rc01") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.5.1") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1") diff --git a/app/libs/samsung-health-data-1.5.0.aar b/app/libs/samsung-health-data-1.5.0.aar deleted file mode 100644 index e4f8cf6831fc65dd8f03b7ca426ae497ada7231f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244120 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 z 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

|Z3UGW?Y{%8IVA!zo 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 diff --git a/app/src/main/java/com/dzeio/openhealth/adapters/FoodAdapter.kt b/app/src/main/java/com/dzeio/openhealth/adapters/FoodAdapter.kt index 6452f47..1ae4b3c 100644 --- a/app/src/main/java/com/dzeio/openhealth/adapters/FoodAdapter.kt +++ b/app/src/main/java/com/dzeio/openhealth/adapters/FoodAdapter.kt @@ -8,6 +8,9 @@ import com.dzeio.openhealth.core.BaseViewHolder import com.dzeio.openhealth.data.food.Food import com.dzeio.openhealth.databinding.ItemFoodBinding import com.dzeio.openhealth.utils.DownloadImageTask +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch import kotlin.math.roundToInt @@ -23,6 +26,11 @@ class FoodAdapter : BaseAdapter() { item: Food, position: Int ) { + + CoroutineScope(Dispatchers.IO).launch { + + } + // Download remote picture DownloadImageTask(holder.binding.productImage).execute(item.image) diff --git a/app/src/main/java/com/dzeio/openhealth/data/food/Food.kt b/app/src/main/java/com/dzeio/openhealth/data/food/Food.kt index 3c6c063..8a7b615 100644 --- a/app/src/main/java/com/dzeio/openhealth/data/food/Food.kt +++ b/app/src/main/java/com/dzeio/openhealth/data/food/Food.kt @@ -1,5 +1,6 @@ package com.dzeio.openhealth.data.food +import android.util.Log import androidx.room.Entity import androidx.room.PrimaryKey import com.dzeio.openhealth.data.openfoodfact.OFFProduct @@ -63,7 +64,11 @@ data class Food( /** * Transform an OpenFoodFact product to use for our Database */ - fun fromOpenFoodFact(food: OFFProduct, quantity: Float? = null): Food { + fun fromOpenFoodFact(food: OFFProduct, quantity: Float? = null): Food? { + // filter out foods that we can't use in the app + if (food.name == null || ((food.servingSize == null || food.servingSize == "") && (food.quantity == null || food.quantity == "") && food.servingQuantity == null && food.productQuantity == null)) { + return null + } // try to know how much was eaten by the user if not said var eaten = quantity ?: food.servingQuantity ?: food.productQuantity ?: 0f @@ -72,10 +77,13 @@ data class Food( eaten = food.servingQuantity!! } else if (food.productQuantity != null && food.productQuantity != 0f) { eaten = food.productQuantity!! + } else if (food.servingSize != null || food.quantity != null) { + Log.d("pouet", ".${food.servingSize ?: food.quantity}. .${(food.servingSize ?: food.quantity)!!.replace(Regex(" +\\w+$"), "")}. ${food}") + eaten = (food.servingSize ?: food.quantity)!!.trim().replace(Regex(" +\\w+$"), "").toInt().toFloat() } } return Food( - name = food.name, + name = food.name!!, // do some slight edit on the serving to remove strange entries like `100 g` serving = (food.servingSize ?: food.quantity ?: "unknown").replace(Regex(" +"), ""), quantity = eaten, diff --git a/app/src/main/java/com/dzeio/openhealth/data/openfoodfact/OFFProduct.kt b/app/src/main/java/com/dzeio/openhealth/data/openfoodfact/OFFProduct.kt index 1c44dfc..60a33a7 100644 --- a/app/src/main/java/com/dzeio/openhealth/data/openfoodfact/OFFProduct.kt +++ b/app/src/main/java/com/dzeio/openhealth/data/openfoodfact/OFFProduct.kt @@ -13,7 +13,7 @@ data class OFFProduct( * the product name */ @SerializedName("product_name") - var name: String, + var name: String?, /** * the size of a serving diff --git a/app/src/main/java/com/dzeio/openhealth/graphs/WeightChart.kt b/app/src/main/java/com/dzeio/openhealth/graphs/WeightChart.kt index 6f239fd..3a23150 100644 --- a/app/src/main/java/com/dzeio/openhealth/graphs/WeightChart.kt +++ b/app/src/main/java/com/dzeio/openhealth/graphs/WeightChart.kt @@ -4,7 +4,7 @@ import android.graphics.Color import android.view.View import com.dzeio.openhealth.data.weight.Weight import com.dzeio.openhealth.units.Units -import com.dzeio.openhealth.utils.GraphUtils +import com.dzeio.openhealth.utils.ChartUtils import com.github.mikephil.charting.charts.LineChart import com.github.mikephil.charting.components.LimitLine import com.github.mikephil.charting.components.YAxis @@ -29,7 +29,7 @@ object WeightChart { goal: Float?, limit: Boolean = true ) { - GraphUtils.lineChartSetup( + ChartUtils.lineChartSetup( chart, MaterialColors.getColor( view, @@ -84,7 +84,7 @@ object WeightChart { ) } - val rawData = GraphUtils.lineDataSet( + val rawData = ChartUtils.lineDataSet( LineDataSet( data.mapIndexed { _, weight -> return@mapIndexed Entry( @@ -98,7 +98,7 @@ object WeightChart { axisDependency = YAxis.AxisDependency.RIGHT } - val averageData = GraphUtils.lineDataSet(LineDataSet(averageYs, "Average")).apply { + val averageData = ChartUtils.lineDataSet(LineDataSet(averageYs, "Average")).apply { axisDependency = YAxis.AxisDependency.RIGHT color = Color.GREEN } diff --git a/app/src/main/java/com/dzeio/openhealth/ui/food/SearchFoodDialogViewModel.kt b/app/src/main/java/com/dzeio/openhealth/ui/food/SearchFoodDialogViewModel.kt index 0ccd279..f2179d7 100644 --- a/app/src/main/java/com/dzeio/openhealth/ui/food/SearchFoodDialogViewModel.kt +++ b/app/src/main/java/com/dzeio/openhealth/ui/food/SearchFoodDialogViewModel.kt @@ -8,6 +8,7 @@ import com.dzeio.openhealth.data.food.FoodRepository import com.dzeio.openhealth.data.openfoodfact.OpenFoodFactService import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch +import java.util.ArrayList import javax.inject.Inject @HiltViewModel @@ -23,9 +24,10 @@ class SearchFoodDialogViewModel @Inject internal constructor( val product = response.body() if (product != null) { - items.postValue(product.products - .filter { it.name != null } - .map { Food.fromOpenFoodFact(it) } + items.postValue( + product.products + .map { Food.fromOpenFoodFact(it) } + .filter { it != null } as List ) } } diff --git a/app/src/main/java/com/dzeio/openhealth/ui/home/HomeFragment.kt b/app/src/main/java/com/dzeio/openhealth/ui/home/HomeFragment.kt index 9199d7c..d0e9dda 100644 --- a/app/src/main/java/com/dzeio/openhealth/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/dzeio/openhealth/ui/home/HomeFragment.kt @@ -17,7 +17,7 @@ import com.dzeio.openhealth.graphs.WeightChart import com.dzeio.openhealth.ui.weight.WeightDialog import com.dzeio.openhealth.units.Units import com.dzeio.openhealth.utils.DrawUtils -import com.dzeio.openhealth.utils.GraphUtils +import com.dzeio.openhealth.utils.ChartUtils import com.google.android.material.color.MaterialColors import dagger.hilt.android.AndroidEntryPoint import kotlin.math.max @@ -47,7 +47,6 @@ class HomeFragment : BaseFragment(HomeViewMo /** * Water Intake */ - binding.fragmentHomeWaterAdd.setOnClickListener { val water = viewModel.water.value if (water == null || !water.isToday()) { @@ -91,7 +90,7 @@ class HomeFragment : BaseFragment(HomeViewMo } // Make a line Chart using the graph library - GraphUtils.lineChartSetup( + ChartUtils.lineChartSetup( binding.weightGraph, MaterialColors.getColor( requireView(), diff --git a/app/src/main/java/com/dzeio/openhealth/ui/steps/StepsHomeFragment.kt b/app/src/main/java/com/dzeio/openhealth/ui/steps/StepsHomeFragment.kt index 17e8abd..1269e3e 100644 --- a/app/src/main/java/com/dzeio/openhealth/ui/steps/StepsHomeFragment.kt +++ b/app/src/main/java/com/dzeio/openhealth/ui/steps/StepsHomeFragment.kt @@ -11,7 +11,7 @@ import com.dzeio.openhealth.Application import com.dzeio.openhealth.adapters.StepsAdapter import com.dzeio.openhealth.core.BaseFragment import com.dzeio.openhealth.databinding.FragmentStepsHomeBinding -import com.google.android.material.color.MaterialColors +import com.dzeio.openhealth.utils.ChartUtils import dagger.hilt.android.AndroidEntryPoint import java.text.DateFormat import java.util.Calendar @@ -53,46 +53,16 @@ class StepsHomeFragment : val chart = binding.chart // setup serie - val serie = BarSerie(chart).apply { - barPaint.color = MaterialColors.getColor( - requireView(), - com.google.android.material.R.attr.colorPrimary - ) - textPaint.color = MaterialColors.getColor( - requireView(), - com.google.android.material.R.attr.colorOnPrimary - ) - } - - val errorColor = MaterialColors.getColor( - requireView(), - com.google.android.material.R.attr.colorError - ) + val serie = BarSerie(chart) chart.apply { - series = arrayListOf(serie) -// debug = true - + ChartUtils.materielTheme(chart, requireView()) yAxis.apply { - textLabel.color = MaterialColors.getColor( - requireView(), - com.google.android.material.R.attr.colorOnPrimaryContainer - ) - linePaint.color = MaterialColors.getColor( - requireView(), - com.google.android.material.R.attr.colorOnPrimaryContainer - ) - goalLinePaint.color = errorColor -// onValueFormat = { value -> "${value.toInt()}" } } xAxis.apply { dataWidth = 604800000.0 - textPaint.color = MaterialColors.getColor( - requireView(), - com.google.android.material.R.attr.colorOnPrimaryContainer - ) textPaint.textSize = 32f onValueFormat = onValueFormat@{ val formatter = DateFormat.getDateTimeInstance( @@ -107,8 +77,10 @@ class StepsHomeFragment : } viewModel.goal.observe(viewLifecycleOwner) { - chart.yAxis.setGoalLine(it?.toFloat()) - chart.refresh() + if (it != null) { + chart.yAxis.addLine(it.toFloat()) + chart.refresh() + } } viewModel.items.observe(viewLifecycleOwner) { list -> @@ -118,16 +90,8 @@ class StepsHomeFragment : return@observe } - - -// chart.animation.enabled = false -// chart.animation.refreshRate = 60 -// chart.animation.duration = 300 - // chart.scroller.zoomEnabled = false -// chart.xAxis.labels.size = 32f - val entries: HashMap = HashMap() list.forEach { @@ -138,7 +102,7 @@ class StepsHomeFragment : cal.set(Calendar.AM_PM, Calendar.AM) val ts = cal.timeInMillis if (!entries.containsKey(ts)) { - entries[ts] = Entry((ts).toDouble(), 0F, errorColor) + entries[ts] = Entry((ts).toDouble(), 0F, chart.yAxis.goalLinePaint.color) } entries[ts]!!.y += it.value.toFloat() diff --git a/app/src/main/java/com/dzeio/openhealth/ui/water/WaterHomeFragment.kt b/app/src/main/java/com/dzeio/openhealth/ui/water/WaterHomeFragment.kt index f92bd92..c129b09 100644 --- a/app/src/main/java/com/dzeio/openhealth/ui/water/WaterHomeFragment.kt +++ b/app/src/main/java/com/dzeio/openhealth/ui/water/WaterHomeFragment.kt @@ -6,15 +6,16 @@ import android.view.View import android.view.ViewGroup import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.LinearLayoutManager +import com.dzeio.charts.Entry +import com.dzeio.charts.series.BarSerie import com.dzeio.openhealth.adapters.WaterAdapter import com.dzeio.openhealth.core.BaseFragment import com.dzeio.openhealth.databinding.FragmentMainWaterHomeBinding -import com.dzeio.openhealth.utils.GraphUtils -import com.github.mikephil.charting.data.BarData -import com.github.mikephil.charting.data.BarDataSet -import com.github.mikephil.charting.data.BarEntry -import com.google.android.material.color.MaterialColors +import com.dzeio.openhealth.utils.ChartUtils import dagger.hilt.android.AndroidEntryPoint +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale @AndroidEntryPoint class WaterHomeFragment : @@ -45,39 +46,45 @@ class WaterHomeFragment : val chart = binding.chart - GraphUtils.barChartSetup( - chart, - MaterialColors.getColor( - requireView(), - com.google.android.material.R.attr.colorPrimary - ), - MaterialColors.getColor( - requireView(), - com.google.android.material.R.attr.colorOnBackground - ) - ) + val serie = BarSerie(chart) + + chart.apply { + ChartUtils.materielTheme(chart, requireView()) + + yAxis.apply { +// onValueFormat + } + + xAxis.apply { + dataWidth = 604800000.0 + textPaint.textSize = 32f + onValueFormat = onValueFormat@{ + return@onValueFormat SimpleDateFormat( + "yyyy-MM-dd", + Locale.getDefault() + ).format(Date(it.toLong())) + } + } + } binding.buttonEditDefaultIntake.setOnClickListener { findNavController().navigate(WaterHomeFragmentDirections.actionNavWaterHomeToNavWaterSizeDialog()) } - chart.xAxis.valueFormatter = GraphUtils.DateValueFormatter(1000 * 60 * 60 * 24) viewModel.items.observe(viewLifecycleOwner) { list -> adapter.set(list) - val dataset = BarDataSet( - list.map { - return@map BarEntry( - (it.timestamp / 1000 / 60 / 60 / 24).toFloat(), - it.value.toFloat() - ) - }, - "" - ) + val dataset = list.map { + return@map Entry( + it.timestamp.toDouble(), + it.value.toFloat() + ) + } - chart.data = BarData(dataset) - chart.invalidate() + serie.entries = dataset as ArrayList + chart.xAxis.x = dataset[0].x + chart.refresh() } } } diff --git a/app/src/main/java/com/dzeio/openhealth/utils/GraphUtils.kt b/app/src/main/java/com/dzeio/openhealth/utils/ChartUtils.kt similarity index 60% rename from app/src/main/java/com/dzeio/openhealth/utils/GraphUtils.kt rename to app/src/main/java/com/dzeio/openhealth/utils/ChartUtils.kt index 87112d0..8afb440 100644 --- a/app/src/main/java/com/dzeio/openhealth/utils/GraphUtils.kt +++ b/app/src/main/java/com/dzeio/openhealth/utils/ChartUtils.kt @@ -1,6 +1,9 @@ package com.dzeio.openhealth.utils -import com.github.mikephil.charting.charts.BarChart +import android.view.View +import com.dzeio.charts.ChartView +import com.dzeio.charts.series.BarSerie +import com.dzeio.charts.series.LineSerie import com.github.mikephil.charting.charts.BarLineChartBase import com.github.mikephil.charting.charts.LineChart import com.github.mikephil.charting.components.AxisBase @@ -11,6 +14,7 @@ import com.github.mikephil.charting.data.Entry import com.github.mikephil.charting.data.LineDataSet import com.github.mikephil.charting.formatter.ValueFormatter import com.github.mikephil.charting.interfaces.datasets.IBarLineScatterCandleBubbleDataSet +import com.google.android.material.color.MaterialColors import java.text.SimpleDateFormat import java.util.Date import java.util.Locale @@ -20,7 +24,7 @@ import java.util.Locale * * TODO: migrate to DzeioCharts once it is ready */ -object GraphUtils { +object ChartUtils { fun lineChartSetup(chart: LineChart, mainColor: Int, textColor: Int) { barLineChartSetup(chart, mainColor, textColor) @@ -35,10 +39,6 @@ object GraphUtils { } } - fun barChartSetup(chart: BarChart, mainColor: Int, textColor: Int) { - barLineChartSetup(chart, mainColor, textColor) - } - private fun >?> barLineChartSetup( chart: BarLineChartBase, mainColor: Int, @@ -101,4 +101,62 @@ object GraphUtils { // return super.getAxisLabel(value, axis) } } + + /** + * Apply Material theme to a DzeioChart [ChartView] + */ + fun materielTheme(chart: ChartView, view: View) { + + val errorColor = MaterialColors.getColor( + view, + com.google.android.material.R.attr.colorError + ) + + chart.apply { + yAxis.apply { + textLabel.color = MaterialColors.getColor( + view, + com.google.android.material.R.attr.colorOnPrimaryContainer + ) + linePaint.color = MaterialColors.getColor( + view, + com.google.android.material.R.attr.colorOnPrimaryContainer + ) + goalLinePaint.color = errorColor + } + + xAxis.apply { + textPaint.color = MaterialColors.getColor( + view, + com.google.android.material.R.attr.colorOnPrimaryContainer + ) + } + + for (serie in series) { + if (serie is BarSerie) { + serie.apply { + barPaint.color = MaterialColors.getColor( + view, + com.google.android.material.R.attr.colorPrimary + ) + textPaint.color = MaterialColors.getColor( + view, + com.google.android.material.R.attr.colorOnPrimary + ) + } + } else if (serie is LineSerie) { + serie.apply { + linePaint.color = MaterialColors.getColor( + view, + com.google.android.material.R.attr.colorPrimary + ) + textPaint.color = MaterialColors.getColor( + view, + com.google.android.material.R.attr.colorOnPrimary + ) + } + } + } + } + } } diff --git a/app/src/main/res/layout/fragment_main_water_home.xml b/app/src/main/res/layout/fragment_main_water_home.xml index d8e49b1..1f80e93 100644 --- a/app/src/main/res/layout/fragment_main_water_home.xml +++ b/app/src/main/res/layout/fragment_main_water_home.xml @@ -22,7 +22,7 @@ - - diff --git a/charts/src/main/java/com/dzeio/charts/Animation.kt b/charts/src/main/java/com/dzeio/charts/Animation.kt deleted file mode 100644 index 08c19b9..0000000 --- a/charts/src/main/java/com/dzeio/charts/Animation.kt +++ /dev/null @@ -1,66 +0,0 @@ -package com.dzeio.charts - -import kotlin.math.abs -import kotlin.math.max - -data class Animation( - /** - * Enable / Disable the Chart Animations - */ - var enabled: Boolean = true, - - /** - * Number of milliseconds the animation is running before it ends - */ - var duration: Int = 1000, - - /** - * Number of updates per seconds - */ - var refreshRate: Int = 50 -) { - /** - * Update the value depending on the maximum obtainable value - * - * @param maxValue the maximum value the item can obtain - * @param targetValue the value you want to obtain at the end of the animation - * @param currentValue the current value - * - * @return the new updated value - */ - fun updateValue( - maxValue: Float, - targetValue: Float, - currentValue: Float, - minValue: Float, - minStep: Float - ): Float { - if (!enabled) { - return targetValue - } - - if (currentValue < minValue) { - return minValue - } - - val moveValue = max(minStep, (maxValue - targetValue) / refreshRate) - - var result = targetValue - if (currentValue < targetValue) { - result = currentValue + moveValue - } else if (currentValue > targetValue) { - result = currentValue - moveValue - } - - if ( - abs(targetValue - currentValue) <= moveValue || - result < minValue || - result > maxValue - ) { - return targetValue - } - return result - } - - fun getDelay() = this.duration / this.refreshRate -} diff --git a/charts/src/main/java/com/dzeio/charts/ChartView.kt b/charts/src/main/java/com/dzeio/charts/ChartView.kt deleted file mode 100644 index d48b004..0000000 --- a/charts/src/main/java/com/dzeio/charts/ChartView.kt +++ /dev/null @@ -1,150 +0,0 @@ -package com.dzeio.charts - -import android.annotation.SuppressLint -import android.content.Context -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.graphics.RectF -import android.util.AttributeSet -import android.view.MotionEvent -import android.view.View -import com.dzeio.charts.axis.XAxis -import com.dzeio.charts.axis.YAxis -import com.dzeio.charts.components.ChartScroll -import com.dzeio.charts.series.SerieInterface - -class ChartView @JvmOverloads constructor(context: Context?, attrs: AttributeSet? = null) : - View(context, attrs), ChartViewInterface { - - private companion object { - const val TAG = "Charts/ChartView" - } - - override var debug: Boolean = false - - override val xAxis = XAxis(this) - - override val yAxis = YAxis(this) - - override var series: ArrayList = arrayListOf() - - override var padding: Float = 8f - - private val scroller = ChartScroll(this).apply { - var lastMovement = 0.0 - setOnChartMoved { movementX, _ -> - xAxis.x += (movementX - lastMovement) * xAxis.getDataWidth() / width - lastMovement = movementX.toDouble() - refresh() - } -// setOnZoomChanged { -// Log.d(TAG, "New Zoom: $it") -// zoom = (it * 1.2).toFloat() -// refresh() -// } - } - -// val animator: Runnable = object : Runnable { -// override fun run() { -// var needNewFrame = false -// for (serie in series) { -// val result = serie.onUpdate() -// if (result) { -// needNewFrame = true -// } -// } -// if (needNewFrame) { -// postDelayed(this, animation.getDelay().toLong()) -// } -// invalidate() -// } -// } - - // rect used for calculations - private val rect = RectF() - - // stroke used while in debug - private val debugStrokePaint = Paint().apply { - style = Paint.Style.STROKE - strokeWidth = 8f - color = Color.parseColor("#654321") - } - - override fun refresh() { - // run Axis logics - xAxis.refresh() - yAxis.refresh() - - // run series logic - for (serie in series) { - serie.refresh() - } - - // invalidate the view - invalidate() -// removeCallbacks(animator) -// post(animator) - } - - override fun onDraw(canvas: Canvas) { - - // don't draw anything if everything is empty - if (series.isEmpty() || series.maxOf { it.entries.size } == 0) { - super.onDraw(canvas) - return - } - - if (debug) { - // draw corners - canvas.drawRect(rect.apply { - set( - padding / 2, - padding / 2, - width.toFloat() - padding / 2, - height.toFloat() - padding / 2 - ) - }, debugStrokePaint) - } - - - val bottom = xAxis.onDraw(canvas, rect.apply { - set(padding, 0f, width.toFloat() - padding, height.toFloat() - padding) - }) - - // right distance from the yAxis - val rightDistance = yAxis.onDraw(canvas, rect.apply { - set(padding, padding, width.toFloat() - padding, height.toFloat() - bottom - padding) - }) - - // chart draw rectangle - rect.apply { - set( - padding, - padding, - width.toFloat() - padding - rightDistance, - height - bottom - padding - ) - } - - for (serie in series) { - serie.onDraw(canvas, rect) - } - super.onDraw(canvas) - } - - @SuppressLint("ClickableViewAccessibility") - override fun onTouchEvent(event: MotionEvent): Boolean { - performClick() - return scroller.onTouchEvent(event) - } - - override fun getDataset(): ArrayList { - val data: ArrayList = arrayListOf() - for (serie in series) { - data.addAll(serie.entries) - } - data.sortBy { it.x } - return data.filterIndexed { index, entry -> data.indexOf(entry) == index } as ArrayList - } -} diff --git a/charts/src/main/java/com/dzeio/charts/ChartViewInterface.kt b/charts/src/main/java/com/dzeio/charts/ChartViewInterface.kt deleted file mode 100644 index b566f21..0000000 --- a/charts/src/main/java/com/dzeio/charts/ChartViewInterface.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.dzeio.charts - -import com.dzeio.charts.axis.XAxisInterface -import com.dzeio.charts.axis.YAxisInterface -import com.dzeio.charts.series.SerieInterface - -interface ChartViewInterface { - - /** - * Make the whole view in debug mode - * - * add debug texts, logs, and more - */ - var debug: Boolean - - /** - * the padding inside the view - */ - var padding: Float - - /** - * Hold metadata about the X axis - */ - val xAxis: XAxisInterface - - /** - * Hold informations about the Y axis - */ - val yAxis: YAxisInterface - - /** - * handle the series - */ - var series: ArrayList - - /** - * refresh and run pre-display logic the chart - * - * this function should be run if you change parameters in the view - */ - fun refresh() - - /** - * @return the whole dataset (sorted and cleaned up of dupps) - */ - fun getDataset(): ArrayList -} \ No newline at end of file diff --git a/charts/src/main/java/com/dzeio/charts/Entry.kt b/charts/src/main/java/com/dzeio/charts/Entry.kt deleted file mode 100644 index 526fec8..0000000 --- a/charts/src/main/java/com/dzeio/charts/Entry.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.dzeio.charts - -/** - * A Base entry for any charts - */ -data class Entry( - var x: Double, - var y: Float, - var color: Int? = null -) diff --git a/charts/src/main/java/com/dzeio/charts/axis/XAxis.kt b/charts/src/main/java/com/dzeio/charts/axis/XAxis.kt deleted file mode 100644 index 458c6b6..0000000 --- a/charts/src/main/java/com/dzeio/charts/axis/XAxis.kt +++ /dev/null @@ -1,125 +0,0 @@ -package com.dzeio.charts.axis - -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.graphics.Rect -import android.graphics.RectF -import com.dzeio.charts.ChartViewInterface -import com.dzeio.charts.Entry - -class XAxis( - private val view: ChartViewInterface -) : XAxisInterface { - override var x: Double = 0.0 - set(value) { - val max = getXMax() - getDataWidth() - val min = getXMin() - if (value > max && min <= max) { - field = max - return - } - - if (value < min) { - field = min - return - } - - field = value - } - - override var enabled = true - - override var dataWidth: Double? = null - - override var labelCount: Int = 2 - - var spacing = 16.0 - - override val textPaint = Paint().apply { - isAntiAlias = true - color = Color.parseColor("#FC496D") - textSize = 30f - textAlign = Paint.Align.LEFT - } - - private val rect = Rect() - - override fun getPositionOnRect(entry: Entry, drawableSpace: RectF): Double { - return translatePositionToRect(entry.x, drawableSpace) - } - - fun translatePositionToRect(value: Double, drawableSpace: RectF): Double { - return drawableSpace.width() * (value - x) / getDataWidth() - } - - override fun getXMax(): Double { - return view.series.maxOf { serie -> - if (serie.entries.isEmpty()) { - return 0.0 - } - serie.entries.maxOf { entry -> entry.x } - } - } - - override fun getXMin(): Double { - return view.series.minOf { serie -> - if (serie.entries.isEmpty()) { - return 0.0 - } - serie.entries.minOf { entry -> entry.x } - } - } - - var onValueFormat: (value: Double) -> String = { it -> it.toString() } - - override fun onDraw(canvas: Canvas, space: RectF): Float { - if (!enabled) { - return 0f - } - - var maxHeight = 0f - - val graphIncrement = space.width() / (labelCount - 1) - val valueIncrement = (getDataWidth() / (labelCount - 1)).toDouble() - for (index in 0 until labelCount) { - val text = onValueFormat(x + valueIncrement * index) - textPaint.getTextBounds(text, 0, text.length, rect) - maxHeight = maxHeight.coerceAtLeast(rect.height().toFloat() + 1) - - var xPos = space.left + graphIncrement * index - - if (xPos + rect.width() > space.right) { - xPos = space.right - rect.width() - } - - canvas.drawText( - text, - xPos, - space.bottom, - textPaint - ) - } - return maxHeight + 32f - } - - override fun refresh() { -// TODO("Not yet implemented") - } - - override fun getEntryWidth(drawableSpace: RectF): Double { - var smallest = -1.0 - val dataset = view.getDataset() - for (idx in 0 until dataset.size - 1) { - val distance = dataset[idx + 1].x - dataset[idx].x - if (smallest == -1.0 || smallest > distance) { - smallest = distance - } - } - return drawableSpace.width() * smallest / getDataWidth() - spacing - } - - override fun getDataWidth(): Double { - return dataWidth ?: (getXMax() - getXMin()) - } -} diff --git a/charts/src/main/java/com/dzeio/charts/axis/XAxisInterface.kt b/charts/src/main/java/com/dzeio/charts/axis/XAxisInterface.kt deleted file mode 100644 index daa9f55..0000000 --- a/charts/src/main/java/com/dzeio/charts/axis/XAxisInterface.kt +++ /dev/null @@ -1,84 +0,0 @@ -package com.dzeio.charts.axis - -import android.graphics.Canvas -import android.graphics.Paint -import android.graphics.RectF -import com.dzeio.charts.Entry - -sealed interface XAxisInterface { - - /** - * enable/disable the display of the xAxis - */ - var enabled: Boolean - - /** - * set X position - */ - var x: Double - - /** - * the "width" of the graph - * - * if not set it will be `XMax - XMin` - * - * ex: to display a 7 days graph history with x values being timestamp in secs, use 7*24*60*60 - */ - var dataWidth: Double? - - /** - * text Paint - */ - val textPaint: Paint - - /** - * indicate the number of labels displayed - */ - var labelCount: Int - - /** - * run when manually refreshing the system - * - * this is where the pre-logic is handled to make [onDraw] quicker - */ - fun refresh() - - /** - * get the entry position on the rect - * - * @return the left side of the position of the entry - */ - fun getPositionOnRect(entry: Entry, drawableSpace: RectF): Double - - /** - * get the maximum the X can get to - */ - fun getXMax(): Double - - /** - * get the minimum the X can get to - */ - fun getXMin(): Double - - /** - * get the size of an entry in the graph - * - * @return the size in [drawableSpace] px - */ - fun getEntryWidth(drawableSpace: RectF): Double - - /** - * return the currently used dataWidth - */ - fun getDataWidth(): Double - - /** - * onDraw event that will draw the XAxis - * - * @param canvas the canvas to draw on - * @param space the space where it is allowed to draw - * - * @return the final height of the XAxis - */ - fun onDraw(canvas: Canvas, space: RectF): Float -} \ No newline at end of file diff --git a/charts/src/main/java/com/dzeio/charts/axis/YAxis.kt b/charts/src/main/java/com/dzeio/charts/axis/YAxis.kt deleted file mode 100644 index 314520b..0000000 --- a/charts/src/main/java/com/dzeio/charts/axis/YAxis.kt +++ /dev/null @@ -1,145 +0,0 @@ -package com.dzeio.charts.axis - -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.graphics.Rect -import android.graphics.RectF -import com.dzeio.charts.ChartViewInterface -import com.dzeio.charts.utils.drawDottedLine - -class YAxis( - private val view: ChartViewInterface -) : YAxisInterface { - - override var enabled = true - - override val textLabel = Paint().apply { - isAntiAlias = true - color = Color.parseColor("#FC496D") - textSize = 30f - textAlign = Paint.Align.LEFT - } - - override val linePaint = Paint().apply { - isAntiAlias = true - color = Color.BLUE - } - - override val goalLinePaint = Paint().apply { - isAntiAlias = true - color = Color.RED - strokeWidth = 4f - } - - var onValueFormat: (value: Float) -> String = { it -> it.toString() } - - override var labelCount = 5 - - private var min: Float? = 0f - private var max: Float? = null - - private val rect = Rect() - - override fun setYMin(yMin: Float?): YAxisInterface { - min = yMin - return this - } - - override fun setYMax(yMax: Float?): YAxisInterface { - max = yMax - return this - } - - override fun getYMax(): Float { - if (max != null) { - return max!! - } - if (view.series.isEmpty()) { - return (this.goalLine ?: 90f) + 10f - } - val seriesMax = view.series - .maxOf { serie -> - if (serie.getDisplayedEntries().isEmpty()) { - return@maxOf 0f - } - return@maxOf serie.getDisplayedEntries().maxOf { entry -> entry.y } - } - if (this.goalLine != null) { - return if (seriesMax > this.goalLine!!) seriesMax else this.goalLine!! + 1000f - } - return seriesMax - } - - override fun getYMin(): Float { - if (min != null) { - return min!! - } - if (view.series.isEmpty()) { - return this.goalLine ?: 0f - } - return view.series - .minOf { serie -> - if (serie.getDisplayedEntries().isEmpty()) { - return@minOf 0f - } - return@minOf serie.getDisplayedEntries().minOf { entry -> entry.y } - } - } - - override fun onDraw(canvas: Canvas, space: RectF): Float { - if (!enabled) { - return 0f - } - - val min = getYMin() - val max = getYMax() - min - val top = space.top - val bottom = space.bottom - var maxWidth = 0f - - val increment = (bottom - top) / labelCount - val valueIncrement = (max - min) / labelCount - for (index in 0 until labelCount) { - val text = onValueFormat((valueIncrement * (index + 1))) - textLabel.getTextBounds(text, 0, text.length, rect) - maxWidth = maxWidth.coerceAtLeast(rect.width().toFloat()) - - val posY = bottom - (index + 1) * increment - - canvas.drawText( - text, - space.width() - rect.width().toFloat(), - (posY + rect.height() / 2).coerceAtLeast(rect.height().toFloat()), - textLabel - ) -// canvas.drawDottedLine(0f, posY, canvas.width.toFloat(), posY, 40f, linePaint) - canvas.drawLine(space.left, posY, space.right - maxWidth - 32f, posY, linePaint) - - } - - if (this.goalLine != null) { - val pos = (1 - this.goalLine!! / max) * space.height() + space.top - canvas.drawDottedLine( - 0f, - pos, - space.right - maxWidth - 32f, - pos, - space.right / 20, - goalLinePaint - ) - } - - return maxWidth + 32f - } - - override fun refresh() { -// TODO("Not yet implemented") - } - - private var goalLine: Float? = null - - override fun setGoalLine(height: Float?) { - goalLine = height - } -} diff --git a/charts/src/main/java/com/dzeio/charts/axis/YAxisInterface.kt b/charts/src/main/java/com/dzeio/charts/axis/YAxisInterface.kt deleted file mode 100644 index b82afe2..0000000 --- a/charts/src/main/java/com/dzeio/charts/axis/YAxisInterface.kt +++ /dev/null @@ -1,85 +0,0 @@ -package com.dzeio.charts.axis - -import android.graphics.Canvas -import android.graphics.Paint -import android.graphics.RectF - -sealed interface YAxisInterface { - - /** - * whether or not this axis is displayed - */ - var enabled: Boolean - - /** - * get/set the number of label of this Y axis - * - * the first/last labels are at the bottom/top of the chart - */ - var labelCount: Int - - /** - * text label paint - */ - val textLabel: Paint - - /** - * paint for the lines - */ - val linePaint: Paint - - /** - * Goal line paint - */ - val goalLinePaint: Paint - - /** - * run when manually refreshing the system - * - * this is where the pre-logic is handled to make [onDraw] quicker - */ - fun refresh() - - /** - * override Y minimum - * - * @param yMin is set the min will ba at the value, if null it is calculated - */ - fun setYMin(yMin: Float?): YAxisInterface - - /** - * override Y maximum - * - * @param yMax is set the max will ba at the value, if null it is calculated - */ - fun setYMax(yMax: Float?): YAxisInterface - - /** - * get Y maximum - * - * @return the maximum value Y can get (for displayed values) - */ - fun getYMax(): Float - - /** - * get Y minimum - * - * @return the minimum value Y can get (for displayed values) - */ - fun getYMin(): Float - - /** - * function that draw our legend - * - * @param canvas the canvas to draw on - * @param space the space where it is allowed to draw on - * - * @return the width of the sidebar - */ - fun onDraw(canvas: Canvas, space: RectF): Float - - /** - * Add a Goal line - */ - fun setGoalLine(height: Float?) -} diff --git a/charts/src/main/java/com/dzeio/charts/axis/YAxisPosition.kt b/charts/src/main/java/com/dzeio/charts/axis/YAxisPosition.kt deleted file mode 100644 index d134c6d..0000000 --- a/charts/src/main/java/com/dzeio/charts/axis/YAxisPosition.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.dzeio.charts.axis - -/** - * CURRENTLY UNUSED - * - * declare where the YAxis for the graph will be - */ -enum class YAxisPosition { - LEFT, - RIGHT -} \ No newline at end of file diff --git a/charts/src/main/java/com/dzeio/charts/components/ChartScroll.kt b/charts/src/main/java/com/dzeio/charts/components/ChartScroll.kt deleted file mode 100644 index 38e1b9f..0000000 --- a/charts/src/main/java/com/dzeio/charts/components/ChartScroll.kt +++ /dev/null @@ -1,144 +0,0 @@ -package com.dzeio.charts.components - -import android.view.MotionEvent -import android.view.MotionEvent.INVALID_POINTER_ID -import android.view.ScaleGestureDetector -import android.view.View - -/** - * Class handling the scroll/zoom for the library - */ -class ChartScroll(view: View) { - - /** - * Enabled the zoom/unzoom of datas - */ - var zoomEnabled = true - - /** - * Enable the horizontal scroll feature - */ - var scrollEnabled = true - - // The ‘active pointer’ is the one currently moving our object. - private var activePointerId = INVALID_POINTER_ID - - private var lastTouchX: Float = 0f - private var lastTouchY: Float = 0f - - private var posX: Float = 0f - private var posY: Float = 0f - - private var lastZoom: Float = 100f - private var currentZoom: Float = 0f - - private var onChartMoved: ((movementX: Float, movementY: Float) -> Unit)? = null - fun setOnChartMoved(fn: (movementX: Float, movementY: Float) -> Unit) { - onChartMoved = fn - } - - private var onZoomChanged: ((scale: Float) -> Unit)? = null - - /** - * @param fn.scale Float starting from 100% - * - * 99-% zoom out, - * 101+% zoom in - */ - fun setOnZoomChanged(fn: (scale: Float) -> Unit) { - onZoomChanged = fn - } - - private val scaleGestureDetector = ScaleGestureDetector( - view.context, - object : ScaleGestureDetector.SimpleOnScaleGestureListener() { - override fun onScale(detector: ScaleGestureDetector): Boolean { - if (currentZoom != detector.scaleFactor) { - currentZoom = detector.scaleFactor - onZoomChanged?.invoke(lastZoom + -currentZoom + 1) - } - - return super.onScale(detector) - } - - override fun onScaleEnd(detector: ScaleGestureDetector) { - super.onScaleEnd(detector) - - lastZoom += -currentZoom + 1 - } - } - ) - - /** - * Code mostly stolen from https://developer.android.com/training/gestures/scale#drag - */ - fun onTouchEvent(ev: MotionEvent): Boolean { - - if (zoomEnabled) { - scaleGestureDetector.onTouchEvent(ev) - } - - when (ev.actionMasked) { - MotionEvent.ACTION_DOWN -> { - onToggleScroll?.invoke(false) - ev.actionIndex.also { pointerIndex -> - // Remember where we started (for dragging) - lastTouchX = ev.getX(pointerIndex) - lastTouchY = ev.getY(pointerIndex) - } - - // Save the ID of this pointer (for dragging) - activePointerId = ev.getPointerId(0) - } - - MotionEvent.ACTION_MOVE -> { - // Find the index of the active pointer and fetch its position - val (x: Float, y: Float) = - ev.findPointerIndex(activePointerId).let { pointerIndex -> - // Calculate the distance moved - ev.getX(pointerIndex) to ev.getY(pointerIndex) - } - - posX += x - lastTouchX - posY += y - lastTouchY - - if (scrollEnabled) { - onChartMoved?.invoke(-posX, posY) - } - - // Remember this touch position for the next move event - lastTouchX = x - lastTouchY = y - } - MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> { - onToggleScroll?.invoke(true) - activePointerId = INVALID_POINTER_ID - } - MotionEvent.ACTION_POINTER_UP -> { - onToggleScroll?.invoke(true) - ev.actionIndex.also { pointerIndex -> - ev.getPointerId(pointerIndex) - .takeIf { it == activePointerId } - ?.run { - // This was our active pointer going up. Choose a new - // active pointer and adjust accordingly. - val newPointerIndex = if (pointerIndex == 0) 1 else 0 - lastTouchX = ev.getX(newPointerIndex) - lastTouchY = ev.getY(newPointerIndex) - activePointerId = ev.getPointerId(newPointerIndex) - } - } - } - } - return true - } - - private var onToggleScroll: ((Boolean) -> Unit)? = null - - /** - * @param ev if input is false disable scroll - */ - fun setOnToggleScroll(ev: (Boolean) -> Unit) { - onToggleScroll = ev - } -} diff --git a/charts/src/main/java/com/dzeio/charts/series/BarSerie.kt b/charts/src/main/java/com/dzeio/charts/series/BarSerie.kt deleted file mode 100644 index 50226fa..0000000 --- a/charts/src/main/java/com/dzeio/charts/series/BarSerie.kt +++ /dev/null @@ -1,125 +0,0 @@ -package com.dzeio.charts.series - -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.graphics.Rect -import android.graphics.RectF -import android.util.Log -import com.dzeio.charts.ChartView -import com.dzeio.charts.utils.drawRoundRect - -class BarSerie( - private val view: ChartView -) : BaseSerie(view) { - - private companion object { - const val TAG = "Charts/BarSerie" - } - - init { - view.series.add(this) - } - - val barPaint = Paint().apply { - isAntiAlias = true - color = Color.parseColor("#123456") - } - - val textPaint = Paint().apply { - isAntiAlias = true - color = Color.parseColor("#FC496D") - textSize = 30f - textAlign = Paint.Align.CENTER - } - - private val rect = Rect() - - override fun onDraw(canvas: Canvas, drawableSpace: RectF) { - val displayedEntries = getDisplayedEntries() - val barWidth = view.xAxis.getEntryWidth(drawableSpace).toFloat() - val max = view.yAxis.getYMax() - val min = view.yAxis.getYMin() - -// Log.d(TAG, "${space.left}, ${space.right}") - - for (entry in displayedEntries) { - // calculated height in percent from 0 to 100 - val top = (1 - entry.y / max) * drawableSpace.height() + drawableSpace.top - var posX = drawableSpace.left + view.xAxis.getPositionOnRect( - entry, - drawableSpace - ).toFloat() - - val right = (posX + barWidth).coerceAtMost(drawableSpace.right) - - if (posX > right) { - continue - } else if (posX < drawableSpace.left) { - posX = drawableSpace.left - } - - if (right < drawableSpace.left) { - continue - } - - // handle color recoloration - val paint = Paint(barPaint) - - if (entry.color != null) { - paint.color = entry.color!! - } - - canvas.drawRoundRect( - posX, - top, - right, - drawableSpace.bottom, -// 8f, 8f, - 32f, - 32f, - 0f, - 0f, - paint - ) - - // handle text display - val text = view.yAxis.onValueFormat(entry.y) - - textPaint.getTextBounds(text, 0, text.length, rect) - - val textLeft = (posX + barWidth / 2) - - if ( - // handle right side - textLeft + rect.width() / 2 > right || - // handle left sie - textLeft - rect.width() / 2 < drawableSpace.left - ) { - continue - } - - val doDisplayIn = - rect.height() + 40f < drawableSpace.bottom - top && - rect.width() < barWidth - - var textY = if (doDisplayIn) top + rect.height() + 20f else top - 20f - - if (textY < 0) { - textY = drawableSpace.top + rect.height() - } - - - canvas.drawText( - text, - textLeft, - textY, - textPaint - ) - } - } - - override fun refresh() { -// TODO("Not yet implemented") - } -} diff --git a/charts/src/main/java/com/dzeio/charts/series/BarSerie.kt.old b/charts/src/main/java/com/dzeio/charts/series/BarSerie.kt.old deleted file mode 100644 index b6205e0..0000000 --- a/charts/src/main/java/com/dzeio/charts/series/BarSerie.kt.old +++ /dev/null @@ -1,160 +0,0 @@ -package com.dzeio.charts.series - -import android.graphics.Canvas -import android.graphics.Paint -import android.graphics.Rect -import android.graphics.RectF -import android.util.Log -import kotlin.math.max - -class BarSerie : SerieAbstract() { - - companion object { - const val TAG = "DzeioCharts/BarSerie" - } - - var spacing: Float = 8f - - /** - * Values displayed on the grapd - */ - var displayedDatas = arrayListOf() - - /** - * Target values - */ - var targetDatas = arrayListOf() - - var targetPercentList = arrayListOf() - var percentList = arrayListOf() - - var previousRefresh = 0 - - private var fgPaint: Paint = Paint().apply { - isAntiAlias = true - } - - private val r = Rect() - - override fun onUpdate(): Boolean { - var needNewFrame = false - for (i in targetPercentList.indices) { - val value = view.animation.updateValue( - 1f, - targetPercentList[i], - percentList[i], - 0f, - 0.00f - ) - - if (value != percentList[i]) { - needNewFrame = true - percentList[i] = value - } - } - return needNewFrame - } - - override fun prepareData() { - val max: Float = if (view.yAxis.max != null) view.yAxis.max!! else { - getYMax(true) - } - - targetPercentList = arrayListOf() - -// Log.d(TAG, "offset: ${view.getXOffset()}, displayed: ${view.getDisplayedEntries()}") - for (item in getDisplayedEntries()) { -// // // Process bottom texts -// val text = view.xAxis.onValueFormat(item.x) -// bottomTexts.add(text) -// -// // get Text boundaries -// view.xAxis.labels.build().getTextBounds(text, 0, text.length, r) -// -// // get height of text -// if (bottomTextHeight < r.height()) { -// bottomTextHeight = r.height() -// } -// -// // get text descent -// val descent = abs(r.bottom) -// if (bottomTextDescent < descent) { -// bottomTextDescent = descent -// } - - // process values -// Log.d(TAG, item.y.toString()) - - // add to animations the values - targetPercentList.add(1 - item.y / max) - } - - // post list - val offset = view.getXOffset() - val movement = offset - previousRefresh - Log.d(TAG, "$offset - $previousRefresh = $movement") - if (movement != 0) { - previousRefresh = offset - } -// if (movement != 0) { -// Log.d(TAG, movement.toString()) -// } - if (movement >= 1) { - percentList = percentList.subList(1, percentList.size).toCollection(ArrayList()) - percentList.add(1f) - } else if (movement <= -1) { - percentList = percentList.subList(0, percentList.size - 1).toCollection(ArrayList()) - percentList.add(0, 1f) - } - - if (percentList.isEmpty() || percentList.size < targetPercentList.size) { - val temp = targetPercentList.size - percentList.size - for (i in 0 until temp) { - percentList.add(1f) - } - } else if (percentList.size > targetPercentList.size) { - val temp = percentList.size - targetPercentList.size - for (i in 0 until temp) { - percentList.removeAt(percentList.size - 1) - } - } - - fgPaint.color = view.yAxis.color - } - - override fun displayData(canvas: Canvas, rect: RectF) { - val barWidth = (rect.width() - view.padding * 2) / view.getDisplayedEntries() - spacing - - if (percentList.isNotEmpty()) { - // draw each rectangles - for (i in 1..percentList.size) { -// Log.d(TAG, percentList[i - 1].toString()) - val left = rect.left + spacing * i + barWidth * (i - 1).toFloat() + view.padding -// Log.d(TAG, "$spacing, $i, $barWidth = $left") - val right = rect.left + (spacing + barWidth) * i.toFloat() - val bottom = rect.top + rect.height() - view.padding - val top = (bottom - rect.top) * percentList[i - 1] + view.padding - - // create rounded rect - canvas.drawRoundRect(left, top, right, bottom, 8f, 8f, fgPaint) - // remove the bottom corners DUH - canvas.drawRect(left, max(top, bottom - 8f), right, bottom, fgPaint) - val targetTop = (bottom - rect.top) * targetPercentList[i - 1] - - val text = view.yAxis.onValueFormat(getYMax(true) - getYMax(true) * targetPercentList[i - 1], true) - view.xAxis.labels.build().getTextBounds(text, 0, text.length, r) - val doDisplayIn = - r.width() + 10f < barWidth && bottom - targetTop > r.height() + 40f - if (view.debug || !doDisplayIn || (doDisplayIn && bottom - top > r.height() + 40f)) { - val y = if (doDisplayIn) top + r.height() + 20f else top - r.height() - canvas.drawText( - text, - left + (right - left) / 2, - y, - view.xAxis.labels.build() - ) - } - } - } - } -} diff --git a/charts/src/main/java/com/dzeio/charts/series/BaseSerie.kt b/charts/src/main/java/com/dzeio/charts/series/BaseSerie.kt deleted file mode 100644 index dfce84b..0000000 --- a/charts/src/main/java/com/dzeio/charts/series/BaseSerie.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.dzeio.charts.series - -import android.graphics.Canvas -import android.graphics.RectF -import com.dzeio.charts.ChartViewInterface -import com.dzeio.charts.Entry -import com.dzeio.charts.axis.YAxisPosition - -sealed class BaseSerie( - private val view: ChartViewInterface -) : SerieInterface { - - private companion object { - const val TAG = "Charts/BaseSerie" - } - - override var yAxisPosition: YAxisPosition = YAxisPosition.RIGHT - - override var entries: ArrayList = arrayListOf() - - override fun getDisplayedEntries(): ArrayList { - val minX = view.xAxis.x - val maxX = minX + view.xAxis.getDataWidth() - - val result: ArrayList = arrayListOf() - - var lastIndex = -1 - for (i in 0 until entries.size) { - val it = entries[i] - if (it.x in minX..maxX) { - if (result.size === 0 && i > 0) { - result.add((entries[i - 1])) - } - lastIndex = i - result.add(it) - } - } - - if (lastIndex < entries.size - 1) { - result.add(entries [lastIndex + 1]) - } - - return result - } - - abstract override fun onDraw(canvas: Canvas, drawableSpace: RectF) -} diff --git a/charts/src/main/java/com/dzeio/charts/series/LineSerie.kt b/charts/src/main/java/com/dzeio/charts/series/LineSerie.kt deleted file mode 100644 index 289e8cc..0000000 --- a/charts/src/main/java/com/dzeio/charts/series/LineSerie.kt +++ /dev/null @@ -1,74 +0,0 @@ -package com.dzeio.charts.series - -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.graphics.RectF -import com.dzeio.charts.ChartView - -class LineSerie( - private val view: ChartView -) : BaseSerie(view) { - - private companion object { - const val TAG = "Charts/LineSerie" - } - - init { - view.series.add(this) - } - - val linePaint = Paint().apply { - isAntiAlias = true - color = Color.parseColor("#123456") - strokeWidth = 5f - } - - val textPaint = Paint().apply { - isAntiAlias = true - color = Color.parseColor("#FC496D") - textSize = 30f - textAlign = Paint.Align.CENTER - } - - override fun onDraw(canvas: Canvas, drawableSpace: RectF) { - val displayedEntries = getDisplayedEntries() - displayedEntries.sortBy { it.x } - val max = view.yAxis.getYMax() - - var previousPosX: Float? = null - var previousPosY: Float? = null - - for (entry in displayedEntries) { - // calculated height in percent from 0 to 100 - val top = (1 - entry.y / max) * drawableSpace.height() + drawableSpace.top - val posX = (drawableSpace.left + - view.xAxis.getPositionOnRect(entry, drawableSpace) + - view.xAxis.getEntryWidth(drawableSpace) / 2f).toFloat() - - // handle color recoloration - val paint = Paint(linePaint) - - if (entry.color != null) { - paint.color = entry.color!! - } - - // draw smol point - if (posX < drawableSpace.right) { - canvas.drawCircle(posX, top, paint.strokeWidth, paint) - } - - // draw line - if (previousPosX != null && previousPosY != null) { - canvas.drawLine(previousPosX, previousPosY, posX, top, paint) - - } - previousPosX = posX - previousPosY = top - } - } - - override fun refresh() { -// TODO("Not yet implemented") - } -} diff --git a/charts/src/main/java/com/dzeio/charts/series/SerieInterface.kt b/charts/src/main/java/com/dzeio/charts/series/SerieInterface.kt deleted file mode 100644 index e018dfe..0000000 --- a/charts/src/main/java/com/dzeio/charts/series/SerieInterface.kt +++ /dev/null @@ -1,41 +0,0 @@ -package com.dzeio.charts.series - -import android.graphics.Canvas -import android.graphics.RectF -import com.dzeio.charts.Entry -import com.dzeio.charts.axis.YAxisPosition - -sealed interface SerieInterface { - - /** - * location of the Y axis - */ - var yAxisPosition: YAxisPosition - - /** - * filter out out of display entries - * - * @return the list of entries displayed - */ - fun getDisplayedEntries(): ArrayList - - /** - * set the entries for the list - */ - var entries: ArrayList - - /** - * function that display the graph - * - * @param canvas the canvas to draw on - * @param drawableSpace the space you are allowed to draw on - */ - fun onDraw(canvas: Canvas, drawableSpace: RectF) - - /** - * run when manually refreshing the system - * - * this is where the pre-logic is handled to make [onDraw] quicker - */ - fun refresh() -} \ No newline at end of file diff --git a/charts/src/main/java/com/dzeio/charts/utils/CanvasUtils.kt b/charts/src/main/java/com/dzeio/charts/utils/CanvasUtils.kt deleted file mode 100644 index 781e76a..0000000 --- a/charts/src/main/java/com/dzeio/charts/utils/CanvasUtils.kt +++ /dev/null @@ -1,144 +0,0 @@ -package com.dzeio.charts.utils - -import android.graphics.Canvas -import android.graphics.Paint -import android.graphics.RectF -import kotlin.math.sqrt - -/** - * draw a dotted line - */ -fun Canvas.drawDottedLine( - startX: Float, - startY: Float, - endX: Float, - endY: Float, - spacing: Float, - paint: Paint -) { - //calculate line length - val length = if (endX - startX == 0f) { - // just length of Y - endY - startY - } else if (endY - startY == 0f) { - // just length of X - endX - startX - } else { - // calculate using the Pythagorean theorem - sqrt((startX + endX) * (startX + endX) + (startY + endY) * (startY + endY)) - } - - val lineCount = (length / spacing).toInt() - - val lenX = endX - startX - val lenY = endY - startY - -// Log.d("DrawDottedLine", "----------- Start -----------") -// Log.d("DrawDottedLine", "lenX: $lenX, lenY: $lenY") - for (line in 0 until lineCount) { - if (line % 2 == 0) { - continue - } - - val sx = lenX / lineCount * line + startX - val sy = lenY / lineCount * line + startY - val ex = lenX / lineCount * (line + 1) + startX - val ey = lenY / lineCount * (line + 1) + startY -// Log.d("DrawDottedLine", "$sx, $sy, $ex, $ey") - this.drawLine(sx, sy, ex, ey, paint) - // line - // total line startX, endX, startY, endY - // total line length - } -} - -/** - * A more customizable drawRoundRect function - */ -fun Canvas.drawRoundRect( - left: Float, - top: Float, - right: Float, - bottom: Float, - topLeft: Float, - topRight: Float, - bottomLeft: Float, - bottomRight: Float, - paint: Paint -) { - val maxRound = arrayOf(topLeft, topRight, bottomLeft, bottomRight).maxOf { it } - val width = right - left - val height = bottom - top - - // draw first/global rect - drawRoundRect(left, top, right, bottom, maxRound, maxRound, paint) - - // top left border - if (topLeft == 0f) { - drawRect(left, top, left + width / 2, top + height / 2, paint) - } else { - drawRoundRect(left, top, left + width / 2, top + height / 2, topLeft, topLeft, paint) - } - - // top right border - if (topRight == 0f) { - drawRect(right - width / 2, top, right, top + height / 2, paint) - } else { - drawRoundRect(right - width / 2, top, right, top + height / 2, topRight, topRight, paint) - } - - // bottom left border - if (bottomLeft == 0f) { - drawRect(left, bottom - height / 2, left + width / 2, bottom, paint) - } else { - drawRoundRect( - left, - bottom - height / 2, - left + width / 2, - bottom, - bottomLeft, - bottomLeft, - paint - ) - } - - // bottom right border - if (bottomRight == 0f) { - drawRect(right - width / 2, bottom - height / 2, right, bottom, paint) - } else { - drawRoundRect( - right - width / 2, - bottom - height / 2, - right, - bottom, - bottomRight, - bottomRight, - paint - ) - } - -} - -/** - * A more customizable drawRoundRect function - */ -fun Canvas.drawRoundRect( - rect: RectF, - topLeft: Float, - topRight: Float, - bottomLeft: Float, - bottomRight: Float, - paint: Paint -) { - drawRoundRect( - rect.left, - rect.top, - rect.right, - rect.bottom, - topLeft, - topRight, - bottomLeft, - bottomRight, - paint - ) -} diff --git a/charts/src/test/java/com/dzeio/charts/ExampleUnitTest.kt b/charts/src/test/java/com/dzeio/charts/ExampleUnitTest.kt deleted file mode 100644 index cf39879..0000000 --- a/charts/src/test/java/com/dzeio/charts/ExampleUnitTest.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.dzeio.charts - -import org.junit.Test - -import org.junit.Assert.* - -/** - * Example local unit test, which will execute on the development machine (host). - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -class ExampleUnitTest { - @Test - fun addition_isCorrect() { - assertEquals(4, 2 + 2) - } -} diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/settings.gradle b/settings.gradle index 4db8ff9..2f2da57 100644 --- a/settings.gradle +++ b/settings.gradle @@ -18,4 +18,3 @@ dependencyResolutionManagement { rootProject.name = "OpenHealth" include ':app' -include ':charts'