Exemplo n.º 1
0
 private void addNewGeoTrack(GeoTrack geoTrack) {
   Log.d(TAG, String.format("Add New GeoTrack : %s", geoTrack));
   // Add Point to Map
   boolean isNewOneIsTheLast = true;
   int geoTrackSize = geoTracks.size();
   if (geoTrackSize > 0) {
     GeoTrack endList = geoTracks.last();
     geoTracks.add(geoTrack);
     if (geoTrack.time < endList.time) {
       // For
       //			NOT needded for set	Collections.sort(geoTracks);
       isNewOneIsTheLast = false;
     }
   } else {
     geoTracks.add(geoTrack);
   }
   // Notify
   if (isNewOneIsTheLast && geotrackLastAddedListener != null) {
     geotrackLastAddedListener.addedLastGeoTrack(geoTrack);
   }
   // Invalidate Map
   invalidateMapFor(geoTrack);
   if (isNewOneIsTheLast) {
     animateToGeoTrack(geoTrack, true);
   }
 }
Exemplo n.º 2
0
        @Override
        public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
          int resultCount = cursor.getCount();
          Log.d(TAG, String.format("### Found %s Geotracks for %s", resultCount, person));
          ArrayList<GeoTrack> points = new ArrayList<GeoTrack>(resultCount);
          if (cursor.moveToFirst()) {
            GeoTrackHelper helper = new GeoTrackHelper().initWrapper(cursor);
            geoTrackRangeTimeValueMin = Long.MAX_VALUE;
            geoTrackRangeTimeValueMax = Long.MIN_VALUE;
            boolean isRangeChange = false;
            GeoTrack geoTrack = null;
            do {
              geoTrack = helper.getEntity(cursor);
              // Log.d(TAG, String.format("Cursor : %s", geoTrack));
              // Adding to list
              points.add(geoTrack);
              isRangeChange |= computeGeoTrackTimeRange(geoTrack.getTime(), false);
              Log.d(TAG, String.format("Add New GeoTrack : %s", geoTrack));
            } while (cursor.moveToNext());

            if (isRangeChange) {
              notifyChangeOnRangeGeoTrackValuesChangeListener();
            }
            Log.d(TAG, "------------------------------------------");
            Log.d(TAG, "------------------------------------------");
            Log.d(
                TAG,
                "------- Added last Geopoint : "
                    + geoTrack
                    + " // with LastAddedListener "
                    + (geotrackLastAddedListener != null));
            Log.d(TAG, "------------------------------------------");
            Log.d(TAG, "------------------------------------------");
            if (geoTrack != null && geotrackLastAddedListener != null) {
              geotrackLastAddedListener.addedLastGeoTrack(geoTrack);
            }
          }
          geoTracks = new ConcurrentSkipListSet<GeoTrack>(points);
        }