// Path: app/src/main/java/com/yunq/gankio/data/DataManager.java
// @Singleton
// public class DataManager {
//     private final OkHttpClient mClient;
// 
//     private final MeiziService mMeiziService;
// 
//     @Inject
//     public DataManager(OkHttpClient client) {
//         mClient = client;
//         mMeiziService = MeiziService.Creator.newGudongService(client);
//     }
// 
// 
//     public void cancelRequest() {
//        mClient.dispatcher().cancelAll();
//     }
// 
//     /**
//      * MainActivity中获取所有Girls
//      */
//     public Observable<List<Girl>> getGirls(int pageSize, int currentPage) {
//         return Observable.zip(mMeiziService.getPrettyGirlData(pageSize, currentPage),
//                 mMeiziService.get休息视频Data(pageSize, currentPage),
//                 new Func2<PrettyGirlData, 休息视频Data, PrettyGirlData>() {
//                     @Override
//                     public PrettyGirlData call(PrettyGirlData prettyGirlData, 休息视频Data 休息视频Data) {
//                         return DataUtils.createGirlInfoWith休息视频(prettyGirlData, 休息视频Data);
//                     }
//                 })
//                 .map(new Func1<PrettyGirlData, List<Girl>>() {
//                     @Override
//                     public List<Girl> call(PrettyGirlData girlData) {
//                         return girlData.results;
//                     }
//                 })
//                 .flatMap(new Func1<List<Girl>, Observable<Girl>>() {
//                     @Override
//                     public Observable<Girl> call(List<Girl> girls) {
//                         return Observable.from(girls);
//                     }
//                 })
//                 .toSortedList(new Func2<Girl, Girl, Integer>() {
//                     @Override
//                     public Integer call(Girl girl, Girl girl2) {
//                         return girl2.publishedAt.compareTo(girl.publishedAt);
//                     }
//                 });
//     }
// 
//     /**
//      * GankDetailActivity
//      */
//     public Observable<List<Gank>> getGankData(Date date) {
//         Calendar calendar = Calendar.getInstance();
//         calendar.setTime(date);
//         int year = calendar.get(Calendar.YEAR);
//         int month = calendar.get(Calendar.MONTH) + 1;
//         int day = calendar.get(Calendar.DAY_OF_MONTH);
// 
//         return mMeiziService.getGankData(year, month, day)
//                 .map(new Func1<GankData, GankData.Result>() {
//                     @Override
//                     public GankData.Result call(GankData gankData) {
//                         return gankData.results;
//                     }
//                 })
//                 .map(new Func1<GankData.Result, List<Gank>>() {
//                     @Override
//                     public List<Gank> call(GankData.Result result) {
//                         return DataUtils.addAllResults(result);
//                     }
//                 });
//     }
// 
// }
// 
// Path: app/src/main/java/com/yunq/gankio/presenter/view/IGirlFaceView.java
// public interface IGirlFaceView extends IBaseView {
// 
//     void saveSuccess(String message);
// 
//     void showFailInfo(String error);
// }
// 
// Path: app/src/main/java/com/yunq/gankio/util/TaskUtils.java
// public class TaskUtils {
// 
//     @SafeVarargs
//     public static <Params, Progress, Result> void executeAsyncTask(
//             AsyncTask<Params, Progress, Result> task, Params... params) {
//         if (Build.VERSION.SDK_INT >= 11) {
//             task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params);
//         } else {
//             task.execute(params);
//         }
// 
//     }
// }


import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Environment;
import android.provider.MediaStore;
import android.text.TextUtils;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;
import com.yunq.gankio.data.DataManager;
import com.yunq.gankio.R;
import com.yunq.gankio.presenter.view.IGirlFaceView;
import com.yunq.gankio.util.TaskUtils;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.inject.Inject;
import timber.log.Timber;
                    e.printStackTrace();
                } finally {
                    if (fos != null) {
                        try {
                            fos.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }


                //把文件插入到系统图库
                try {
                    MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }

                //通知图库更新
                Intent scannerIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file.getAbsolutePath()));
                context.sendBroadcast(scannerIntent);

                return true;
            }

            @Override
            protected void onPostExecute(Boolean result) {
                super.onPostExecute(result);
                String msg;
// Path: app/src/main/java/com/yunq/gankio/data/DataManager.java
// @Singleton
// public class DataManager {
//     private final OkHttpClient mClient;
// 
//     private final MeiziService mMeiziService;
// 
//     @Inject
//     public DataManager(OkHttpClient client) {
//         mClient = client;
//         mMeiziService = MeiziService.Creator.newGudongService(client);
//     }
// 
// 
//     public void cancelRequest() {
//        mClient.dispatcher().cancelAll();
//     }
// 
//     /**
//      * MainActivity中获取所有Girls
//      */
//     public Observable<List<Girl>> getGirls(int pageSize, int currentPage) {
//         return Observable.zip(mMeiziService.getPrettyGirlData(pageSize, currentPage),
//                 mMeiziService.get休息视频Data(pageSize, currentPage),
//                 new Func2<PrettyGirlData, 休息视频Data, PrettyGirlData>() {
//                     @Override
//                     public PrettyGirlData call(PrettyGirlData prettyGirlData, 休息视频Data 休息视频Data) {
//                         return DataUtils.createGirlInfoWith休息视频(prettyGirlData, 休息视频Data);
//                     }
//                 })
//                 .map(new Func1<PrettyGirlData, List<Girl>>() {
//                     @Override
//                     public List<Girl> call(PrettyGirlData girlData) {
//                         return girlData.results;
//                     }
//                 })
//                 .flatMap(new Func1<List<Girl>, Observable<Girl>>() {
//                     @Override
//                     public Observable<Girl> call(List<Girl> girls) {
//                         return Observable.from(girls);
//                     }
//                 })
//                 .toSortedList(new Func2<Girl, Girl, Integer>() {
//                     @Override
//                     public Integer call(Girl girl, Girl girl2) {
//                         return girl2.publishedAt.compareTo(girl.publishedAt);
//                     }
//                 });
//     }
// 
//     /**
//      * GankDetailActivity
//      */
//     public Observable<List<Gank>> getGankData(Date date) {
//         Calendar calendar = Calendar.getInstance();
//         calendar.setTime(date);
//         int year = calendar.get(Calendar.YEAR);
//         int month = calendar.get(Calendar.MONTH) + 1;
//         int day = calendar.get(Calendar.DAY_OF_MONTH);
// 
//         return mMeiziService.getGankData(year, month, day)
//                 .map(new Func1<GankData, GankData.Result>() {
//                     @Override
//                     public GankData.Result call(GankData gankData) {
//                         return gankData.results;
//                     }
//                 })
//                 .map(new Func1<GankData.Result, List<Gank>>() {
//                     @Override
//                     public List<Gank> call(GankData.Result result) {
//                         return DataUtils.addAllResults(result);
//                     }
//                 });
//     }
// 
// }
// 
// Path: app/src/main/java/com/yunq/gankio/presenter/view/IGirlFaceView.java
// public interface IGirlFaceView extends IBaseView {
// 
//     void saveSuccess(String message);
// 
//     void showFailInfo(String error);
// }
// 
// Path: app/src/main/java/com/yunq/gankio/util/TaskUtils.java
// public class TaskUtils {
// 
//     @SafeVarargs
//     public static <Params, Progress, Result> void executeAsyncTask(
//             AsyncTask<Params, Progress, Result> task, Params... params) {
//         if (Build.VERSION.SDK_INT >= 11) {
//             task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params);
//         } else {
//             task.execute(params);
//         }
// 
//     }
// }


// Path: app/src/main/java/com/yunq/gankio/presenter/GirlFacePresenter.java
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Environment;
import android.provider.MediaStore;
import android.text.TextUtils;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;
import com.yunq.gankio.data.DataManager;
import com.yunq.gankio.R;
import com.yunq.gankio.presenter.view.IGirlFaceView;
import com.yunq.gankio.util.TaskUtils;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.inject.Inject;
import timber.log.Timber;

                    e.printStackTrace();
                } finally {
                    if (fos != null) {
                        try {
                            fos.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }


                //把文件插入到系统图库
                try {
                    MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }

                //通知图库更新
                Intent scannerIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file.getAbsolutePath()));
                context.sendBroadcast(scannerIntent);

                return true;
            }

            @Override
            protected void onPostExecute(Boolean result) {
                super.onPostExecute(result);
                String msg;
                if (result) {