Add 1.1 version of hwservicemanager.

Test: boot marlin
Test: hidl_test
Bug: 63940457

Change-Id: I9c86c7c99eb6cccbf2e54596414bfec34e0bdbb8
diff --git a/transport/manager/1.1/Android.bp b/transport/manager/1.1/Android.bp
new file mode 100644
index 0000000..5a1bf00
--- /dev/null
+++ b/transport/manager/1.1/Android.bp
@@ -0,0 +1,38 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+filegroup {
+    name: "android.hidl.manager@1.1_hal",
+    srcs: [
+        "IServiceManager.hal",
+    ],
+}
+
+genrule {
+    name: "android.hidl.manager@1.1_genc++",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hidl:system/libhidl/transport android.hidl.manager@1.1",
+    srcs: [
+        ":android.hidl.manager@1.1_hal",
+    ],
+    out: [
+        "android/hidl/manager/1.1/ServiceManagerAll.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hidl.manager@1.1_genc++_headers",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hidl:system/libhidl/transport android.hidl.manager@1.1",
+    srcs: [
+        ":android.hidl.manager@1.1_hal",
+    ],
+    out: [
+        "android/hidl/manager/1.1/IServiceManager.h",
+        "android/hidl/manager/1.1/IHwServiceManager.h",
+        "android/hidl/manager/1.1/BnHwServiceManager.h",
+        "android/hidl/manager/1.1/BpHwServiceManager.h",
+        "android/hidl/manager/1.1/BsServiceManager.h",
+    ],
+}
+
+// android.hidl.manager@1.1 is exported from libhidltransport
diff --git a/transport/manager/1.1/Android.mk b/transport/manager/1.1/Android.mk
new file mode 100644
index 0000000..20c9504
--- /dev/null
+++ b/transport/manager/1.1/Android.mk
@@ -0,0 +1,76 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hidl.manager-V1.1-java
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(call local-generated-sources-dir, COMMON)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_JAVA_LIBRARIES := \
+    android.hidl.base-V1.0-java \
+    android.hidl.manager-V1.0-java \
+
+
+#
+# Build IServiceManager.hal
+#
+GEN := $(intermediates)/android/hidl/manager/V1_1/IServiceManager.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IServiceManager.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava \
+        -randroid.hidl:system/libhidl/transport \
+        android.hidl.manager@1.1::IServiceManager
+
+$(GEN): $(LOCAL_PATH)/IServiceManager.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_JAVA_LIBRARY)
+
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hidl.manager-V1.1-java-static
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(call local-generated-sources-dir, COMMON)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    android.hidl.base-V1.0-java-static \
+    android.hidl.manager-V1.0-java-static \
+
+
+#
+# Build IServiceManager.hal
+#
+GEN := $(intermediates)/android/hidl/manager/V1_1/IServiceManager.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IServiceManager.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava \
+        -randroid.hidl:system/libhidl/transport \
+        android.hidl.manager@1.1::IServiceManager
+
+$(GEN): $(LOCAL_PATH)/IServiceManager.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/transport/manager/1.1/IServiceManager.hal b/transport/manager/1.1/IServiceManager.hal
new file mode 100644
index 0000000..cdc81cf
--- /dev/null
+++ b/transport/manager/1.1/IServiceManager.hal
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hidl.manager@1.1;
+
+import @1.0::IServiceManager;
+import @1.0::IServiceNotification;
+
+interface IServiceManager extends @1.0::IServiceManager {
+
+    /**
+     * Unregister for service notifications for a specific callback.
+     *
+     * @param fqName   Fully-qualified interface name. If empty, unregister for
+     *                 all notifications the callback receives.
+     * @param name     Instance name. If name is empty, unregister for all instance
+     *                 names.
+     * @param callback Client callback that was previously registered.
+     *
+     * @return success Whether or not deregistration was successful.
+     */
+    unregisterForNotifications(string fqName,
+                               string name,
+                               IServiceNotification callback)
+                    generates (bool success);
+
+};