// Path: app/src/main/java/com/habitissimo/vespapp/api/VespappApi.java
// public interface VespappApi {
// 
//     @GET("sightings/{sightingId}/questions/")
//     Call<List<Question>> getQuestions(@Path("sightingId") String sightingId);
// 
//     @GET("sightings/{sightingId}/photos/")
//     Call <List<Picture>> getPhotos(@Path("sightingId") String sightingId);
// 
//     @GET("locations/")
//     Call<List<Location>> getLocations();
// 
//     @GET("sightings/")
//     Call<List<Sighting>> getSightings();
// 
//     @GET("info/")
//     Call<List<Info>> getInfo();
// 
//     @POST("sightings/")
//     Call<Sighting> createSighting(@Body Sighting sighting);
// 
//     @PUT("sightings/{sightingId}/")
//     Call<Sighting> updateSighting(@Body Sighting sighting, @Path("sightingId") String sightingId);
// 
//     /**
//      * @see VespappApiHelper#buildPhotoApiParameter(File)
//      */
//     @Multipart
//     @POST("sightings/{sightingId}/photos/")
//     Call<Void> addPhoto(@Path("sightingId") String sightingId, @Part("file\"; filename=\"photo.png\" ") RequestBody photo);
// }
// 
// Path: app/src/main/java/com/habitissimo/vespapp/database/Database.java
// public class Database {
//     private SharedPreferences preferences;
//     private Gson gson;
// 
//     public Database(Context context, Gson gson) {
//         this.gson = gson;
//         preferences = context.getSharedPreferences("database", Context.MODE_PRIVATE);
//     }
// 
//     public static Database get(Context context) {
//         return Vespapp.get(context).getDatabase();
//     }
// 
//     public static Database get(Controller controller) {
//         return get(controller.getContext());
//     }
// 
//     private SharedPreferences getPrefs() {
//         return preferences;
//     }
// 
//     public void save(String key, Object obj) {
//         save(key, gson.toJson(obj));
//     }
// 
//     public void save(String key, String value) {
//         getStringPref(key).set(value);
//     }
// 
//     public void save(String key, int value) {
//         getIntPref(key).set(value);
//     }
// 
//     public void delete(String key) {
//         getStringPref(key).delete();
//     }
// 
//     public String load(String key) {
//         return getStringPref(key).get();
//     }
// 
//     public <T> T load(String key, Class<T> cls) {
//         return gson.fromJson(load(key), cls);
//     }
// 
//     public int loadInt(String key) {
//         return getIntPref(key).get();
//     }
// 
//     public void saveInt(String key, int value) {
//         getIntPref(key).set(value);
//     }
// 
//     @NonNull private StringPreference getStringPref(String key) {
//         return new StringPreference(getPrefs(), key);
//     }
// 
//     @NonNull private IntPreference getIntPref(String key) {
//         return new IntPreference(getPrefs(), key);
//     }
// }


import android.app.Application;
import android.content.Context;
import android.net.Uri;
import android.os.Handler;
import android.os.StrictMode;
import android.util.Log;
import com.google.gson.Gson;
import com.habitissimo.vespapp.api.VespappApi;
import com.habitissimo.vespapp.database.Database;
import com.joanzapata.iconify.Iconify;
import com.joanzapata.iconify.fonts.FontAwesomeModule;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Picasso.Listener;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
import retrofit2.Retrofit.Builder;
import retrofit2.converter.gson.GsonConverterFactory;
package com.habitissimo.vespapp;




public class Vespapp extends Application {
    private static final boolean FORCE_MOCK = false;
    private Database database;
// Path: app/src/main/java/com/habitissimo/vespapp/api/VespappApi.java
// public interface VespappApi {
// 
//     @GET("sightings/{sightingId}/questions/")
//     Call<List<Question>> getQuestions(@Path("sightingId") String sightingId);
// 
//     @GET("sightings/{sightingId}/photos/")
//     Call <List<Picture>> getPhotos(@Path("sightingId") String sightingId);
// 
//     @GET("locations/")
//     Call<List<Location>> getLocations();
// 
//     @GET("sightings/")
//     Call<List<Sighting>> getSightings();
// 
//     @GET("info/")
//     Call<List<Info>> getInfo();
// 
//     @POST("sightings/")
//     Call<Sighting> createSighting(@Body Sighting sighting);
// 
//     @PUT("sightings/{sightingId}/")
//     Call<Sighting> updateSighting(@Body Sighting sighting, @Path("sightingId") String sightingId);
// 
//     /**
//      * @see VespappApiHelper#buildPhotoApiParameter(File)
//      */
//     @Multipart
//     @POST("sightings/{sightingId}/photos/")
//     Call<Void> addPhoto(@Path("sightingId") String sightingId, @Part("file\"; filename=\"photo.png\" ") RequestBody photo);
// }
// 
// Path: app/src/main/java/com/habitissimo/vespapp/database/Database.java
// public class Database {
//     private SharedPreferences preferences;
//     private Gson gson;
// 
//     public Database(Context context, Gson gson) {
//         this.gson = gson;
//         preferences = context.getSharedPreferences("database", Context.MODE_PRIVATE);
//     }
// 
//     public static Database get(Context context) {
//         return Vespapp.get(context).getDatabase();
//     }
// 
//     public static Database get(Controller controller) {
//         return get(controller.getContext());
//     }
// 
//     private SharedPreferences getPrefs() {
//         return preferences;
//     }
// 
//     public void save(String key, Object obj) {
//         save(key, gson.toJson(obj));
//     }
// 
//     public void save(String key, String value) {
//         getStringPref(key).set(value);
//     }
// 
//     public void save(String key, int value) {
//         getIntPref(key).set(value);
//     }
// 
//     public void delete(String key) {
//         getStringPref(key).delete();
//     }
// 
//     public String load(String key) {
//         return getStringPref(key).get();
//     }
// 
//     public <T> T load(String key, Class<T> cls) {
//         return gson.fromJson(load(key), cls);
//     }
// 
//     public int loadInt(String key) {
//         return getIntPref(key).get();
//     }
// 
//     public void saveInt(String key, int value) {
//         getIntPref(key).set(value);
//     }
// 
//     @NonNull private StringPreference getStringPref(String key) {
//         return new StringPreference(getPrefs(), key);
//     }
// 
//     @NonNull private IntPreference getIntPref(String key) {
//         return new IntPreference(getPrefs(), key);
//     }
// }


// Path: app/src/main/java/com/habitissimo/vespapp/Vespapp.java
import android.app.Application;
import android.content.Context;
import android.net.Uri;
import android.os.Handler;
import android.os.StrictMode;
import android.util.Log;
import com.google.gson.Gson;
import com.habitissimo.vespapp.api.VespappApi;
import com.habitissimo.vespapp.database.Database;
import com.joanzapata.iconify.Iconify;
import com.joanzapata.iconify.fonts.FontAwesomeModule;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Picasso.Listener;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
import retrofit2.Retrofit.Builder;
import retrofit2.converter.gson.GsonConverterFactory;

package com.habitissimo.vespapp;




public class Vespapp extends Application {
    private static final boolean FORCE_MOCK = false;
    private Database database;
    private VespappApi api;