/* * 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) { 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; } }