Camera2 API: Fix missing callback issue

Callback/Listener classes must extend the AIDL Stub class and implement the
methods. Also rename the frameId to requestId to avoid confusion.

Change-Id: I1b2f0e2f99230917f9e0e1875ba3ba1c7859c805
diff --git a/core/java/android/hardware/camera2/impl/CameraDevice.java b/core/java/android/hardware/camera2/impl/CameraDevice.java
index 9587680..fa79051 100644
--- a/core/java/android/hardware/camera2/impl/CameraDevice.java
+++ b/core/java/android/hardware/camera2/impl/CameraDevice.java
@@ -24,7 +24,6 @@
 import android.hardware.camera2.CameraProperties;
 import android.hardware.camera2.CaptureRequest;
 import android.hardware.camera2.utils.CameraRuntimeException;
-import android.os.Binder;
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.util.Log;
@@ -40,6 +39,7 @@
 public class CameraDevice implements android.hardware.camera2.CameraDevice {
 
     private final String TAG;
+    private final boolean DEBUG;
 
     // TODO: guard every function with if (!mRemoteDevice) check (if it was closed)
     private ICameraDeviceUser mRemoteDevice;
@@ -59,6 +59,7 @@
     public CameraDevice(String cameraId) {
         mCameraId = cameraId;
         TAG = String.format("CameraDevice-%s-JV", mCameraId);
+        DEBUG = Log.isLoggable(TAG, Log.DEBUG);
     }
 
     public CameraDeviceCallbacks getCallbacks() {
@@ -288,7 +289,7 @@
     }
 
     // TODO: unit tests
-    public class CameraDeviceCallbacks extends Binder implements ICameraDeviceCallbacks {
+    public class CameraDeviceCallbacks extends ICameraDeviceCallbacks.Stub {
 
         @Override
         public IBinder asBinder() {
@@ -298,14 +299,17 @@
         // TODO: consider rename to onMessageReceived
         @Override
         public void notifyCallback(int msgType, int ext1, int ext2) throws RemoteException {
-            Log.d(TAG, "Got message " + msgType + " ext1: " + ext1 + " , ext2: " + ext2);
+            if (DEBUG) {
+                Log.d(TAG, "Got message " + msgType + " ext1: " + ext1 + " , ext2: " + ext2);
+            }
             // TODO implement rest
         }
 
         @Override
-        public void onResultReceived(int frameId, CameraMetadata result) throws RemoteException {
-            Log.d(TAG, "Received result for frameId " + frameId);
-
+        public void onResultReceived(int requestId, CameraMetadata result) throws RemoteException {
+            if (DEBUG) {
+                Log.d(TAG, "Received result for id " + requestId);
+            }
             CaptureListenerHolder holder;
 
             synchronized (mLock) {
@@ -313,7 +317,7 @@
                 //        exposing the methods necessary like subscribeToRequest, unsubscribe..
                 // TODO: make class static class
 
-                holder = CameraDevice.this.mCaptureListenerMap.get(frameId);
+                holder = CameraDevice.this.mCaptureListenerMap.get(requestId);
 
                 // Clean up listener once we no longer expect to see it.
 
@@ -321,7 +325,7 @@
                 // we probably want cancelRequest to return # of times it already enqueued and
                 // keep a counter.
                 if (holder != null && !holder.isRepeating()) {
-                    CameraDevice.this.mCaptureListenerMap.remove(frameId);
+                    CameraDevice.this.mCaptureListenerMap.remove(requestId);
                 }
             }