@@ -42,6 +42,7 @@ struct FieldIds {
4242 // members
4343 jfieldID mAcOnline ;
4444 jfieldID mUsbOnline ;
45+ jfieldID mWirelessOnline ;
4546 jfieldID mBatteryStatus ;
4647 jfieldID mBatteryHealth ;
4748 jfieldID mBatteryPresent ;
@@ -71,6 +72,7 @@ static BatteryManagerConstants gConstants;
7172struct PowerSupplyPaths {
7273 char * acOnlinePath;
7374 char * usbOnlinePath;
75+ char * wirelessOnlinePath;
7476 char * batteryStatusPath;
7577 char * batteryHealthPath;
7678 char * batteryPresentPath;
@@ -198,6 +200,7 @@ static void android_server_BatteryService_update(JNIEnv* env, jobject obj)
198200{
199201 setBooleanField (env, obj, gPaths .acOnlinePath , gFieldIds .mAcOnline );
200202 setBooleanField (env, obj, gPaths .usbOnlinePath , gFieldIds .mUsbOnline );
203+ setBooleanField (env, obj, gPaths .wirelessOnlinePath , gFieldIds .mWirelessOnline );
201204 setBooleanField (env, obj, gPaths .batteryPresentPath , gFieldIds .mBatteryPresent );
202205
203206 setIntField (env, obj, gPaths .batteryCapacityPath , gFieldIds .mBatteryLevel );
@@ -260,6 +263,11 @@ int register_android_server_BatteryService(JNIEnv* env)
260263 if (access (path, R_OK) == 0 )
261264 gPaths .usbOnlinePath = strdup (path);
262265 }
266+ else if (strcmp (buf, " Wireless" ) == 0 ) {
267+ snprintf (path, sizeof (path), " %s/%s/online" , POWER_SUPPLY_PATH, name);
268+ if (access (path, R_OK) == 0 )
269+ gPaths .wirelessOnlinePath = strdup (path);
270+ }
263271 else if (strcmp (buf, " Battery" ) == 0 ) {
264272 snprintf (path, sizeof (path), " %s/%s/status" , POWER_SUPPLY_PATH, name);
265273 if (access (path, R_OK) == 0 )
@@ -307,6 +315,8 @@ int register_android_server_BatteryService(JNIEnv* env)
307315 ALOGE (" acOnlinePath not found" );
308316 if (!gPaths .usbOnlinePath )
309317 ALOGE (" usbOnlinePath not found" );
318+ if (!gPaths .wirelessOnlinePath )
319+ ALOGE (" wirelessOnlinePath not found" );
310320 if (!gPaths .batteryStatusPath )
311321 ALOGE (" batteryStatusPath not found" );
312322 if (!gPaths .batteryHealthPath )
@@ -331,6 +341,7 @@ int register_android_server_BatteryService(JNIEnv* env)
331341
332342 gFieldIds .mAcOnline = env->GetFieldID (clazz, " mAcOnline" , " Z" );
333343 gFieldIds .mUsbOnline = env->GetFieldID (clazz, " mUsbOnline" , " Z" );
344+ gFieldIds .mWirelessOnline = env->GetFieldID (clazz, " mWirelessOnline" , " Z" );
334345 gFieldIds .mBatteryStatus = env->GetFieldID (clazz, " mBatteryStatus" , " I" );
335346 gFieldIds .mBatteryHealth = env->GetFieldID (clazz, " mBatteryHealth" , " I" );
336347 gFieldIds .mBatteryPresent = env->GetFieldID (clazz, " mBatteryPresent" , " Z" );
@@ -341,6 +352,7 @@ int register_android_server_BatteryService(JNIEnv* env)
341352
342353 LOG_FATAL_IF (gFieldIds .mAcOnline == NULL , " Unable to find BatteryService.AC_ONLINE_PATH" );
343354 LOG_FATAL_IF (gFieldIds .mUsbOnline == NULL , " Unable to find BatteryService.USB_ONLINE_PATH" );
355+ LOG_FATAL_IF (gFieldIds .mWirelessOnline == NULL , " Unable to find BatteryService.WIRELESS_ONLINE_PATH" );
344356 LOG_FATAL_IF (gFieldIds .mBatteryStatus == NULL , " Unable to find BatteryService.BATTERY_STATUS_PATH" );
345357 LOG_FATAL_IF (gFieldIds .mBatteryHealth == NULL , " Unable to find BatteryService.BATTERY_HEALTH_PATH" );
346358 LOG_FATAL_IF (gFieldIds .mBatteryPresent == NULL , " Unable to find BatteryService.BATTERY_PRESENT_PATH" );
0 commit comments