From db78702528af73083338b6872d9473546c124f27 Mon Sep 17 00:00:00 2001 From: marie Noel Date: Sat, 22 Apr 2023 21:20:58 -0400 Subject: [PATCH] bug fixed for launched resume battery and comments done --- .../com/example/bluetoothdetector/main/di/AppModule.kt | 1 - .../bluetoothdetector/main/repository/EnergyRepository.kt | 8 +++++++- .../bluetoothdetector/main/viewmodel/EnergyViewModel.kt | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Projet/app/src/main/java/com/example/bluetoothdetector/main/di/AppModule.kt b/Projet/app/src/main/java/com/example/bluetoothdetector/main/di/AppModule.kt index 7f560ab..9f84c1d 100644 --- a/Projet/app/src/main/java/com/example/bluetoothdetector/main/di/AppModule.kt +++ b/Projet/app/src/main/java/com/example/bluetoothdetector/main/di/AppModule.kt @@ -3,7 +3,6 @@ package com.example.bluetoothdetector.main.di import android.content.Context import androidx.room.Room import com.example.bluetoothdetector.main.repository.* -import com.example.bluetoothdetector.main.sources.DeviceSource import com.example.bluetoothdetector.auth.repository.AccountRepository import com.example.bluetoothdetector.common.repository.ThemeRepository import com.example.bluetoothdetector.main.repository.* diff --git a/Projet/app/src/main/java/com/example/bluetoothdetector/main/repository/EnergyRepository.kt b/Projet/app/src/main/java/com/example/bluetoothdetector/main/repository/EnergyRepository.kt index e25ef47..9ae03e7 100644 --- a/Projet/app/src/main/java/com/example/bluetoothdetector/main/repository/EnergyRepository.kt +++ b/Projet/app/src/main/java/com/example/bluetoothdetector/main/repository/EnergyRepository.kt @@ -12,6 +12,7 @@ import javax.inject.Inject class EnergyRepository @Inject constructor( @ApplicationContext private val context: Context, ) { + // Receives the system notification, when battery changes value private val batteryStatus: Intent? = IntentFilter(Intent.ACTION_BATTERY_CHANGED).let { context.registerReceiver(object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { @@ -22,6 +23,7 @@ class EnergyRepository @Inject constructor( }, it) } + //calculates the battery current level private fun extractBatteryLevel(intent: Intent? = batteryStatus): Float? { val level = intent?.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) val scale = intent?.getIntExtra(BatteryManager.EXTRA_SCALE, -1) @@ -35,18 +37,22 @@ class EnergyRepository @Inject constructor( private var activityCreatedBatteryLevel: Float = currentBatteryLevel.value private var activityResumedBatteryLevel: Float = currentBatteryLevel.value + //updates activityResumedBatteryLevel to know the percentage when activity is resumed fun updateResumedLevel() { activityResumedBatteryLevel = currentBatteryLevel.value } + //updates activityCreatedBatteryLevel to know the percentage when activity is created fun updateCreatedLevel() { - activityCreatedBatteryLevel = extractBatteryLevel() ?: 100.0f + activityCreatedBatteryLevel = currentBatteryLevel.value } + //calculates the battery percentage used since app created fun getBatteryLevelSinceCreated(): Float { return activityCreatedBatteryLevel - currentBatteryLevel.value } + //calculates the battery percentage used since app resumed fun getBatteryLevelSinceResumed(): Float { return activityResumedBatteryLevel - currentBatteryLevel.value } diff --git a/Projet/app/src/main/java/com/example/bluetoothdetector/main/viewmodel/EnergyViewModel.kt b/Projet/app/src/main/java/com/example/bluetoothdetector/main/viewmodel/EnergyViewModel.kt index 94d5211..76943a0 100644 --- a/Projet/app/src/main/java/com/example/bluetoothdetector/main/viewmodel/EnergyViewModel.kt +++ b/Projet/app/src/main/java/com/example/bluetoothdetector/main/viewmodel/EnergyViewModel.kt @@ -11,6 +11,7 @@ class EnergyViewModel @Inject constructor( val energyRepository: EnergyRepository ) : ViewModel() { + //bool to indicate if battery percentage is for app since created else since app resumed val isStatsSinceCreatedDisplayed = mutableStateOf(false) fun toggleStatsDisplayed() { isStatsSinceCreatedDisplayed.value = !isStatsSinceCreatedDisplayed.value