Camera NDK library: capture session implementation

Bug: 23012001
Change-Id: I3fd93205dcf1b9ed5a947cb944919eb531f219fc
diff --git a/camera/ndk/impl/ACameraManager.cpp b/camera/ndk/impl/ACameraManager.cpp
index 4014fd2..ed5c3ba 100644
--- a/camera/ndk/impl/ACameraManager.cpp
+++ b/camera/ndk/impl/ACameraManager.cpp
@@ -58,6 +58,7 @@
     Mutex::Autolock _l(mLock);
     if (mCameraService != nullptr) {
         IInterface::asBinder(mCameraService)->unlinkToDeath(mDeathNotifier);
+        mCameraService->removeListener(mCameraServiceListener);
     }
     mDeathNotifier.clear();
     if (mCbLooper != nullptr) {
@@ -96,7 +97,7 @@
             status_t ret = mCbLooper->start(
                     /*runOnCallingThread*/false,
                     /*canCallJava*/       true,
-                    PRIORITY_FOREGROUND);
+                    PRIORITY_DEFAULT);
             if (mHandler == nullptr) {
                 mHandler = new CallbackHandler();
             }
@@ -242,7 +243,7 @@
         Status status, int32_t cameraId) {
     sp<CameraManagerGlobal> cm = mCameraManager.promote();
     if (cm == nullptr) {
-        ALOGE("Cannot deliver status change. Camera service died");
+        ALOGE("Cannot deliver status change. Global camera manager died");
         return;
     }
     cm->onStatusChanged(status, cameraId);