Track type of container mounted

OBB and ASEC are tracked in the same active container list, but when it
comes time to unmount everything, it was trying to unmount the OBBs
according to ASEC rules. This led to the OBB not being unmounted and the
volume unmount failing.

Change-Id: I12c1d4d387b8022185d552b63edd61a50b9c0fc3
diff --git a/VolumeManager.h b/VolumeManager.h
index 0619c73..ffba5e6 100644
--- a/VolumeManager.h
+++ b/VolumeManager.h
@@ -27,7 +27,27 @@
 /* The length of an MD5 hash when encoded into ASCII hex characters */
 #define MD5_ASCII_LENGTH_PLUS_NULL ((MD5_DIGEST_LENGTH*2)+1)
 
-typedef android::List<char *> AsecIdCollection;
+typedef enum { ASEC, OBB } container_type_t;
+
+class ContainerData {
+public:
+    ContainerData(char* _id, container_type_t _type)
+            : id(_id)
+            , type(_type)
+    {}
+
+    ~ContainerData() {
+        if (id != NULL) {
+            free(id);
+            id = NULL;
+        }
+    }
+
+    char *id;
+    container_type_t type;
+};
+
+typedef android::List<ContainerData*> AsecIdCollection;
 
 class VolumeManager {
 private: