Android Open Source - pyneo-wirelesslocation Provider Properties






From Project

Back to project page pyneo-wirelesslocation.

License

The source code is released under:

GNU General Public License

If you think the Android project pyneo-wirelesslocation listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2012 The Android Open Source Project
 */*w w  w . j a  v  a 2s .  co  m*/
 * 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 com.android.internal.location;

import android.os.Parcel;
import android.os.Parcelable;

/**
 * A Parcelable containing (legacy) location provider properties.
 * This object is just used inside the framework and system services.
 * @hide
 */
public final class ProviderProperties implements Parcelable {
  /**
   * True if provider requires access to a
   * data network (e.g., the Internet), false otherwise.
   */
  public final boolean mRequiresNetwork;

  /**
   * True if the provider requires access to a
   * satellite-based positioning system (e.g., GPS), false
   * otherwise.
   */
  public final boolean mRequiresSatellite;

  /**
   * True if the provider requires access to an appropriate
   * cellular network (e.g., to make use of cell tower IDs), false
   * otherwise.
   */
  public final boolean mRequiresCell;

  /**
   * True if the use of this provider may result in a
   * monetary charge to the user, false if use is free.  It is up to
   * each provider to give accurate information. Cell (network) usage
   * is not considered monetary cost.
   */
  public final boolean mHasMonetaryCost;

  /**
   * True if the provider is able to provide altitude
   * information, false otherwise.  A provider that reports altitude
   * under most circumstances but may occasionally not report it
   * should return true.
   */
  public final boolean mSupportsAltitude;

  /**
   * True if the provider is able to provide speed
   * information, false otherwise.  A provider that reports speed
   * under most circumstances but may occasionally not report it
   * should return true.
   */
  public final boolean mSupportsSpeed;

  /**
   * True if the provider is able to provide bearing
   * information, false otherwise.  A provider that reports bearing
   * under most circumstances but may occasionally not report it
   * should return true.
   */
  public final boolean mSupportsBearing;

  /**
   * Power requirement for this provider.
   *
   * @return the power requirement for this provider, as one of the
   * constants Criteria.POWER_*.
   */
  public final int mPowerRequirement;

  /**
   * Constant describing the horizontal accuracy returned
   * by this provider.
   *
   * @return the horizontal accuracy for this provider, as one of the
   * constants Criteria.ACCURACY_COARSE or Criteria.ACCURACY_FINE
   */
  public final int mAccuracy;

  public ProviderProperties(boolean mRequiresNetwork,
                boolean mRequiresSatellite, boolean mRequiresCell, boolean mHasMonetaryCost,
                boolean mSupportsAltitude, boolean mSupportsSpeed, boolean mSupportsBearing,
                int mPowerRequirement, int mAccuracy) {
    this.mRequiresNetwork = mRequiresNetwork;
    this.mRequiresSatellite = mRequiresSatellite;
    this.mRequiresCell = mRequiresCell;
    this.mHasMonetaryCost = mHasMonetaryCost;
    this.mSupportsAltitude = mSupportsAltitude;
    this.mSupportsSpeed = mSupportsSpeed;
    this.mSupportsBearing = mSupportsBearing;
    this.mPowerRequirement = mPowerRequirement;
    this.mAccuracy = mAccuracy;
  }

  public static final Parcelable.Creator<ProviderProperties> CREATOR =
      new Parcelable.Creator<ProviderProperties>() {
        @Override
        public ProviderProperties createFromParcel(Parcel in) {
          boolean requiresNetwork = in.readInt() == 1;
          boolean requiresSatellite = in.readInt() == 1;
          boolean requiresCell = in.readInt() == 1;
          boolean hasMonetaryCost = in.readInt() == 1;
          boolean supportsAltitude = in.readInt() == 1;
          boolean supportsSpeed = in.readInt() == 1;
          boolean supportsBearing = in.readInt() == 1;
          int powerRequirement = in.readInt();
          int accuracy = in.readInt();
          return new ProviderProperties(requiresNetwork, requiresSatellite,
                          requiresCell, hasMonetaryCost, supportsAltitude, supportsSpeed, supportsBearing,
                          powerRequirement, accuracy);
        }
        @Override
        public ProviderProperties[] newArray(int size) {
          return new ProviderProperties[size];
        }
      };

  @Override
  public int describeContents() {
    return 0;
  }

  @Override
  public void writeToParcel(Parcel parcel, int flags) {
    parcel.writeInt(mRequiresNetwork ? 1 : 0);
    parcel.writeInt(mRequiresSatellite ? 1 : 0);
    parcel.writeInt(mRequiresCell ? 1 : 0);
    parcel.writeInt(mHasMonetaryCost ? 1 : 0);
    parcel.writeInt(mSupportsAltitude ? 1 : 0);
    parcel.writeInt(mSupportsSpeed ? 1 : 0);
    parcel.writeInt(mSupportsBearing ? 1 : 0);
    parcel.writeInt(mPowerRequirement);
    parcel.writeInt(mAccuracy);
  }
}




Java Source Code List

android.location.GeocoderParams.java
android.location.LocationRequest.java
android.net.NetworkInfo.java
android.os.WorkSource.java
com.android.internal.location.ProviderProperties.java
com.android.internal.location.ProviderRequest.java
com.google.android.location.NetworkLocationService.java
com.google.android.location.geocode.GeocodeService.java
com.google.android.location.internal.server.GoogleLocationService.java
com.google.android.location.internal.server.NetworkLocationService.java
com.google.android.location.network.NetworkLocationService.java
internal.com.android.location.provider.GeocodeProvider.java
internal.com.android.location.provider.LocationProviderBase.java
internal.com.android.location.provider.LocationProvider.java
internal.com.android.location.provider.LocationRequestUnbundled.java
internal.com.android.location.provider.ProviderPropertiesUnbundled.java
internal.com.android.location.provider.ProviderRequestUnbundled.java
org.pyneo.android.TheDictionary.java
org.pyneo.android.TheList.java
org.pyneo.android.cellapi.CellAPI2.java
org.pyneo.android.wirelessid.CellIdPre17API.java
org.pyneo.android.wirelessid.CellId.java
org.pyneo.android.wirelessid.Meta.java
org.pyneo.android.wirelessid.Satellite.java
org.pyneo.android.wirelessid.WifiId.java
org.pyneo.wirelesslocation.GeocodeProvider.java
org.pyneo.wirelesslocation.MainService.java
org.pyneo.wirelesslocation.NetworkLocationProviderV1.java
org.pyneo.wirelesslocation.NetworkLocationProviderV2.java
org.pyneo.wirelesslocation.NetworkLocationProvider.java
org.pyneo.wirelesslocation.WirelessEnvListener.java