Initial version of radio hal
Test: No build issues. Unused interface; nothing to test yet.
Bug: 32020264
Change-Id: Ie57eb43b777dadbc0b0350f2e33227be3f1d65f1
diff --git a/Android.bp b/Android.bp
index 3cf3b3b..5d7c8b8 100644
--- a/Android.bp
+++ b/Android.bp
@@ -3,6 +3,7 @@
"benchmarks/msgq/1.0",
"nfc/1.0",
"nfc/1.0/default",
+ "radio/1.0",
"tests/bar/1.0",
"tests/baz/1.0",
"tests/expression/1.0",
diff --git a/radio/1.0/Android.bp b/radio/1.0/Android.bp
new file mode 100644
index 0000000..682e12c
--- /dev/null
+++ b/radio/1.0/Android.bp
@@ -0,0 +1,54 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+genrule {
+ name: "android.hardware.radio@1.0_genc++",
+ tool: "hidl-gen",
+ cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.radio@1.0",
+ srcs: [
+ "types.hal",
+ "IRadio.hal",
+ "IRadioCallback.hal",
+ ],
+ out: [
+ "android/hardware/radio/1.0/types.cpp",
+ "android/hardware/radio/1.0/RadioAll.cpp",
+ "android/hardware/radio/1.0/RadioCallbackAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.radio@1.0_genc++_headers",
+ tool: "hidl-gen",
+ cmd: "$tool -o $genDir -Lc++ -randroid.hardware:hardware/interfaces android.hardware.radio@1.0",
+ srcs: [
+ "types.hal",
+ "IRadio.hal",
+ "IRadioCallback.hal",
+ ],
+ out: [
+ "android/hardware/radio/1.0/types.h",
+ "android/hardware/radio/1.0/IRadio.h",
+ "android/hardware/radio/1.0/IHwRadio.h",
+ "android/hardware/radio/1.0/BnRadio.h",
+ "android/hardware/radio/1.0/BpRadio.h",
+ "android/hardware/radio/1.0/BsRadio.h",
+ "android/hardware/radio/1.0/IRadioCallback.h",
+ "android/hardware/radio/1.0/IHwRadioCallback.h",
+ "android/hardware/radio/1.0/BnRadioCallback.h",
+ "android/hardware/radio/1.0/BpRadioCallback.h",
+ "android/hardware/radio/1.0/BsRadioCallback.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.radio@1.0",
+ generated_sources: ["android.hardware.radio@1.0_genc++"],
+ generated_headers: ["android.hardware.radio@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.radio@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidl",
+ "libhwbinder",
+ "libutils",
+ "libcutils",
+ ],
+}
diff --git a/radio/1.0/Android.mk b/radio/1.0/Android.mk
new file mode 100644
index 0000000..b8365bf
--- /dev/null
+++ b/radio/1.0/Android.mk
@@ -0,0 +1,480 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.radio@1.0-java
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+#
+# Build types.hal (RadioAppState)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioAppState.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioAppState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioAppStatus)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioAppStatus.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioAppStatus
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioAppType)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioAppType.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioAppType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioCardState)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioCardState.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioCardState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioCardStatus)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioCardStatus.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioCardStatus
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioCdmaSmsConst)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioCdmaSmsConst.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioCdmaSmsConst
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioConst)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioConst.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioConst
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioPersoSubstate)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioPersoSubstate.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioPersoSubstate
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioPinState)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioPinState.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioPinState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioRestrictedState)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioRestrictedState.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioRestrictedState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioState)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioState.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IRadio.hal
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/IRadio.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IRadio.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/IRadioCallback.hal
+$(GEN): $(LOCAL_PATH)/IRadioCallback.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::IRadio
+
+$(GEN): $(LOCAL_PATH)/IRadio.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IRadioCallback.hal
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/IRadioCallback.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IRadioCallback.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::IRadioCallback
+
+$(GEN): $(LOCAL_PATH)/IRadioCallback.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_JAVA_LIBRARY)
+
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.radio@1.0-java-static
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+#
+# Build types.hal (RadioAppState)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioAppState.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioAppState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioAppStatus)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioAppStatus.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioAppStatus
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioAppType)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioAppType.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioAppType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioCardState)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioCardState.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioCardState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioCardStatus)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioCardStatus.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioCardStatus
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioCdmaSmsConst)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioCdmaSmsConst.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioCdmaSmsConst
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioConst)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioConst.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioConst
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioPersoSubstate)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioPersoSubstate.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioPersoSubstate
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioPinState)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioPinState.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioPinState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioRestrictedState)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioRestrictedState.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioRestrictedState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (RadioState)
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/RadioState.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::types.RadioState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IRadio.hal
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/IRadio.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IRadio.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/IRadioCallback.hal
+$(GEN): $(LOCAL_PATH)/IRadioCallback.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::IRadio
+
+$(GEN): $(LOCAL_PATH)/IRadio.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IRadioCallback.hal
+#
+GEN := $(intermediates)/android/hardware/radio/1.0/IRadioCallback.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IRadioCallback.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava -randroid.hardware:hardware/interfaces \
+ android.hardware.radio@1.0::IRadioCallback
+
+$(GEN): $(LOCAL_PATH)/IRadioCallback.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/radio/1.0/IRadio.hal b/radio/1.0/IRadio.hal
new file mode 100644
index 0000000..7725e63
--- /dev/null
+++ b/radio/1.0/IRadio.hal
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2016 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.hardware.radio@1.0;
+
+import IRadioCallback;
+
+interface IRadio {
+ /**
+ * Set callback that has response functions for requests
+ *
+ * @param slotId SIM slot id for which the function is called; needed for multi-sim
+ * @param radioCallback Object containing response callbacks
+ */
+ setCallback(int32_t slotId, IRadioCallback radioCallback);
+
+ /**
+ * Requests status of the ICC card
+ *
+ * Response callback is IRadioCallback.responseGetSimStatus()
+ *
+ * Valid errors:
+ * Must never fail for a valid slot id
+ *
+ * @param slotId SIM slot id for which the function is called; needed for multi-sim
+ * @param serial Serial number of request
+ */
+ oneway requestGetSimStatus(int32_t slotId, int32_t serial);
+};
diff --git a/radio/1.0/IRadioCallback.hal b/radio/1.0/IRadioCallback.hal
new file mode 100644
index 0000000..c27d168
--- /dev/null
+++ b/radio/1.0/IRadioCallback.hal
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2016 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.hardware.radio@1.0;
+
+interface IRadioCallback {
+ /**
+ * Response callback for IRadio.requestGetSimStatus()
+ *
+ * @param serial Serial number of request
+ * @param cardStatus ICC card status
+ */
+ responseGetSimStatus(int32_t serial, RadioCardStatus cardStatus);
+
+ // ONLY UNSOLICITED CALLBACKS BELOW
+ /**
+ * Called when radio state changes.
+ *
+ * @param radioState Current radio state
+ */
+ oneway unsolRadioStateChanged(RadioState radioState);
+};
diff --git a/radio/1.0/types.hal b/radio/1.0/types.hal
new file mode 100644
index 0000000..e5bbe15
--- /dev/null
+++ b/radio/1.0/types.hal
@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2016 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.hardware.radio@1.0;
+
+enum RadioConst : int32_t {
+ RADIO_VERSION = 12,
+ RADIO_LAST_IMPRECISE_RIL_VERSION = 12,
+ RADIO_VERSION_MIN = 6,
+ RADIO_CDMA_ALPHA_INFO_BUFFER_LENGTH = 64,
+ RADIO_CDMA_NUMBER_INFO_BUFFER_LENGTH = 81,
+ RADIO_MAX_RILDS = 3,
+ RADIO_MAX_SOCKET_NAME_LENGTH = 6,
+ RADIO_MAX_CLIENT_ID_LENGTH = 2,
+ RADIO_MAX_DEBUG_SOCKET_NAME_LENGTH = 12,
+ RADIO_MAX_QEMU_PIPE_NAME_LENGTH = 11,
+ RADIO_MAX_UUID_LENGTH = 64,
+ RADIO_RADIO_CAPABILITY_VERSION = 1,
+ RADIO_CARD_MAX_APPS = 8,
+ RADIO_CDMA_MAX_NUMBER_OF_INFO_RECS = 10,
+ RADIO_SS_INFO_MAX = 4,
+ RADIO_NUM_SERVICE_CLASSES = 7,
+ RADIO_NUM_TX_POWER_LEVELS = 5,
+};
+
+enum RadioCdmaSmsConst : int32_t {
+ ADDRESS_MAX = 36,
+ SUBADDRESS_MAX = 36,
+ BEARER_DATA_MAX = 255,
+ UDH_MAX_SND_SIZE = 128,
+ UDH_EO_DATA_SEGMENT_MAX = 131,
+ MAX_UD_HEADERS = 7,
+ USER_DATA_MAX = 229,
+ UDH_LARGE_PIC_SIZE = 128,
+ UDH_SMALL_PIC_SIZE = 32,
+ UDH_VAR_PIC_SIZE = 134,
+ UDH_ANIM_NUM_BITMAPS = 4,
+ UDH_LARGE_BITMAP_SIZE = 32,
+ UDH_SMALL_BITMAP_SIZE = 8,
+ UDH_OTHER_SIZE = 226,
+ IP_ADDRESS_SIZE = 4,
+};
+
+enum RadioRestrictedState : int32_t {
+ NONE = 0x00,
+ CS_EMERGENCY = 0x01,
+ CS_NORMAL = 0x02,
+ CS_ALL = 0x04,
+ PS_ALL = 0x10,
+};
+
+enum RadioCardState : int32_t {
+ ABSENT = 0,
+ PRESENT = 1,
+ ERROR = 2,
+ /* card is present but not usable due to carrier restrictions.*/
+ RESTRICTED = 3,
+};
+
+enum RadioPinState : int32_t {
+ UNKNOWN = 0,
+ ENABLED_NOT_VERIFIED = 1,
+ ENABLED_VERIFIED = 2,
+ DISABLED = 3,
+ ENABLED_BLOCKED = 4,
+ ENABLED_PERM_BLOCKED = 5,
+};
+
+enum RadioAppType : int32_t {
+ UNKNOWN = 0,
+ SIM = 1,
+ USIM = 2,
+ RUIM = 3,
+ CSIM = 4,
+ ISIM = 5,
+};
+
+enum RadioAppState : int32_t {
+ UNKNOWN = 0,
+ DETECTED = 1,
+ PIN = 2,
+ /* If PIN1 or UPin is required */
+ PUK = 3,
+ /* If PUK1 or Puk for UPin is required */
+ SUBSCRIPTION_PERSO = 4,
+ /* perso_substate should be look at when app_state is assigned to this value */
+ READY = 5,
+};
+
+enum RadioPersoSubstate : int32_t {
+ UNKNOWN = 0,
+ /* initial state */
+ IN_PROGRESS = 1,
+ /* in between each lock transition */
+ READY = 2,
+ /* when either SIM or RUIM Perso is finished since each app can only have 1 active perso
+ involved */
+ SIM_NETWORK = 3,
+ SIM_NETWORK_SUBSET = 4,
+ SIM_CORPORATE = 5,
+ SIM_SERVICE_PROVIDER = 6,
+ SIM_SIM = 7,
+ SIM_NETWORK_PUK = 8,
+ /* The corresponding perso lock is blocked */
+ SIM_NETWORK_SUBSET_PUK = 9,
+ SIM_CORPORATE_PUK = 10,
+ SIM_SERVICE_PROVIDER_PUK = 11,
+ SIM_SIM_PUK = 12,
+ RUIM_NETWORK1 = 13,
+ RUIM_NETWORK2 = 14,
+ RUIM_HRPD = 15,
+ RUIM_CORPORATE = 16,
+ RUIM_SERVICE_PROVIDER = 17,
+ RUIM_RUIM = 18,
+ RUIM_NETWORK1_PUK = 19,
+ /* The corresponding perso lock is blocked */
+ RUIM_NETWORK2_PUK = 20,
+ RUIM_HRPD_PUK = 21,
+ RUIM_CORPORATE_PUK = 22,
+ RUIM_SERVICE_PROVIDER_PUK = 23,
+ RUIM_RUIM_PUK = 24,
+};
+
+enum RadioState : int32_t {
+ OFF = 0,
+ /* Radio explictly powered off (eg CFUN=0) */
+ UNAVAILABLE = 1,
+ /* States 2-9 below are deprecated. Just leaving them here for backward compatibility. */
+ SIM_NOT_READY = 2,
+ /* Radio is on, but the SIM interface is not ready */
+ SIM_LOCKED_OR_ABSENT = 3,
+ /* SIM PIN locked, PUK required, network
+ personalization locked, or SIM absent */
+ SIM_READY = 4,
+ /* Radio is on and SIM interface is available */
+ RUIM_NOT_READY = 5,
+ /* Radio is on, but the RUIM interface is not ready */
+ RUIM_READY = 6,
+ /* Radio is on and the RUIM interface is available */
+ RUIM_LOCKED_OR_ABSENT = 7,
+ /* RUIM PIN locked, PUK required, network
+ personalization locked, or RUIM absent */
+ NV_NOT_READY = 8,
+ /* Radio is on, but the NV interface is not available */
+ NV_READY = 9,
+ /* Radio is on */
+ ON = 10,
+};
+
+struct RadioAppStatus {
+ RadioAppType appType;
+ RadioAppState appState;
+ RadioPersoSubstate persoSubstate;
+ /* applicable only if app_state == SUBSCRIPTION_PERSO */
+ string aidPtr;
+ /* null terminated string, e.g., from 0xA0, 0x00 -> 0x41, 0x30, 0x30, 0x30 */
+ string appLabelPtr;
+ /* null terminated string */
+ int32_t pin1Replaced;
+ /* applicable to USIM, CSIM & ISIM */
+ RadioPinState pin1;
+ RadioPinState pin2;
+};
+
+struct RadioCardStatus {
+ RadioCardState cardState;
+ RadioPinState universalPinState;
+ /* applicable to USIM and CSIM */
+ int32_t gsmUmtsSubscriptionAppIndex;
+ /* value < RADIO_CARD_MAX_APPS, -1 if none */
+ int32_t cdmaSubscriptionAppIndex;
+ /* value < RADIO_CARD_MAX_APPS, -1 if none */
+ int32_t imsSubscriptionAppIndex;
+ /* value < RADIO_CARD_MAX_APPS, -1 if none */
+ int32_t numApplications;
+ /* value <= RADIO_CARD_MAX_APPS */
+ RadioAppStatus[RadioConst:RADIO_CARD_MAX_APPS] applications;
+};
\ No newline at end of file