update TODOs

- assign bugs for future items
- remove it if not necessary any more
- also remove unused CarServiceApplication

bug: 31970410

Change-Id: I3f5ecb8a80fd450afdb58007e07e88527132edb9
diff --git a/service/src/com/android/car/CanBusErrorNotifier.java b/service/src/com/android/car/CanBusErrorNotifier.java
index 115dda0..56be067 100644
--- a/service/src/com/android/car/CanBusErrorNotifier.java
+++ b/service/src/com/android/car/CanBusErrorNotifier.java
@@ -64,7 +64,7 @@
 
     private void showNotification() {
         if (IS_RELEASE_BUILD) {
-            // TODO: for release build we should show message to take car to the dealer.
+            // TODO: for user, we should show message to take car to the dealer. bug:32096297
             return;
         }
         Notification notification;
@@ -84,7 +84,7 @@
 
     private void hideNotification() {
         if (IS_RELEASE_BUILD) {
-            // TODO: for release build we should show message to take car to the dealer.
+            // TODO: for user, we should show message to take car to the dealer. bug:32096297
             return;
         }
         mNotificationManager.cancel(TAG, NOTIFICATION_ID);
diff --git a/service/src/com/android/car/CarAudioService.java b/service/src/com/android/car/CarAudioService.java
index e4ad5db..17df7a0 100644
--- a/service/src/com/android/car/CarAudioService.java
+++ b/service/src/com/android/car/CarAudioService.java
@@ -1194,7 +1194,6 @@
             if (((mCurrentFocusState.streams & streamsToRequest) == streamsToRequest) &&
                     ((mCurrentFocusState.streams & ~streamsToRequest) != 0)) {
                 // stream is reduced, so do not release it immediately
-                //TODO find better way than blocking here.
                 try {
                     Thread.sleep(NO_FOCUS_PLAY_WAIT_TIME_MS);
                 } catch (InterruptedException e) {
@@ -1343,7 +1342,6 @@
     }
 
     private void doHandleFocusRelease() {
-        //TODO Is there a need to wait for the stopping of streams?
         boolean sent = false;
         synchronized (mLock) {
             if (mCurrentFocusState != FocusState.STATE_LOSS) {
diff --git a/service/src/com/android/car/CarPowerManagementService.java b/service/src/com/android/car/CarPowerManagementService.java
index 1563dee..34a67fa 100644
--- a/service/src/com/android/car/CarPowerManagementService.java
+++ b/service/src/com/android/car/CarPowerManagementService.java
@@ -506,15 +506,15 @@
 
     @Override
     public void onDisplayBrightnessChange(int brightness) {
-        // TODO
+        // TODO bug: 32065231
     }
 
     private void doHandleDisplayBrightnessChange(int brightness) {
-        //TODO
+        //TODO bug: 32065231
     }
 
     private void doHandleMainDisplayStateChange(boolean on) {
-        //TODO
+        //TODO bug: 32065231
     }
 
     private boolean shouldDoFakeShutdown() {
@@ -672,7 +672,7 @@
 
         @Override
         public void enterDeepSleep(int wakeupTimeSec) {
-            //TODO set wake up time
+            //TODO set wake up time, bug: 32061842
             mPowerManager.goToSleep(SystemClock.uptimeMillis(),
                     PowerManager.GO_TO_SLEEP_REASON_DEVICE_ADMIN,
                     PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE);
@@ -680,7 +680,7 @@
 
         @Override
         public boolean isSystemSupportingDeepSleep() {
-            //TODO should return by checking some kernel suspend control sysfs
+            //TODO should return by checking some kernel suspend control sysfs, bug: 32061842
             return false;
         }
 
@@ -716,8 +716,8 @@
 
         @Override
         public boolean isWakeupCausedByTimer() {
-            //TODO check wake up reason and do necessary operation information should come from
-            // kernel. it can be either power on or wake up for maintenance
+            //TODO bug: 32061842, check wake up reason and do necessary operation information should
+            // come from kernel. it can be either power on or wake up for maintenance
             // power on will involve GPIO trigger from power controller
             // its own wakeup will involve timer expiration.
             return false;
diff --git a/service/src/com/android/car/CarPropertyServiceBase.java b/service/src/com/android/car/CarPropertyServiceBase.java
index cfeb6f2..7864e6a 100644
--- a/service/src/com/android/car/CarPropertyServiceBase.java
+++ b/service/src/com/android/car/CarPropertyServiceBase.java
@@ -101,7 +101,6 @@
 
     @Override
     public void dump(PrintWriter writer) {
-        // TODO
     }
 
     @Override
@@ -209,6 +208,6 @@
 
     @Override
     public void onError(int zone, int property) {
-        // TODO:
+        // TODO bug:32068464
     }
 }
diff --git a/service/src/com/android/car/CarSensorService.java b/service/src/com/android/car/CarSensorService.java
index f0bc8d1..748d3c2 100644
--- a/service/src/com/android/car/CarSensorService.java
+++ b/service/src/com/android/car/CarSensorService.java
@@ -234,9 +234,9 @@
                     record.lastEvent = event;
                 } else if (record.lastEvent.timestamp < event.timestamp) {
                     record.lastEvent = event;
-                    //TODO recycle event
+                    //TODO recycle event, bug: 32094595
                 } else { // wrong timestamp, throw away this.
-                    //TODO recycle new event
+                    //TODO recycle new event, bug: 32094595
                     continue;
                 }
                 SensorListeners listeners = mSensorListeners.get(event.sensorType);
@@ -400,7 +400,7 @@
         return result;
     }
 
-    //TODO handle per property OEM permission
+    //TODO handle per property OEM permission. bug: 32094983
     private String getPermissionName(int sensorType) {
         if ((sensorType >= CarSensorManager.SENSOR_TYPE_VENDOR_EXTENSION_START) &&
                 (sensorType >= CarSensorManager.SENSOR_TYPE_VENDOR_EXTENSION_END)) {
@@ -424,7 +424,7 @@
     }
 
     private boolean startSensor(SensorRecord record, int sensorType, int rate) {
-        //TODO choose proper sensor rate per each sensor.
+        //TODO handle sensor rate properly. bug: 32095903
         //Some sensors which report only when there is change should be always set with maximum
         //rate. For now, set every sensor to the maximum.
         if (Log.isLoggable(CarLog.TAG_SENSOR, Log.VERBOSE)) {
diff --git a/service/src/com/android/car/CarServiceApplication.java b/service/src/com/android/car/CarServiceApplication.java
deleted file mode 100644
index 49cd8f0..0000000
--- a/service/src/com/android/car/CarServiceApplication.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.car;
-
-import android.app.Application;
-
-public class CarServiceApplication extends Application {
-
-    @Override
-    public void onCreate() {
-        // TODO Auto-generated method stub
-        super.onCreate();
-    }
-
-    @Override
-    public void onTerminate() {
-        // TODO Auto-generated method stub
-        super.onTerminate();
-    }
-
-}
diff --git a/service/src/com/android/car/CarVolumeControllerFactory.java b/service/src/com/android/car/CarVolumeControllerFactory.java
index 8ad9fef..79ada5a 100644
--- a/service/src/com/android/car/CarVolumeControllerFactory.java
+++ b/service/src/com/android/car/CarVolumeControllerFactory.java
@@ -186,11 +186,11 @@
      * volume internally. If we only support single channel, then we only send the volume change
      * event when that stream is in focus; Otherwise, we need to adjust the stream volume either on
      * software mixer level or send it the car audio module if the car support audio context
-     * and multi channel. TODO: Add support for multi channel.
+     * and multi channel. TODO: Add support for multi channel. bug: 32095376
      *
      * Per context volume should be persisted, so the volumes can stay the same across boots.
      * Depending on the hardware property, this can be persisted on car side (or/and android side).
-     * TODO: we need to define one single source of truth if the car has memory.
+     * TODO: we need to define one single source of truth if the car has memory. bug: 32091839
      */
     public static class CarExternalVolumeController extends CarVolumeController
             implements CarInputService.KeyEventListener, AudioHalService.AudioHalVolumeListener,
@@ -392,7 +392,7 @@
 
         private void initCurrentVolumeLocked() {
             if (mHasExternalMemory) {
-                // TODO: read per context volume from audio hal
+                // TODO: read per context volume from audio hal. bug: 32091839
             } else {
                 // when vhal does not work, get call can take long. For that case,
                 // for the same physical streams, cache initial get results
@@ -554,8 +554,8 @@
 
         @Override
         public void onVolumeLimitChange(int streamNumber, int volume) {
-            // TODO: How should this update be sent to SystemUI? maybe send a volume update without
-            // showing UI.
+            // TODO: How should this update be sent to SystemUI? bug: 32095237
+            // maybe send a volume update without showing UI.
             synchronized (this) {
                 initVolumeLimitLocked();
             }
@@ -592,7 +592,7 @@
             if (DBG) {
                 Log.d(TAG, "Receive volume keyevent " + event.toString());
             }
-            // TODO: properly handle long press on volume key
+            // TODO: properly handle long press on volume key, bug: 32095989
             if (!down || interceptVolKeyBeforeDispatching(mContext)) {
                 return true;
             }
diff --git a/service/src/com/android/car/CarVolumeService.java b/service/src/com/android/car/CarVolumeService.java
index a0d3033..74e7071 100644
--- a/service/src/com/android/car/CarVolumeService.java
+++ b/service/src/com/android/car/CarVolumeService.java
@@ -37,7 +37,6 @@
 public class CarVolumeService {
     private static final String TAG = "CarVolumeService";
 
-    // TODO: need to have a policy to define the default context
     public static int DEFAULT_CAR_AUDIO_CONTEXT =
             VehicleAudioContextFlag.VEHICLE_AUDIO_CONTEXT_MUSIC_FLAG;
     private final Context mContext;
diff --git a/service/src/com/android/car/DayNightModePolicy.java b/service/src/com/android/car/DayNightModePolicy.java
index cdf5ad5..5acbfb4 100644
--- a/service/src/com/android/car/DayNightModePolicy.java
+++ b/service/src/com/android/car/DayNightModePolicy.java
@@ -23,7 +23,7 @@
 
 import java.io.PrintWriter;
 
-//TODO
+//TODO implement default one based on time or other sensors. bug: 32066909
 public class DayNightModePolicy extends CarSensorService.LogicalSensorHalBase {
 
     private final Context mContext;
@@ -31,6 +31,8 @@
     private boolean mIsReady = false;
     private boolean mStarted = false;
 
+    private static final int[] SUPPORTED_SENSORS = { CarSensorManager.SENSOR_TYPE_NIGHT };
+
     public DayNightModePolicy(Context context) {
         mContext = context;
     }
@@ -42,7 +44,6 @@
 
     @Override
     public synchronized void release() {
-        // TODO Auto-generated method stub
     }
 
     public static CarSensorEvent getDefaultValue(int sensorType) {
@@ -59,7 +60,6 @@
 
     @Override
     public synchronized void onSensorServiceReady() {
-        // TODO Auto-generated method stub
     }
 
     @Override
@@ -69,14 +69,12 @@
 
     @Override
     public synchronized int[] getSupportedSensors() {
-        // TODO Auto-generated method stub
-        return null;
+        return SUPPORTED_SENSORS;
     }
 
     @Override
     public synchronized boolean requestSensorStart(int sensorType, int rate) {
         mStarted = true;
-        // TODO Auto-generated method stub
         Log.w(CarLog.TAG_SENSOR,
                 "DayNightModePolicy.requestSensorStart, default policy not implemented");
         return false;
@@ -84,7 +82,6 @@
 
     @Override
     public synchronized void requestSensorStop(int sensorType) {
-        // TODO Auto-generated method stub
     }
 
     private static CarSensorEvent createEvent(boolean isNight, long timestamp) {
@@ -96,6 +93,5 @@
 
     @Override
     public synchronized void dump(PrintWriter writer) {
-        // TODO Auto-generated method stub
     }
 }
diff --git a/service/src/com/android/car/DrivingStatePolicy.java b/service/src/com/android/car/DrivingStatePolicy.java
index 3507dec..4716c1e 100644
--- a/service/src/com/android/car/DrivingStatePolicy.java
+++ b/service/src/com/android/car/DrivingStatePolicy.java
@@ -86,7 +86,6 @@
 
     @Override
     public void release() {
-        // TODO Auto-generated method stub
     }
 
     public static CarSensorEvent getDefaultValue(int sensorType) {
@@ -130,7 +129,6 @@
 
     @Override
     public void dump(PrintWriter writer) {
-        // TODO Auto-generated method stub
     }
 
     private boolean subscribeIfSupportedLocked(int sensorList[], int sensorType, int rate) {
diff --git a/service/src/com/android/car/GarageModeService.java b/service/src/com/android/car/GarageModeService.java
index 92f25ea..245af0a 100644
--- a/service/src/com/android/car/GarageModeService.java
+++ b/service/src/com/android/car/GarageModeService.java
@@ -229,7 +229,7 @@
 
     private void readPolicyLocked() {
         logd("readPolicy");
-        // TODO: define a xml schema for garage mode policy and read it from system dir.
+        // TODO: define a xml schema for policy and read it from system dir. bug: 32096969
         mPolicy = new DefaultGarageModePolicy();
     }
 
@@ -269,8 +269,8 @@
          * Returns number of seconds between now to 1am {@param numDays} days later.
          */
         public static int nextWakeUpSeconds(int numDays, int hour, int min) {
-            // TODO: Should select a random time within a window to avoid all cars update at the
-            // same time.
+            // TODO: Should select a random time within a window. bug: 32096386
+            // This is to avoid all cars update at the same time.
             Calendar next = Calendar.getInstance();
             next.add(Calendar.DATE, numDays);
             next.set(Calendar.HOUR_OF_DAY, hour);
diff --git a/service/src/com/android/car/SystemStateControllerService.java b/service/src/com/android/car/SystemStateControllerService.java
index a9585f4..5746300 100644
--- a/service/src/com/android/car/SystemStateControllerService.java
+++ b/service/src/com/android/car/SystemStateControllerService.java
@@ -44,7 +44,7 @@
 
     @Override
     public long onPrepareShutdown(boolean shuttingDown) {
-        //TODO add state saving here for things to restore on power on.
+        //TODO add state saving here for things to restore on power on. bug: 32096079
         return 0;
     }
 
@@ -59,7 +59,7 @@
             if (!mICarImpl.isInMocking()) { // do not do this in mocking as it can affect test.
                 Log.i(CarLog.TAG_SYS, "Media mute");
                 mCarAudioService.muteMediaWithLock(mLockWhenMuting);
-                //TODO store last context and resume or silence radio on display on
+                //TODO store last context and resume or silence radio on display on. bug: 32096079
             }
         }
     }
@@ -71,17 +71,17 @@
 
     @Override
     public void onShutdown() {
-        // TODO
+        // TODO bug: 32096079
     }
 
     @Override
     public void onSleepEntry() {
-        // TODO
+        // TODO bug: 32096079
     }
 
     @Override
     public void onSleepExit() {
-        // TODO
+        // TODO bug: 32096079
     }
 
     @Override
diff --git a/service/src/com/android/car/hal/AudioHalService.java b/service/src/com/android/car/hal/AudioHalService.java
index c4ce31b..cb73454 100644
--- a/service/src/com/android/car/hal/AudioHalService.java
+++ b/service/src/com/android/car/hal/AudioHalService.java
@@ -375,7 +375,7 @@
                     VehicleNetworkConsts.VEHICLE_PROPERTY_AUDIO_VOLUME, payload);
         } catch (ServiceSpecificException e) {
             Log.e(CarLog.TAG_AUDIO, "Cannot write to VEHICLE_PROPERTY_AUDIO_VOLUME", e);
-            //TODO should reset volume
+            //TODO should reset volume, bug: 32096870
         }
     }
 
diff --git a/service/src/com/android/car/hal/CarPropertyUtils.java b/service/src/com/android/car/hal/CarPropertyUtils.java
index 849417e..ed97bea 100644
--- a/service/src/com/android/car/hal/CarPropertyUtils.java
+++ b/service/src/com/android/car/hal/CarPropertyUtils.java
@@ -120,7 +120,7 @@
             halType = VEHICLE_VALUE_TYPE_STRING;
             builder.setStringValue((String) o);
         } else if (o instanceof byte[]) {
-            halType = VEHICLE_VALUE_TYPE_BYTES;  // TODO: We don't have zoned type in vehicle.h
+            halType = VEHICLE_VALUE_TYPE_BYTES;  // We don't have zoned type in vehicle.h
             builder.setBytesValue(ByteString.copyFrom((byte[]) o));
         } else {
             throw new IllegalArgumentException("Unexpected type in: " + hvacProp);
diff --git a/service/src/com/android/car/hal/SensorHalService.java b/service/src/com/android/car/hal/SensorHalService.java
index fe80c54..c21bddd 100644
--- a/service/src/com/android/car/hal/SensorHalService.java
+++ b/service/src/com/android/car/hal/SensorHalService.java
@@ -170,7 +170,7 @@
         if (config == null) {
             return false;
         }
-        //TODO calculate sampling rate properly
+        //TODO calculate sampling rate properly, bug: 32095903
         mHal.subscribeProperty(this, config.getProp(), fixSamplingRateForProperty(config, rate));
         return true;
     }
diff --git a/service/src/com/android/car/hal/VehicleHal.java b/service/src/com/android/car/hal/VehicleHal.java
index 6ec50fe..94baeb0 100644
--- a/service/src/com/android/car/hal/VehicleHal.java
+++ b/service/src/com/android/car/hal/VehicleHal.java
@@ -334,13 +334,13 @@
         Log.e(CarLog.TAG_HAL, "onHalError, errorCode:" + errorCode +
                 " property:0x" + Integer.toHexString(property) +
                 " operation:" + operation);
-        // TODO propagate per property error to HAL services and handle global error
+        // TODO propagate per property error to HAL services and handle global error, bug:32068464
     }
 
     @Override
     public void onHalRestart(boolean inMocking) {
         Log.e(CarLog.TAG_HAL, "onHalRestart, inMocking:" + inMocking);
-        // TODO restart things as other components started mocking. For now, ignore.
+        // TODO restart things as other components started mocking. For now, ignore., bug:32068464
     }
 
     public void dump(PrintWriter writer) {
diff --git a/service/src/com/android/car/pm/CarPackageManagerService.java b/service/src/com/android/car/pm/CarPackageManagerService.java
index 9d02973..9f73b61 100644
--- a/service/src/com/android/car/pm/CarPackageManagerService.java
+++ b/service/src/com/android/car/pm/CarPackageManagerService.java
@@ -61,7 +61,7 @@
 import java.util.Map.Entry;
 import java.util.Set;
 
-//TODO monitor app installing and refresh policy
+//TODO monitor app installing and refresh policy, bug: 31970400
 
 public class CarPackageManagerService extends ICarPackageManager.Stub implements CarServiceBase {
     static final boolean DBG_POLICY_SET = false;