Android Open Source - unicef_gis_mobile Unicef Gis Store






From Project

Back to project page unicef_gis_mobile.

License

The source code is released under:

MIT License

If you think the Android project unicef_gis_mobile 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 org.unicef.gis.infrastructure.data;
// w  w  w  . j a v  a 2s. c o m
import java.util.ArrayList;
import java.util.List;

import org.unicef.gis.infrastructure.RoutesResolver;
import org.unicef.gis.infrastructure.image.Camera;
import org.unicef.gis.model.Report;
import org.unicef.gis.model.Tag;
import org.unicef.gis.ui.report.ReportViewModel;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.preference.PreferenceManager;

public class UnicefGisStore {
  private final static String PREF_TAGS_FETCHED = "unicef_gis_store_pref_tags_fetched";
  private final static String PREF_TAGS = "unicef_gis_store_pref_tags";
  
  private final Context context;
  
  public UnicefGisStore(Context context) {
    this.context = context;    
  }

  public void saveAddress(String address) {
    writePref(RoutesResolver.PREF_SERVER_URL, address);
  }

  public boolean tagsHaveBeenFetched() {    
    return readPref(PREF_TAGS_FETCHED, Boolean.valueOf(false));
  }
  
  public void saveReport(ReportViewModel viewModel) {
    CouchDbLiteStoreAdapter adapter = new CouchDbLiteStoreAdapter(context);
    adapter.saveReport(context, 
        viewModel.description, 
        viewModel.location, 
        viewModel.getImageUri(), 
        viewModel.chosenTags, 
        viewModel.postToTwitter, 
        viewModel.postToFacebook);      
  }
  
  public void deleteReport(Report report) {
    //Delete images    
    String imageUri = report.getImageUri();
    
    Camera camera = new Camera(context);
    camera.deleteOriginalAndRotatedImage(imageUri);
    
    //Delete the report itself
    CouchDbLiteStoreAdapter adapter = new CouchDbLiteStoreAdapter(context);
    adapter.deleteReport(report);
  }  
  
  public List<Report> getReports() {
    CouchDbLiteStoreAdapter adapter = new CouchDbLiteStoreAdapter(context);
    return adapter.getReports();
  }
  
  public List<Report> getUploadedReports() {
    CouchDbLiteStoreAdapter adapter = new CouchDbLiteStoreAdapter(context);
    return adapter.getUploadedReports();
  }

  public void saveTags(List<Tag> tags) {
    StringBuffer sb = new StringBuffer();
    boolean first = true;
    
    if(tags == null) {
      tags = new ArrayList<Tag>(0);
    }
    
    for (Tag tag : tags) {
      if (!first) sb.append(",");       
      first = false;
      
      sb.append(tag.getValue());               
    }
    
    writePref(PREF_TAGS, sb.toString());    
    setTagsHaveBeenFetched(true);    
  }
  
  public List<Tag> retrieveTags() {
    String tagsString = readPref(PREF_TAGS, "");
    String[] tagsArray = tagsString.split(",");
    
    List<Tag> tags = new ArrayList<Tag>();    
    
    for (int i = 0; i < tagsArray.length; i++) {
      tags.add(new Tag(tagsArray[i]));
    }
    
    return tags;
  }  
  
  private void setTagsHaveBeenFetched(boolean value) {
    writePref(PREF_TAGS_FETCHED, Boolean.valueOf(value));
  }
  
  private SharedPreferences prefs() {
    final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
    return prefs;
  }
  
  private String readPref(String property, String def) {
    return prefs().getString(property, def);
  }
  
  private boolean readPref(String property, Boolean def) {    
    return prefs().getBoolean(property, def);
  }
  
  private void writePref(String key, Object value) {
    Editor prefsEditor = prefs().edit();
    
    if (value instanceof String)
      prefsEditor.putString(key, (String)value);
    else if (value instanceof Boolean)
      prefsEditor.putBoolean(key, (Boolean) value);

    prefsEditor.commit();
  }
}




Java Source Code List

com.couchbase.cblite.ektorp.CBLiteHttpClient.java
com.couchbase.cblite.ektorp.CBLiteHttpResponse.java
edu.mit.mobile.android.utils.StreamUtils.java
org.unicef.gis.auth.AuthenticatorService.java
org.unicef.gis.auth.Authenticator.java
org.unicef.gis.infrastructure.CompileTimeSettings.java
org.unicef.gis.infrastructure.ILocationServiceConsumer.java
org.unicef.gis.infrastructure.LocationService.java
org.unicef.gis.infrastructure.Network.java
org.unicef.gis.infrastructure.Notificator.java
org.unicef.gis.infrastructure.RoutesResolver.java
org.unicef.gis.infrastructure.ServerUrlPreferenceNotSetException.java
org.unicef.gis.infrastructure.UnicefGisApi.java
org.unicef.gis.infrastructure.data.CouchDbLiteStoreAdapter.java
org.unicef.gis.infrastructure.data.UnicefGisContentProvider.java
org.unicef.gis.infrastructure.data.UnicefGisStore.java
org.unicef.gis.infrastructure.image.AsyncDrawable.java
org.unicef.gis.infrastructure.image.BitmapWorkerTask.java
org.unicef.gis.infrastructure.image.Camera.java
org.unicef.gis.model.Report.java
org.unicef.gis.model.Tag.java
org.unicef.gis.model.couchdb.NullReduce.java
org.unicef.gis.model.couchdb.ReportLoader.java
org.unicef.gis.model.couchdb.views.AllReportsByTimestampDesc.java
org.unicef.gis.model.couchdb.views.PendingSyncReports.java
org.unicef.gis.model.couchdb.views.UnicefGisView.java
org.unicef.gis.model.couchdb.views.UploadedReports.java
org.unicef.gis.sync.SyncAdapter.java
org.unicef.gis.sync.SyncService.java
org.unicef.gis.ui.AlertDialogFragment.java
org.unicef.gis.ui.AuthenticatorActivity.java
org.unicef.gis.ui.ConfigureServerUrlActivity.java
org.unicef.gis.ui.DeleteUploadedReportsTask.java
org.unicef.gis.ui.FetchTagsActivity.java
org.unicef.gis.ui.FetchTagsTask.java
org.unicef.gis.ui.MyReportsActivity.java
org.unicef.gis.ui.SettingsActivity.java
org.unicef.gis.ui.SettingsFragment.java
org.unicef.gis.ui.report.ChooseTagsFragment.java
org.unicef.gis.ui.report.CreateReportActivityConstants.java
org.unicef.gis.ui.report.CreateReportActivity.java
org.unicef.gis.ui.report.GetTagsTaskFragment.java
org.unicef.gis.ui.report.GetTagsTask.java
org.unicef.gis.ui.report.IChooseTagsCallbacks.java
org.unicef.gis.ui.report.IGetTagsCallback.java
org.unicef.gis.ui.report.IGetTagsTaskFragmentCallbacks.java
org.unicef.gis.ui.report.IReportSummaryCallbacks.java
org.unicef.gis.ui.report.ReportRowAdapter.java
org.unicef.gis.ui.report.ReportSummaryFragment.java
org.unicef.gis.ui.report.ReportViewModel.java
org.unicef.gis.ui.report.ToggleTagAdapter.java