1 package com.android.systemui.power 2 3 import com.android.systemui.power.PowerUI.NO_ESTIMATE_AVAILABLE 4 5 /** 6 * A simple data class to snapshot battery state when a particular check for the 7 * low battery warning is running in the background. 8 */ 9 data class BatteryStateSnapshot( 10 val batteryLevel: Int, 11 val isPowerSaver: Boolean, 12 val plugged: Boolean, 13 val bucket: Int, 14 val batteryStatus: Int, 15 val severeLevelThreshold: Int, 16 val lowLevelThreshold: Int, 17 val timeRemainingMillis: Long, 18 val averageTimeToDischargeMillis: Long, 19 val severeThresholdMillis: Long, 20 val lowThresholdMillis: Long, 21 val isBasedOnUsage: Boolean, 22 val isLowWarningEnabled: Boolean 23 ) { 24 /** 25 * Returns whether hybrid warning logic/copy should be used for this snapshot 26 */ 27 var isHybrid: Boolean = false 28 private set 29 30 init { 31 this.isHybrid = true 32 } 33 34 constructor( 35 batteryLevel: Int, 36 isPowerSaver: Boolean, 37 plugged: Boolean, 38 bucket: Int, 39 batteryStatus: Int, 40 severeLevelThreshold: Int, 41 lowLevelThreshold: Int 42 ) : this( 43 batteryLevel, 44 isPowerSaver, 45 plugged, 46 bucket, 47 batteryStatus, 48 severeLevelThreshold, 49 lowLevelThreshold, 50 NO_ESTIMATE_AVAILABLE.toLong(), 51 NO_ESTIMATE_AVAILABLE.toLong(), 52 NO_ESTIMATE_AVAILABLE.toLong(), 53 NO_ESTIMATE_AVAILABLE.toLong(), 54 false, 55 true 56 ) { 57 this.isHybrid = false 58 } 59 } 60