| /* |
| * Copyright (C) 2008 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.location; |
| |
| /** |
| * This class represents the current state of a GPS satellite. |
| * This class is used in conjunction with the {@link GpsStatus} class. |
| */ |
| public final class GpsSatellite { |
| /* These package private values are modified by the GpsStatus class */ |
| boolean mValid; |
| boolean mHasEphemeris; |
| boolean mHasAlmanac; |
| boolean mUsedInFix; |
| int mPrn; |
| float mSnr; |
| float mElevation; |
| float mAzimuth; |
| |
| GpsSatellite(int prn) { |
| mPrn = prn; |
| } |
| |
| /** |
| * Used by {@link LocationManager#getGpsStatus} to copy LocationManager's |
| * cached GpsStatus instance to the client's copy. |
| */ |
| void setStatus(GpsSatellite satellite) { |
| if (satellite == null) { |
| mValid = false; |
| } else { |
| mValid = satellite.mValid; |
| mHasEphemeris = satellite.mHasEphemeris; |
| mHasAlmanac = satellite.mHasAlmanac; |
| mUsedInFix = satellite.mUsedInFix; |
| mSnr = satellite.mSnr; |
| mElevation = satellite.mElevation; |
| mAzimuth = satellite.mAzimuth; |
| } |
| } |
| |
| /** |
| * Returns the PRN (pseudo-random number) for the satellite. |
| * |
| * @return PRN number |
| */ |
| public int getPrn() { |
| return mPrn; |
| } |
| |
| /** |
| * Returns the signal to noise ratio for the satellite. |
| * |
| * @return the signal to noise ratio |
| */ |
| public float getSnr() { |
| return mSnr; |
| } |
| |
| /** |
| * Returns the elevation of the satellite in degrees. |
| * The elevation can vary between 0 and 90. |
| * |
| * @return the elevation in degrees |
| */ |
| public float getElevation() { |
| return mElevation; |
| } |
| |
| /** |
| * Returns the azimuth of the satellite in degrees. |
| * The azimuth can vary between 0 and 360. |
| * |
| * @return the azimuth in degrees |
| */ |
| public float getAzimuth() { |
| return mAzimuth; |
| } |
| |
| /** |
| * Returns true if the GPS engine has ephemeris data for the satellite. |
| * |
| * @return true if the satellite has ephemeris data |
| */ |
| public boolean hasEphemeris() { |
| return mHasEphemeris; |
| } |
| |
| /** |
| * Returns true if the GPS engine has almanac data for the satellite. |
| * |
| * @return true if the satellite has almanac data |
| */ |
| public boolean hasAlmanac() { |
| return mHasAlmanac; |
| } |
| |
| /** |
| * Returns true if the satellite was used by the GPS engine when |
| * calculating the most recent GPS fix. |
| * |
| * @return true if the satellite was used to compute the most recent fix. |
| */ |
| public boolean usedInFix() { |
| return mUsedInFix; |
| } |
| } |