Merge "Track libutils dependency change."
diff --git a/libs/binder/Android.bp b/libs/binder/Android.bp
index 715c1c1..ba542cb 100644
--- a/libs/binder/Android.bp
+++ b/libs/binder/Android.bp
@@ -28,7 +28,7 @@
],
}
-cc_library {
+cc_library_shared {
name: "libbinder",
// for vndbinder
diff --git a/libs/binder/include/binder/IInterface.h b/libs/binder/include/binder/IInterface.h
index 227d0ae..b61278a 100644
--- a/libs/binder/include/binder/IInterface.h
+++ b/libs/binder/include/binder/IInterface.h
@@ -72,12 +72,18 @@
// ----------------------------------------------------------------------
#define DECLARE_META_INTERFACE(INTERFACE) \
+public: \
static const ::android::String16 descriptor; \
static ::android::sp<I##INTERFACE> asInterface( \
const ::android::sp<::android::IBinder>& obj); \
virtual const ::android::String16& getInterfaceDescriptor() const; \
I##INTERFACE(); \
virtual ~I##INTERFACE(); \
+ static bool setDefaultImpl(std::unique_ptr<I##INTERFACE> impl); \
+ static const std::unique_ptr<I##INTERFACE>& getDefaultImpl(); \
+private: \
+ static std::unique_ptr<I##INTERFACE> default_impl; \
+public: \
#define IMPLEMENT_META_INTERFACE(INTERFACE, NAME) \
@@ -100,6 +106,19 @@
} \
return intr; \
} \
+ std::unique_ptr<I##INTERFACE> I##INTERFACE::default_impl; \
+ bool I##INTERFACE::setDefaultImpl(std::unique_ptr<I##INTERFACE> impl)\
+ { \
+ if (!I##INTERFACE::default_impl && impl) { \
+ I##INTERFACE::default_impl = std::move(impl); \
+ return true; \
+ } \
+ return false; \
+ } \
+ const std::unique_ptr<I##INTERFACE>& I##INTERFACE::getDefaultImpl() \
+ { \
+ return I##INTERFACE::default_impl; \
+ } \
I##INTERFACE::I##INTERFACE() { } \
I##INTERFACE::~I##INTERFACE() { } \
diff --git a/libs/vr/libpdx/private/pdx/rpc/variant.h b/libs/vr/libpdx/private/pdx/rpc/variant.h
index 2cc9664..bdcb293 100644
--- a/libs/vr/libpdx/private/pdx/rpc/variant.h
+++ b/libs/vr/libpdx/private/pdx/rpc/variant.h
@@ -292,7 +292,7 @@
template <typename T>
T& get(TypeTag<T>) {
- return rest_.template get(TypeTag<T>{});
+ return rest_.get(TypeTag<T>{});
}
template <typename T>
const T& get(TypeTag<T>) const {
@@ -300,7 +300,7 @@
}
template <typename T>
constexpr std::int32_t index(TypeTag<T>) const {
- return 1 + rest_.template index(TypeTag<T>{});
+ return 1 + rest_.index(TypeTag<T>{});
}
template <typename... Args>
diff --git a/libs/vr/libvr_manager/Android.bp b/libs/vr/libvr_manager/Android.bp
index 8784877..2cd6a28 100644
--- a/libs/vr/libvr_manager/Android.bp
+++ b/libs/vr/libvr_manager/Android.bp
@@ -12,25 +12,17 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-exported_include_dirs = [ "include" ]
-
-include_dirs = ["frameworks/native/include/vr/vr_manager"]
-
-src_files = [
- "vr_manager.cpp",
- "trusted_uids.cpp",
-]
-
-static_libs = [
- "libutils",
- "libbinder",
-]
-
cc_library_static {
- srcs: src_files,
- include_dirs: include_dirs,
- export_include_dirs: exported_include_dirs,
- cflags: ["-Wall", "-Werror", "-Wunused", "-Wunreachable-code"],
- static_libs: static_libs,
name: "libvr_manager",
+ srcs: [
+ "vr_manager.cpp",
+ "trusted_uids.cpp",
+ ],
+ include_dirs: ["frameworks/native/include/vr/vr_manager"],
+ export_include_dirs: [ "include" ],
+ cflags: ["-Wall", "-Werror", "-Wunused", "-Wunreachable-code"],
+ shared_libs: [
+ "libutils",
+ "libbinder",
+ ],
}
diff --git a/services/vr/virtual_touchpad/Android.bp b/services/vr/virtual_touchpad/Android.bp
index bb16c09..0263481 100644
--- a/services/vr/virtual_touchpad/Android.bp
+++ b/services/vr/virtual_touchpad/Android.bp
@@ -22,7 +22,6 @@
export_include_dirs: ["include"],
shared_libs: shared_libs,
header_libs: header_libraries,
- cppflags: ["-std=c++11"],
cflags: [
"-DLOG_TAG=\"VrVirtualTouchpad\"",
"-Wall",
@@ -51,9 +50,6 @@
"-Wall",
"-Werror",
],
- cppflags: [
- "-std=c++11",
- ],
host_ldlibs: [
"-llog",
],
@@ -86,7 +82,6 @@
static_libs: service_static_libs,
shared_libs: service_shared_libs,
header_libs: header_libraries,
- cppflags: ["-std=c++11"],
cflags: [
"-DLOG_TAG=\"VrVirtualTouchpad\"",
"-Wall",
@@ -118,7 +113,6 @@
srcs: client_src,
shared_libs: client_shared_libs,
header_libs: header_libraries,
- cppflags: ["-std=c++11"],
cflags: [
"-DLOG_TAG=\"VirtualTouchpadClient\"",
"-Wall",