Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a586895e authored by yinxu's avatar yinxu Committed by android-build-merger
Browse files

Add the new RIL requests to start/stop network scan

am: 872518a2

Change-Id: I54de141d12b99b682b579b5002e75b2665f112f7
parents b6e91f51 872518a2
Loading
Loading
Loading
Loading
+341 −2
Original line number Diff line number Diff line
@@ -73,8 +73,178 @@ $(GEN): PRIVATE_CUSTOM_TOOL = \
$(GEN): $(LOCAL_PATH)/IRadioResponse.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_JAVA_LIBRARY)

#
# Build types.hal (NetworkScanRequest)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/NetworkScanRequest.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.NetworkScanRequest

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (RadioAccessSpecifier)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/RadioAccessSpecifier.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.RadioAccessSpecifier

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (NetworkScanResult)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/NetworkScanResult.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.NetworkScanResult

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (ScanType)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/ScanType.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.ScanType

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (ScanStatus)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/ScanStatus.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.ScanStatus

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (RadioAccessNetworks)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/RadioAccessNetworks.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.RadioAccessNetworks

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (GeranBands)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/GeranBands.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.GeranBands

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (UtranBands)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/UtranBands.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.UtranBands

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (EutranBands)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/EutranBands.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.EutranBands

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_JAVA_LIBRARY)

################################################################################

@@ -147,8 +317,177 @@ $(GEN): PRIVATE_CUSTOM_TOOL = \
$(GEN): $(LOCAL_PATH)/IRadioResponse.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_STATIC_JAVA_LIBRARY)

#
# Build types.hal (NetworkScanRequest)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/NetworkScanRequest.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.NetworkScanRequest

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (RadioAccessSpecifier)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/RadioAccessSpecifier.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.RadioAccessSpecifier

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (NetworkScanResult)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/NetworkScanResult.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.NetworkScanResult

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (ScanType)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/ScanType.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.ScanType

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (ScanStatus)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/ScanStatus.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.ScanStatus

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (RadioAccessNetworks)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/RadioAccessNetworks.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.RadioAccessNetworks

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (GeranBands)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/GeranBands.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.GeranBands

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (UtranBands)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/UtranBands.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.UtranBands

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)

#
# Build types.hal (EutranBands)
#
GEN := $(intermediates)/android/hardware/radio/V1_1/EutranBands.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 \
        -randroid.hidl:system/libhidl/transport \
        android.hardware.radio@1.1::types.EutranBands

$(GEN): $(LOCAL_PATH)/types.hal
	$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_STATIC_JAVA_LIBRARY)

include $(call all-makefiles-under,$(LOCAL_PATH))
+18 −0
Original line number Diff line number Diff line
@@ -81,4 +81,22 @@ interface IRadio extends @1.0::IRadio {
     */
    oneway setSimCardPower_1_1(int32_t serial, CardPowerState powerUp);

    /**
     * Starts a network scan
     *
     * @param serial Serial number of request.
     * @param request Defines the radio networks/bands/channels which need to be scanned.
     *
     * Response function is IRadioResponse.startNetworkScanResponse()
     */
    oneway startNetworkScan(int32_t serial, NetworkScanRequest request);

    /**
     * Stops ongoing network scan
     *
     * @param serial Serial number of request.
     *
     * Response function is IRadioResponse.stopNetworkScanResponse()
     */
    oneway stopNetworkScan(int32_t serial);
};
+9 −1
Original line number Diff line number Diff line
@@ -31,4 +31,12 @@ interface IRadioIndication extends @1.0::IRadioIndication{
    * @param type Type of radio indication
    */
   oneway carrierInfoForImsiEncryption(RadioIndicationType info);

    /**
     * Incremental network scan results
     *
     * @param type Type of radio indication
     * @param result Network scan result as NetworkScanResult defined in types.hal
     */
    oneway networkScanResult(RadioIndicationType type, NetworkScanResult result);
};
 No newline at end of file
+25 −0
Original line number Diff line number Diff line
@@ -46,4 +46,29 @@ interface IRadioResponse extends @1.0::IRadioResponse {
     */
    oneway setSimCardPowerResponse_1_1(RadioResponseInfo info);

    /**
     * @param info Response info struct containing response type, serial no. and error
     *
     * Valid errors returned:
     *   RadioError:NONE
     *   RadioError:RADIO_NOT_AVAILABLE
     *   RadioError:OPERATION_NOT_ALLOWED
     *   RadioError:DEVICE_IN_USE
     *   RadioError:INTERNAL_ERR
     *   RadioError:NO_MEMORY
     *   RadioError:MODEM_ERR
     *   RadioError:INVALID_ARGUMENTS
     *   RadioError:REQUEST_NOT_SUPPORTED
     */
    oneway startNetworkScanResponse(RadioResponseInfo info);

    /**
     * @param info Response info struct containing response type, serial no. and error
     *
     * Valid errors returned:
     *   RadioError:NONE
     *   RadioError:INTERNAL_ERR
     *   RadioError:MODEM_ERR
     */
    oneway stopNetworkScanResponse(RadioResponseInfo info);
};
+141 −0
Original line number Diff line number Diff line
@@ -16,8 +16,149 @@

package android.hardware.radio@1.1;

import @1.0::CellInfo;
import @1.0::RadioError;

enum CardPowerState : int32_t {
    POWER_DOWN,
    POWER_UP,
    POWER_UP_PASS_THROUGH,
};

enum RadioAccessNetworks : int32_t {
    GERAN = 1,                              // GSM EDGE Radio Access Network
    UTRAN = 2,                              // Universal Terrestrial Radio Access Network
    EUTRAN = 3,                             // Evolved Universal Terrestrial Radio Access Network
};

enum GeranBands : int32_t {
    BAND_T380 = 1,
    BAND_T410 = 2,
    BAND_450 = 3,
    BAND_480 = 4,
    BAND_710 = 5,
    BAND_750 = 6,
    BAND_T810 = 7,
    BAND_850 = 8,
    BAND_P900 = 9,
    BAND_E900 = 10,
    BAND_R900 = 11,
    BAND_DCS1800 = 12,
    BAND_PCS1900 = 13,
    BAND_ER900 = 14,
};

enum UtranBands : int32_t {
    BAND_1 = 1,
    BAND_2 = 2,
    BAND_3 = 3,
    BAND_4 = 4,
    BAND_5 = 5,
    BAND_6 = 6,
    BAND_7 = 7,
    BAND_8 = 8,
    BAND_9 = 9,
    BAND_10 = 10,
    BAND_11 = 11,
    BAND_12 = 12,
    BAND_13 = 13,
    BAND_14 = 14,
    BAND_19 = 19,
    BAND_20 = 20,
    BAND_21 = 21,
    BAND_22 = 22,
    BAND_25 = 25,
    BAND_26 = 26,
};

enum EutranBands : int32_t {
    BAND_1 = 1,
    BAND_2 = 2,
    BAND_3 = 3,
    BAND_4 = 4,
    BAND_5 = 5,
    BAND_6 = 6,
    BAND_7 = 7,
    BAND_8 = 8,
    BAND_9 = 9,
    BAND_10 = 10,
    BAND_11 = 11,
    BAND_12 = 12,
    BAND_13 = 13,
    BAND_14 = 14,
    BAND_17 = 17,
    BAND_18 = 18,
    BAND_19 = 19,
    BAND_20 = 20,
    BAND_21 = 21,
    BAND_22 = 22,
    BAND_23 = 23,
    BAND_24 = 24,
    BAND_25 = 25,
    BAND_26 = 26,
    BAND_27 = 27,
    BAND_28 = 28,
    BAND_30 = 30,
    BAND_31 = 31,
    BAND_33 = 33,
    BAND_34 = 34,
    BAND_35 = 35,
    BAND_36 = 36,
    BAND_37 = 37,
    BAND_38 = 38,
    BAND_39 = 39,
    BAND_40 = 40,
    BAND_41 = 41,
    BAND_42 = 42,
    BAND_43 = 43,
    BAND_44 = 44,
    BAND_45 = 45,
    BAND_46 = 46,
    BAND_47 = 47,
    BAND_48 = 48,
    BAND_65 = 65,
    BAND_66 = 66,
    BAND_68 = 68,
    BAND_70 = 70,
};

enum ScanType : int32_t {
    ONE_SHOT = 0,                           // Performs the scan only once
    PERIODIC = 1,                           // Performs the scan periodically until cancelled
};

enum ScanStatus : int32_t {
    PARTIAL = 1,                            // The result contains a part of the scan results
    COMPLETE = 2,                           // The result contains the last part of the scan results
};

struct RadioAccessSpecifier {
    RadioAccessNetworks radioAccessNetwork; // The type of network to scan
    vec<GeranBands> geranBands;             // Valid only if radioAccessNetwork = GERAN
                                            // otherwise must be empty
                                            // Maximum length of the vector is 8
    vec<UtranBands> utranBands;             // Valid only if radioAccessNetwork = UTRAN
                                            // otherwise must be empty
                                            // Maximum length of the vector is 8
    vec<EutranBands> eutranBands;           // Valid only if radioAccessNetwork = EUTRAN
                                            // otherwise must be empty
                                            // Maximum length of the vector is 8
    vec<int32_t> channels;                  // The radio channels to scan as defined in
                                            // 3GPP TS 25.101 and 36.101
                                            // Maximum length of the vector is 32
};

struct NetworkScanRequest {
    ScanType type;                          // One shot scan or periodic
    int32_t interval;                       // Time interval in seconds between periodic scans, only
                                            // valid when type = PERIODIC
                                            // Range: 5 to 600
    vec<RadioAccessSpecifier> specifiers;   // networks with bands/channels to scan
                                            // Maximum length of the vector is 8
};

struct NetworkScanResult {
    ScanStatus status;                      // The status of the scan
    RadioError error;                       // The error code of the incremental result
    vec<CellInfo> networkInfos;             // List of network information as CellInfo
};