Android Open Source - kusor K Locator Observable






From Project

Back to project page kusor.

License

The source code is released under:

GNU Lesser General Public License

If you think the Android project kusor 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

/*******************************************************************************
 * Copyleft 2013 Massimiliano Leone - massimiliano.leone@iubris.net .
 * // w w w  . ja va2  s .co m
 * KLocatorObservable.java is part of 'Kusor'.
 * 
 * 'Kusor' is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 * 
 * 'Kusor' is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with 'Kusor' ; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ******************************************************************************/
package net.iubris.kusor.locator.observable;


import javax.inject.Inject;

import net.iubris.kusor._inject.locator.annotations.UpdatesDistance;
import net.iubris.kusor._inject.locator.annotations.UpdatesInterval;
import net.iubris.kusor.locator.KLocator;
import net.iubris.polaris.observatory.action.LocationNotificationAction;
import net.iubris.polaris.observatory.observable.LocationObservable;
import net.iubris.polaris.observatory.observable.LocatorObservableSyncDelegate;
import net.iubris.polaris.observatory.observer.LocationObserver;
import android.app.Application;
import android.location.Location;
import android.util.Log;

import com.novoda.location.Locator;

public class KLocatorObservable extends KLocator implements LocationObservable {

  private final LocatorObservableSyncDelegate syncObservableDelegate;

  @Inject  
  public KLocatorObservable(Application application, Locator novodaLocator,
      @UpdatesInterval int updatesInterval,
      @UpdatesDistance int updatesDistance,
      LocatorObservableSyncDelegate syncObservableDelegate) {
    super(application, novodaLocator, updatesInterval, updatesDistance);
    this.syncObservableDelegate = syncObservableDelegate;
  }
  @Override
  public void attachObserver(LocationObserver observer) {
    syncObservableDelegate.attachObserver(observer);
  }
  @Override
  public void detachObserver(LocationObserver observer) {
    syncObservableDelegate.detachObserver(observer);  
  }  
  @Override
  public void notifyObserver(LocationNotificationAction action) {
    syncObservableDelegate.notifyObserver(action);
  }  
  @Override
  protected void onNewLocation(final Location location) {
    notifyObserver( new LocationNotificationAction() {
      @Override
      public void execute(LocationObserver observer) {
Log.d("KLocatorObservable:77","notifying location: "+location);        
        observer.onLocationUpdate(location);
      }
    });    
  }
}




Java Source Code List

net.iubris.kusor.LocationObservableProvider.java
net.iubris.kusor._inject.locator.annotations.UpdatesDistance.java
net.iubris.kusor._inject.locator.annotations.UpdatesInterval.java
net.iubris.kusor._inject.providers.LocatorProvider.java
net.iubris.kusor._inject.providers.LocatorSettingsProvider.java
net.iubris.kusor._inject.providers.annotations.LocationUpdateAction.java
net.iubris.kusor._inject.providers.annotations.LocationUpdatePackageName.java
net.iubris.kusor.locator.KLocator.java
net.iubris.kusor.locator.observable.KLocatorObservable.java
net.iubris.kusor.observatory.observable.LocationObservable.java
net.iubris.kusor.observatory.observer.LocationObserver.java
net.iubris.kusor._roboguice.module.KusorModule.java
net.iubris.kusor_sample.activity.KusorActivity.java
net.iubris.kusor_sample._roboguice.module.KusorModuleSample.java
net.iubris.kusor_sample.service.KusorService.java
net.iubris.kusor.utils.LocationUtils.java