public class com.android.internal.os.BluetoothPowerCalculator extends com.android.internal.os.PowerCalculator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.internal.os.BluetoothPowerCalculator
super_class: com.android.internal.os.PowerCalculator
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "BluetoothPowerCalculator"
private final double mIdleMa;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double mRxMa;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double mTxMa;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private double mAppTotalPowerMah;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private long mAppTotalTimeMs;
descriptor: J
flags: (0x0002) ACC_PRIVATE
public void <init>(com.android.internal.os.PowerProfile);
descriptor: (Lcom/android/internal/os/PowerProfile;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.android.internal.os.PowerCalculator.<init>:()V
1: aload 0
dconst_0
putfield com.android.internal.os.BluetoothPowerCalculator.mAppTotalPowerMah:D
2: aload 0
lconst_0
putfield com.android.internal.os.BluetoothPowerCalculator.mAppTotalTimeMs:J
3: aload 0
aload 1
ldc "bluetooth.controller.idle"
invokevirtual com.android.internal.os.PowerProfile.getAveragePower:(Ljava/lang/String;)D
putfield com.android.internal.os.BluetoothPowerCalculator.mIdleMa:D
4: aload 0
aload 1
ldc "bluetooth.controller.rx"
invokevirtual com.android.internal.os.PowerProfile.getAveragePower:(Ljava/lang/String;)D
putfield com.android.internal.os.BluetoothPowerCalculator.mRxMa:D
5: aload 0
aload 1
ldc "bluetooth.controller.tx"
invokevirtual com.android.internal.os.PowerProfile.getAveragePower:(Ljava/lang/String;)D
putfield com.android.internal.os.BluetoothPowerCalculator.mTxMa:D
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/internal/os/BluetoothPowerCalculator;
0 7 1 profile Lcom/android/internal/os/PowerProfile;
MethodParameters:
Name Flags
profile
public void calculateApp(com.android.internal.os.BatterySipper, android.os.BatteryStats$Uid, long, long, int);
descriptor: (Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 7 0: aload 2
invokevirtual android.os.BatteryStats$Uid.getBluetoothControllerActivity:()Landroid/os/BatteryStats$ControllerActivityCounter;
astore 8
start local 8 1: aload 8
ifnonnull 3
2: return
3: StackMap locals: android.os.BatteryStats$ControllerActivityCounter
StackMap stack:
aload 8
invokevirtual android.os.BatteryStats$ControllerActivityCounter.getIdleTimeCounter:()Landroid/os/BatteryStats$LongCounter;
iload 7
invokevirtual android.os.BatteryStats$LongCounter.getCountLocked:(I)J
lstore 9
start local 9 4: aload 8
invokevirtual android.os.BatteryStats$ControllerActivityCounter.getRxTimeCounter:()Landroid/os/BatteryStats$LongCounter;
iload 7
invokevirtual android.os.BatteryStats$LongCounter.getCountLocked:(I)J
lstore 11
start local 11 5: aload 8
invokevirtual android.os.BatteryStats$ControllerActivityCounter.getTxTimeCounters:()[Landroid/os/BatteryStats$LongCounter;
iconst_0
aaload
iload 7
invokevirtual android.os.BatteryStats$LongCounter.getCountLocked:(I)J
lstore 13
start local 13 6: lload 9
lload 13
ladd
lload 11
ladd
lstore 15
start local 15 7: aload 8
invokevirtual android.os.BatteryStats$ControllerActivityCounter.getPowerCounter:()Landroid/os/BatteryStats$LongCounter;
iload 7
invokevirtual android.os.BatteryStats$LongCounter.getCountLocked:(I)J
l2d
8: ldc 3600000.0
9: ddiv
dstore 17
start local 17 10: dload 17
dconst_0
dcmpl
ifne 14
11: lload 9
l2d
aload 0
getfield com.android.internal.os.BluetoothPowerCalculator.mIdleMa:D
dmul
lload 11
l2d
aload 0
getfield com.android.internal.os.BluetoothPowerCalculator.mRxMa:D
dmul
dadd
lload 13
l2d
aload 0
getfield com.android.internal.os.BluetoothPowerCalculator.mTxMa:D
dmul
dadd
12: ldc 3600000.0
13: ddiv
dstore 17
14: StackMap locals: com.android.internal.os.BluetoothPowerCalculator com.android.internal.os.BatterySipper android.os.BatteryStats$Uid long long int android.os.BatteryStats$ControllerActivityCounter long long long long double
StackMap stack:
aload 1
dload 17
putfield com.android.internal.os.BatterySipper.bluetoothPowerMah:D
15: aload 1
lload 15
putfield com.android.internal.os.BatterySipper.bluetoothRunningTimeMs:J
16: aload 1
aload 2
iconst_4
iload 7
invokevirtual android.os.BatteryStats$Uid.getNetworkActivityBytes:(II)J
putfield com.android.internal.os.BatterySipper.btRxBytes:J
17: aload 1
aload 2
iconst_5
iload 7
invokevirtual android.os.BatteryStats$Uid.getNetworkActivityBytes:(II)J
putfield com.android.internal.os.BatterySipper.btTxBytes:J
18: aload 0
dup
getfield com.android.internal.os.BluetoothPowerCalculator.mAppTotalPowerMah:D
dload 17
dadd
putfield com.android.internal.os.BluetoothPowerCalculator.mAppTotalPowerMah:D
19: aload 0
dup
getfield com.android.internal.os.BluetoothPowerCalculator.mAppTotalTimeMs:J
lload 15
ladd
putfield com.android.internal.os.BluetoothPowerCalculator.mAppTotalTimeMs:J
20: return
end local 17 end local 15 end local 13 end local 11 end local 9 end local 8 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/android/internal/os/BluetoothPowerCalculator;
0 21 1 app Lcom/android/internal/os/BatterySipper;
0 21 2 u Landroid/os/BatteryStats$Uid;
0 21 3 rawRealtimeUs J
0 21 5 rawUptimeUs J
0 21 7 statsType I
1 21 8 counter Landroid/os/BatteryStats$ControllerActivityCounter;
4 21 9 idleTimeMs J
5 21 11 rxTimeMs J
6 21 13 txTimeMs J
7 21 15 totalTimeMs J
10 21 17 powerMah D
MethodParameters:
Name Flags
app
u
rawRealtimeUs
rawUptimeUs
statsType
public void calculateRemaining(com.android.internal.os.BatterySipper, android.os.BatteryStats, long, long, int);
descriptor: (Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 7 0: aload 2
invokevirtual android.os.BatteryStats.getBluetoothControllerActivity:()Landroid/os/BatteryStats$ControllerActivityCounter;
1: astore 8
start local 8 2: aload 8
invokevirtual android.os.BatteryStats$ControllerActivityCounter.getIdleTimeCounter:()Landroid/os/BatteryStats$LongCounter;
iload 7
invokevirtual android.os.BatteryStats$LongCounter.getCountLocked:(I)J
lstore 9
start local 9 3: aload 8
invokevirtual android.os.BatteryStats$ControllerActivityCounter.getTxTimeCounters:()[Landroid/os/BatteryStats$LongCounter;
iconst_0
aaload
iload 7
invokevirtual android.os.BatteryStats$LongCounter.getCountLocked:(I)J
lstore 11
start local 11 4: aload 8
invokevirtual android.os.BatteryStats$ControllerActivityCounter.getRxTimeCounter:()Landroid/os/BatteryStats$LongCounter;
iload 7
invokevirtual android.os.BatteryStats$LongCounter.getCountLocked:(I)J
lstore 13
start local 13 5: lload 9
lload 11
ladd
lload 13
ladd
lstore 15
start local 15 6: aload 8
invokevirtual android.os.BatteryStats$ControllerActivityCounter.getPowerCounter:()Landroid/os/BatteryStats$LongCounter;
iload 7
invokevirtual android.os.BatteryStats$LongCounter.getCountLocked:(I)J
l2d
7: ldc 3600000.0
8: ddiv
dstore 17
start local 17 9: dload 17
dconst_0
dcmpl
ifne 13
10: lload 9
l2d
aload 0
getfield com.android.internal.os.BluetoothPowerCalculator.mIdleMa:D
dmul
lload 13
l2d
aload 0
getfield com.android.internal.os.BluetoothPowerCalculator.mRxMa:D
dmul
dadd
lload 11
l2d
aload 0
getfield com.android.internal.os.BluetoothPowerCalculator.mTxMa:D
dmul
dadd
11: ldc 3600000.0
12: ddiv
dstore 17
13: StackMap locals: com.android.internal.os.BluetoothPowerCalculator com.android.internal.os.BatterySipper android.os.BatteryStats long long int android.os.BatteryStats$ControllerActivityCounter long long long long double
StackMap stack:
dconst_0
dload 17
aload 0
getfield com.android.internal.os.BluetoothPowerCalculator.mAppTotalPowerMah:D
dsub
invokestatic java.lang.Math.max:(DD)D
dstore 17
14: aload 1
dload 17
putfield com.android.internal.os.BatterySipper.bluetoothPowerMah:D
15: aload 1
lconst_0
lload 15
aload 0
getfield com.android.internal.os.BluetoothPowerCalculator.mAppTotalTimeMs:J
lsub
invokestatic java.lang.Math.max:(JJ)J
putfield com.android.internal.os.BatterySipper.bluetoothRunningTimeMs:J
16: return
end local 17 end local 15 end local 13 end local 11 end local 9 end local 8 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/android/internal/os/BluetoothPowerCalculator;
0 17 1 app Lcom/android/internal/os/BatterySipper;
0 17 2 stats Landroid/os/BatteryStats;
0 17 3 rawRealtimeUs J
0 17 5 rawUptimeUs J
0 17 7 statsType I
2 17 8 counter Landroid/os/BatteryStats$ControllerActivityCounter;
3 17 9 idleTimeMs J
4 17 11 txTimeMs J
5 17 13 rxTimeMs J
6 17 15 totalTimeMs J
9 17 17 powerMah D
MethodParameters:
Name Flags
app
stats
rawRealtimeUs
rawUptimeUs
statsType
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dconst_0
putfield com.android.internal.os.BluetoothPowerCalculator.mAppTotalPowerMah:D
1: aload 0
lconst_0
putfield com.android.internal.os.BluetoothPowerCalculator.mAppTotalTimeMs:J
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/os/BluetoothPowerCalculator;
}
SourceFile: "BluetoothPowerCalculator.java"
InnerClasses:
public abstract ControllerActivityCounter = android.os.BatteryStats$ControllerActivityCounter of android.os.BatteryStats
public abstract LongCounter = android.os.BatteryStats$LongCounter of android.os.BatteryStats
public abstract Uid = android.os.BatteryStats$Uid of android.os.BatteryStats