Android Open Source - tpblogr Android Location Provider






From Project

Back to project page tpblogr.

License

The source code is released under:

MIT License

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

package blogr.vpm.fr.blogr.location;
//from   w  w  w.  j  av  a 2  s .c o m
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;

import java.util.List;

import blogr.vpm.fr.blogr.R;

/**
 * Created by vince on 28/11/14.
 */
public class AndroidLocationProvider implements LocationProvider, LocationListener {

  private final Context context;

  private Location lastLocation;

  private Criteria locCriteria;

  public AndroidLocationProvider(Context context) {
    this.context = context;
    locCriteria = new Criteria();
    locCriteria.setAccuracy(Criteria.ACCURACY_MEDIUM);
    locCriteria.setSpeedRequired(false);
    locCriteria.setAltitudeRequired(false);
    locCriteria.setCostAllowed(false);
    locCriteria.setVerticalAccuracy(Criteria.ACCURACY_MEDIUM);
  }

  @Override
  public void connect() {
    // do nothing
  }

  @Override
  public Location getCurrentLocation() {
    if (lastLocation == null){
      LocationManager locMan = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
      String provider = locMan.getBestProvider(locCriteria, true);
      lastLocation = locMan.getLastKnownLocation(provider);
      if (lastLocation == null) {
        acquireLocation();
      }
    }
    return lastLocation;
  }

  @Override
  public void disconnect() {
    // do nothing
  }


  private void acquireLocation(){
    LocationManager locMan = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    List<String> availableProviders = locMan.getProviders(locCriteria, true);
    if ((availableProviders != null) && (!availableProviders.isEmpty())) {
      locMan.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3, 2, this);
      Toast.makeText(context, context.getString(R.string.location_in_progress), Toast.LENGTH_SHORT).show();
    } else {
      Toast.makeText(context, context.getString(R.string.no_location_provider), Toast.LENGTH_SHORT).show();
    }
  }

  @Override
  public void onLocationChanged(Location location) {
    lastLocation = location;
    Toast.makeText(context, context.getString(R.string.location_available), Toast.LENGTH_SHORT).show();
    LocationManager locMan = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    locMan.removeUpdates(this);
  }

  @Override
  public void onStatusChanged(String provider, int status, Bundle extras) {
    // do nothing
  }

  @Override
  public void onProviderEnabled(String provider) {
    // do nothing
  }

  @Override
  public void onProviderDisabled(String provider) {
    // do nothing
  }
}




Java Source Code List

blogr.vpm.fr.blogr.activity.AllPreferencesActivity.java
blogr.vpm.fr.blogr.activity.BlogActivity.java
blogr.vpm.fr.blogr.activity.BlogListDialogFragment.java
blogr.vpm.fr.blogr.activity.DialogDismissedListener.java
blogr.vpm.fr.blogr.activity.EmailBlogEditionFragment.java
blogr.vpm.fr.blogr.activity.FlickrDialogFragment.java
blogr.vpm.fr.blogr.activity.GithubBlogEditionFragment.java
blogr.vpm.fr.blogr.activity.InvalidatedModelListener.java
blogr.vpm.fr.blogr.activity.PostEditionActivity.java
blogr.vpm.fr.blogr.activity.PostEditionFragment.java
blogr.vpm.fr.blogr.activity.PostListActivity.java
blogr.vpm.fr.blogr.activity.PostListChoiceModeListener.java
blogr.vpm.fr.blogr.activity.PostListFragment.java
blogr.vpm.fr.blogr.activity.PostSelectionListener.java
blogr.vpm.fr.blogr.activity.PreferenceCategoryFragment.java
blogr.vpm.fr.blogr.apis.flickr.FlickrJAndroidProvider.java
blogr.vpm.fr.blogr.apis.flickr.FlickrJAsyncTaskProvider.java
blogr.vpm.fr.blogr.apis.flickr.FlickrProvider.java
blogr.vpm.fr.blogr.apis.flickr.ParcelableFlickrPhoto.java
blogr.vpm.fr.blogr.bean.Blog.java
blogr.vpm.fr.blogr.bean.EmailBlog.java
blogr.vpm.fr.blogr.bean.GithubBlog.java
blogr.vpm.fr.blogr.bean.Post.java
blogr.vpm.fr.blogr.bean.TPBlog.java
blogr.vpm.fr.blogr.format.AlignCenterTagsProvider.java
blogr.vpm.fr.blogr.format.AlignLeftTagsProvider.java
blogr.vpm.fr.blogr.format.AlignRightTagsProvider.java
blogr.vpm.fr.blogr.insertion.DefaultInserter.java
blogr.vpm.fr.blogr.insertion.Inserter.java
blogr.vpm.fr.blogr.insertion.SingleTagProvider.java
blogr.vpm.fr.blogr.insertion.SurroundingTagsProvider.java
blogr.vpm.fr.blogr.location.AndroidLocationProvider.java
blogr.vpm.fr.blogr.location.LatLongTagProvider.java
blogr.vpm.fr.blogr.location.LocationProvider.java
blogr.vpm.fr.blogr.persistence.BlogRetriever.java
blogr.vpm.fr.blogr.persistence.BlogSaver.java
blogr.vpm.fr.blogr.persistence.FileBlogManager.java
blogr.vpm.fr.blogr.persistence.FilePostRetriever.java
blogr.vpm.fr.blogr.persistence.FilePostSaver.java
blogr.vpm.fr.blogr.persistence.PostRetriever.java
blogr.vpm.fr.blogr.persistence.PostSaver.java
blogr.vpm.fr.blogr.picture.AsyncPictureLoader.java
blogr.vpm.fr.blogr.picture.ImageViewLoader.java
blogr.vpm.fr.blogr.picture.PictureLoadedListener.java
blogr.vpm.fr.blogr.picture.PictureMdTagsProvider.java
blogr.vpm.fr.blogr.picture.PicturePickedListener.java
blogr.vpm.fr.blogr.picture.PictureTagProvider.java
blogr.vpm.fr.blogr.picture.PictureTpTagsProvider.java
blogr.vpm.fr.blogr.publish.Formatter.java
blogr.vpm.fr.blogr.publish.HtmlFormatter.java
blogr.vpm.fr.blogr.publish.IdentityFormatter.java
blogr.vpm.fr.blogr.publish.PostPublisher.java
blogr.vpm.fr.blogr.publish.StdEmailPostPublisher.java
blogr.vpm.fr.blogr.publish.TPJavaMailPostPublisher.java
blogr.vpm.fr.blogr.publish.TPPostPublisher.java
blogr.vpm.fr.blogr.service.PostPublishingPreferencesProvider.java
blogr.vpm.fr.blogr.service.PostPublishingServiceProvider.java