Merge "Added CellIdentity struct in types.hal"

This commit is contained in:
Treehugger Robot 2017-11-01 22:30:33 +00:00 committed by Gerrit Code Review
commit 94a12051a3
4 changed files with 230 additions and 0 deletions

View file

@ -5,6 +5,8 @@ filegroup {
srcs: [
"types.hal",
"IRadio.hal",
"IRadioIndication.hal",
"IRadioResponse.hal",
"ISap.hal",
],
}
@ -19,6 +21,8 @@ genrule {
out: [
"android/hardware/radio/1.2/types.cpp",
"android/hardware/radio/1.2/RadioAll.cpp",
"android/hardware/radio/1.2/RadioIndicationAll.cpp",
"android/hardware/radio/1.2/RadioResponseAll.cpp",
"android/hardware/radio/1.2/SapAll.cpp",
],
}
@ -38,6 +42,16 @@ genrule {
"android/hardware/radio/1.2/BnHwRadio.h",
"android/hardware/radio/1.2/BpHwRadio.h",
"android/hardware/radio/1.2/BsRadio.h",
"android/hardware/radio/1.2/IRadioIndication.h",
"android/hardware/radio/1.2/IHwRadioIndication.h",
"android/hardware/radio/1.2/BnHwRadioIndication.h",
"android/hardware/radio/1.2/BpHwRadioIndication.h",
"android/hardware/radio/1.2/BsRadioIndication.h",
"android/hardware/radio/1.2/IRadioResponse.h",
"android/hardware/radio/1.2/IHwRadioResponse.h",
"android/hardware/radio/1.2/BnHwRadioResponse.h",
"android/hardware/radio/1.2/BpHwRadioResponse.h",
"android/hardware/radio/1.2/BsRadioResponse.h",
"android/hardware/radio/1.2/ISap.h",
"android/hardware/radio/1.2/IHwSap.h",
"android/hardware/radio/1.2/BnHwSap.h",
@ -84,12 +98,25 @@ genrule {
":android.hardware.radio@1.2_hal",
],
out: [
"android/hardware/radio/V1_2/CellIdentityCdma.java",
"android/hardware/radio/V1_2/CellIdentityGsm.java",
"android/hardware/radio/V1_2/CellIdentityLte.java",
"android/hardware/radio/V1_2/CellIdentityOperatorNames.java",
"android/hardware/radio/V1_2/CellIdentityWcdma.java",
"android/hardware/radio/V1_2/CellInfo.java",
"android/hardware/radio/V1_2/CellInfoCdma.java",
"android/hardware/radio/V1_2/CellInfoGsm.java",
"android/hardware/radio/V1_2/CellInfoLte.java",
"android/hardware/radio/V1_2/CellInfoWcdma.java",
"android/hardware/radio/V1_2/IncrementalResultsPeriodicityRange.java",
"android/hardware/radio/V1_2/MaxSearchTimeRange.java",
"android/hardware/radio/V1_2/NetworkScanRequest.java",
"android/hardware/radio/V1_2/NetworkScanResult.java",
"android/hardware/radio/V1_2/RadioConst.java",
"android/hardware/radio/V1_2/ScanIntervalRange.java",
"android/hardware/radio/V1_2/IRadio.java",
"android/hardware/radio/V1_2/IRadioIndication.java",
"android/hardware/radio/V1_2/IRadioResponse.java",
"android/hardware/radio/V1_2/ISap.java",
],
}
@ -119,6 +146,8 @@ genrule {
],
out: [
"android/hardware/radio/1.2/ARadio.cpp",
"android/hardware/radio/1.2/ARadioIndication.cpp",
"android/hardware/radio/1.2/ARadioResponse.cpp",
"android/hardware/radio/1.2/ASap.cpp",
],
}
@ -132,6 +161,8 @@ genrule {
],
out: [
"android/hardware/radio/1.2/ARadio.h",
"android/hardware/radio/1.2/ARadioIndication.h",
"android/hardware/radio/1.2/ARadioResponse.h",
"android/hardware/radio/1.2/ASap.h",
],
}

View file

@ -0,0 +1,31 @@
/*
* 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.2;
import @1.0::RadioIndicationType;
import @1.1::IRadioIndication;
/**
* Interface declaring unsolicited radio indications.
*/
interface IRadioIndication extends @1.1::IRadioIndication {
/**
* Incremental network scan results
*/
oneway networkScanResult_1_2(RadioIndicationType type, NetworkScanResult result);
};

View file

@ -0,0 +1,44 @@
/*
* 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.2;
import @1.0::RadioResponseInfo;
import @1.1::IRadioResponse;
/**
* Interface declaring response functions to solicited radio requests.
*/
interface IRadioResponse extends @1.1::IRadioResponse {
/**
* @param info Response info struct containing response type, serial no. and error
* @param cellInfo List of current cell information known to radio
*
* Valid errors returned:
* RadioError:NONE
* RadioError:RADIO_NOT_AVAILABLE
* RadioError:NO_MEMORY
* RadioError:INTERNAL_ERR
* RadioError:SYSTEM_ERR
* RadioError:MODEM_ERR
* RadioError:NO_NETWORK_FOUND
* RadioError:REQUEST_NOT_SUPPORTED
* RadioError:NO_RESOURCES
* RadioError:CANCELLED
*/
oneway getCellInfoListResponse_1_2(RadioResponseInfo info, vec<CellInfo> cellInfo);
};

View file

@ -16,8 +16,22 @@
package android.hardware.radio@1.2;
import @1.0::CdmaSignalStrength;
import @1.0::CellIdentityCdma;
import @1.0::CellIdentityGsm;
import @1.0::CellIdentityLte;
import @1.0::CellIdentityWcdma;
import @1.0::CellInfoTdscdma;
import @1.0::CellInfoType;
import @1.0::EvdoSignalStrength;
import @1.0::GsmSignalStrength;
import @1.0::LteSignalStrength;
import @1.0::RadioConst;
import @1.0::TimeStampType;
import @1.0::WcdmaSignalStrength;
import @1.1::RadioAccessSpecifier;
import @1.0::RadioError;
import @1.1::ScanStatus;
import @1.1::ScanType;
enum RadioConst : @1.0::RadioConst {
@ -97,3 +111,113 @@ struct NetworkScanRequest {
*/
vec<string> mccMncs;
};
struct NetworkScanResult {
/**
* The status of the scan.
*/
ScanStatus status;
/**
* The error code of the incremental result.
*/
RadioError error;
/**
* List of network information as CellInfo.
*/
vec<CellInfo> networkInfos;
};
struct CellIdentityOperatorNames {
/**
* Long alpha Operator Name String or Enhanced Operator Name String.
*/
string alphaLong;
/**
* Short alpha Operator Name String or Enhanced Operator Name String
*/
string alphaShort;
};
struct CellIdentityCdma {
@1.0::CellIdentityCdma base;
CellIdentityOperatorNames operatorNames;
};
struct CellIdentityGsm {
@1.0::CellIdentityGsm base;
CellIdentityOperatorNames operatorNames;
};
struct CellIdentityLte {
@1.0::CellIdentityLte base;
CellIdentityOperatorNames operatorNames;
};
struct CellIdentityWcdma {
@1.0::CellIdentityWcdma base;
CellIdentityOperatorNames operatorNames;
};
struct CellInfoGsm {
CellIdentityGsm cellIdentityGsm;
GsmSignalStrength signalStrengthGsm;
};
struct CellInfoWcdma {
CellIdentityWcdma cellIdentityWcdma;
WcdmaSignalStrength signalStrengthWcdma;
};
struct CellInfoCdma {
CellIdentityCdma cellIdentityCdma;
CdmaSignalStrength signalStrengthCdma;
EvdoSignalStrength signalStrengthEvdo;
};
struct CellInfoLte {
CellIdentityLte cellIdentityLte;
LteSignalStrength signalStrengthLte;
};
struct CellInfo {
/**
* Cell type for selecting from union CellInfo.
*/
CellInfoType cellInfoType;
/*
* True if this cell is registered false if not registered.
*/
bool registered;
/*
* Type of time stamp represented by timeStamp.
*/
TimeStampType timeStampType;
/*
* Time in nanos as returned by ril_nano_time.
*/
uint64_t timeStamp;
/*
* Only one of the below vectors must be of size 1 based on the CellInfoType and others must be
* of size 0.
*/
vec<CellInfoGsm> gsm;
/*
* Valid only if type = cdma and size = 1 else must be empty.
*/
vec<CellInfoCdma> cdma;
/*
* Valid only if type = lte and size = 1 else must be empty.
*/
vec<CellInfoLte> lte;
/*
* Valid only if type = wcdma and size = 1 else must be empty.
*/
vec<CellInfoWcdma> wcdma;
/*
* Valid only if type = tdscdma and size = 1 else must be empty.
*/
vec<CellInfoTdscdma> tdscdma;
};