[0002] Fix segfault from bad CiCam closure

Cleaning up of CiCam resources should not be conditional on nativeUnlinkCiCam success. Connect + disconnect fails for TunerHAL impl that does not support CiCam.

Bug: 356779633
Test: test on cuddlefish
Flag: EXEMPT bugfix
(cherry picked from https://android-review.googlesource.com/q/commit:172287dd6c8aedb56c73234e38f0cb37860154ed)
Merged-In: If05b33f6bc0c598195c83c15d512c249807228ec
Change-Id: If05b33f6bc0c598195c83c15d512c249807228ec
diff --git a/media/java/android/media/tv/tuner/Tuner.java b/media/java/android/media/tv/tuner/Tuner.java
index f28c2c1..49b0bc9 100644
--- a/media/java/android/media/tv/tuner/Tuner.java
+++ b/media/java/android/media/tv/tuner/Tuner.java
@@ -888,19 +888,14 @@
         try {
             if (mFrontendCiCamHandle != null) {
                 if (DEBUG) {
-                    Log.d(TAG, "unlinking CiCam : " + mFrontendCiCamHandle + " for " +  mClientId);
+                    Log.d(TAG, "releasing CiCam : " + mFrontendCiCamHandle + " for " +  mClientId);
                 }
-                int result = nativeUnlinkCiCam(mFrontendCiCamId);
-                if (result == RESULT_SUCCESS) {
-                    mTunerResourceManager.releaseCiCam(mFrontendCiCamHandle, mClientId);
-                    replicateCiCamSettings(null);
-                } else {
-                    Log.e(TAG, "nativeUnlinkCiCam(" + mFrontendCiCamHandle + ") for mClientId:"
-                            + mClientId + "failed with result:" + result);
-                }
+                nativeUnlinkCiCam(mFrontendCiCamId);
+                mTunerResourceManager.releaseCiCam(mFrontendCiCamHandle, mClientId);
+                replicateCiCamSettings(null);
             } else {
                 if (DEBUG) {
-                    Log.d(TAG, "NOT unlinking CiCam : " + mClientId);
+                    Log.d(TAG, "NOT releasing CiCam : " + mClientId);
                 }
             }
         } finally {
@@ -1665,11 +1660,9 @@
                 if (mFrontendCiCamHandle != null && mFrontendCiCamId != null
                         && mFrontendCiCamId == ciCamId) {
                     int result = nativeUnlinkCiCam(ciCamId);
-                    if (result == RESULT_SUCCESS) {
-                        mTunerResourceManager.releaseCiCam(mFrontendCiCamHandle, mClientId);
-                        mFrontendCiCamId = null;
-                        mFrontendCiCamHandle = null;
-                    }
+                    mTunerResourceManager.releaseCiCam(mFrontendCiCamHandle, mClientId);
+                    mFrontendCiCamId = null;
+                    mFrontendCiCamHandle = null;
                     return result;
                 }
             }