cas: convert MediaCas to HIDL

- Remove AIDL interfaces.
- Replace usage with corresponding HIDL interfaces.
- Move MediaCasService implementation from frameworks/av
  to hardware/interfaces/cas.

bug: 22804304

Change-Id: I56ab22565a43e91481ac2759ce69462bcc194046
diff --git a/media/libmedia/IMediaExtractor.cpp b/media/libmedia/IMediaExtractor.cpp
index f08fabb..19b00f3 100644
--- a/media/libmedia/IMediaExtractor.cpp
+++ b/media/libmedia/IMediaExtractor.cpp
@@ -21,7 +21,6 @@
 #include <stdint.h>
 #include <sys/types.h>
 
-#include <android/media/ICas.h>
 #include <binder/IPCThreadState.h>
 #include <binder/Parcel.h>
 #include <media/IMediaExtractor.h>
@@ -117,12 +116,12 @@
         return NULL;
     }
 
-    virtual status_t setMediaCas(const sp<ICas> & cas) {
+    virtual status_t setMediaCas(const HInterfaceToken &casToken) {
         ALOGV("setMediaCas");
 
         Parcel data, reply;
         data.writeInterfaceToken(BpMediaExtractor::getInterfaceDescriptor());
-        data.writeStrongBinder(IInterface::asBinder(cas));
+        data.writeByteVector(casToken);
 
         status_t err = remote()->transact(SETMEDIACAS, data, &reply);
         if (err != NO_ERROR) {
@@ -206,15 +205,14 @@
             ALOGV("setMediaCas");
             CHECK_INTERFACE(IMediaExtractor, data, reply);
 
-            sp<IBinder> casBinder;
-            status_t err = data.readNullableStrongBinder(&casBinder);
+            HInterfaceToken casToken;
+            status_t err = data.readByteVector(&casToken);
             if (err != NO_ERROR) {
-                ALOGE("Error reading cas from parcel");
+                ALOGE("Error reading casToken from parcel");
                 return err;
             }
-            sp<ICas> cas = interface_cast<ICas>(casBinder);
 
-            reply->writeInt32(setMediaCas(cas));
+            reply->writeInt32(setMediaCas(casToken));
             return OK;
         }
         default: