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

Commit 068f928e authored by Sasha Kuznetsov's avatar Sasha Kuznetsov Committed by Android (Google) Code Review
Browse files

Merge "Add support to blacklist IRNSS in HAL 2.1"

parents 3b5fa100 845f6d54
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -619,8 +619,9 @@ f18695dd36ee205640b8326a17453858a7b4596653aaa6ef0016b0aef1bd4dac android.hardwar
4d85e814f94949dae4dc6cb82bbd7d6bb24ffafda6ddb2eac928d2a4fc2e21ce android.hardware.cas@1.2::types
66931c2506fbb5af61f20138cb05e0a09e7bf67d6964c231d27c648933bb33ec android.hardware.drm@1.3::ICryptoFactory
994d08ab27d613022c258a9ec48cece7adf2a305e92df5d76ef923e2c6665f64 android.hardware.drm@1.3::IDrmFactory
1bd8028b974bf1d65cfa102196a2b008afc5d42fe73fed2cb94fa7533d07f581 android.hardware.gnss@2.1::IGnss
3dacec7801968e1e4479724dc0180442d9e915466bff051f80996266b1a51c2c android.hardware.gnss@2.1::IGnss
ba62e1e8993bfb9f27fa04816fa0f2241ae2d01edfa3d0c04182e2e5de80045c android.hardware.gnss@2.1::IGnssCallback
ccdf3c0fb2c02a6d4dc57afb276c3497ae8172b80b00ebc0bf8a0238dd38b01d android.hardware.gnss@2.1::IGnssConfiguration
5a125c49ca83629e22afc8c39e865509343bfa2c38f0baea9a186bbac103492d android.hardware.gnss@2.1::IGnssMeasurement
0bfb291708dd4a7c6ec6b9883e2b8592357edde8d7e962ef83918e4a2154ce69 android.hardware.gnss@2.1::IGnssMeasurementCallback
ce8dbe76eb9ee94b46ef98f725be992e760a5751073d4f4912484026541371f3 android.hardware.health@2.1::IHealth
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ hidl_interface {
        "IGnssCallback.hal",
        "IGnssMeasurement.hal",
        "IGnssMeasurementCallback.hal",
        "IGnssConfiguration.hal",
    ],
    interfaces: [
        "android.hardware.gnss.measurement_corrections@1.0",
+12 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import @2.0::IGnss;

import IGnssCallback;
import IGnssMeasurement;
import IGnssConfiguration;

/**
 * Represents the standard GNSS (Global Navigation Satellite System) interface.
@@ -50,4 +51,15 @@ interface IGnss extends @2.0::IGnss {
     * @return gnssMeasurementIface Handle to the IGnssMeasurement interface.
     */
    getExtensionGnssMeasurement_2_1() generates (IGnssMeasurement gnssMeasurementIface);

    /**
     * This method returns the IGnssConfiguration interface.
     *
     * At least one of getExtensionGnssConfiguration(), getExtensionGnssConfiguration_1_1(),
     * getExtensionGnssConfiguration_2_0(), and getExtensionGnssConfiguration_2_1() methods must
     * return a non-null handle, and the other methods must return nullptr.
     *
     * @return gnssConfigurationIface Handle to the IGnssConfiguration interface.
     */
    getExtensionGnssConfiguration_2_1() generates (IGnssConfiguration gnssConfigurationIface);
};
 No newline at end of file
+68 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 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.1;

import @2.0::IGnssConfiguration;
import @2.0::GnssConstellationType;

/**
 * Extended interface for GNSS Configuration support.
 */
interface IGnssConfiguration extends @2.0::IGnssConfiguration {
    /**
     * Represents a blacklisted source, updating the GnssConstellationType to 2.0, which supports
     * IRNSS.
     */
    struct BlacklistedSource {
        /**
         * Defines the constellation of the given satellite(s).
         */
        GnssConstellationType constellation;

        /**
         * Satellite (space vehicle) ID number, as defined in GnssSvInfo::svid
         *
         * Or 0 to blacklist all svid's for the specified constellation
         */
        int16_t svid;
    };

    /**
     * Injects a vector of BlacklistedSource(s) which the HAL must not use to calculate the
     * GNSS location output.
     *
     * The superset of all satellite sources provided, including wildcards, in the latest call
     * to this method, is the set of satellites sources that must not be used in calculating
     * location.
     *
     * All measurements from the specified satellites, across frequency bands, are blacklisted
     * together.
     *
     * If this method is never called after the IGnssConfiguration.hal connection is made on boot,
     * or is called with an empty vector, then no satellites are to be blacklisted as a result of
     * this API.
     *
     * This blacklist must be considered as an additional source of which satellites
     * should not be trusted for location on top of existing sources of similar information
     * such as satellite broadcast health being unhealthy and measurement outlier removal.
     *
     * @param blacklist The BlacklistedSource(s) of satellites the HAL must not use.
     *
     * @return success Whether the HAL accepts and abides by the provided blacklist.
     */
    setBlacklist_2_1(vec<BlacklistedSource> blacklist) generates (bool success);
};
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ cc_binary {
    srcs: [
        "Gnss.cpp",
        "GnssMeasurement.cpp",
        "GnssConfiguration.cpp",
        "service.cpp"
    ],
    shared_libs: [
Loading