Merge "Use interfaceDescriptor instead of interfaceChain"
diff --git a/base/HidlSupport.cpp b/base/HidlSupport.cpp
index 20b9f26..ec5b18f 100644
--- a/base/HidlSupport.cpp
+++ b/base/HidlSupport.cpp
@@ -37,8 +37,8 @@
     };
     auto it = sTransports.find(name);
     if (it == sTransports.end()) {
-        LOG(WARNING) << "getTransportForFrameworkPackages: Cannot find entry "
-                     << name << " in the static map.";
+        LOG(ERROR) << "getTransportForFrameworkPackages: Cannot find entry "
+                     << name << " in the static map. Using default transport.";
         return vintf::Transport::EMPTY;
     } else {
         LOG(INFO) << "getTransportForFrameworkPackages: " << name
@@ -51,21 +51,18 @@
     const std::string package = fqName.package();
     const vintf::HalManifest *vm = vintf::HalManifest::Get();
     if (vm == nullptr) {
-        LOG(WARNING) << "getTransportFromManifest: Cannot find vendor interface manifest.";
-        return vintf::Transport::EMPTY;
-    }
-    if (!fqName.hasVersion()) {
-        LOG(ERROR) << "getTransportFromManifest: " << fqName.string()
-                   << " does not specify a version.";
+        LOG(WARNING) << "getTransportForHals: No VINTF defined, using default transport for "
+                     << fqName.string() << ".";
         return vintf::Transport::EMPTY;
     }
     vintf::Transport tr = vm->getTransport(package,
             vintf::Version{fqName.getPackageMajorVersion(), fqName.getPackageMinorVersion()});
     if (tr == vintf::Transport::EMPTY) {
-        LOG(WARNING) << "getTransportFromManifest: Cannot find entry "
-                     << package << fqName.atVersion() << " in vendor interface manifest.";
+        LOG(WARNING) << "getTransportForHals: Cannot find entry "
+                     << package << fqName.atVersion()
+                     << " in vendor interface manifest. Using default transport.";
     } else {
-        LOG(INFO) << "getTransportFromManifest: " << package << fqName.atVersion()
+        LOG(INFO) << "getTransportForHals: " << package << fqName.atVersion()
                   << " declares transport method " << to_string(tr);
     }
     return tr;
@@ -74,7 +71,12 @@
 vintf::Transport getTransport(const std::string &name) {
     FQName fqName(name);
     if (!fqName.isValid()) {
-        LOG(WARNING) << name << " is not a valid fully-qualified name.";
+        LOG(ERROR) << "getTransport: " << name << " is not a valid fully-qualified name.";
+        return vintf::Transport::EMPTY;
+    }
+    if (!fqName.hasVersion()) {
+        LOG(ERROR) << "getTransport: " << fqName.string()
+                   << " does not specify a version. Using default transport.";
         return vintf::Transport::EMPTY;
     }
     if (fqName.inPackage("android.hidl")) {
diff --git a/base/include/hidl/Status.h b/base/include/hidl/Status.h
index f3afbc6..2f26ffa 100644
--- a/base/include/hidl/Status.h
+++ b/base/include/hidl/Status.h
@@ -152,7 +152,8 @@
         return_status() {}
         return_status(Status s) : mStatus(s) {}
 
-        return_status(const return_status &) = default;
+        return_status(const return_status &) = delete;
+        return_status &operator=(const return_status &) = delete;
 
         return_status(return_status &&other) {
             *this = std::move(other);
@@ -186,8 +187,6 @@
     Return(T v) : details::return_status(), mVal{v} {}
     Return(Status s) : details::return_status(s) {}
 
-    Return(const Return &) = default;
-
     // move-able.
     // precondition: "this" has checked status
     // postcondition: other is safe to destroy after moving to *this.
@@ -214,8 +213,6 @@
     template<typename U> Return(U* v) : details::return_status(), mVal{v} {}
     Return(Status s) : details::return_status(s) {}
 
-    Return(const Return &) = default;
-
     // move-able.
     // precondition: "this" has checked status
     // postcondition: other is safe to destroy after moving to *this.
@@ -236,8 +233,6 @@
     Return() : details::return_status() {}
     Return(Status s) : details::return_status(s) {}
 
-    Return(const Return &) = default;
-
     // move-able.
     // precondition: "this" has checked status
     // postcondition: other is safe to destroy after moving to *this.