Skip to content
This repository has been archived by the owner on Jan 7, 2024. It is now read-only.

bug fixed for launched resume battery and comments done #49

Merged
merged 2 commits into from
Apr 23, 2023
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.example.bluetoothdetector.main.di

import android.content.Context
import androidx.room.Room
import com.example.bluetoothdetector.main.repository.*
import com.example.bluetoothdetector.auth.repository.AccountRepository
import com.example.bluetoothdetector.common.repository.ThemeRepository
import com.example.bluetoothdetector.main.repository.*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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?) {
Expand All @@ -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)
Expand All @@ -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 = 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
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down