Commit 1a11d91d by mReturn

活动红包

parent 9000494d
Showing with 528 additions and 85 deletions
......@@ -81,6 +81,15 @@
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="launch"
android:host="com.dayu.bigfish"/>
</intent-filter>
</activity>
<!-- 友盟统计 -->
......
......@@ -16,6 +16,7 @@ import com.dayu.bigfish.ui.service.LocationService;
import com.dayu.bigfish.utils.HxManager;
import com.dayu.common.BaseApplication;
import com.dayu.common.Constants;
import com.dayu.event.AppReturnFrontEvent;
import com.dayu.livemodule.LiveUtils;
import com.dayu.location.base.LocationUtils;
import com.dayu.order.greendao.GreenDaoManager;
......@@ -46,6 +47,7 @@ import org.android.agoo.huawei.HuaWeiRegister;
import org.android.agoo.oppo.OppoRegister;
import org.android.agoo.vivo.VivoRegister;
import org.android.agoo.xiaomi.MiPushRegistar;
import org.greenrobot.eventbus.EventBus;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
......@@ -204,6 +206,7 @@ public class MyApplication extends BaseApplication {
@Override
public void runFrontGround() {
startLocationService();
EventBus.getDefault().post(new AppReturnFrontEvent());
}
private void startLocationService() {
......
package com.dayu.bigfish.presenter.main;
import com.dayu.base.api.protocol.RedPacketBean;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.bigfish.api.protocol.VersionInfo;
import com.dayu.common.BaseView;
import java.util.List;
/**
* Created by luo on 2016/8/4.
*/
......@@ -38,6 +41,8 @@ public interface MainContract {
* 隐藏邀请码框
*/
void hideInvateCodeView();
void showRedPackets(List<RedPacketBean> datas);
}
abstract class Presenter extends BasePresenter<View> {
......
......@@ -56,6 +56,14 @@ public class MainPresenter extends MainContract.Presenter {
getReceiveOrder(Constants.WATING_ORDER, mAccountId, mSiteId, 1, 20);
// getHxNum(mUser.getHxAccount());
getUserInfo(Integer.parseInt(mUser.getAccountId()));
getRedPacketData();
}
public void getRedPacketData() {
Api.getService(com.dayu.base.api.APIService.class).getRedPacketList(mAccountId).compose(Api.applySchedulers())
.subscribe(baseObserver((datas->{
mView.showRedPackets(datas);
})));
}
private void getServiceData() {
......
......@@ -23,6 +23,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.bigfish.salecenter.ui.fragment.HomeSaleFragment;
import com.dayu.base.api.Api;
import com.dayu.base.api.DownloadService;
import com.dayu.base.api.protocol.RedPacketBean;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.bigfish.BuildConfig;
import com.dayu.bigfish.MyApplication;
......@@ -68,11 +69,11 @@ import com.dayu.widgets.listener.onDownloadListener;
import com.umeng.analytics.MobclickAgent;
import com.umeng.socialize.UMShareAPI;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.io.File;
import java.util.List;
import cn.jzvd.Jzvd;
import cn.jzvd.JzvdStd;
......@@ -126,9 +127,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
initListener();
doAction(getIntent());
startLocationService();
EventBus.getDefault().register(this);
setUmengDeviceToken();
// showRedPackDialog();
}
//设置友盟devicetoken
......@@ -409,6 +408,11 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
UserManager.getInstance().saveUser(mUserInfo);
}
@Override
public void showRedPackets(List<RedPacketBean> datas) {
showRedPackDialog(datas);
}
/**
* 处理intent传来的信息.
*
......@@ -438,6 +442,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
@Override
public void onResume() {
super.onResume();
// mPresenter.getRedPacketData();
BadgeNumberManager.from(mActivity).setBadgeNumber(0);
MobclickAgent.onResume(this);
}
......@@ -452,7 +457,6 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
@Override
protected void onDestroy() {
LocationUtils.destroy();
EventBus.getDefault().unregister(this);
TimeUtils.onDestory();
super.onDestroy();
}
......
......@@ -24,7 +24,6 @@ import com.dayu.utils.SPUtils;
import com.dayu.utils.UserManager;
import com.dayu.widgets.BadgeView;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
......@@ -61,7 +60,6 @@ public class ManagerActivity extends BaseActivity<ManagerPresenter, ActivityMana
showHideFragment(1, 0);
});
doAction(getIntent());
EventBus.getDefault().register(this);
}
private void addFragment() {
......
package com.dayu.base.api;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.api.protocol.AddressInfoBean;
import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.base.api.protocol.BankInfoBean;
import com.dayu.base.api.protocol.OpenRedPacketBean;
import com.dayu.base.api.protocol.RedPacketBean;
import com.dayu.base.api.protocol.TreeAddressBean;
import com.dayu.common.Constants;
......@@ -12,6 +15,7 @@ import java.util.List;
import io.reactivex.Observable;
import okhttp3.MultipartBody;
import okhttp3.ResponseBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
......@@ -50,11 +54,12 @@ public interface APIService {
@POST(Constants.UP_PHOTO)
Observable<BaseResponse<List<String>>> uploadPhoto(
@Part MultipartBody.Part part);
/**
* 上传图片单张.
*
* @param part
* @param style nowatermark 无水印
* @param style nowatermark 无水印
* @return
*/
@Multipart
......@@ -86,10 +91,11 @@ public interface APIService {
/**
* 地址(省市区)信息
*
* @param parednId -1.查询省份数据
* @return
*/
@GET(Constants.API_7300+"/geography/tree/{parentId}")
@GET(Constants.API_7300 + "/geography/tree/{parentId}")
Observable<BaseResponse<List<TreeAddressBean>>> getTreeAddress(@Path("parentId") int parednId);
/**
......@@ -108,4 +114,28 @@ public interface APIService {
*/
@GET(Constants.API_7800 + "/payAccountBank/accountId/{accountId}/sourceType/1")
Observable<BaseResponse<BankInfoBean>> getUserBankInfo(@Path("accountId") int accountId);
/**
* 获取红包列表
*
* @return
*/
@GET(Constants.API_7900 + "/activityPrize/raffleList/{accountId}")
Observable<BaseResponse<List<RedPacketBean>>> getRedPacketList(@Path("accountId") int accountId);
/**
* 打开红包
*
* @return
*/
@GET(Constants.API_7900 + "/activityPrize/raffleResult/{activityPrizeId}")
Observable<BaseResponse<OpenRedPacketBean>> openRedPacket(@Path("activityPrizeId") int activityPrizeId);
/**
* 添加分享记录
*
* @return
*/
@POST(Constants.API_7900 + "/shareRecord")
Observable<BaseResponse<Boolean>> addShareRecord(@Body AddShareRecordData data);
}
package com.dayu.base.api.protocol;
public class AddShareRecordData {
public int operatorId;
public String operatorName;
public String operatorInfo;
public int sourceId;
public int sourceType;
public AddShareRecordData() {
}
public AddShareRecordData(int operatorId, String operatorName, String operatorInfo, int sourceId, int sourceType) {
this.operatorId = operatorId;
this.operatorName = operatorName;
this.operatorInfo = operatorInfo;
this.sourceId = sourceId;
this.sourceType = sourceType;
}
}
package com.dayu.base.api.protocol;
public class OpenRedPacketBean {
/**
* bonusPrice : 0
* prizeUrl : string
* status : 0
*/
private double bonusPrice;
private String prizeUrl;
private int status;
public double getBonusPrice() {
return bonusPrice;
}
public void setBonusPrice(double bonusPrice) {
this.bonusPrice = bonusPrice;
}
public String getPrizeUrl() {
return prizeUrl;
}
public void setPrizeUrl(String prizeUrl) {
this.prizeUrl = prizeUrl;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
}
package com.dayu.base.api.protocol;
public class RedPacketBean {
/**
* id : 2
* accountId : 1441
* activityType : 1
* activityId : 2
* prizeStatus : 1
* createTime : 2020-07-07 11:54:16
* shotTime : null
* activityTitle : 路哥牛B
*/
private int id;
private int accountId;
private int activityType;
private int activityId;
private int prizeStatus;
private String createTime;
private String shotTime;
private String activityTitle;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAccountId() {
return accountId;
}
public void setAccountId(int accountId) {
this.accountId = accountId;
}
public int getActivityType() {
return activityType;
}
public void setActivityType(int activityType) {
this.activityType = activityType;
}
public int getActivityId() {
return activityId;
}
public void setActivityId(int activityId) {
this.activityId = activityId;
}
public int getPrizeStatus() {
return prizeStatus;
}
public void setPrizeStatus(int prizeStatus) {
this.prizeStatus = prizeStatus;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getShotTime() {
return shotTime;
}
public void setShotTime(String shotTime) {
this.shotTime = shotTime;
}
public String getActivityTitle() {
return activityTitle;
}
public void setActivityTitle(String activityTitle) {
this.activityTitle = activityTitle;
}
}
......@@ -8,14 +8,20 @@ import android.support.v4.app.NotificationCompat;
import android.text.TextUtils;
import com.alibaba.android.arouter.launcher.ARouter;
import com.cjt2325.cameralibrary.util.LogUtil;
import com.dayu.base.api.APIService;
import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.api.protocol.BankInfoBean;
import com.dayu.base.api.protocol.OpenRedPacketBean;
import com.dayu.base.api.protocol.RedPacketBean;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.baselibrary.R;
import com.dayu.common.BaseConstant;
import com.dayu.common.BaseView;
import com.dayu.common.Constants;
import com.dayu.event.AppReturnFrontEvent;
import com.dayu.event.GetRedPacketDataEvent;
import com.dayu.event.UserInfo;
import com.dayu.utils.AppManager;
import com.dayu.utils.ProgressUtil;
......@@ -26,7 +32,11 @@ import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.RedPacketsDialog;
import com.hyphenate.chat.EMClient;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.lang.reflect.ParameterizedType;
import java.util.List;
/**
......@@ -62,10 +72,16 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
*/
public abstract void setPresenter();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EventBus.getDefault().register(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
if (mPresenter != null) {
mPresenter.onDetached();
}
......@@ -146,34 +162,46 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
return getIntent().getBundleExtra(Constants.BUNDLE);
}
public void showRedPackDialog() {
RedPacketsDialog redPacketsDialog = RedPacketsDialog.getInstance();
redPacketsDialog.show(this, new RedPacketsDialog.onItemClickListener() {
@Override
public void onOpenClick() {
openRedPacket(redPacketsDialog);
}
@Override
public void toBankEdit() {
public void showRedPackDialog(List<RedPacketBean> list) {
if (list != null && list.size() > 0) {
RedPacketsDialog redPacketsDialog = RedPacketsDialog.getInstance();
redPacketsDialog.show(this, list, new RedPacketsDialog.onItemClickListener() {
@Override
public void onOpenClick(int actyId) {
openRedPacket(redPacketsDialog, actyId);
}
});
}
}
});
}
@Override
public void onResume() {
super.onResume();
}
@SuppressWarnings("unchecked")
protected void openRedPacket(RedPacketsDialog redPacketsDialog) {
protected void openRedPacket(RedPacketsDialog redPacketsDialog, int actyId) {
showDialog();
Api.getService(APIService.class).getUserBankInfo(mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
BankInfoBean bankInfoBean = (BankInfoBean) data;
if (data == null || TextUtils.isEmpty(((BankInfoBean) data).getBankAccount())) {
redPacketsDialog.openSuccess(false, 6.66);
Api.getService(APIService.class).openRedPacket(actyId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(openData -> {
OpenRedPacketBean openBean = (OpenRedPacketBean) openData;
if (openBean != null) {
Api.getService(APIService.class).getUserBankInfo(mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
BankInfoBean bankInfoBean = (BankInfoBean) data;
if (data == null || TextUtils.isEmpty(((BankInfoBean) data).getBankAccount())) {
redPacketsDialog.openSuccess(false, openBean);
} else {
redPacketsDialog.openSuccess(true, openBean);
}
}, responeThrowable -> redPacketsDialog.openSuccess(false, openBean)));
} else {
redPacketsDialog.openSuccess(true, 6.66);
showToast("打开失败");
}
}, responeThrowable -> redPacketsDialog.openSuccess(false, 6.66)));
}));
}
/**
......@@ -206,4 +234,37 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
mUserId = Integer.parseInt(info.getAccountId());
mUserInfo = info;
}
@Subscribe
public void onAppFront(AppReturnFrontEvent event) {
getRedPacketsData();
}
@Subscribe
public void getRedPacketEvent(GetRedPacketDataEvent event) {
getRedPacketsData();
}
@SuppressWarnings("unchecked")
protected void getRedPacketsData() {
LogUtil.e("app_front " + this.getLocalClassName() + " " + AppManager.getInstance().currentActivity().getLocalClassName());
if (!this.getLocalClassName().equals(AppManager.getInstance().currentActivity().getLocalClassName()))
return;
initUser();
Api.getService(com.dayu.base.api.APIService.class).getRedPacketList(mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver((datas -> {
List<RedPacketBean> redPacketBeanList = (List<RedPacketBean>) datas;
if (redPacketBeanList != null && redPacketBeanList.size() > 0)
showRedPackDialog(redPacketBeanList);
})));
}
@SuppressWarnings("unchecked")
protected void addShareRecord(AddShareRecordData data) {
Api.getService(APIService.class).addShareRecord(data).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver((datas -> {
})));
}
}
......@@ -5,6 +5,9 @@ import android.databinding.ViewDataBinding;
import android.os.Bundle;
import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.base.api.APIService;
import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.baselibrary.R;
import com.dayu.common.BaseConstant;
......@@ -159,4 +162,10 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
mUserId = Integer.parseInt(info.getAccountId());
mUserInfo = info;
}
@SuppressWarnings("unchecked")
protected void addShareRecord(AddShareRecordData data) {
Api.getService(APIService.class).addShareRecord(data).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver((datas -> {})));
}
}
package com.dayu.event;
public class AppReturnFrontEvent {
}
package com.dayu.event;
public class GetRedPacketDataEvent {
}
......@@ -297,6 +297,24 @@ public class CommonUtils {
}
/**
* 分享链接(包含标题内容)
*/
public static void shareUrl(Activity activity, String url, String imgUrl, String title,
String description,SHARE_MEDIA platform, UMShareListener callBack) {
UMWeb web = new UMWeb(url);
web.setTitle(title);
if (TextUtils.isEmpty(imgUrl)) {
web.setThumb(new UMImage(activity, Constants.AppLogoUrl));
} else {
web.setThumb(new UMImage(activity, imgUrl));
}
web.setDescription(description);
new ShareAction(activity).withMedia(web)
.setPlatform(platform)
.setCallback(callBack).share();
}
/**
* 分享图片
*/
public static void shareImg(Activity activity, File bitmap, SHARE_MEDIA platform, UMShareListener callBack) {
......
......@@ -2,29 +2,46 @@ package com.dayu.widgets;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.media.MediaPlayer;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.LinearInterpolator;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.badoo.mobile.util.WeakHandler;
import com.dayu.base.api.protocol.OpenRedPacketBean;
import com.dayu.base.api.protocol.RedPacketBean;
import com.dayu.baselibrary.R;
import com.dayu.common.Constants;
import com.dayu.utils.GlideImageLoader;
import java.util.List;
public class RedPacketsDialog {
TextView tvName;
TextView tvMoney;
ImageView ivIcon;
ImageView ivOpen;
ImageView ivClose;
Dialog mDialog;
Button btnOperate;
boolean hasBankIfno;
private TextView tvName;
private TextView tvMoney;
private ImageView ivIcon;
private ImageView ivOpen;
private ImageView ivClose;
private Dialog mDialog;
private Button btnOperate;
private boolean hasBankIfno;
private Context context;
private List<RedPacketBean>redPacketList;
private int index;
WeakHandler weakHandler = new WeakHandler();
boolean isShowing;
Animation rotateAnimation;
public static RedPacketsDialog instance;
......@@ -38,7 +55,11 @@ public class RedPacketsDialog {
}
public void show(final Activity activity, onItemClickListener listener) {
public void show(final Activity activity, List<RedPacketBean>redPacketList, onItemClickListener listener) {
if (isShowing || redPacketList.size()<=index)
return;
this.redPacketList = redPacketList;
context = activity;
View mView = View.inflate(activity, R.layout.dialog_red_packets, null);
tvName = mView.findViewById(R.id.tv_name);
tvMoney = mView.findViewById(R.id.tv_money);
......@@ -47,7 +68,9 @@ public class RedPacketsDialog {
ivClose = mView.findViewById(R.id.iv_close);
btnOperate = mView.findViewById(R.id.btn_operate);
tvMoney.setVisibility(View.GONE);
if (redPacketList.size()>index)
tvMoney.setText(redPacketList.get(index).getActivityTitle());
ivOpen.setVisibility(View.VISIBLE);
btnOperate.setVisibility(View.GONE);
......@@ -60,13 +83,26 @@ public class RedPacketsDialog {
wl.gravity = Gravity.CENTER;
mDialog.onWindowAttributesChanged(wl);
mDialog.show();
isShowing = true;
mDialog.setCanceledOnTouchOutside(false);
mDialog.setCancelable(true);
mDialog.setCancelable(false);
ivClose.setOnClickListener(view -> mDialog.dismiss());
rotateAnimation = AnimationUtils.loadAnimation(activity, R.anim.rotate_anim);
LinearInterpolator lin = new LinearInterpolator();
rotateAnimation.setInterpolator(lin);
ivClose.setOnClickListener(view ->{
mDialog.dismiss();
isShowing = false;
if (ivOpen.getVisibility() == View.GONE)
weakHandler.postDelayed(() -> {
show(activity,redPacketList,listener);
},500);
} );
ivOpen.setOnClickListener(view -> {
if (listener != null)
listener.onOpenClick();
if (listener != null && redPacketList.size()>index)
listener.onOpenClick(redPacketList.get(index).getId());
// ivOpen.startAnimation(rotateAnimation);
});
btnOperate.setOnClickListener(view -> {
......@@ -76,25 +112,37 @@ public class RedPacketsDialog {
ARouter.getInstance().build(Constants.PATH_EDIT_BANK).navigation();
}
mDialog.dismiss();
isShowing = false;
if (ivOpen.getVisibility() == View.GONE)
weakHandler.postDelayed(() -> {
show(activity,redPacketList,listener);
},500);
});
}
public void openSuccess(boolean hasBankIfno, double money) {
public void openSuccess(boolean hasBankIfno, OpenRedPacketBean data) {
if (tvMoney != null) {
ivOpen.clearAnimation();
if (context != null){
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.red_packets);
mediaPlayer.setVolume(0.05f, 0.05f);
mediaPlayer.start();
}
this.hasBankIfno = hasBankIfno;
tvMoney.setText("中奖金额" + money + "元");
tvMoney.setText("中奖金额" + data.getBonusPrice() + "元");
GlideImageLoader.load(context,ivIcon,data.getPrizeUrl(),R.drawable.icon_app_logo);
tvMoney.setVisibility(View.VISIBLE);
ivOpen.setVisibility(View.GONE);
btnOperate.setVisibility(View.VISIBLE);
btnOperate.setText(hasBankIfno?"去查看":"去提现");
index+=1;
}
}
public interface onItemClickListener {
void onOpenClick();
void toBankEdit();
void onOpenClick(int actyId);
}
}
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="359"
android:pivotX="50%"
android:pivotY="50%"
android:duration="500"
android:repeatCount="10000">
</rotate>
</rotate>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="4dp"/>
<solid android:color="#d8b983"/>
</shape>
\ No newline at end of file
......@@ -28,7 +28,7 @@
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="#d8b983"
android:text="大鱼官方"
android:text="大鱼U服"
android:layout_marginTop="10dp"
/>
<TextView
......@@ -40,13 +40,12 @@
android:layout_marginTop="10dp"
/>
<TextView
android:visibility="gone"
android:id="@+id/tv_money"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="21sp"
android:textColor="#d8b983"
android:text="中奖金额100.00元"
android:text=""
android:layout_marginTop="10dp"
/>
<View
......@@ -76,7 +75,8 @@
<Button
android:visibility="gone"
android:id="@+id/btn_operate"
style="@style/btn_common_blue"
style="@style/btn_common"
android:background="@drawable/red_packet_react"
android:width="120dp"
android:text="去提现"
android:height="40dp"
......
......@@ -35,6 +35,8 @@ public class LearnAdapter extends CoreAdapter<CommonLearnBean, ItemCommonLearnBi
holder.tvLike.setText(item.getPoints() + "");
holder.tvDate.setText("发布时间 " + CommonUtils.getYearData(item.getCreateTime()));
holder.ibShare.setOnClickListener(view -> mPresenter.shareVideo(item));
holder.ivLike.setOnClickListener(view -> mPresenter.likeVideo(item));
holder.tvLike.setOnClickListener(view -> mPresenter.likeVideo(item));
if (type == 2) {
holder.tvProgress.setVisibility(View.VISIBLE);
holder.tvProgress.setText(mContext.getString(R.string.learn_progress) + item.getProgressPercentage() + "%");
......
......@@ -7,6 +7,7 @@ import com.dayu.learncenter.api.bean.CommonLearnBean;
public interface CommonLearnContract {
interface View extends BaseView {
void shareVideo(CommonLearnBean item);
void likeVideo(CommonLearnBean item);
}
abstract class Presenter extends BaseListPresenter<View> {
......
......@@ -12,18 +12,12 @@ import com.dayu.learncenter.api.LearnService;
import com.dayu.learncenter.api.bean.CommonLearnBean;
import com.dayu.learncenter.api.data.StudyCourseData;
import com.dayu.learncenter.event.RefreshLeanTabEvent;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
import org.greenrobot.eventbus.EventBus;
import org.json.JSONObject;
import java.util.HashMap;
import cn.jzvd.JzvdStd;
import io.reactivex.Observable;
import okhttp3.MediaType;
import okhttp3.RequestBody;
public class CommonLearnPresenter extends CommonLearnContract.Presenter {
......@@ -103,4 +97,7 @@ public class CommonLearnPresenter extends CommonLearnContract.Presenter {
public void shareVideo(CommonLearnBean item) {
mView.shareVideo(item);
}
public void likeVideo(CommonLearnBean item) {
mView.likeVideo(item);
}
}
......@@ -4,6 +4,7 @@ import android.text.TextUtils;
import com.dayu.base.api.Api;
import com.dayu.base.api.BaseApiFactory;
import com.dayu.event.GetRedPacketDataEvent;
import com.dayu.event.UserInfo;
import com.dayu.learncenter.R;
import com.dayu.learncenter.api.LearnService;
......@@ -106,6 +107,7 @@ public class PubCoursePresenter extends PubCourseContract.Presenter {
ToastUtils.showShortToast(R.string.pub_course_success);
mView.dumpBack();
EventBus.getDefault().post(new CoursePubEvent());
EventBus.getDefault().post(new GetRedPacketDataEvent());
} else {
ToastUtils.showShortToast(R.string.pub_course_fail);
}
......
......@@ -8,6 +8,7 @@ import android.view.View;
import com.badoo.mobile.util.WeakHandler;
import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.api.protocol.CommentBean;
import com.dayu.base.api.protocol.CommentPostData;
import com.dayu.base.api.protocol.CommentReplyData;
......@@ -25,8 +26,10 @@ import com.dayu.utils.ProgressUtil;
import com.dayu.widgets.JZMediaIjk;
import com.dayu.widgets.KeyboardStateObserver;
import com.dayu.widgets.MyJzvdStd;
import com.dayu.widgets.WechatShareDialog;
import com.umeng.analytics.MobclickAgent;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;
import java.util.ArrayList;
import java.util.List;
......@@ -101,6 +104,7 @@ public class CourseDetailActivity extends BaseActivity<SImplePresenter, Activity
pointNum += 1;
mBind.tvLike.setText(pointNum + "");
mBind.ivLike.setImageResource(R.drawable.icon_like_red);
getRedPacketsData();
}
isPointed = !isPointed;
}
......@@ -311,7 +315,19 @@ public class CourseDetailActivity extends BaseActivity<SImplePresenter, Activity
public void shareVideo() {
if (courseDetail != null){
String url = Constants.VIDEO_SHARE_URL.replace("_type","course")+courseDetail.getId();
CommonUtils.shareWxUrl(mActivity,url,"",courseDetail.getName(),courseDetail.getBrief(),null);
WechatShareDialog.getInstance().showBottomDialog(mActivity, pos -> {
if (pos == 0){
CommonUtils.shareUrl(mActivity,url,"",courseDetail.getName(),courseDetail.getBrief(),SHARE_MEDIA.WEIXIN,null);
AddShareRecordData data = new AddShareRecordData(mUserId,mUserInfo.getAccountName(),
"微信",courseDetail.getId(),1);
addShareRecord(data);
}else {
CommonUtils.shareUrl(mActivity,url,"",courseDetail.getName(),courseDetail.getBrief(),SHARE_MEDIA.WEIXIN_CIRCLE,null);
AddShareRecordData data = new AddShareRecordData(mUserId,mUserInfo.getAccountName(),
"朋友圈",courseDetail.getId(),1);
addShareRecord(data);
}
});
}
}
......
......@@ -35,6 +35,7 @@ public class PrepareLiveActivity extends BaseActivity<SImplePresenter, ActivityP
String title;
String coverUrl;
// String coverUrl = "http://dl.kf.ai/test/sp/mobile/android/business/checkApply/b94acfc43e8bd295d95193177c9e12c2.jpg?x-oss-process=style/nowatermark";
@Override
public void setPresenter() {
......
......@@ -7,11 +7,15 @@ import android.text.TextUtils;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.common.Constants;
import com.dayu.common.MyTextWatcher;
import com.dayu.event.GetRedPacketDataEvent;
import com.dayu.learncenter.R;
import com.dayu.learncenter.adapter.LearnAdapter;
import com.dayu.learncenter.api.LearnService;
import com.dayu.learncenter.api.bean.CommonLearnBean;
import com.dayu.learncenter.databinding.FragmentCommonLearnBinding;
import com.dayu.learncenter.event.CourseModifyEvent;
......@@ -21,6 +25,9 @@ import com.dayu.learncenter.presenter.common_learn.CommonLearnPresenter;
import com.dayu.learncenter.ui.activity.CourseDetailActivity;
import com.dayu.learncenter.ui.activity.EditCourseActivity;
import com.dayu.utils.CommonUtils;
import com.dayu.widgets.WechatShareDialog;
import com.umeng.analytics.MobclickAgent;
import com.umeng.socialize.bean.SHARE_MEDIA;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
......@@ -31,6 +38,7 @@ import cn.jzvd.JzvdStd;
public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, FragmentCommonLearnBinding>
implements CommonLearnContract.View {
private int type; //1.全部 2.已学习 3.已发布
LearnAdapter mAdapter;
public static CommonLearnFragment newInstance(int type) {
......@@ -60,6 +68,7 @@ public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, Frag
@Override
public void initView() {
initUser();
Bundle bundle = getArguments();
type = bundle.getInt("type");
mPresenter.setType(type);
......@@ -106,7 +115,7 @@ public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, Frag
}
private void setAdapter() {
LearnAdapter mAdapter = new LearnAdapter(true, type);
mAdapter = new LearnAdapter(true, type);
mAdapter.setViewType(R.layout.item_common_learn);
mAdapter.setPresenter(mPresenter);
mBind.recyclerView.setAdapter(mAdapter);
......@@ -166,6 +175,36 @@ public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, Frag
@Override
public void shareVideo(CommonLearnBean item) {
String url = Constants.VIDEO_SHARE_URL.replace("_type","course")+item.getId();
CommonUtils.shareWxUrl(mActivity,url,"",item.getName(),item.getBrief(),null);
WechatShareDialog.getInstance().showBottomDialog(mActivity, pos -> {
if (pos == 0){
CommonUtils.shareUrl(mActivity,url,"",item.getName(),item.getBrief(),SHARE_MEDIA.WEIXIN,null);
AddShareRecordData data = new AddShareRecordData(mUserId,mUserInfo.getAccountName(),
"微信",item.getId(),1);
addShareRecord(data);
}else {
CommonUtils.shareUrl(mActivity,url,"",item.getName(),item.getBrief(),SHARE_MEDIA.WEIXIN_CIRCLE,null);
AddShareRecordData data = new AddShareRecordData(mUserId,mUserInfo.getAccountName(),
"朋友圈",item.getId(),1);
addShareRecord(data);
}
});
}
@Override
public void likeVideo(CommonLearnBean item) {
showDialog();
int type = item.getPointStatus() == 1 ? 2 : 1;
if (type == 1)
MobclickAgent.onEvent(mActivity, "like_learningClass");
Api.getService(LearnService.class).pointCourse(item.getId(), mUserId, type).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(success -> {
if (success && mAdapter != null) {
item.setPoints(type == 1?item.getPoints()+1:item.getPoints()-1);
if (type == 1)
EventBus.getDefault().post(new GetRedPacketDataEvent());
item.setPointStatus(type);
mAdapter.notifyDataSetChanged();
}
}));
}
}
......@@ -8,6 +8,7 @@ import android.widget.ImageView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.common.Constants;
......@@ -25,6 +26,8 @@ import com.dayu.livemodule.xiaozhibo.main.videolist.utils.TCVideoListMgr;
import com.dayu.utils.CommonUtils;
import com.dayu.utils.GlideImageLoader;
import com.dayu.widgets.TextDialog;
import com.dayu.widgets.WechatShareDialog;
import com.umeng.socialize.bean.SHARE_MEDIA;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
......@@ -246,7 +249,19 @@ public class LiveListFragment extends BaseFragment<SImplePresenter, FragmentLive
//分享回放视频
private void shareBackVideo(LiveBackVideosBean item) {
String url = Constants.VIDEO_SHARE_URL.replace("_type", "live") + item.getId();
CommonUtils.shareWxUrl(mActivity, url, item.getLiveStreamPic(), item.getTitle(), " ", null);
WechatShareDialog.getInstance().showBottomDialog(mActivity, pos -> {
if (pos == 0){
CommonUtils.shareUrl(mActivity,url,item.getLiveStreamPic(),item.getTitle(),"",SHARE_MEDIA.WEIXIN,null);
AddShareRecordData data = new AddShareRecordData(mUserId,mUserInfo.getAccountName(),
"微信",item.getId(),3);
addShareRecord(data);
}else {
CommonUtils.shareUrl(mActivity,url,item.getLiveStreamPic(),item.getTitle(),"",SHARE_MEDIA.WEIXIN_CIRCLE,null);
AddShareRecordData data = new AddShareRecordData(mUserId,mUserInfo.getAccountName(),
"朋友圈",item.getId(),3);
addShareRecord(data);
}
});
}
@Subscribe
......
......@@ -95,15 +95,15 @@
<ImageView
android:id="@+id/iv_like"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:src="@drawable/icon_like_gray" />
<TextView
android:id="@+id/tv_like"
style="@style/common_text_style"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp"
android:paddingLeft="5dp"
android:paddingRight="10dp"
android:text="0" />
<ImageButton
......
......@@ -9,7 +9,6 @@ import com.alibaba.android.arouter.facade.annotation.Route;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.order.R;
import com.dayu.order.api.protocol.OrderDetail;
import com.dayu.order.api.protocol.Spu;
import com.dayu.order.databinding.ActivityOrderDetailsBinding;
import com.dayu.order.presenter.orderdetail.OrderDetailContract;
import com.dayu.order.presenter.orderdetail.OrderDetailPresenter;
......@@ -22,7 +21,6 @@ import com.dayu.provider.event.RefreshDetailEvent;
import com.dayu.provider.router.RouterPath;
import com.umeng.analytics.MobclickAgent;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
......@@ -56,7 +54,6 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailPresenter, Act
@Override
public void initView() {
mBind.titleBack.setOnClickListener(v -> dumpBack());
EventBus.getDefault().register(this);
}
@Override
......
......@@ -12,6 +12,7 @@ import com.bigfish.salecenter.R;
import com.bigfish.salecenter.api.SaleService;
import com.bigfish.salecenter.databinding.ActivityPosterShareBinding;
import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.common.Constants;
......@@ -97,6 +98,10 @@ public class PosterShareActivity extends BaseActivity<SImplePresenter, ActivityP
Constants.ENVIROMENT + mFrom + mUserId+ mId + ".png");
if (file != null) {
CommonUtils.shareImg(PosterShareActivity.this, file, SHARE_MEDIA.WEIXIN_CIRCLE, null);
AddShareRecordData data = new AddShareRecordData(mUserId,mUserInfo.getAccountName(),
"朋友圈",mId,2);
addShareRecord(data);
}else {
showToast("保存失败");
}
......
......@@ -9,14 +9,13 @@ import com.bigfish.salecenter.R;
import com.bigfish.salecenter.databinding.FragmentProductInstructionBinding;
import com.bigfish.salecenter.model.ProductDetailBean;
import com.bigfish.salecenter.ui.activity.PosterShareActivity;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.ui.activity.ImgGalleryActivty;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.base.ui.presenter.SImplePresenter;
import com.dayu.event.UserInfo;
import com.dayu.utils.BannerImgLoader;
import com.dayu.utils.CommonUtils;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
import com.dayu.widgets.WechatShareDialog;
import com.umeng.analytics.MobclickAgent;
import com.umeng.socialize.bean.SHARE_MEDIA;
......@@ -46,8 +45,7 @@ public class ProductInstructionFragment extends BaseFragment<SImplePresenter, Fr
@Override
public void initView() {
UserInfo userInfo = UserManager.getInstance().getUser();
mUserId = Integer.parseInt(userInfo.getAccountId());
initUser();
if (getArguments() != null) {
mDetail = (ProductDetailBean) getArguments().getSerializable("data");
}
......@@ -79,6 +77,9 @@ public class ProductInstructionFragment extends BaseFragment<SImplePresenter, Fr
if (pos == 0){
CommonUtils.shareProgram(mActivity,mDetail.getFirstUrl(),mDetail.getGoodsModel(),
mDetail.getBrief(),mUserId,mDetail.getId(),SHARE_MEDIA.WEIXIN,null);
AddShareRecordData data = new AddShareRecordData(mUserId,mUserInfo.getAccountName(),
"微信",mDetail.getId(),2);
addShareRecord(data);
}else {
PosterShareActivity.launch(mActivity,mDetail.getId(),mDetail.getGoodsModel()
,mDetail.getFirstUrl(),"pdetail",mDetail.getPrice());
......
......@@ -18,6 +18,7 @@ import com.bigfish.salecenter.presenter.saleproduct.SaleProductContract;
import com.bigfish.salecenter.presenter.saleproduct.SaleProductPresent;
import com.bigfish.salecenter.ui.activity.PosterShareActivity;
import com.bigfish.salecenter.ui.activity.ProductDetailActivity;
import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.common.MyTextWatcher;
import com.dayu.event.UserInfo;
......@@ -69,6 +70,7 @@ public class SaleProductFragment extends BaseFragment<SaleProductPresent, Fragme
@Override
public void initView() {
initUser();
EventBus.getDefault().register(this);
Bundle bundle = getArguments();
type = bundle.getInt("type");
......@@ -190,6 +192,9 @@ public class SaleProductFragment extends BaseFragment<SaleProductPresent, Fragme
if (pos == 0){
CommonUtils.shareProgram(mActivity,item.getFirstUrl(),item.getGoodsModel(),
item.getBrief(),mUserId,item.getId(),SHARE_MEDIA.WEIXIN,null);
AddShareRecordData data = new AddShareRecordData(mUserId,mUserInfo.getAccountName(),
"微信",item.getId(),2);
addShareRecord(data);
}else {
PosterShareActivity.launch(mActivity,item.getId(),item.getGoodsModel()
,item.getFirstUrl(),"product",item.getPrice());
......
......@@ -36,10 +36,16 @@
android:paddingTop="20dp"
android:paddingRight="20dp"
android:paddingBottom="80dp">
<TextView
style="@style/common_text_style"
android:text="平台保障,放心交易"
android:layout_gravity="center_horizontal"
/>
<ImageView
android:id="@+id/iv_product"
android:layout_width="match_parent"
android:layout_marginTop="10dp"
android:layout_height="180dp" />
<TextView
......
......@@ -18,7 +18,6 @@ import com.dayu.usercenter.presenter.pwlogin.PwLoginPresenter;
import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.listener.OnCloseListener;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
/**
......@@ -36,7 +35,6 @@ public class PwLoginActivity extends BaseActivity<PwLoginPresenter, ActivityPwlo
@Override
public void initView() {
EventBus.getDefault().register(this);
mBind.toolbar.setNavigationOnClickListener(v -> startActvityAndFinish(SmsLoginActivity.class));
mBind.showPwd.setOnClickListener(v -> {
if (mPwdState == 1) {
......@@ -113,6 +111,5 @@ public class PwLoginActivity extends BaseActivity<PwLoginPresenter, ActivityPwlo
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
}
......@@ -9,7 +9,6 @@ import android.view.View;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.activity.DataBindingActivity;
import com.dayu.common.BaseApplication;
import com.dayu.common.BaseConstant;
import com.dayu.common.Constants;
......@@ -21,9 +20,7 @@ import com.dayu.usercenter.event.RegisterSuccessEvent;
import com.dayu.usercenter.presenter.smslogin.SmsLoginContract;
import com.dayu.usercenter.presenter.smslogin.SmsLoginPresenter;
import com.dayu.utils.AppUtils;
import com.dayu.utils.TimeCountUtil;
import com.dayu.utils.TimeCountUtil2;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UIUtils;
import com.dayu.utils.UtilsUserAccountMatcher;
import com.dayu.widgets.ChangeEnvDialog;
......@@ -31,7 +28,6 @@ import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.listener.OnCloseListener;
import com.umeng.analytics.MobclickAgent;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
......@@ -49,7 +45,6 @@ public class SmsLoginActivity extends BaseActivity<SmsLoginPresenter,ActivitySms
@Override
public void initView() {
EventBus.getDefault().register(this);
String versionCode = AppUtils.getPackageNum();
if (Constants.ENVIROMENT.equals("debug")) {
mBind.environment.setText(String.format(getString(R.string.enviroment_debug), versionCode));
......@@ -145,7 +140,6 @@ public class SmsLoginActivity extends BaseActivity<SmsLoginPresenter,ActivitySms
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
......
......@@ -21,10 +21,8 @@ import com.dayu.usercenter.ui.activity.PersonInfoActivity;
import com.dayu.utils.CommonUtils;
import com.dayu.utils.UserManager;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.util.Arrays;
import java.util.List;
/**
......@@ -46,7 +44,6 @@ public class UserInfoActivity extends BaseActivity<UserInfoPresenter, ActivityUs
@Override
public void initView() {
EventBus.getDefault().register(this);
setUserRule2(globelRate+"%");
mBind.rlUser.setOnClickListener(view -> startActivity(PersonInfoActivity.class));
mBind.rlBank.setOnClickListener(view -> startActivity(EditBankActivity.class));
......@@ -122,7 +119,6 @@ public class UserInfoActivity extends BaseActivity<UserInfoPresenter, ActivityUs
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
@Subscribe
......
......@@ -101,6 +101,9 @@
<activity
android:name=".ui.activity2.InviteRecordActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity2.TestRecordActivity"
android:screenOrientation="portrait" />
</application>
</manifest>
......@@ -67,7 +67,6 @@
</LinearLayout>
<com.github.mikephil.charting.charts.BarChart
android:visibility="gone"
android:id="@+id/bar_chart"
android:layout_width="match_parent"
android:layout_height="300dp" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment