// Path: app/src/main/java/com/chernandezgil/farmacias/MyApplication.java
// public class MyApplication extends Application{
// 
//     private MainComponent mMapComponent;
//     private static Context context;
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         LeakCanary.install(this);
// 
//           this.context=getApplicationContext();
// //          mMapComponent= DaggerMainComponent.builder()
// //                    .mainModule(new MainModule())
// //                    .applicationModule(new ApplicationModule(this))
// //                    .build();
// 
// 
//     }
//     public static Context getContext(){
//         return context;
//     }
// //    public MainComponent getComponent(){
// //        return mMapComponent;
// //    }
// }
// 
// Path: app/src/main/java/com/chernandezgil/farmacias/model/ColorMap.java
// public class ColorMap {
// 
// 
//     private HashMap<String, Integer> colorHashMap;
//     int[] colors;
// 
// 
//     public ColorMap() {
//         colorHashMap = new HashMap<>();
//         loadColorsArray();
//     }
//     private void loadColorsArray() {
// 
//         colors = MyApplication.getContext().getResources().getIntArray(R.array.colors);
//     }
//     public void generate() {
// 
//         for (int i = 0; i < 26; i++) {
//             colorHashMap.put(Utils.characterFromInteger(i), colors[i]);
// 
//         }
// 
//     }
// 
//     public int getColorForString(String letter) {
//         return colorHashMap.get(letter);
//     }
// 
// 
// 
//     private int generateRandomColor() {
//         int red = ((int) (Math.random() * 255));
//         int green = ((int) (Math.random() * 255));
//         int blue = ((int) (Math.random() * 255));
//         return Color.rgb(red, green, blue);
//     }
// 
//     public HashMap<String, Integer> getColorHashMap() {
//         return colorHashMap;
//     }
// 
//     public void setColorHashMap(HashMap<String, Integer> colorHashMap) {
//         this.colorHashMap = colorHashMap;
//     }
// }
// 
// Path: app/src/main/java/com/chernandezgil/farmacias/services/DownloadFarmacias.java
// public class DownloadFarmacias extends IntentService {
//     private static String LOG_TAG=DownloadFarmacias.class.getSimpleName();
//     public DownloadFarmacias(String name) {
//         super(name);
//     }
//     public DownloadFarmacias(){
//         super(LOG_TAG);
//     }
//     @Override
//     protected void onHandleIntent(Intent intent) {
//         List<FarmaciasCsvBean> listFarmacias= CsvReader.readWithCsvBeanReader();
//         Vector<ContentValues> vector=new Vector<>();
//         if(listFarmacias!=null) {
//             getContentResolver().delete(DbContract.FarmaciasEntity.CONTENT_URI,null,null);
//         } else {
//             return;
//         }
//         for(int i = 0; i<listFarmacias.size();i++) {
//             FarmaciasCsvBean farmaciasCsvBean=listFarmacias.get(i);
//             ContentValues contentValues=new ContentValues();
//             contentValues.put(DbContract.FarmaciasEntity.NAME,farmaciasCsvBean.getName());
//             contentValues.put(DbContract.FarmaciasEntity.HOURS,farmaciasCsvBean.getHorario());
//             contentValues.put(DbContract.FarmaciasEntity.ADDRESS,farmaciasCsvBean.getAddress());
//             contentValues.put(DbContract.FarmaciasEntity.LOCALITY,farmaciasCsvBean.getLocality());
//             contentValues.put(DbContract.FarmaciasEntity.PROVINCE,farmaciasCsvBean.getProvince());
//             contentValues.put(DbContract.FarmaciasEntity.POSTAL_CODE,farmaciasCsvBean.getPostal_code());
//             contentValues.put(DbContract.FarmaciasEntity.PHONE,farmaciasCsvBean.getPhone());
//             contentValues.put(DbContract.FarmaciasEntity.LAT,farmaciasCsvBean.getLat());
//             contentValues.put(DbContract.FarmaciasEntity.LON,farmaciasCsvBean.getLon());
//             vector.add(contentValues);
// 
// 
//         }
//         ContentValues[] contentValues=new ContentValues[vector.size()];
//         vector.toArray(contentValues);
//         Uri uri= DbContract.FarmaciasEntity.CONTENT_URI;
//         int inserted=getContentResolver().bulkInsert(uri,contentValues);
//         Utils.logD(LOG_TAG,String.format("successfully inserted %d registers in farmacias",inserted));
//     }
// }
// 
// Path: app/src/main/java/com/chernandezgil/farmacias/ui/adapter/PreferencesManager.java
// public interface PreferencesManager {
// 
//     SharedPreferences getSharedPreferences();
//     String getLocationKey();
//     int retrieveRadioBusquedaFromSp();
//     boolean isFirstExecution();
//     void setFirstExecutionFalse();
//     int getCurrentItemTabLayout();
//     void setCurrentItemTabLayout(int currentItemTabLayout);
//     void saveLocation(Location location);
//     Location getLocation();
//     int getRadio();
//     void saveFavoriteList(List<Pharmacy> list);
//     List<Pharmacy> getFavorites();
//     void saveColorMap(HashMap<String,Integer> colorMap);
//     HashMap<String,Integer> getColorMap();
//     void saveStreet(String street);
//     String getStreet();
// 
// }


import android.content.Context;
import android.content.Intent;
import com.chernandezgil.farmacias.MyApplication;
import com.chernandezgil.farmacias.model.ColorMap;
import com.chernandezgil.farmacias.services.DownloadFarmacias;
import com.chernandezgil.farmacias.ui.adapter.PreferencesManager;
package com.chernandezgil.farmacias.data.source;



/**
 * Created by Carlos on 12/08/2016.
 */
public class MainActivityInteractor {
    private PreferencesManager mPreferencesManager;
    private Context mContext;

    public MainActivityInteractor(PreferencesManager preferencesManager) {
        mPreferencesManager=preferencesManager;
        mContext= MyApplication.getContext();
    }

    public void loadData(){
        if(mPreferencesManager.isFirstExecution()) {
            launchDownloadService();
// Path: app/src/main/java/com/chernandezgil/farmacias/MyApplication.java
// public class MyApplication extends Application{
// 
//     private MainComponent mMapComponent;
//     private static Context context;
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         LeakCanary.install(this);
// 
//           this.context=getApplicationContext();
// //          mMapComponent= DaggerMainComponent.builder()
// //                    .mainModule(new MainModule())
// //                    .applicationModule(new ApplicationModule(this))
// //                    .build();
// 
// 
//     }
//     public static Context getContext(){
//         return context;
//     }
// //    public MainComponent getComponent(){
// //        return mMapComponent;
// //    }
// }
// 
// Path: app/src/main/java/com/chernandezgil/farmacias/model/ColorMap.java
// public class ColorMap {
// 
// 
//     private HashMap<String, Integer> colorHashMap;
//     int[] colors;
// 
// 
//     public ColorMap() {
//         colorHashMap = new HashMap<>();
//         loadColorsArray();
//     }
//     private void loadColorsArray() {
// 
//         colors = MyApplication.getContext().getResources().getIntArray(R.array.colors);
//     }
//     public void generate() {
// 
//         for (int i = 0; i < 26; i++) {
//             colorHashMap.put(Utils.characterFromInteger(i), colors[i]);
// 
//         }
// 
//     }
// 
//     public int getColorForString(String letter) {
//         return colorHashMap.get(letter);
//     }
// 
// 
// 
//     private int generateRandomColor() {
//         int red = ((int) (Math.random() * 255));
//         int green = ((int) (Math.random() * 255));
//         int blue = ((int) (Math.random() * 255));
//         return Color.rgb(red, green, blue);
//     }
// 
//     public HashMap<String, Integer> getColorHashMap() {
//         return colorHashMap;
//     }
// 
//     public void setColorHashMap(HashMap<String, Integer> colorHashMap) {
//         this.colorHashMap = colorHashMap;
//     }
// }
// 
// Path: app/src/main/java/com/chernandezgil/farmacias/services/DownloadFarmacias.java
// public class DownloadFarmacias extends IntentService {
//     private static String LOG_TAG=DownloadFarmacias.class.getSimpleName();
//     public DownloadFarmacias(String name) {
//         super(name);
//     }
//     public DownloadFarmacias(){
//         super(LOG_TAG);
//     }
//     @Override
//     protected void onHandleIntent(Intent intent) {
//         List<FarmaciasCsvBean> listFarmacias= CsvReader.readWithCsvBeanReader();
//         Vector<ContentValues> vector=new Vector<>();
//         if(listFarmacias!=null) {
//             getContentResolver().delete(DbContract.FarmaciasEntity.CONTENT_URI,null,null);
//         } else {
//             return;
//         }
//         for(int i = 0; i<listFarmacias.size();i++) {
//             FarmaciasCsvBean farmaciasCsvBean=listFarmacias.get(i);
//             ContentValues contentValues=new ContentValues();
//             contentValues.put(DbContract.FarmaciasEntity.NAME,farmaciasCsvBean.getName());
//             contentValues.put(DbContract.FarmaciasEntity.HOURS,farmaciasCsvBean.getHorario());
//             contentValues.put(DbContract.FarmaciasEntity.ADDRESS,farmaciasCsvBean.getAddress());
//             contentValues.put(DbContract.FarmaciasEntity.LOCALITY,farmaciasCsvBean.getLocality());
//             contentValues.put(DbContract.FarmaciasEntity.PROVINCE,farmaciasCsvBean.getProvince());
//             contentValues.put(DbContract.FarmaciasEntity.POSTAL_CODE,farmaciasCsvBean.getPostal_code());
//             contentValues.put(DbContract.FarmaciasEntity.PHONE,farmaciasCsvBean.getPhone());
//             contentValues.put(DbContract.FarmaciasEntity.LAT,farmaciasCsvBean.getLat());
//             contentValues.put(DbContract.FarmaciasEntity.LON,farmaciasCsvBean.getLon());
//             vector.add(contentValues);
// 
// 
//         }
//         ContentValues[] contentValues=new ContentValues[vector.size()];
//         vector.toArray(contentValues);
//         Uri uri= DbContract.FarmaciasEntity.CONTENT_URI;
//         int inserted=getContentResolver().bulkInsert(uri,contentValues);
//         Utils.logD(LOG_TAG,String.format("successfully inserted %d registers in farmacias",inserted));
//     }
// }
// 
// Path: app/src/main/java/com/chernandezgil/farmacias/ui/adapter/PreferencesManager.java
// public interface PreferencesManager {
// 
//     SharedPreferences getSharedPreferences();
//     String getLocationKey();
//     int retrieveRadioBusquedaFromSp();
//     boolean isFirstExecution();
//     void setFirstExecutionFalse();
//     int getCurrentItemTabLayout();
//     void setCurrentItemTabLayout(int currentItemTabLayout);
//     void saveLocation(Location location);
//     Location getLocation();
//     int getRadio();
//     void saveFavoriteList(List<Pharmacy> list);
//     List<Pharmacy> getFavorites();
//     void saveColorMap(HashMap<String,Integer> colorMap);
//     HashMap<String,Integer> getColorMap();
//     void saveStreet(String street);
//     String getStreet();
// 
// }


// Path: app/src/main/java/com/chernandezgil/farmacias/data/source/MainActivityInteractor.java
import android.content.Context;
import android.content.Intent;
import com.chernandezgil.farmacias.MyApplication;
import com.chernandezgil.farmacias.model.ColorMap;
import com.chernandezgil.farmacias.services.DownloadFarmacias;
import com.chernandezgil.farmacias.ui.adapter.PreferencesManager;

package com.chernandezgil.farmacias.data.source;



/**
 * Created by Carlos on 12/08/2016.
 */
public class MainActivityInteractor {
    private PreferencesManager mPreferencesManager;
    private Context mContext;

    public MainActivityInteractor(PreferencesManager preferencesManager) {
        mPreferencesManager=preferencesManager;
        mContext= MyApplication.getContext();
    }

    public void loadData(){
        if(mPreferencesManager.isFirstExecution()) {
            launchDownloadService();
            ColorMap colorMap = new ColorMap();