// Path: app/src/main/java/com/habitissimo/vespapp/Constants.java
// public class Constants {
//     public static final String PICTURES_LIST = "com.habitissimo.vespapp.PICTURES_LIST";
//     public static final String KEY_CAPTURE = "com.habitissimo.vespapp.CAPTURE";
//     public static final String API_BASE_URL = "http://vespapp.uib.es/api/";
// 
//     public static boolean isBaseApiUrlDefined() {
//         return !TextUtils.isEmpty(API_BASE_URL);
//     }
// }
// 
// 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.accounts.Account;
import android.accounts.AccountManager;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.util.Patterns;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.habitissimo.vespapp.Constants;
import com.habitissimo.vespapp.R;
import com.habitissimo.vespapp.database.Database;
import java.io.File;
import java.io.IOException;
import java.util.regex.Pattern;
import butterknife.ButterKnife;
import butterknife.OnClick;

    @OnClick(R.id.btn_avispa)
    void onWaspPressed() {
        onTypeOfSightPressed(Sighting.TYPE_WASP);
    }



    private void onTypeOfSightPressed(int type) {
        Sighting sighting = new Sighting();
        sighting.setType(type);
        Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+
        Account[] accounts = AccountManager.get(getApplicationContext()).getAccounts();
        for (Account account : accounts) {
            if (emailPattern.matcher(account.name).matches()) {
                String userEmail = account.name;
                sighting.setContact(userEmail);
            }
        }

       // sighting.set_valid(null);

        Intent i = new Intent(this, NewSightingLocationsActivity.class);
        i.putExtra("sightingObject", sighting);
        startActivity(i);
    }



    private PicturesActions getPicturesList() {
// Path: app/src/main/java/com/habitissimo/vespapp/Constants.java
// public class Constants {
//     public static final String PICTURES_LIST = "com.habitissimo.vespapp.PICTURES_LIST";
//     public static final String KEY_CAPTURE = "com.habitissimo.vespapp.CAPTURE";
//     public static final String API_BASE_URL = "http://vespapp.uib.es/api/";
// 
//     public static boolean isBaseApiUrlDefined() {
//         return !TextUtils.isEmpty(API_BASE_URL);
//     }
// }
// 
// 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/sighting/NewSightingDataActivity.java
import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.util.Patterns;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.habitissimo.vespapp.Constants;
import com.habitissimo.vespapp.R;
import com.habitissimo.vespapp.database.Database;
import java.io.File;
import java.io.IOException;
import java.util.regex.Pattern;
import butterknife.ButterKnife;
import butterknife.OnClick;


    @OnClick(R.id.btn_avispa)
    void onWaspPressed() {
        onTypeOfSightPressed(Sighting.TYPE_WASP);
    }



    private void onTypeOfSightPressed(int type) {
        Sighting sighting = new Sighting();
        sighting.setType(type);
        Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+
        Account[] accounts = AccountManager.get(getApplicationContext()).getAccounts();
        for (Account account : accounts) {
            if (emailPattern.matcher(account.name).matches()) {
                String userEmail = account.name;
                sighting.setContact(userEmail);
            }
        }

       // sighting.set_valid(null);

        Intent i = new Intent(this, NewSightingLocationsActivity.class);
        i.putExtra("sightingObject", sighting);
        startActivity(i);
    }



    private PicturesActions getPicturesList() {
        return Database.get(this).load(Constants.PICTURES_LIST, PicturesActions.class);