|
package com.electric.chargingpile.view;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.os.Parcelable;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager.widget.ViewPager.OnPageChangeListener;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
import com.blankj.utilcode.util.EmptyUtils;
import com.blankj.utilcode.util.LogUtils;
import com.electric.chargingpile.R;
import com.electric.chargingpile.activity.CreditActivity;
import com.electric.chargingpile.activity.LoginActivity;
import com.electric.chargingpile.activity.MainMapActivity;
import com.electric.chargingpile.activity.MyWebViewActivity;
import com.electric.chargingpile.application.MainApplication;
import com.electric.chargingpile.data.Adin;
import com.electric.chargingpile.data.ChargingShareBean;
import com.electric.chargingpile.util.DES3;
import com.electric.chargingpile.util.JsonUtils;
import com.electric.chargingpile.util.Util;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
import com.squareup.picasso.Picasso;
import com.umeng.analytics.MobclickAgent;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.wechat.friends.Wechat;
import cn.sharesdk.wechat.moments.WechatMoments;
import okhttp3.Call;
public class SlideAdView extends FrameLayout {
private static final String TAG = "SlideAdView";
private ImageLoader imageLoader = ImageLoader.getInstance();
private final static int IMAGE_COUNT = 5;
private final static int TIME_INTERVAL = 5;
private final static boolean isAutoPlay = false;
private String[] imageUrls;
private String imageUrl;
private String imageT;
Adin adin;
private List<ImageView> imageViewsList;
private List<View> dotViewsList;
private List<Adin> mlistAdin;
private ViewPager viewPager;
private int currentItem = 0;
private ScheduledExecutorService scheduledExecutorService;
private Context context;
private static String tag = "ResolvePicture";
private String click_url;
public String getClick_url() {
return click_url;
}
public void setClick_url(String click_url) {
this.click_url = click_url;
}
//Handler
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
viewPager.setCurrentItem(currentItem);
}
};
public SlideAdView(Context context) {
this(context, null);
// TODO Auto-generated constructor stub
}
public SlideAdView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
// TODO Auto-generated constructor stub
}
public SlideAdView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
this.context = context;
}
private void startPlay() {
scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
scheduledExecutorService.scheduleAtFixedRate(new SlideShowTask(), 2, 3, TimeUnit.SECONDS);
}
private void stopPlay() {
scheduledExecutorService.shutdown();
}
public void initData(List<Adin> listAdin) {
initImageLoader(context);
mlistAdin = listAdin;
imageViewsList = new ArrayList<ImageView>();
dotViewsList = new ArrayList<View>();
new GetListTask().execute("");
if (isAutoPlay) {
startPlay();
}
}
private void initUI(final Context context) {
if (imageUrls == null || imageUrls.length == 0)
return;
LayoutInflater.from(context).inflate(R.layout.layout_slideshow, this, true);
LinearLayout dotLayout = (LinearLayout) findViewById(R.id.dotLayout);
dotLayout.removeAllViews();
for (int i = 0; i < imageUrls.length; i++) {
ImageView view = new ImageView(context);
view.setTag(imageUrls[i]);
view.setScaleType(ScaleType.FIT_XY);
final int finalI = i;
final int finalI1 = i;
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Log.i("@@@@@@@@@@@", "view--see1see");
ImageView imageView = new ImageView(context);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.leftMargin = 8;
params.rightMargin = 8;
imageBrower(finalI, imageUrls);
}
});
imageViewsList.add(view);
ImageView dotView = new ImageView(context);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.leftMargin = 8;
params.rightMargin = 8;
dotLayout.addView(dotView, params);
dotViewsList.add(dotView);
Log.e("qwe", dotViewsList.size() + "");
}
if (dotViewsList.size() > 1) {
if (dotViewsList.size() == 2) {
((View) dotViewsList.get(0)).setBackgroundResource(R.drawable.dot_focus);
((View) dotViewsList.get(1)).setBackgroundResource(R.drawable.dot_blur);
} else if (dotViewsList.size() == 3) {
((View) dotViewsList.get(0)).setBackgroundResource(R.drawable.dot_focus);
((View) dotViewsList.get(1)).setBackgroundResource(R.drawable.dot_blur);
((View) dotViewsList.get(2)).setBackgroundResource(R.drawable.dot_blur);
} else if (dotViewsList.size() == 4) {
((View) dotViewsList.get(0)).setBackgroundResource(R.drawable.dot_focus);
((View) dotViewsList.get(1)).setBackgroundResource(R.drawable.dot_blur);
((View) dotViewsList.get(2)).setBackgroundResource(R.drawable.dot_blur);
((View) dotViewsList.get(3)).setBackgroundResource(R.drawable.dot_blur);
}
}
viewPager = (ViewPager) findViewById(R.id.viewPager);
viewPager.setFocusable(true);
viewPager.setAdapter(new MyPagerAdapter());
viewPager.setOnPageChangeListener(new MyPageChangeListener());
}
private void imageBrower(int position, String[] urls) {
Adin mAdin = mlistAdin.get(position);
Log.e("position===", position + "");
System.out.print("44:" + mAdin.getUrl());
if (mAdin.getIs_dui() == 0) {
String s = mAdin.getUrl();
if (EmptyUtils.isNotEmpty(s)) {
Intent intent = new Intent(context, MyWebViewActivity.class);
String url;
if (s.contains("?")) {
url = mAdin.getUrl() + "&cdzshareid=" + mAdin.getId();
} else {
url = mAdin.getUrl() + "?cdzshareid=" + mAdin.getId();
}
String advertiser = mAdin.getAdvertiser();
if (advertiser != null && advertiser.equals("1")) {
intent.putExtra("advertiser", advertiser);
uploadDmp(click_url);
}
intent.putExtra("url", url);
Log.e(TAG, "imageBrower: url=" + url);
context.startActivity(intent);
}
// if (web23 != null && !web23.equals("")) {
//// intent_text,intent_icon,intent_title,intent_url;
// Intent intent145 = new Intent(context,H5Activity.class);
// intent145.putExtra("url", web23);
// intent145.putExtra("tag", "8");
// intent145.putExtra("intent_text", mAdin.getContent());
// intent145.putExtra("intent_icon", mAdin.getIcon());
// intent145.putExtra("intent_title", mAdin.getTitle());
// intent145.putExtra("intent_url", mAdin.getUrl());
// context.startActivity(intent145);
// }
// Intent intent = new Intent(context, AdinShowActivity.class);
//// // 图片url,为了演示这里使用常量,一般从数据库中或网络中获取
// intent.putExtra("shareContent", mAdin.getContent());
// intent.putExtra("shareTitle", mAdin.getTitle());
// intent.putExtra("shareUrl", mAdin.getUrl());
//// Log.e("sav_url===", mAdin.getUrl());
// intent.putExtra("shareIcon", mAdin.getIcon());
//// context.startActivity(intent);
//// Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.mi.com/"));
//// Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(mAdin.getUrl()));
// context.startActivity(intent);
MobclickAgent.onEvent(context, "0001");
// Toast.makeText(getContext(),mAdin.getIs_dui()+"",Toast.LENGTH_SHORT).show();
} else if (mAdin.getIs_dui() == 1) {
// Toast.makeText(getContext(),mAdin.getIs_dui()+"",Toast.LENGTH_SHORT).show();
long appTime11 = System.currentTimeMillis() / 1000;
// Log.e("sav_url===", mAdin.getUrl());
// Log.i("appTime(long)---", appTime11 + "");
long updatetime1 = appTime11 - MainMapActivity.cha - 5;
// Log.i("updatetime(long)---", updatetime1 + "");
// Log.i("cha---", MainMapActivity.cha + "");
String token1 = String.valueOf(updatetime1);
String encode_token = null;
try {
encode_token = DES3.encode(token1);
} catch (Exception e) {
e.printStackTrace();
}
String replace = URLEncoder.encode(encode_token);
// startActivity(new Intent(getApplication(), ShopActivity.class));
Intent intent11 = new Intent();
intent11.setClass(context, CreditActivity.class);
intent11.putExtra("navColor", "#fcfcfc"); //配置导航条的背景颜色,请用#ffffff长格式。
intent11.putExtra("titleColor", "#222222"); //配置导航条标题的颜色,请用#ffffff长格式。
MainApplication.goods_type = "details";
MainApplication.current_url = mAdin.getUrl();
if (!MainApplication.isLogin()) {
intent11.putExtra("url", "http://cdz.evcharge.cc/zhannew/basic/web/index.php/duiba/active?token=" + replace + "&url=" + MainApplication.current_url); //配置自动登陆地址,每次需服务端动态生成。
} else {
intent11.putExtra("url", "http://cdz.evcharge.cc/zhannew/basic/web/index.php/duiba/active?user_id=" + MainApplication.userId + "&token=" + replace + "&url=" + MainApplication.current_url); //配置自动登陆地址,每次需服务端动态生成。
}
context.startActivity(intent11);
CreditActivity.creditsListener = new CreditActivity.CreditsListener() {
/**
* 当点击分享按钮被点击
* @param shareUrl 分享的地址
* @param shareThumbnail 分享的缩略图
* @param shareTitle 分享的标题
* @param shareSubtitle 分享的副标题
*/
public void onShareClick(WebView webView, String shareUrl, String shareThumbnail, String shareTitle, String shareSubtitle) {
//当分享按钮被点击时,会调用此处代码。在这里处理分享的业务逻辑。
ChargingShareBean chargingShareBean = new ChargingShareBean();
chargingShareBean.setIcon(shareThumbnail);
chargingShareBean.setTitle(shareTitle);
chargingShareBean.setUrl(shareUrl);
chargingShareBean.setText(shareSubtitle);
showSimpleBottomSheetGrid(chargingShareBean);
}
/**
* 当点击“请先登录”按钮唤起登录时,会调用此处代码。
* 用户登录后,需要将CreditsActivity.IS_WAKEUP_LOGIN变量设置为true。
* @param webView 用于登录成功后返回到当前的webview刷新登录状态。
* @param currentUrl 当前页面的url
*/
public void onLoginClick(WebView webView, final String currentUrl) {
//当未登录的用户点击去登录时,会调用此处代码。
//用户登录后,需要将CreditsActivity.IS_WAKEUP_LOGIN变量设置为true。
//为了用户登录后能回到未登录前的页面(currentUrl)。
//当用户登录成功后,需要重新请求一次服务端,带上currentUrl。
//用该方法中的webview变量加载请求链接。
//服务端收到请求后在生成免登录url时,将currentUrl放入redirect参数,通知客户端302跳转到新生成的免登录URL。
new android.app.AlertDialog.Builder(webView.getContext())
.setTitle("跳转登录")
.setMessage("跳转到登录页面?")
.setPositiveButton("是", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MainApplication.current_url = currentUrl;
context.startActivity(new Intent(getContext(), LoginActivity.class));
}
})
.setNegativeButton("否", null)
.show();
}
/**
* 当点击“复制”按钮时,触发该方法,回调获取到券码code
* @param webView webview对象。
* @param code 复制的券码
*/
public void onCopyCode(WebView webView, String code) {
//当未登录的用户点击去登录时,会调用此处代码。
new android.app.AlertDialog.Builder(webView.getContext())
.setTitle("复制券码")
.setMessage("已复制,券码为:" + code)
.setPositiveButton("是", null)
.setNegativeButton("否", null)
.show();
}
/**
* 积分商城返回首页刷新积分时,触发该方法。
*/
public void onLocalRefresh(WebView mWebView, String credits) {
//String credits为积分商城返回的最新积分,不保证准确。
//触发更新本地积分,这里建议用ajax向自己服务器请求积分值,比较准确。
// Toast.makeText(getContext(), "触发本地刷新积分:"+credits,Toast.LENGTH_SHORT).show();
}
};
}
//// String url1 = url; // web address
// Intent intent = new Intent(Intent.ACTION_VIEW,uri);
//// intent.setData(uri);
// context.startActivity(intent);
//
// MobclickAgent.onEvent(context,"0002");
if (position == 0) {
MobclickAgent.onEvent(context, "0115");
} else if (position == 1) {
MobclickAgent.onEvent(context, "0116");
} else if (position == 2) {
MobclickAgent.onEvent(context, "0117");
}
}
/**
* ???ViewPager???????????
*/
private class MyPagerAdapter extends PagerAdapter {
@Override
public void destroyItem(View container, int position, Object object) {
// TODO Auto-generated method stub
//((ViewPag.er)container).removeView((View)object);
((ViewPager) container).removeView(imageViewsList.get(position));
}
@Override
public Object instantiateItem(View container, int position) {
ImageView imageView = imageViewsList.get(position);
Adin mAdin = mlistAdin.get(position);
// imageLoader.displayImage(imageView.getTag() + "", imageView);
Picasso.with(context).load(MainApplication.url + "/zhannew/uploadfile/" + mAdin.getImg()).into(imageView);
// Glide.with(MainApplication.context)
// .load(MainApplication.url+"/zhannew/uploadfile/"+mAdin.getImg())
// .into(imageView);
// PicassoUtil.loadingNetImage(getContext(),
// imageViewsList.get(position)+ "", imageView);
((ViewPager) container).addView(imageViewsList.get(position));
// context.startActivity(new Intent(context.getApplicationContext(),ImageShowActivity.class));
// imageView.setImageDrawable(resizeImage2("/storage/emulated/0/alterandroidapp.jpg",200,100));
return imageViewsList.get(position);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return imageViewsList.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == arg1;
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
// TODO Auto-generated method stub
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(View arg0) {
// TODO Auto-generated method stub
}
@Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub
}
}
/**
* ViewPager???????
* ??ViewPager????????????????????
*/
private class MyPageChangeListener implements OnPageChangeListener {
boolean isAutoPlay = false;
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
switch (arg0) {
case 1:// ???????????????
isAutoPlay = false;
break;
case 2:// ?????л???
isAutoPlay = true;
break;
case 0:// ?????????????л?????????????
// ??????????????????????????л????????
if (viewPager.getCurrentItem() == viewPager.getAdapter().getCount() - 1 && !isAutoPlay) {
viewPager.setCurrentItem(0);
}
// ???????????????????????????л?????????
else if (viewPager.getCurrentItem() == 0 && !isAutoPlay) {
viewPager.setCurrentItem(viewPager.getAdapter().getCount() - 1);
}
break;
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int pos) {
// TODO Auto-generated method stub
currentItem = pos;
for (int i = 0; i < dotViewsList.size(); i++) {
if (i == pos) {
((View) dotViewsList.get(pos)).setBackgroundResource(R.drawable.dot_focus);
} else {
((View) dotViewsList.get(i)).setBackgroundResource(R.drawable.dot_blur);
}
}
}
}
/**
* ????????л?????
*/
private class SlideShowTask implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
synchronized (viewPager) {
currentItem = (currentItem + 1) % imageViewsList.size();
handler.obtainMessage().sendToTarget();
}
}
}
/**
* ????ImageView????????????
*/
private void destoryBitmaps() {
for (int i = 0; i < IMAGE_COUNT; i++) {
ImageView imageView = imageViewsList.get(i);
Drawable drawable = imageView.getDrawable();
if (drawable != null) {
//???drawable??view??????
drawable.setCallback(null);
}
}
}
/**
* ??????,???????
*/
class GetListTask extends AsyncTask<String, Integer, Boolean> {
@Override
protected Boolean doInBackground(String... params) {
try {
// 这里一般调用服务端接口获取一组轮播图片,下面是从百度找的几个图片
// 这里就是你获取的那个图片;就是你zhan.getPic();你获取的也是一个图片数组
//imageUrls = new String[]{
// "http://image.zcool.com.cn/56/35/1303967876491.jpg",
// "http://image.zcool.com.cn/59/54/m_1303967870670.jpg",
// "http://image.zcool.com.cn/47/19/1280115949992.jpg"
//};
// String pic="http://123.56.88.79/zhan/uploadfile/2015/0629/20150629110624418.jpg|http://123.56.88.79/zhan/uploadfile/2015/0629/20150629110624243.jpg|http://123.56.88.79/zhan/uploadfile/2015/0629/20150629110625492.png";
// if(imageUrls.equals("")||imageUrls == null){
//
// }
// Log.e("imageUrls!",imageUrls);
// for (int i = 0; i < mlistAdin.size(); i++) {
// List<Adin> listAdin= JsonUtils.parseToObjectList(adin, Adin.class);
// for (int i = 0; i < listAdin.size(); i++) {
//
// imageUrls[i]=listAdin.get(i).getUrl();
// System.out.println(listAdin.get(i).getUrl());
//
// }
for (int i = 0; i < mlistAdin.size(); i++) {
imageUrls = new String[mlistAdin.size()];
imageUrls[i] = "http://cdz.d1ev.com/zhannew/uploadfile/" + mlistAdin.get(i).getImg();
System.out.println(imageUrls[i]);
// Log.d("qqqq",imageUrls[i]);
// Log.d("1111",imageUrls.length+"");
}
// imageUrls.add("http://cdz.d1ev.com/zhantest/uploadfile/"+listAdin.get(i).getUrl());
//System.out.println(listAdin.get(i).getContent());
// }
// imageUrls =params[0].split("\\|");
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
@Override
protected void onPostExecute(Boolean result) {
super.onPostExecute(result);
if (result) {
initUI(context);
}
}
}
/**
* ImageLoader ??????????
*
* @param context
*/
public static void initImageLoader(Context context) {
// This configuration tuning is custom. You can tune every option, you
// may tune some of them,
// or you can create default configuration by
// ImageLoaderConfiguration.createDefault(this);
// method.
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context).threadPriority(Thread.NORM_PRIORITY - 2).denyCacheImageMultipleSizesInMemory().discCacheFileNameGenerator(new Md5FileNameGenerator()).tasksProcessingOrder(QueueProcessingType.LIFO).writeDebugLogs() // Remove
// for
// release
// app
.build();
// Initialize ImageLoader with configuration.
ImageLoader.getInstance().init(config);
// PicassoUtil.loadingNetImage(context,);
}
//使用BitmapFactory.Options的inSampleSize参数来缩放
public static Drawable resizeImage2(String path,
int width, int height) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;//不加载bitmap到内存中
BitmapFactory.decodeFile(path, options);
int outWidth = options.outWidth;
int outHeight = options.outHeight;
options.inDither = false;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
options.inSampleSize = 1;
if (outWidth != 0 && outHeight != 0 && width != 0 && height != 0) {
int sampleSize = (outWidth / width + outHeight / height) / 2;
Log.d(tag, "sampleSize = " + sampleSize);
options.inSampleSize = sampleSize;
}
options.inJustDecodeBounds = false;
return new BitmapDrawable(BitmapFactory.decodeFile(path, options));
}
public static Drawable resizeImage(Bitmap bitmap, int w, int h) {
Bitmap BitmapOrg = bitmap;
int width = BitmapOrg.getWidth();
int height = BitmapOrg.getHeight();
int newWidth = w;
int newHeight = h;
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
// if you want to rotate the Bitmap
// matrix.postRotate(45);
Bitmap resizedBitmap = Bitmap.createBitmap(BitmapOrg, 0, 0, width,
height, matrix, true);
return new BitmapDrawable(resizedBitmap);
}
public Bitmap getBitMapFromUrl(String url) {
Bitmap bitmap = null;
URL u = null;
HttpURLConnection conn = null;
InputStream is = null;
try {
u = new URL(url);
conn = (HttpURLConnection) u.openConnection();
is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (is != null) {
is.close();
}
} catch (IOException e) {
e.printStackTrace();
}
conn.disconnect();
}
return bitmap;
}
private void getShareIntegral() {
String url = MainApplication.url + "/zhannew/basic/web/index.php/member/insert-task?userid=" + MainApplication.userId;
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
}
@Override
public void onResponse(String response) {
String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
if ("01".equals(rtnCode)) {
// ToastUtil.showToast(context,"分享成功",Toast.LENGTH_SHORT);
}
}
});
}
private void showSimpleBottomSheetGrid(final ChargingShareBean chargingShareBean) {
final int TAG_SHARE_WECHAT_FRIEND = 0;
final int TAG_SHARE_WECHAT_MOMENT = 1;
final int TAG_SHARE_QQ = 2;
QMUIBottomSheet.BottomGridSheetBuilder builder = new QMUIBottomSheet.BottomGridSheetBuilder(context);
QMUIBottomSheet build = builder.addItem(R.drawable.icon_share_wechat, "微信", TAG_SHARE_WECHAT_FRIEND, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
.addItem(R.drawable.icon_share_wechatquan, "朋友圈", TAG_SHARE_WECHAT_MOMENT, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
.addItem(R.drawable.icon_share_qq, "QQ", TAG_SHARE_QQ, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
.setOnSheetItemClickListener(new QMUIBottomSheet.BottomGridSheetBuilder.OnSheetItemClickListener() {
@Override
public void onClick(QMUIBottomSheet dialog, View itemView) {
dialog.dismiss();
int tag = (int) itemView.getTag();
switch (tag) {
case TAG_SHARE_WECHAT_FRIEND:
share(Wechat.NAME, chargingShareBean);
break;
case TAG_SHARE_WECHAT_MOMENT:
share(WechatMoments.NAME, chargingShareBean);
break;
case TAG_SHARE_QQ:
share(QQ.NAME, chargingShareBean);
break;
}
}
}).build();
// build.
build.show();
}
private void share(final String name, ChargingShareBean chargingShareBean) {
Platform.ShareParams paramsToShare = new Platform.ShareParams();
paramsToShare.setText(chargingShareBean.getText());
paramsToShare.setTitle(chargingShareBean.getTitle());
paramsToShare.setTitleUrl(chargingShareBean.getUrl());
paramsToShare.setUrl(chargingShareBean.getUrl());
paramsToShare.setImageUrl(chargingShareBean.getIcon());
paramsToShare.setShareType(Platform.SHARE_WEBPAGE);
Platform platform = ShareSDK.getPlatform(name);
platform.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
if (MainApplication.isLogin()) {
getShareIntegral();
}
// ToastUtil.showToast(getApplicationContext(),"分享成功",Toast.LENGTH_SHORT);
}
@Override
public void onError(Platform platform, int i, Throwable throwable) {
LogUtils.e(throwable.getMessage());
}
@Override
public void onCancel(Platform platform, int i) {
}
});
platform.share(paramsToShare);
}
private void uploadDmp(String url) {
url = Util.generateDmpUrl(url);
OkHttpUtils.get().url(url).build().connTimeOut(3000).readTimeOut(3000)
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
e.printStackTrace();
}
@Override
public void onResponse(String response) {
}
});
}
}
|