Android Open Source - myAndroidApps Location Utils






From Project

Back to project page myAndroidApps.

License

The source code is released under:

This is my first GitHub try. Be gentle :)

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

/**
 * @author Gidy Basin//w  w  w  .ja v  a  2s.co  m
 */

package gidy.carpark.utils;

import gidy.carpark.ParkingLocation;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class LocationUtils {
  
  private static List<ParkingLocation> _locations = new ArrayList<>();
  private static ParkingLocation _curLocation;

  static{
    try {
      initParkingLocations();
    } catch (IOException | JSONException e) {
      // TOO BAD :(
    }
  }
  
  public static void addLocationAndSetCurrent(ParkingLocation loc) throws IOException, JSONException{
    _locations.add(loc);
    setCurrentLocation(loc);
  }
  
  public static List<ParkingLocation> getLocations(){
    return _locations;
  }
  
  public static void initParkingLocations() throws IOException, JSONException{
    
    try(FileInputStream fis = new FileInputStream(FileUtils.getLocationsFile())){
      
      FileChannel fc = fis.getChannel();
        MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
            String locJsonStr = Charset.defaultCharset().decode(bb).toString();
            
            JSONObject allLoc = new JSONObject(locJsonStr);
            
            JSONArray locArray = allLoc.getJSONArray("locations");
            
            ParkingLocation curLoc;
            
            // Add all the locations in the array
            for (int i=0; i<locArray.length(); i++){              
              curLoc = new ParkingLocation(locArray.getJSONObject(i));
              _locations.add(curLoc);
              if (curLoc.getIsCurrent()){
                setCurrentLocation(curLoc);
              }
            }
    }
    catch(FileNotFoundException exc){
      // If there is no file yet - do nothing - that's ok
      return; 
    }
  }
  
  public static void setCurrentLocation(ParkingLocation loc) throws IOException, JSONException{
    
    if (_curLocation != null){
      _curLocation.removeCurrentFlag();
    }
    
    loc.setCurrentParking();
    _curLocation = loc;
  }
  
  public static void setCurrentLocation(String locStr) throws IOException, JSONException{
    for (ParkingLocation loc : _locations){
      if (loc.getLocationString().equals(locStr)){
        setCurrentLocation(loc);
        break;
      }
    }
  }
  
  public static ParkingLocation getCurrentLocation(){
    return _curLocation;
  }
  
  
  public static void saveLocationsToDisk() throws IOException, JSONException{
    if (_locations.size() > 0){
      FileWriter fw = new FileWriter(FileUtils.getLocationsFile(), false);
      fw.write(getLocationsJSons());
      fw.close();
    }
  }
  
  private static String getLocationsJSons() throws JSONException{
    
    JSONObject locationsObj = new JSONObject();
    JSONArray locationsArray = new JSONArray();
    
    for (ParkingLocation loc : _locations){
      locationsArray.put(loc.getJsonObj());
    }
    
    locationsObj.put("locations", locationsArray);
    
    return locationsObj.toString();
  }
  
  public static void removeLocation(int position){
    if (_curLocation == _locations.get(position)){
      _curLocation = null;
    }
    
    _locations.remove(position);    
  }
}




Java Source Code List

gidy.carpark.HomeScreen.java
gidy.carpark.JustParkedActivity.java
gidy.carpark.ParkingLocation.java
gidy.carpark.WhereParkedActivity.java
gidy.carpark.utils.CommonUtils.java
gidy.carpark.utils.FileUtils.java
gidy.carpark.utils.GPSTracker.java
gidy.carpark.utils.LocationUtils.java
gidy.carpark.utils.LocationsAdapter.java
gidy.medappg.CallAmbulanceActivity.java
gidy.medappg.HomeMenu.java
gidy.medappg.MedAppLogger.java
gidy.medappg.activities.AllergicReactionActivity.java
gidy.medappg.activities.AsthmaActivity.java
gidy.medappg.activities.BleedingActivity.java
gidy.medappg.activities.BrokenBoneActivity.java
gidy.medappg.activities.BurnActivity.java
gidy.medappg.activities.ChokeActivity.java
gidy.medappg.activities.DiabeticActivity.java
gidy.medappg.activities.DistressActivity.java
gidy.medappg.activities.EpilepsyActivity.java
gidy.medappg.activities.HeadInjuryActivity.java
gidy.medappg.activities.HeartAttackActivity.java
gidy.medappg.activities.HypothermiaActivity.java
gidy.medappg.activities.MedicalIssueActivity.java
gidy.medappg.activities.MeningitisActivity.java
gidy.medappg.activities.PoisoningActivity.java
gidy.medappg.activities.StrokeActivity.java
gidy.medappg.activities.UnconsciousBreatingActivity.java
gidy.medappg.activities.UnconsciousNotBreathingActivity.java
gidy.medappg.videoActivities.AsthmaVideoActivity.java
gidy.medappg.videoActivities.BleedingVideoActivity.java
gidy.medappg.videoActivities.BrokenBoneVideoActivity.java
gidy.medappg.videoActivities.BurnVideoActivity.java
gidy.medappg.videoActivities.ChokeActivityVideo.java
gidy.medappg.videoActivities.DiabeticVideoActivity.java
gidy.medappg.videoActivities.DistressVideoActivity.java
gidy.medappg.videoActivities.EpilepsyVideoActivity.java
gidy.medappg.videoActivities.HeadInjuryVideoActivity.java
gidy.medappg.videoActivities.HeartAttackVideoActivity.java
gidy.medappg.videoActivities.PoisoningVideoActivity.java
gidy.medappg.videoActivities.StrokeVideoActivity.java
gidy.medappg.videoActivities.UnconsciousBreatingVideoActivity.java
gidy.medappg.videoActivities.UnconsciousNotBreathingVideoActivity.java
gidy.medappg.videoActivities.VideoActivity.java
gidy.medappnem.CallAmbulanceActivity.java
gidy.medappnem.HomeMenu2Activity.java
gidy.medappnem.HomeMenu3Activity.java
gidy.medappnem.HomeMenu4Activity.java
gidy.medappnem.HomeMenu5Activity.java
gidy.medappnem.HomeMenu.java
gidy.medappnem.MedAppLogger.java
gidy.medappnem.activities.AllergicReactionActivity.java
gidy.medappnem.activities.AsthmaActivity.java
gidy.medappnem.activities.BleedingActivity.java
gidy.medappnem.activities.BrokenBoneActivity.java
gidy.medappnem.activities.BurnActivity.java
gidy.medappnem.activities.ChokeActivity.java
gidy.medappnem.activities.DiabeticActivity.java
gidy.medappnem.activities.DistressActivity.java
gidy.medappnem.activities.EpilepsyActivity.java
gidy.medappnem.activities.HeadInjuryActivity.java
gidy.medappnem.activities.HeartAttackActivity.java
gidy.medappnem.activities.HypothermiaActivity.java
gidy.medappnem.activities.MedicalIssueActivity.java
gidy.medappnem.activities.MeningitisActivity.java
gidy.medappnem.activities.PoisoningActivity.java
gidy.medappnem.activities.StrokeActivity.java
gidy.medappnem.activities.UnconsciousBreatingActivity.java
gidy.medappnem.activities.UnconsciousNotBreathingActivity.java
gidy.medappnem.videoActivities.AsthmaVideoActivity.java
gidy.medappnem.videoActivities.BleedingVideoActivity.java
gidy.medappnem.videoActivities.BrokenBoneVideoActivity.java
gidy.medappnem.videoActivities.BurnVideoActivity.java
gidy.medappnem.videoActivities.ChokeActivityVideo.java
gidy.medappnem.videoActivities.DiabeticVideoActivity.java
gidy.medappnem.videoActivities.DistressVideoActivity.java
gidy.medappnem.videoActivities.EpilepsyVideoActivity.java
gidy.medappnem.videoActivities.HeadInjuryVideoActivity.java
gidy.medappnem.videoActivities.HeartAttackVideoActivity.java
gidy.medappnem.videoActivities.PoisoningVideoActivity.java
gidy.medappnem.videoActivities.StrokeVideoActivity.java
gidy.medappnem.videoActivities.UnconsciousBreatingVideoActivity.java
gidy.medappnem.videoActivities.UnconsciousNotBreathingVideoActivity.java
gidy.medappnem.videoActivities.VideoActivity.java