a3afa5c65c
The IGnss.hal setCallback() and cleanup() methods need to be updated to clarify when the framework calls them so that that the GNSS engine knows when to shut down for power savings. This CL updates the @2.0::IGnss.hal setCallback() method documenation only. The @1.1::IGnss.hal and @1.0::IGnss.hal setCallback() and cleanup() method documentation is updated in another CL. Bug: 124104175 Test: Existing tests pass Change-Id: I6a2dd6f82becc0adef8b4b56fe83e7c004aefd7a
132 lines
No EOL
4.8 KiB
Text
132 lines
No EOL
4.8 KiB
Text
/*
|
|
* Copyright (C) 2018 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.gnss@2.0;
|
|
|
|
import android.hardware.gnss.measurement_corrections@1.0::IMeasurementCorrections;
|
|
import android.hardware.gnss.visibility_control@1.0::IGnssVisibilityControl;
|
|
import @1.1::IGnss;
|
|
|
|
import GnssLocation;
|
|
import IGnssCallback;
|
|
import IGnssConfiguration;
|
|
import IGnssDebug;
|
|
import IGnssMeasurement;
|
|
import IAGnss;
|
|
import IAGnssRil;
|
|
import IGnssBatching;
|
|
|
|
/**
|
|
* Represents the standard GNSS (Global Navigation Satellite System) interface.
|
|
*
|
|
* Due to the introduction of new GNSS HAL package android.hardware.gnss.visibility_control@1.0
|
|
* the interface @1.0::IGnssNi.hal and @1.0::IGnssNiCallback.hal are deprecated in this version
|
|
* and are not supported by the framework. The GNSS HAL implementation of this interface
|
|
* must return nullptr for the following @1.0::IGnss method.
|
|
* getExtensionGnssNi() generates (IGnssNi gnssNiIface);
|
|
*/
|
|
interface IGnss extends @1.1::IGnss {
|
|
/**
|
|
* Opens the interface and provides the callback routines to the implementation of this
|
|
* interface.
|
|
*
|
|
* The framework calls this method to instruct the GPS engine to prepare for serving requests
|
|
* from the framework. The GNSS HAL implementation must respond to all GNSS requests from the
|
|
* framework upon successful return from this method until cleanup() method is called to
|
|
* close this interface.
|
|
*
|
|
* @param callback Callback interface for IGnss.
|
|
*
|
|
* @return success Returns true on success.
|
|
*/
|
|
setCallback_2_0(IGnssCallback callback) generates (bool success);
|
|
|
|
/**
|
|
* This method returns the IGnssConfiguration interface.
|
|
*
|
|
* @return gnssConfigurationIface Handle to the IGnssConfiguration interface.
|
|
*/
|
|
getExtensionGnssConfiguration_2_0() generates (IGnssConfiguration gnssConfigurationIface);
|
|
|
|
/**
|
|
* This method returns the IGnssDebug interface.
|
|
*
|
|
* @return gnssDebugIface Handle to the IGnssDebug interface.
|
|
*/
|
|
getExtensionGnssDebug_2_0() generates (IGnssDebug gnssDebugIface);
|
|
|
|
/**
|
|
* This method returns the IAGnss Interface.
|
|
*
|
|
* The getExtensionAGnss() must return nullptr as the @1.0::IAGnss interface is
|
|
* deprecated.
|
|
*
|
|
* @return aGnssIface Handle to the IAGnss interface.
|
|
*/
|
|
getExtensionAGnss_2_0() generates (IAGnss aGnssIface);
|
|
|
|
/**
|
|
* This method returns the IAGnssRil Interface.
|
|
*
|
|
* @return aGnssRilIface Handle to the IAGnssRil interface.
|
|
*/
|
|
getExtensionAGnssRil_2_0() generates (IAGnssRil aGnssRilIface);
|
|
|
|
/**
|
|
* This method returns the IGnssMeasurement interface.
|
|
*
|
|
* Exactly one of getExtensionGnssMeasurement(), getExtensionGnssMeasurement_1_1(), and
|
|
* getExtensionGnssMeasurement_2_0() methods must return a non-null handle, and the other
|
|
* methods must return nullptr.
|
|
*
|
|
* @return gnssMeasurementIface Handle to the IGnssMeasurement interface.
|
|
*/
|
|
getExtensionGnssMeasurement_2_0() generates (IGnssMeasurement gnssMeasurementIface);
|
|
|
|
/**
|
|
* This method returns the IMeasurementCorrections interface.
|
|
*
|
|
* @return measurementCorrectionsIface Handle to the IMeasurementCorrections interface.
|
|
*/
|
|
getExtensionMeasurementCorrections()
|
|
generates (IMeasurementCorrections measurementCorrectionsIface);
|
|
|
|
/**
|
|
* This method returns the IGnssVisibilityControl interface.
|
|
*
|
|
* @return visibilityControlIface Handle to the IGnssVisibilityControl interface.
|
|
*/
|
|
getExtensionVisibilityControl() generates (IGnssVisibilityControl visibilityControlIface);
|
|
|
|
/**
|
|
* This method returns the IGnssBatching interface.
|
|
*
|
|
* @return batchingIface Handle to the IGnssBatching interface.
|
|
*/
|
|
getExtensionGnssBatching_2_0() generates (IGnssBatching batchingIface);
|
|
|
|
/**
|
|
* Injects current location from the best available location provider.
|
|
*
|
|
* Unlike injectLocation, this method may inject a recent GNSS location from the HAL
|
|
* implementation, if that is the best available location known to the framework.
|
|
*
|
|
* @param location Location information from the best available location provider.
|
|
*
|
|
* @return success Returns true if successful.
|
|
*/
|
|
injectBestLocation_2_0(GnssLocation location) generates (bool success);
|
|
}; |