完成积分体系第2期

This commit is contained in:
lyr
2021-02-05 17:54:31 +08:00
parent 9e5ecf1520
commit 322d7117f8
93 changed files with 2776 additions and 425 deletions

View File

@ -29,7 +29,10 @@ import android.widget.TextView;
import com.gh.common.Base64ImageHolder;
import com.gh.common.constant.Config;
import com.gh.gamecenter.R;
import com.gh.gamecenter.WeiBoShareActivity;
import com.lightgame.utils.Utils;
import com.sina.weibo.sdk.WbSdk;
import com.sina.weibo.sdk.auth.AuthInfo;
import com.tencent.connect.auth.QQToken;
import com.tencent.connect.share.QQShare;
import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
@ -48,7 +51,8 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.ref.WeakReference;
import java.util.Date;
import java.util.List;
import static com.gh.common.util.LoginHelper.WEIBO_SCOPE;
/**
* Created by khy on 2016/11/8.
@ -211,49 +215,54 @@ public class MessageShareUtils {
}
public void shareFromWeb(Activity activity, String type) {
// base64转bitmap
byte[] decode = Base64.decode(Base64ImageHolder.INSTANCE.getImage(), Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(decode, 0, decode.length);
// 转完后重新置位
Base64ImageHolder.INSTANCE.setImage("");
this.picName = "shareImgPic.jpg";
this.mActivity = new WeakReference<>(activity);
this.shareBm = bitmap;
// 保存图片
File file = new File(activity.getExternalCacheDir().getPath() + "/ShareImg");
if (!file.isDirectory()) {
file.delete();
file.mkdirs();
}
if (!file.exists()) {
file.mkdirs();
}
writeBitmap(file.getPath(), picName, bitmap, false);
if ("weibo".equals(type)) {
weiboShare();
} else {
// base64转bitmap
byte[] decode = Base64.decode(Base64ImageHolder.INSTANCE.getImage(), Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(decode, 0, decode.length);
// 转完后重新置位
Base64ImageHolder.INSTANCE.setImage("");
this.picName = "shareImgPic.jpg";
this.shareBm = bitmap;
// 分享
switch (type) {
case "qq" :
qqSahre();
break;
case "qq_zone" :
qZoneSahre();
break;
case "wechat" :
wechatSahre();
break;
case "wechat_moments" :
wechatMomentsSahre();
case "save" :
String savePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/ghzhushou/";
writeBitmap(savePath, "gh-" + new Date().getTime() + ".jpg", shareBm, true);
break;
// 保存图片
File file = new File(activity.getExternalCacheDir().getPath() + "/ShareImg");
if (!file.isDirectory()) {
file.delete();
file.mkdirs();
}
if (!file.exists()) {
file.mkdirs();
}
writeBitmap(file.getPath(), picName, bitmap, false);
// 分享
switch (type) {
case "qq" :
qqShare();
break;
case "qq_zone" :
qZoneShare();
break;
case "wechat" :
wechatShare();
break;
case "wechat_moments" :
wechatMomentsShare();
break;
case "save" :
String savePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/ghzhushou/";
writeBitmap(savePath, "gh-" + new Date().getTime() + ".jpg", shareBm, true);
break;
}
}
}
//QQ分享
private void qqSahre() {
private void qqShare() {
Utils.toast(mContext, "分享跳转中...");
Bundle params = new Bundle();
params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE,
@ -273,7 +282,7 @@ public class MessageShareUtils {
}
//QQ空间分享
private void qZoneSahre() {
private void qZoneShare() {
Utils.toast(mContext, "分享跳转中...");
Bundle params = new Bundle();
params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE,
@ -293,7 +302,7 @@ public class MessageShareUtils {
}
//微信好友分享
private void wechatSahre() {
private void wechatShare() {
Utils.toast(mContext, "分享跳转中...");
if (!PackageHelper.INSTANCE.getLocalPackageNameSet().contains("com.tencent.mm")) {
@ -329,7 +338,7 @@ public class MessageShareUtils {
}
//微信朋友圈分享
private void wechatMomentsSahre() {
private void wechatMomentsShare() {
Utils.toast(mContext, "分享跳转中...");
if (!PackageHelper.INSTANCE.getLocalPackageNameSet().contains("com.tencent.mm")) {
@ -356,6 +365,20 @@ public class MessageShareUtils {
mPopupWindow.dismiss();
}
//新浪微博分享
public void weiboShare() {
WbSdk.install(mContext, new AuthInfo(mContext, Config.WEIBO_APPKEY, "http://www.sina.com", WEIBO_SCOPE));
Activity activity = mActivity.get();
if (activity != null) {
Intent intent = WeiBoShareActivity.getWeiboImageShareIntent(activity);
activity.startActivity(intent);
}
if (mPopupWindow == null) return;
mPopupWindow.dismiss();
}
private String buildTransaction(final String type) {
return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();
}
@ -478,22 +501,22 @@ public class MessageShareUtils {
holder.itemView.setOnClickListener(v -> {
switch (holder.getPosition()) {
case 0:
wechatSahre();
wechatShare();
if (shareType != 2) {
// activity.finish();
}
break;
case 1:
wechatMomentsSahre();
wechatMomentsShare();
if (shareType != 2) {
// activity.finish();
}
break;
case 2:
qqSahre();
qqShare();
break;
case 3:
qZoneSahre();
qZoneShare();
break;
case 4:
String savePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/ghzhushou/";