package com.example.administrator.searchpicturetool.user.download;
import android.app.WallpaperManager;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import com.example.administrator.searchpicturetool.model.db.SqlModel;
import com.example.administrator.searchpicturetool.model.bean.DownloadImg;
import com.example.administrator.searchpicturetool.widght.PinchImageViewPager;
import com.jude.beam.bijection.Presenter;
import com.jude.utils.JUtils;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
/**
* Created by wenhuaijun on 2015/11/13 0013.
*/
public class ShowDownloadlargeImgPresenter extends Presenter<ShowDownloadImgActivity> implements PinchImageViewPager.OnPageChangeListener{
int currentPosition=0;
ArrayList<DownloadImg> downloadImgs;
ShowDownloadLargeImgAdapter adapter;
@Override
protected void onCreateView(ShowDownloadImgActivity view) {
super.onCreateView(view);
currentPosition = getView().getIntent().getIntExtra("position",0);
downloadImgs = (ArrayList<DownloadImg>) getView().getIntent().getSerializableExtra("largeImgs");
adapter =new ShowDownloadLargeImgAdapter(downloadImgs,getView());
getView().getViewPager().setAdapter(adapter);
getView().getViewPager().setCurrentItem(currentPosition);
getView().getViewPager().setOnPageChangeListener(this);
getView().getPg_tv().setText((currentPosition + 1) + "/" + downloadImgs.size());
}
public void sharePicture(){
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
Uri uri = Uri.fromFile(new File(downloadImgs.get(currentPosition).getName()));
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
getView().startActivity(Intent.createChooser(shareIntent, "请选择"));
}
public void setWallWrapper(){
WallpaperManager wallpaperManager = WallpaperManager.getInstance(getView());
new Thread(new Runnable() {
@Override
public void run() {
try {
wallpaperManager.setBitmap(BitmapFactory.decodeFile((downloadImgs.get(currentPosition)).getName()));
getView().runOnUiThread(new Thread(new Runnable() {
@Override
public void run() {
JUtils.Toast("设置桌面壁纸成功");
}
}));
} catch (IOException e) {
e.printStackTrace();
JUtils.Toast("设置桌面壁纸失败");
}
}
}).start();
}
public void setLockWrapper(){
WallpaperManager mWallManager =WallpaperManager.getInstance(getView());
Class class1 =mWallManager.getClass();
Method setWallPaperMethod = null;
try {
setWallPaperMethod = class1.getMethod("setBitmapToLockWallpaper",Bitmap.class);
setWallPaperMethod.invoke(mWallManager, BitmapFactory.decodeFile((downloadImgs.get(currentPosition)).getName()));
JUtils.Toast("设置锁屏壁纸成功");
} catch (NoSuchMethodException e) {
JUtils.Toast("设置锁屏壁纸失败");
e.printStackTrace();
} catch (InvocationTargetException e) {
JUtils.Toast("设置锁屏壁纸失败");
e.printStackTrace();
} catch (IllegalAccessException e) {
JUtils.Toast("设置锁屏壁纸失败");
e.printStackTrace();
}
}
public void deletePicture(){
final File file = new File(downloadImgs.get(currentPosition).getName());
if(file.exists()){
new Thread(new Runnable() {
@Override
public void run() {
file.delete();
//发送广播,让相册更新图片
getView().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file.getPath())));
}
}).start();
}
SqlModel.deleteDownloadImgByname(getView(), downloadImgs.get(currentPosition).getName());
getView().setResult(100);
getView().finish();
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
getView().getPg_tv().setText((position + 1) + "/" + downloadImgs.size());
currentPosition=position;
}
@Override
public void onPageScrollStateChanged(int state) {
}
}