public class com.android.internal.os.PowerProfile
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.internal.os.PowerProfile
super_class: java.lang.Object
{
public static final java.lang.String POWER_CPU_SUSPEND;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "cpu.suspend"
public static final java.lang.String POWER_CPU_IDLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "cpu.idle"
public static final java.lang.String POWER_CPU_ACTIVE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "cpu.active"
public static final java.lang.String POWER_WIFI_SCAN;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "wifi.scan"
public static final java.lang.String POWER_WIFI_ON;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "wifi.on"
public static final java.lang.String POWER_WIFI_ACTIVE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "wifi.active"
public static final java.lang.String POWER_WIFI_CONTROLLER_IDLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "wifi.controller.idle"
public static final java.lang.String POWER_WIFI_CONTROLLER_RX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "wifi.controller.rx"
public static final java.lang.String POWER_WIFI_CONTROLLER_TX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "wifi.controller.tx"
public static final java.lang.String POWER_WIFI_CONTROLLER_TX_LEVELS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "wifi.controller.tx_levels"
public static final java.lang.String POWER_WIFI_CONTROLLER_OPERATING_VOLTAGE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "wifi.controller.voltage"
public static final java.lang.String POWER_BLUETOOTH_CONTROLLER_IDLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "bluetooth.controller.idle"
public static final java.lang.String POWER_BLUETOOTH_CONTROLLER_RX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "bluetooth.controller.rx"
public static final java.lang.String POWER_BLUETOOTH_CONTROLLER_TX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "bluetooth.controller.tx"
public static final java.lang.String POWER_BLUETOOTH_CONTROLLER_OPERATING_VOLTAGE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "bluetooth.controller.voltage"
public static final java.lang.String POWER_MODEM_CONTROLLER_SLEEP;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "modem.controller.sleep"
public static final java.lang.String POWER_MODEM_CONTROLLER_IDLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "modem.controller.idle"
public static final java.lang.String POWER_MODEM_CONTROLLER_RX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "modem.controller.rx"
public static final java.lang.String POWER_MODEM_CONTROLLER_TX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "modem.controller.tx"
public static final java.lang.String POWER_MODEM_CONTROLLER_OPERATING_VOLTAGE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "modem.controller.voltage"
public static final java.lang.String POWER_GPS_ON;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "gps.on"
public static final java.lang.String POWER_GPS_SIGNAL_QUALITY_BASED;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "gps.signalqualitybased"
public static final java.lang.String POWER_GPS_OPERATING_VOLTAGE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "gps.voltage"
public static final java.lang.String POWER_BLUETOOTH_ON;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "bluetooth.on"
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String POWER_BLUETOOTH_ACTIVE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "bluetooth.active"
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String POWER_BLUETOOTH_AT_CMD;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "bluetooth.at"
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String POWER_AMBIENT_DISPLAY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "ambient.on"
public static final java.lang.String POWER_SCREEN_ON;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "screen.on"
public static final java.lang.String POWER_RADIO_ON;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "radio.on"
public static final java.lang.String POWER_RADIO_SCANNING;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "radio.scanning"
public static final java.lang.String POWER_RADIO_ACTIVE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "radio.active"
public static final java.lang.String POWER_SCREEN_FULL;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "screen.full"
public static final java.lang.String POWER_AUDIO;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "audio"
public static final java.lang.String POWER_VIDEO;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "video"
public static final java.lang.String POWER_FLASHLIGHT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "camera.flashlight"
public static final java.lang.String POWER_MEMORY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "memory.bandwidths"
public static final java.lang.String POWER_CAMERA;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "camera.avg"
public static final java.lang.String POWER_WIFI_BATCHED_SCAN;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "wifi.batchedscan"
public static final java.lang.String POWER_BATTERY_CAPACITY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "battery.capacity"
static final java.util.HashMap<java.lang.String, java.lang.Double> sPowerItemMap;
descriptor: Ljava/util/HashMap;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Double;>;
static final java.util.HashMap<java.lang.String, java.lang.Double[]> sPowerArrayMap;
descriptor: Ljava/util/HashMap;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;[Ljava/lang/Double;>;
private static final java.lang.String TAG_DEVICE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "device"
private static final java.lang.String TAG_ITEM;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "item"
private static final java.lang.String TAG_ARRAY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "array"
private static final java.lang.String TAG_ARRAYITEM;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "value"
private static final java.lang.String ATTR_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "name"
private static final java.lang.Object sLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private com.android.internal.os.PowerProfile$CpuClusterKey[] mCpuClusters;
descriptor: [Lcom/android/internal/os/PowerProfile$CpuClusterKey;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String CPU_PER_CLUSTER_CORE_COUNT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "cpu.clusters.cores"
private static final java.lang.String CPU_CLUSTER_POWER_COUNT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "cpu.cluster_power.cluster"
private static final java.lang.String CPU_CORE_SPEED_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "cpu.core_speeds.cluster"
private static final java.lang.String CPU_CORE_POWER_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "cpu.core_power.cluster"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic com.android.internal.os.PowerProfile.sPowerItemMap:Ljava/util/HashMap;
1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
2: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic com.android.internal.os.PowerProfile.sLock:Ljava/lang/Object;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokespecial com.android.internal.os.PowerProfile.<init>:(Landroid/content/Context;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/internal/os/PowerProfile;
0 2 1 context Landroid/content/Context;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
context
public void <init>(android.content.Context, boolean);
descriptor: (Landroid/content/Context;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic com.android.internal.os.PowerProfile.sLock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: getstatic com.android.internal.os.PowerProfile.sPowerItemMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
ifne 4
getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
ifne 4
3: aload 0
aload 1
iload 2
invokevirtual com.android.internal.os.PowerProfile.readPowerValuesFromXml:(Landroid/content/Context;Z)V
4: StackMap locals: com.android.internal.os.PowerProfile android.content.Context int java.lang.Object
StackMap stack:
aload 0
invokevirtual com.android.internal.os.PowerProfile.initCpuClusters:()V
5: aload 3
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/android/internal/os/PowerProfile;
0 10 1 context Landroid/content/Context;
0 10 2 forTest Z
Exception table:
from to target type
2 6 7 any
7 8 7 any
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
context
forTest
private void readPowerValuesFromXml(android.content.Context, boolean);
descriptor: (Landroid/content/Context;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tcom.android.internal.R.xml cannot be resolved to a variable\n\tcom.android.internal.R.xml cannot be resolved to a variable\n\tThe method beginDocument(XmlPullParser, String) from the type XmlUtils refers to the missing type XmlPullParser\n\tThe method nextElement(XmlPullParser) from the type XmlUtils refers to the missing type XmlPullParser\n\tThe method getName() is undefined for the type XmlResourceParser\n\tThe method next() is undefined for the type XmlResourceParser\n\tXmlPullParser cannot be resolved to a variable\n\tThe method getText() is undefined for the type XmlResourceParser\n\tXmlPullParserException cannot be resolved to a type\n\tcom.android.internal.R.integer cannot be resolved to a variable\n\tcom.android.internal.R.integer cannot be resolved to a variable\n\tcom.android.internal.R.integer cannot be resolved to a variable\n\tcom.android.internal.R.integer cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/os/PowerProfile;
MethodParameters:
Name Flags
context
forTest
private void initCpuClusters();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=4, args_size=1
start local 0 0: getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
ldc "cpu.clusters.cores"
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 13
1: getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
ldc "cpu.clusters.cores"
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Double[]
astore 1
start local 1 2: aload 0
aload 1
arraylength
anewarray com.android.internal.os.PowerProfile$CpuClusterKey
putfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
3: iconst_0
istore 2
start local 2 4: goto 11
5: StackMap locals: java.lang.Double[] int
StackMap stack:
aload 1
iload 2
aaload
invokevirtual java.lang.Double.doubleValue:()D
invokestatic java.lang.Math.round:(D)J
l2i
istore 3
start local 3 6: aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
iload 2
new com.android.internal.os.PowerProfile$CpuClusterKey
dup
7: new java.lang.StringBuilder
dup
ldc "cpu.core_speeds.cluster"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
new java.lang.StringBuilder
dup
ldc "cpu.cluster_power.cluster"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: new java.lang.StringBuilder
dup
ldc "cpu.core_power.cluster"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 3
invokespecial com.android.internal.os.PowerProfile$CpuClusterKey.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
9: aastore
end local 3 10: iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 1
arraylength
if_icmplt 5
end local 2 end local 1 12: goto 20
13: StackMap locals:
StackMap stack:
aload 0
iconst_1
anewarray com.android.internal.os.PowerProfile$CpuClusterKey
putfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
14: iconst_1
istore 1
start local 1 15: getstatic com.android.internal.os.PowerProfile.sPowerItemMap:Ljava/util/HashMap;
ldc "cpu.clusters.cores"
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 17
16: getstatic com.android.internal.os.PowerProfile.sPowerItemMap:Ljava/util/HashMap;
ldc "cpu.clusters.cores"
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokestatic java.lang.Math.round:(D)J
l2i
istore 1
17: StackMap locals: int
StackMap stack:
aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
iconst_0
new com.android.internal.os.PowerProfile$CpuClusterKey
dup
ldc "cpu.core_speeds.cluster0"
18: ldc "cpu.cluster_power.cluster0"
ldc "cpu.core_power.cluster0"
iload 1
invokespecial com.android.internal.os.PowerProfile$CpuClusterKey.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
19: aastore
end local 1 20: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/android/internal/os/PowerProfile;
2 12 1 data [Ljava/lang/Double;
4 12 2 cluster I
6 10 3 numCpusInCluster I
15 20 1 numCpus I
public int getNumCpuClusters();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/os/PowerProfile;
public int getNumCoresInCpuCluster(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
iload 1
aaload
getfield com.android.internal.os.PowerProfile$CpuClusterKey.numCpus:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/os/PowerProfile;
0 1 1 cluster I
MethodParameters:
Name Flags
cluster
public int getNumSpeedStepsInCpuCluster(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
arraylength
if_icmplt 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
iload 1
aaload
getfield com.android.internal.os.PowerProfile$CpuClusterKey.freqKey:Ljava/lang/String;
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 4
3: getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
iload 1
aaload
getfield com.android.internal.os.PowerProfile$CpuClusterKey.freqKey:Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Double[]
arraylength
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/os/PowerProfile;
0 5 1 cluster I
MethodParameters:
Name Flags
cluster
public double getAveragePowerForCpuCluster(int);
descriptor: (I)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 2
iload 1
aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
arraylength
if_icmpge 2
1: aload 0
aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
iload 1
aaload
getfield com.android.internal.os.PowerProfile$CpuClusterKey.clusterPowerKey:Ljava/lang/String;
invokevirtual com.android.internal.os.PowerProfile.getAveragePower:(Ljava/lang/String;)D
dreturn
2: StackMap locals:
StackMap stack:
dconst_0
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/os/PowerProfile;
0 3 1 cluster I
MethodParameters:
Name Flags
cluster
public double getAveragePowerForCpuCore(int, int);
descriptor: (II)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iflt 2
iload 1
aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
arraylength
if_icmpge 2
1: aload 0
aload 0
getfield com.android.internal.os.PowerProfile.mCpuClusters:[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
iload 1
aaload
getfield com.android.internal.os.PowerProfile$CpuClusterKey.corePowerKey:Ljava/lang/String;
iload 2
invokevirtual com.android.internal.os.PowerProfile.getAveragePower:(Ljava/lang/String;I)D
dreturn
2: StackMap locals:
StackMap stack:
dconst_0
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/internal/os/PowerProfile;
0 3 1 cluster I
0 3 2 step I
MethodParameters:
Name Flags
cluster
step
public int getNumElements(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.android.internal.os.PowerProfile.sPowerItemMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 4
3: getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Double[]
arraylength
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/os/PowerProfile;
0 5 1 key Ljava/lang/String;
MethodParameters:
Name Flags
key
public double getAveragePowerOrDefault(java.lang.String, double);
descriptor: (Ljava/lang/String;D)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.android.internal.os.PowerProfile.sPowerItemMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: getstatic com.android.internal.os.PowerProfile.sPowerItemMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dreturn
2: StackMap locals:
StackMap stack:
getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 4
3: getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Double[]
iconst_0
aaload
invokevirtual java.lang.Double.doubleValue:()D
dreturn
4: StackMap locals:
StackMap stack:
dload 2
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/internal/os/PowerProfile;
0 5 1 type Ljava/lang/String;
0 5 2 defaultValue D
MethodParameters:
Name Flags
type
defaultValue
public double getAveragePower(java.lang.String);
descriptor: (Ljava/lang/String;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
dconst_0
invokevirtual com.android.internal.os.PowerProfile.getAveragePowerOrDefault:(Ljava/lang/String;D)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/os/PowerProfile;
0 1 1 type Ljava/lang/String;
MethodParameters:
Name Flags
type
public double getAveragePower(java.lang.String, int);
descriptor: (Ljava/lang/String;I)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.android.internal.os.PowerProfile.sPowerItemMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: getstatic com.android.internal.os.PowerProfile.sPowerItemMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dreturn
2: StackMap locals:
StackMap stack:
getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 9
3: getstatic com.android.internal.os.PowerProfile.sPowerArrayMap:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Double[]
astore 3
start local 3 4: aload 3
arraylength
iload 2
if_icmple 6
iload 2
iflt 6
5: aload 3
iload 2
aaload
invokevirtual java.lang.Double.doubleValue:()D
dreturn
6: StackMap locals: java.lang.Double[]
StackMap stack:
iload 2
iflt 7
aload 3
arraylength
ifne 8
7: StackMap locals:
StackMap stack:
dconst_0
dreturn
8: StackMap locals:
StackMap stack:
aload 3
aload 3
arraylength
iconst_1
isub
aaload
invokevirtual java.lang.Double.doubleValue:()D
dreturn
end local 3 9: StackMap locals:
StackMap stack:
dconst_0
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/android/internal/os/PowerProfile;
0 10 1 type Ljava/lang/String;
0 10 2 level I
4 9 3 values [Ljava/lang/Double;
MethodParameters:
Name Flags
type
level
public double getBatteryCapacity();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "battery.capacity"
invokevirtual com.android.internal.os.PowerProfile.getAveragePower:(Ljava/lang/String;)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/os/PowerProfile;
}
SourceFile: "PowerProfile.java"
NestMembers:
com.android.internal.os.PowerProfile$CpuClusterKey
InnerClasses:
public CpuClusterKey = com.android.internal.os.PowerProfile$CpuClusterKey of com.android.internal.os.PowerProfile