Refactor BatteryService to new pattern.

Apply SystemService pattern to BatteryService.

Change-Id: I4971b2da8d2aed4d14440fb65863a8b916bab03c
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 4b67155..d294cd2 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -150,7 +150,6 @@
     private DisplayManagerService mDisplayManagerService;
     private PackageManagerService mPackageManagerService;
     private PackageManager mPackageManager;
-    private BatteryService mBatteryService;
     private ContentResolver mContentResolver;
 
     private boolean mOnlyCore;
@@ -362,11 +361,8 @@
         // Manages LEDs and display backlight.
         mSystemServiceManager.startService(LightsService.class);
 
-        // Tracks the battery level.
-        Slog.i(TAG, "Battery Service");
-        mBatteryService = new BatteryService(mSystemContext,
-                LocalServices.getService(LightsManager.class));
-        ServiceManager.addService("battery", mBatteryService);
+        // Tracks the battery level.  Requires LightService.
+        mSystemServiceManager.startService(BatteryService.class);
     }
 
     /**
@@ -998,8 +994,7 @@
 
         try {
             // TODO: use boot phase
-            mPowerManagerService.systemReady(mBatteryService,
-                    mActivityManagerService.getAppOpsService());
+            mPowerManagerService.systemReady(mActivityManagerService.getAppOpsService());
         } catch (Throwable e) {
             reportWtf("making Power Manager Service ready", e);
         }
@@ -1067,11 +1062,6 @@
                     reportWtf("making Mount Service ready", e);
                 }
                 try {
-                    mBatteryService.systemReady();
-                } catch (Throwable e) {
-                    reportWtf("making Battery Service ready", e);
-                }
-                try {
                     if (networkScoreF != null) networkScoreF.systemReady();
                 } catch (Throwable e) {
                     reportWtf("making Network Score Service ready", e);