11af4b0280af406cfc7eb46810f6b76e57b983e11destradaa/* 21af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * Copyright (C) 2013 The Android Open Source Project 31af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * 41af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * Licensed under the Apache License, Version 2.0 (the "License"); 51af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * you may not use this file except in compliance with the License. 61af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * You may obtain a copy of the License at 71af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * 81af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * http://www.apache.org/licenses/LICENSE-2.0 91af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * 101af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * Unless required by applicable law or agreed to in writing, software 111af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * distributed under the License is distributed on an "AS IS" BASIS, 121af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * See the License for the specific language governing permissions and 141af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * limitations under the License. 151af4b0280af406cfc7eb46810f6b76e57b983e11destradaa */ 161af4b0280af406cfc7eb46810f6b76e57b983e11destradaa 171af4b0280af406cfc7eb46810f6b76e57b983e11destradaapackage com.android.location.provider; 181af4b0280af406cfc7eb46810f6b76e57b983e11destradaa 191af4b0280af406cfc7eb46810f6b76e57b983e11destradaaimport android.hardware.location.IFusedLocationHardware; 201af4b0280af406cfc7eb46810f6b76e57b983e11destradaaimport android.location.IFusedProvider; 211af4b0280af406cfc7eb46810f6b76e57b983e11destradaaimport android.os.IBinder; 221af4b0280af406cfc7eb46810f6b76e57b983e11destradaa 231af4b0280af406cfc7eb46810f6b76e57b983e11destradaa/** 241af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * Base class for Fused providers implemented as unbundled services. 251af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * 261af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * <p>Fused providers can be implemented as services and return the result of 271af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * {@link com.android.location.provider.FusedProvider#getBinder()} in its getBinder() method. 281af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * 291af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * <p>IMPORTANT: This class is effectively a public API for unbundled applications, and must remain 301af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * API stable. See README.txt in the root of this package for more information. 311af4b0280af406cfc7eb46810f6b76e57b983e11destradaa */ 321af4b0280af406cfc7eb46810f6b76e57b983e11destradaapublic abstract class FusedProvider { 331af4b0280af406cfc7eb46810f6b76e57b983e11destradaa private IFusedProvider.Stub mProvider = new IFusedProvider.Stub() { 341af4b0280af406cfc7eb46810f6b76e57b983e11destradaa @Override 351af4b0280af406cfc7eb46810f6b76e57b983e11destradaa public void onFusedLocationHardwareChange(IFusedLocationHardware instance) { 361af4b0280af406cfc7eb46810f6b76e57b983e11destradaa setFusedLocationHardware(new FusedLocationHardware(instance)); 371af4b0280af406cfc7eb46810f6b76e57b983e11destradaa } 381af4b0280af406cfc7eb46810f6b76e57b983e11destradaa }; 391af4b0280af406cfc7eb46810f6b76e57b983e11destradaa 401af4b0280af406cfc7eb46810f6b76e57b983e11destradaa /** 411af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * Gets the Binder associated with the provider. 421af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * This is intended to be used for the onBind() method of a service that implements a fused 431af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * service. 441af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * 451af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * @return The IBinder instance associated with the provider. 461af4b0280af406cfc7eb46810f6b76e57b983e11destradaa */ 471af4b0280af406cfc7eb46810f6b76e57b983e11destradaa public IBinder getBinder() { 481af4b0280af406cfc7eb46810f6b76e57b983e11destradaa return mProvider; 491af4b0280af406cfc7eb46810f6b76e57b983e11destradaa } 501af4b0280af406cfc7eb46810f6b76e57b983e11destradaa 511af4b0280af406cfc7eb46810f6b76e57b983e11destradaa /** 521af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * Sets the FusedLocationHardware instance in the provider.. 531af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * @param value The instance to set. This can be null in cases where the service connection 541af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * is disconnected. 551af4b0280af406cfc7eb46810f6b76e57b983e11destradaa */ 561af4b0280af406cfc7eb46810f6b76e57b983e11destradaa public abstract void setFusedLocationHardware(FusedLocationHardware value); 571af4b0280af406cfc7eb46810f6b76e57b983e11destradaa} 58