mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Merge changes from topic "usage-setting-hal"
* changes: UsageSetting Compat Stubs Add UsageSetting to IRadioNetwork
This commit is contained in:
committed by
Android (Google) Code Review
commit
d394ed451c
@@ -68,4 +68,6 @@ interface IRadioNetwork {
|
||||
oneway void startNetworkScan(in int serial, in android.hardware.radio.network.NetworkScanRequest request);
|
||||
oneway void stopNetworkScan(in int serial);
|
||||
oneway void supplyNetworkDepersonalization(in int serial, in String netPin);
|
||||
oneway void setUsageSetting(in int serial, in android.hardware.radio.network.UsageSetting usageSetting);
|
||||
oneway void getUsageSetting(in int serial);
|
||||
}
|
||||
|
||||
@@ -67,4 +67,6 @@ interface IRadioNetworkResponse {
|
||||
oneway void startNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info);
|
||||
oneway void stopNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info);
|
||||
oneway void supplyNetworkDepersonalizationResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
|
||||
oneway void setUsageSettingResponse(in android.hardware.radio.RadioResponseInfo info);
|
||||
oneway void getUsageSettingResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.UsageSetting usageSetting);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (C) 2021 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.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package android.hardware.radio.network;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum UsageSetting {
|
||||
VOICE_CENTRIC = 1,
|
||||
DATA_CENTRIC = 2,
|
||||
}
|
||||
@@ -27,6 +27,7 @@ import android.hardware.radio.network.NrDualConnectivityState;
|
||||
import android.hardware.radio.network.RadioAccessSpecifier;
|
||||
import android.hardware.radio.network.RadioBandMode;
|
||||
import android.hardware.radio.network.SignalThresholdInfo;
|
||||
import android.hardware.radio.network.UsageSetting;
|
||||
|
||||
/**
|
||||
* This interface is used by telephony and telecom to talk to cellular radio for network APIs.
|
||||
@@ -416,4 +417,25 @@ oneway interface IRadioNetwork {
|
||||
* Response function is IRadioNetworkResponse.supplyNetworkDepersonalizationResponse()
|
||||
*/
|
||||
void supplyNetworkDepersonalization(in int serial, in String netPin);
|
||||
|
||||
/**
|
||||
* Set the UE usage setting for data/voice centric usage.
|
||||
*
|
||||
* <p>Sets the usage setting in accordance with 3gpp 24.301 sec 4.3 and 3gpp 24.501 sec 4.3.
|
||||
* <p>This value must be independently preserved for each SIM; (setting the value is not a
|
||||
* "global" override).
|
||||
*
|
||||
* @param serial Serial number of request.
|
||||
* @param usageSetting the usage setting for the current SIM.
|
||||
*/
|
||||
oneway void setUsageSetting(in int serial, in UsageSetting usageSetting);
|
||||
|
||||
/**
|
||||
* Get the UE usage setting for data/voice centric usage.
|
||||
*
|
||||
* <p>Gets the usage setting in accordance with 3gpp 24.301 sec 4.3 and 3gpp 24.501 sec 4.3.
|
||||
*
|
||||
* @param serial Serial number of request.
|
||||
*/
|
||||
oneway void getUsageSetting(in int serial);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import android.hardware.radio.network.RadioAccessSpecifier;
|
||||
import android.hardware.radio.network.RadioBandMode;
|
||||
import android.hardware.radio.network.RegStateResult;
|
||||
import android.hardware.radio.network.SignalStrength;
|
||||
import android.hardware.radio.network.UsageSetting;
|
||||
|
||||
/**
|
||||
* Interface declaring response functions to solicited radio requests for network APIs.
|
||||
@@ -549,4 +550,30 @@ oneway interface IRadioNetworkResponse {
|
||||
* RadioError:SIM_ABSENT
|
||||
*/
|
||||
void supplyNetworkDepersonalizationResponse(in RadioResponseInfo info, in int remainingRetries);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error.
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:INVALID_STATE
|
||||
* RadioError:INVALID_ARGUMENTS
|
||||
* RadioError:INTERNAL_ERR
|
||||
* RadioError:SIM_ABSENT
|
||||
*/
|
||||
oneway void setUsageSettingResponse(in RadioResponseInfo info);
|
||||
|
||||
/**
|
||||
* @param info Response info struct containing response type, serial no. and error.
|
||||
* @param usageSetting the usage setting for the current SIM.
|
||||
*
|
||||
* Valid errors returned:
|
||||
* RadioError:NONE
|
||||
* RadioError:RADIO_NOT_AVAILABLE
|
||||
* RadioError:INVALID_STATE
|
||||
* RadioError:INTERNAL_ERR
|
||||
* RadioError:SIM_ABSENT
|
||||
*/
|
||||
oneway void getUsageSettingResponse(in RadioResponseInfo info, in UsageSetting usageSetting);
|
||||
}
|
||||
|
||||
40
radio/aidl/android/hardware/radio/network/UsageSetting.aidl
Normal file
40
radio/aidl/android/hardware/radio/network/UsageSetting.aidl
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (C) 2021 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.network;
|
||||
|
||||
/**
|
||||
* Cellular usage setting with values according to 3gpp 24.301 sec 4.3 and 3gpp 24.501 sec 4.3.
|
||||
*
|
||||
* <p>Also refer to "UE's usage setting" as defined in 3gpp 24.301 section 3.1 and 3gpp 23.221
|
||||
* Annex A.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum UsageSetting {
|
||||
/**
|
||||
* UE operates in voice-centric mode. Generally speaking, in this mode of operation, the UE
|
||||
* will not remain camped on a cell or attached to a network unless that cell/network provides
|
||||
* voice service.
|
||||
*/
|
||||
VOICE_CENTRIC = 1,
|
||||
|
||||
/**
|
||||
* UE operates in data-centric mode. Generally speaking, in this mode of operation, the UE
|
||||
* will not reselect away from a cell/network that only provides data services.
|
||||
*/
|
||||
DATA_CENTRIC = 2,
|
||||
}
|
||||
@@ -88,6 +88,10 @@ class RadioNetwork : public RadioCompatBase,
|
||||
::ndk::ScopedAStatus stopNetworkScan(int32_t serial) override;
|
||||
::ndk::ScopedAStatus supplyNetworkDepersonalization(int32_t serial,
|
||||
const std::string& netPin) override;
|
||||
::ndk::ScopedAStatus setUsageSetting(
|
||||
int32_t serial,
|
||||
::aidl::android::hardware::radio::network::UsageSetting usageSetting) override;
|
||||
::ndk::ScopedAStatus getUsageSetting(int32_t serial) override;
|
||||
|
||||
public:
|
||||
using RadioCompatBase::RadioCompatBase;
|
||||
|
||||
@@ -278,4 +278,19 @@ ScopedAStatus RadioNetwork::supplyNetworkDepersonalization(int32_t ser, const st
|
||||
return ok();
|
||||
}
|
||||
|
||||
// TODO(b/210498497): is there a cleaner way to send a response back to Android, even though these
|
||||
// methods must never be called?
|
||||
ScopedAStatus RadioNetwork::setUsageSetting(
|
||||
int32_t ser, ::aidl::android::hardware::radio::network::UsageSetting) {
|
||||
LOG_CALL << ser;
|
||||
LOG(ERROR) << "setUsageSetting is unsupported by HIDL HALs";
|
||||
return ok();
|
||||
}
|
||||
|
||||
ScopedAStatus RadioNetwork::getUsageSetting(int32_t ser) {
|
||||
LOG_CALL << ser;
|
||||
LOG(ERROR) << "getUsageSetting is unsupported by HIDL HALs";
|
||||
return ok();
|
||||
}
|
||||
|
||||
} // namespace android::hardware::radio::compat
|
||||
|
||||
Reference in New Issue
Block a user