All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.android.internal.location.ProviderRequest Maven / Gradle / Ivy

Go to download

A library jar that provides APIs for Applications written for the Google Android Platform.

There is a newer version: 14-robolectric-10818077
Show newest version
/*
 * Copyright (C) 2012 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 com.android.internal.location;

import java.util.ArrayList;
import java.util.List;

import android.location.LocationRequest;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.TimeUtils;

/** @hide */
public final class ProviderRequest implements Parcelable {
    /** Location reporting is requested (true) */
    public boolean reportLocation = false;

    /** The smallest requested interval */
    public long interval = Long.MAX_VALUE;

    /**
     * A more detailed set of requests.
     * 

Location Providers can optionally use this to * fine tune location updates, for example when there * is a high power slow interval request and a * low power fast interval request. */ public List locationRequests = new ArrayList(); public ProviderRequest() { } public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override public ProviderRequest createFromParcel(Parcel in) { ProviderRequest request = new ProviderRequest(); request.reportLocation = in.readInt() == 1; request.interval = in.readLong(); int count = in.readInt(); for (int i = 0; i < count; i++) { request.locationRequests.add(LocationRequest.CREATOR.createFromParcel(in)); } return request; } @Override public ProviderRequest[] newArray(int size) { return new ProviderRequest[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel parcel, int flags) { parcel.writeInt(reportLocation ? 1 : 0); parcel.writeLong(interval); parcel.writeInt(locationRequests.size()); for (LocationRequest request : locationRequests) { request.writeToParcel(parcel, flags); } } @Override public String toString() { StringBuilder s = new StringBuilder(); s.append("ProviderRequest["); if (reportLocation) { s.append("ON"); s.append(" interval="); TimeUtils.formatDuration(interval, s); } else { s.append("OFF"); } s.append(']'); return s.toString(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy