Fix destroy ordering bug; add debug flag.

Bug: 19993667
Change-Id: Ib15e79a94a185843dace35fea7daaea866120f87
diff --git a/Disk.cpp b/Disk.cpp
index 5d53304..01058a5 100644
--- a/Disk.cpp
+++ b/Disk.cpp
@@ -163,8 +163,8 @@
 
 void Disk::destroyAllVolumes() {
     for (auto vol : mVolumes) {
-        notifyEvent(ResponseCode::DiskVolumeDestroyed, vol->getId());
         vol->destroy();
+        notifyEvent(ResponseCode::DiskVolumeDestroyed, vol->getId());
     }
     mVolumes.clear();
 }
diff --git a/main.cpp b/main.cpp
index 35e99df..9bfe9d0 100644
--- a/main.cpp
+++ b/main.cpp
@@ -228,6 +228,10 @@
                 flags |= android::vold::Disk::Flags::kDefaultPrimary;
             }
 
+            if (property_get_bool("vold.force_adoptable", false)) {
+                flags |= android::vold::Disk::Flags::kAdoptable;
+            }
+
             vm->addDiskSource(std::shared_ptr<VolumeManager::DiskSource>(
                     new VolumeManager::DiskSource(sysPattern, nickname, flags)));
         }