Android Open Source - android-open-street-map Requests Queue






From Project

Back to project page android-open-street-map.

License

The source code is released under:

Apache License

If you think the Android project android-open-street-map 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

/**
 * /*from  w  ww .  j  a  v  a  2  s .c  o m*/
 */
package com.android.lib.map.osm;

import java.util.Stack;

public class RequestsQueue {
  
  private int mTileStackSizeLimit;
  private Stack<Tile> queue = new Stack<Tile>();
  private Object lock = new Object();
  int id;

  RequestsQueue(int id, int tileStackSizeLimit)
  {
    this.id = id;
    mTileStackSizeLimit = tileStackSizeLimit;
  }
  
  public void queue(Tile tile) 
  {
    synchronized (lock) 
    {
      if(tile != null && !contains(tile)) 
      {
        if (mTileStackSizeLimit > 0 && queue.size() > mTileStackSizeLimit)
          queue.remove(queue.lastElement());
        queue.push(tile);
      }
    }
  }

  public boolean contains(Tile tile)
  {
    synchronized (lock) 
    {
      for (Tile qTile : queue) {
        if (qTile.key != null && qTile.key.equals(tile.key))
          return true;
      }
      return false;
    }
  }
  
  public Tile dequeue() 
  {
    synchronized (lock) 
    {
      return queue.pop();
    }
  }

  public boolean hasRequest() 
  {
    synchronized (lock) 
    {
      return queue.size() != 0;
    }
  }

  public void clear() 
  {
    synchronized (lock) 
    {
      queue.clear();
    }
  }
  
  public int size() 
  {
    synchronized (lock) 
    {
      return queue.size();
    }
  }
}




Java Source Code List

com.android.lib.map.osm.BitmapScaler.java
com.android.lib.map.osm.Configuration.java
com.android.lib.map.osm.GeoPoint.java
com.android.lib.map.osm.InDbTileLoader.java
com.android.lib.map.osm.InMemoryTilesCache.java
com.android.lib.map.osm.LRUMap.java
com.android.lib.map.osm.ManageTilesCached.java
com.android.lib.map.osm.OsmMapViewBase.java
com.android.lib.map.osm.OsmMapView.java
com.android.lib.map.osm.OsmOverlayListener.java
com.android.lib.map.osm.Projection.java
com.android.lib.map.osm.RemoteAsyncTileLoader.java
com.android.lib.map.osm.RemoteTileLoader.java
com.android.lib.map.osm.RequestTile.java
com.android.lib.map.osm.RequestsQueue.java
com.android.lib.map.osm.ResizedTilesCache.java
com.android.lib.map.osm.TileHandler.java
com.android.lib.map.osm.Tile.java
com.android.lib.map.osm.TilesDownloader.java
com.android.lib.map.osm.TilesProvider.java
com.android.lib.map.osm.controller.IMapInteractionListener.java
com.android.lib.map.osm.helpers.CustomDatabaseHelper.java
com.android.lib.map.osm.helpers.OsmDatabaseHelper.java
com.android.lib.map.osm.helpers.ScaleGestureHelper.java
com.android.lib.map.osm.helpers.ScaleGesturePreFroyoHelper.java
com.android.lib.map.osm.models.MapEntity.java
com.android.lib.map.osm.models.MapTileEntity.java
com.android.lib.map.osm.models.MapTile.java
com.android.lib.map.osm.models.OsmModel.java
com.android.lib.map.osm.overlay.MapMarker.java
com.android.lib.map.osm.overlay.MapPolygon.java
com.android.lib.map.osm.overlay.MapTrack.java
com.android.lib.map.osm.overlay.OsmLocationOverlay.java
com.android.lib.map.osm.overlay.OsmMarkerOverlay.java
com.android.lib.map.osm.overlay.OsmOverlay.java
com.android.lib.map.osm.overlay.OsmPolygonOverlay.java
com.android.lib.map.osm.overlay.OsmTrackOverlay.java
com.android.lib.map.osm.utils.CountDownTimer.java
com.android.lib.map.osm.utils.DateUtil.java
com.android.lib.map.osm.utils.PolygonUtils.java
com.android.lib.map.osm.utils.PolylineUtil.java