Commit f6e61c37 authored by mengcuiguang's avatar mengcuiguang

1、更新聚乐云sdk修改成语逻辑 2、添加圣于地列表接口 3、个人中心添加任务下载 4、提现界面添加频繁逻辑

parent 715ac981
......@@ -9,8 +9,8 @@ android {
applicationId "com.mints.goodmoney"
minSdkVersion rootProject.ext.androidMinSdkVersion
targetSdkVersion rootProject.ext.androidTargetSdkVersion
versionCode 18
versionName "1.1.7"
versionCode 19
versionName "1.1.8"
flavorDimensions "default"
// dex突破65535的限制
......@@ -233,6 +233,7 @@ dependencies {
implementation 'com.liulishuo.filedownloader:library:1.7.7'
implementation "org.greenrobot:eventbus:3.1.0-RC"
// 掌阅书城
// implementation(name: 'iReader-release-androidx-1.0.3.1_haozhuanqian', ext: 'aar')
implementation(name: 'iReader-release-1.0.1', ext: 'aar')
implementation 'com.alibaba:fastjson:1.2.11'
implementation 'androidx.annotation:annotation:1.0.0'
......@@ -250,9 +251,9 @@ dependencies {
implementation(name: 'mh-adsdk-ext', ext: 'aar')
// implementation(name: 'ks_3.3.5.3', ext: 'aar')
// 聚乐云
implementation(name: 'okgo-2.2', ext: 'aar')
implementation(name: 'scenemodule-2.2', ext: 'aar')
implementation(name: 'scenead-2.2', ext: 'aar')
implementation(name: 'okgo-4.0', ext: 'aar')
implementation(name: 'scenemodule-4.0-hzq', ext: 'aar')
implementation(name: 'scenead-4.0', ext: 'aar')
implementation 'com.just.agentweb:agentweb:4.1.2'
// 喜马拉雅 已集成
// 微转阅读(接入h5方式)
......
......@@ -23,6 +23,7 @@ import com.mints.goodmoney.manager.TzManager;
import com.mints.goodmoney.manager.WnManager;
import com.mints.goodmoney.manager.YlVideoManager;
import com.mints.goodmoney.manager.YlhAdManager;
import com.mints.goodmoney.manager.ZhangyueManager;
import com.mints.goodmoney.net.LoanService;
import com.mints.goodmoney.utils.ForegroundOrBackground;
import com.mints.goodmoney.utils.LogUtil;
......
......@@ -43,6 +43,11 @@ public class AppConfig {
*/
public static boolean scene_flag = false;
/**
* 是否刷新 趣步赚 猜成语成功标记
*/
public static boolean scene_idiom_flag = false;
/**
* 先展示枫岚视频
*/
......
......@@ -136,6 +136,7 @@ object Constant {
const val CARRIER_CPD_SYD = "CPD_SYD" //SYDCPD下载试玩任务
const val CARRIER_CPD_USEAPP = "CPD_USEAPP" //积分墙体验试玩下载过的APP
const val CARRIER_MC_FIRSTDOWNLOAD = "MC_FIRSTDOWNLOAD" // 牧场人生下载奖励
const val CARRIER_FIRSTDOWNLOADS = "FIRSTDOWNLOADS" // 其他下载奖励
const val CHALLENGE_SHAREFRIEND = "CHALLENGE_SHAREFRIEND" //邀请好友
......@@ -197,13 +198,6 @@ object Constant {
// 打开激活
const val FIRST_DEVICE_FLAG = "first_device_flag"
// share
const val SHARE_TITLE = "发现一个二傻子平台,人傻钱多,速来~一起薅死他~~"
var SHARE_CONTENT = "邀请码【${UserManager.getInstance().codeID}】,共享新模式,快来加入跟我一起赚钱吧"
// var SHARE_URL: String = BuildConfig.MainIp + "share/shareFriend.html?ruid=" + UserManager.getInstance().getUserID() + "&channel=" + CommonUtils.getAppMetaData(MintsApplication.getContext(), "CHANNEL_NAME")
var SHARE_URL: String = BuildConfig.MainIp + "wxShare/toShare?shareId=" + UserManager.getInstance().userID
// 首页视频时长 单位-秒
const val MAIN_VEDIO_TIME = "main_vedio_time"
......@@ -219,13 +213,14 @@ object Constant {
const val MERGE_KEY = "merge_key"
// wrapper type 0-新闻 1-小说 2-平台分红 3-来电秀 4-微转
// wrapper type 0-新闻 1-小说 2-平台分红 3-来电秀 4-微转 5-聚乐云猜成语
const val WRAPPER_TYPE = "wrapper_type"
const val WRAPPER_TYPE_NEWS = 0
const val WRAPPER_TYPE_BOOK = 1
const val WRAPPER_TYPE_FRIENDS = 2
const val WRAPPER_TYPE_KYL = 3
const val WRAPPER_TYPE_WZ = 4
const val WRAPPER_TYPE_CCY = 5
//1登录,2提现,3任务
const val RISK_EVENT_ID_LOGIN = 1
......
......@@ -15,22 +15,45 @@ import org.json.JSONObject
/**
* Cpd下载
* 圣于地Cpd下载
*/
object CpdManager {
/*单个任务id*/
const val BUSINESS_ID = "m8908"
const val KEY = "sywnTAWBilog6LYancoe8wQFxK070X7B"
/*列表任务id*/
const val BUSINESS_ID_LIST = "m8910"
const val KEY_LIST = "LTkB5MdZ5nWN6PSJ4ba0hs44N1STV3rg"
/**
* 单任务url
*/
fun getCpdUrl(): String {
val currentTimeMillis = System.currentTimeMillis().toString()
val token = MD5.GetMD5Code(BUSINESS_ID + KEY + currentTimeMillis)
// token=MD5(id + apikey+ timestamp)
return CpdService.CPD_IP + "?businessId=" + BUSINESS_ID +
return CpdService.CPD_IP + "default/?businessId=" + BUSINESS_ID +
"&token=" + token +
"&timestamp=" + currentTimeMillis
}
/**
* 列表任务url
*/
fun getCpdLisrUrl(): String {
val currentTimeMillis = System.currentTimeMillis().toString()
val token = MD5.GetMD5Code(BUSINESS_ID_LIST + KEY_LIST + currentTimeMillis)
// token=MD5(id + apikey+ timestamp)
return CpdService.CPD_IP + "list/?businessId=" + BUSINESS_ID_LIST +
"&token=" + token +
"&timestamp=" + currentTimeMillis
}
/**
* 单任务参数
*/
fun getCpdBody(ip: String): RequestBody {
val deviceInfo = DeviceInfo.instance
......@@ -61,4 +84,41 @@ object CpdManager {
return RequestBody.create("application/json".toMediaTypeOrNull(), param.toString())
}
/**
* 列表任务参数
*/
fun getCpdListBody(ip: String,number:Int): RequestBody {
val deviceInfo = DeviceInfo.instance
val param = JSONObject()
val application = JSONObject()
val equipment = JSONObject()
val advertising = JSONObject()
try {
application.put("app_pkg_name", Constant.MINTS_PKG_NAME)
application.put("app_ver_code", deviceInfo.versionCode)
application.put("app_ver_name", deviceInfo.versionName)
// 设备类型 4-手机
equipment.put("type", "4")
// 系统类型 1:android
equipment.put("os_type", "1")
equipment.put("android_id", deviceInfo.androidId)
equipment.put("imei", deviceInfo.iMEI)
equipment.put("mac", deviceInfo.getMacAddress())
equipment.put("net_type", NetUtils.getNetworkStateForCpd(MintsApplication.getContext()))
equipment.put("ip", ip)
equipment.put("brand", deviceInfo.brand)
equipment.put("model", deviceInfo.mobileModel)
equipment.put("make", deviceInfo.brand)
advertising.put("number", number)
param.put("application", application)
param.put("equipment", equipment)
param.put("advertising", advertising)
} catch (e: JSONException) {
e.printStackTrace()
}
return RequestBody.create("application/json".toMediaTypeOrNull(), param.toString())
}
}
\ No newline at end of file
......@@ -46,7 +46,7 @@ object SceneManager {
*/
fun signIn(activity: Activity) {
if (!TextUtils.isEmpty(UserManager.getInstance().userID)) {
SceneUtil.signIn(activity, SCENE_CHANNEL_Id, UserManager.getInstance().userID, MintsApplication.OAID)
SceneUtil.syncAccount(activity, SCENE_CHANNEL_Id, UserManager.getInstance().userID, MintsApplication.OAID)
AppConfig.scene_flag = true
}
}
......
......@@ -3,6 +3,7 @@ package com.mints.goodmoney.manager;
import android.text.TextUtils;
import com.mints.goodmoney.MintsApplication;
import com.mints.goodmoney.common.AppConfig;
import com.mints.goodmoney.mvp.model.UserBean;
import com.mints.goodmoney.utils.PreferencesService;
......@@ -387,6 +388,9 @@ public class UserManager {
}
public void userLogout() {
AppConfig.scene_flag = false;
AppConfig.scene_idiom_flag = true;
if (ps == null) {
return;
}
......
......@@ -2,6 +2,7 @@ package com.mints.goodmoney.manager
import android.app.Application
import com.ireader.ireadersdk.IreaderApi
import com.mints.goodmoney.MintsApplication
import java.lang.Exception
/**
......@@ -13,11 +14,24 @@ object ZhangyueManager {
private const val APPID = "10054"
fun onCreateIreader(application: Application) {
// try {
// IreaderApi.onCreate(application)
// val config = Config.Builder()
// .setZYAppId(APPID)
// .setOaId(MintsApplication.OAID)
// .setSupportCSJ(true)
// .setSupportGDT(true)
// .build()
// IreaderApi.attachBaseContext(application, config)
// } catch (e: Exception) {
// e.printStackTrace()
// }
try {
IreaderApi.attachBaseContext(application)
IreaderApi.onCreate(application, APPID)
} catch (e: Exception) {
e.printStackTrace()
}
}
}
\ No newline at end of file
......@@ -200,6 +200,8 @@ public class MyInfo implements Serializable {
private String carrierType;
private String downloadUrl;
private String pkg;
private String key;
private String carrierTypeForStatus;
private String doubleCarrierType;
private int complete;
private int status = 0;
......@@ -219,6 +221,14 @@ public class MyInfo implements Serializable {
return needSeconds;
}
public String getKey() {
return key;
}
public String getCarrierTypeForStatus() {
return carrierTypeForStatus;
}
public void setNeedSeconds(int needSeconds) {
this.needSeconds = needSeconds;
}
......
package com.mints.goodmoney.mvp.model;
import java.io.Serializable;
import java.util.List;
/**
* 圣于地cpd list bean
*/
public class SydCpdListBean implements Serializable {
private int code;
private String message;
private SydCpdListBean.DataBean data;
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
public DataBean getData() {
return data;
}
public class DataBean implements Serializable {
/**
* uuid : 285a96ea-c9a0-41e3-ad4c-ef7d518f982e
* uukey : MTYxMzQ1OTYwNTEzOXw5OTAwMDg2OTA5MTk3MTI=
* offset : [53,44,48]
* materials : [{"app_name":"开言英语先锋版","app_apk_name":"com.openlanguage.easy","app_url":"http://imtt.dd.qq.com/16891/apk/EAC0CC7F622C8BD38DBDA027CE4BA334.apk?fsna","app_ver_name":"1.0.1","app_ver_code":101,"title":null,"icons":"https://pp.myapp.com/ma_icon/0/icon_54084266_1602835589/96","bytes":18296415,"intro":null,"dl_count":null,"star":null,"description":"","md5":"5607420774b61a456ca1fb6dc6fa1bfb","assets":[{"width":null,"height":null,"url":"https://pp.myapp.com/ma_pic2/0/shot_54084266_1_1602835586/550"}],"duration":null,"creative_type":null,"tracker":{"show":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=1&businessId=guest"],"clikc":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=2&businessId=guest& "],"download_start":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=3&businessId=guest"],"download_finish":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=4&businessId=guest "],"install_start":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=5&businessId=guest"],"install_finish":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=6&businessId=guest"],"activation":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=7&businessId=guest"]}}]
*/
private String uuid;
private String uukey;
private List<Integer> offset;
private List<MaterialsBean> materials;
public String getUuid() {
return uuid;
}
public String getUukey() {
return uukey;
}
public List<Integer> getOffset() {
return offset;
}
public List<MaterialsBean> getMaterials() {
return materials;
}
public class MaterialsBean implements Serializable{
/**
* app_name : 开言英语先锋版
* app_apk_name : com.openlanguage.easy
* app_url : http://imtt.dd.qq.com/16891/apk/EAC0CC7F622C8BD38DBDA027CE4BA334.apk?fsna
* app_ver_name : 1.0.1
* app_ver_code : 101
* title : null
* icons : https://pp.myapp.com/ma_icon/0/icon_54084266_1602835589/96
* bytes : 18296415
* intro : null
* dl_count : null
* star : null
* description :
* md5 : 5607420774b61a456ca1fb6dc6fa1bfb
* assets : [{"width":null,"height":null,"url":"https://pp.myapp.com/ma_pic2/0/shot_54084266_1_1602835586/550"}]
* duration : null
* creative_type : null
* tracker : {"show":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=1&businessId=guest"],"clikc":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=2&businessId=guest& "],"download_start":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=3&businessId=guest"],"download_finish":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=4&businessId=guest "],"install_start":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=5&businessId=guest"],"install_finish":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=6&businessId=guest"],"activation":["http://api.musesmobi.com:8111/api/cpd/1/report/list?type=7&businessId=guest"]}
*/
private String app_name;
private String app_apk_name;
private String app_url;
private String app_ver_name;
private Integer app_ver_code;
private Object title;
private String icons;
private Integer bytes;
private Object intro;
private Object dl_count;
private Object star;
private String description;
private String md5;
private List<AssetsBean> assets;
private Object duration;
private Object creative_type;
private TrackerBean tracker;
public String getApp_name() {
return app_name;
}
public String getApp_apk_name() {
return app_apk_name;
}
public String getApp_url() {
return app_url;
}
public String getApp_ver_name() {
return app_ver_name;
}
public Integer getApp_ver_code() {
return app_ver_code;
}
public Object getTitle() {
return title;
}
public String getIcons() {
return icons;
}
public Integer getBytes() {
return bytes;
}
public Object getIntro() {
return intro;
}
public Object getDl_count() {
return dl_count;
}
public Object getStar() {
return star;
}
public String getDescription() {
return description;
}
public String getMd5() {
return md5;
}
public List<AssetsBean> getAssets() {
return assets;
}
public Object getDuration() {
return duration;
}
public Object getCreative_type() {
return creative_type;
}
public TrackerBean getTracker() {
return tracker;
}
public class TrackerBean implements Serializable{
private List<String> show;
private List<String> clikc;
private List<String> download_start;
private List<String> download_finish;
private List<String> install_start;
private List<String> install_finish;
private List<String> activation;
public List<String> getShow() {
return show;
}
public List<String> getClikc() {
return clikc;
}
public List<String> getDownload_start() {
return download_start;
}
public List<String> getDownload_finish() {
return download_finish;
}
public List<String> getInstall_start() {
return install_start;
}
public List<String> getInstall_finish() {
return install_finish;
}
public List<String> getActivation() {
return activation;
}
}
public class AssetsBean implements Serializable{
/**
* width : null
* height : null
* url : https://pp.myapp.com/ma_pic2/0/shot_54084266_1_1602835586/550
*/
private Object width;
private Object height;
private String url;
}
}
}
}
......@@ -11,6 +11,7 @@ public class TzTaskBean {
private boolean isShCpd;
private CoralAD coralAd;
private CpdModelBean.DataBean.MaterialsBean.TrackerBean trackerBean;
private SydCpdListBean.DataBean.MaterialsBean.TrackerBean trackerListBean;
private int coin;
private int state;
private String currentPkgName;
......@@ -74,12 +75,20 @@ public class TzTaskBean {
this.app_url = app_url;
}
public CpdModelBean.DataBean.MaterialsBean.TrackerBean getTrackerBean() {
return trackerBean;
// public CpdModelBean.DataBean.MaterialsBean.TrackerBean getTrackerBean() {
// return trackerBean;
// }
//
// public void setTrackerBean(CpdModelBean.DataBean.MaterialsBean.TrackerBean trackerBean) {
// this.trackerBean = trackerBean;
// }
public SydCpdListBean.DataBean.MaterialsBean.TrackerBean getTrackerBean() {
return trackerListBean;
}
public void setTrackerBean(CpdModelBean.DataBean.MaterialsBean.TrackerBean trackerBean) {
this.trackerBean = trackerBean;
public void setTrackerBean(SydCpdListBean.DataBean.MaterialsBean.TrackerBean trackerListBean) {
this.trackerListBean = trackerListBean;
}
public void setCoralAd(CoralAD coralAd) {
......
......@@ -191,9 +191,9 @@ public class DrawcashPresenter extends BasePresenter<DrawcashView> {
}
/**
* 金币/积分兑换
* 金币/积分兑换 提现
*/
public void addCashoutReq(double cash) {
private void addCashoutReq(double cash) {
HashMap<String, Object> vo = new HashMap<>();
vo.put("cash", cash);
vo.put("payChannel", "WEIXIN");
......@@ -225,6 +225,9 @@ public class DrawcashPresenter extends BasePresenter<DrawcashView> {
case 200://成功
getUserTaskMsg();
break;
case 429://操作频繁
view.userFrequently();
break;
}
}
});
......
......@@ -9,6 +9,7 @@ import com.mints.goodmoney.manager.AppHttpManager
import com.mints.goodmoney.manager.CpdManager
import com.mints.goodmoney.mvp.model.BaseResponse
import com.mints.goodmoney.mvp.model.CpdModelBean
import com.mints.goodmoney.mvp.model.SydCpdListBean
import com.mints.goodmoney.mvp.views.TaskView
import com.mints.goodmoney.net.CpdService
import com.mints.goodmoney.utils.LogUtil
......@@ -103,4 +104,32 @@ class TaskPresenter : BasePresenter<TaskView>() {
})
}
fun getCpdListDetail(ip: String,number:Int) {
AppHttpManager.getInstance(loanApplication)
.call(CpdService.Factory.getInstance().getAdVedio(CpdManager.getCpdLisrUrl(), CpdManager.getCpdListBody(ip,number)),
object : BaseSubscriber<JsonObject>() {
override fun onCompleted() {
}
override fun onError(e: Throwable) {
view.getCpdModelFail()
}
override fun onNext(t: JsonObject?) {
if (isLinkView) return
val gson = Gson()
val response = gson.fromJson<SydCpdListBean>(t.toString(), SydCpdListBean::class.java)
if (response.code == 0) {
val data = response.data
if (data != null) {
view.getCpdListModelSuc(data)
} else {
view.getCpdModelFail()
}
} else {
view.getCpdModelFail()
}
}
})
}
}
\ No newline at end of file
......@@ -14,6 +14,11 @@ public interface DrawcashView extends BaseView {
*/
void editUserMsgSuc();
/**
* 用户操作频繁
*/
void userFrequently();
void mergeAccount(String mobile, String wxOpenId, String key);
void checkJDNewUsersSuc(boolean isJdNewUser, String JDUrl);
......
package com.mints.goodmoney.mvp.views
import com.mints.goodmoney.mvp.model.CpdModelBean
import com.mints.goodmoney.mvp.model.SydCpdListBean
interface TaskView : BaseView {
fun getShCpdTimeSuc(time: Int, coin: Int, CPD: Int, CPD_SYD: Int)
fun getCpdModelSuc(dataBean: CpdModelBean.DataBean)
fun getCpdListModelSuc(dataBean: SydCpdListBean.DataBean)
fun getCpdModelFail()
}
\ No newline at end of file
......@@ -27,7 +27,7 @@ import rx.Observable;
*/
public interface CpdService {
String CPD_IP = "http://api.musesmobi.com:8111/api/cpd/1/detail/default/";
String CPD_IP = "http://api.musesmobi.com:8111/api/cpd/1/detail/";
/**
* 请求广告
......
......@@ -174,7 +174,7 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener {
Constant.CARRIER_GAME_ONLINE, Constant.CARRIER_EATMEAL,
Constant.CARRIER_RUISHINEWS_CHALLANGE, Constant.CARRIER_ZHANGYUE_CHALLENGE,
Constant.CARRIER_XMLY_CHALLENGE, Constant.CARRIER_SHARE_NEWS,
Constant.CARRIER_MC_FIRSTDOWNLOAD -> {
Constant.CARRIER_MC_FIRSTDOWNLOAD, Constant.CARRIER_FIRSTDOWNLOADS -> {
val vo = HashMap<String, Any>()
vo["carrierType"] = carrierType
awardPresenter.reportAddCoinMsg(vo)
......
......@@ -380,6 +380,10 @@ class DrawcashActivity : BaseActivity(),
}
}
override fun userFrequently() {
readyGoThenKill(DrawcashRecordActivity::class.java)
}
override fun onCheckedChanged(buttonView: CompoundButton, isChecked: Boolean) {
if (buttonView.isChecked) {
tvDrawJd.isChecked = false
......
......@@ -3,6 +3,7 @@ package com.mints.goodmoney.ui.activitys
import android.content.Context
import android.media.AudioManager
import android.os.Bundle
import android.text.TextUtils
import android.view.KeyEvent
import android.view.View
import androidx.fragment.app.Fragment
......@@ -10,10 +11,12 @@ import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentTransaction
import com.ireader.ireadersdk.IreaderApi
import com.mints.goodmoney.R
import com.mints.goodmoney.ad.express.TTPreLoadCarrierExpressManager
import com.mints.goodmoney.ad.video.VideoAdingManager
import com.mints.goodmoney.common.AppConfig
import com.mints.goodmoney.common.Constant
import com.mints.goodmoney.ad.express.TTPreLoadCarrierExpressManager
import com.mints.goodmoney.manager.SceneManager
import com.mints.goodmoney.manager.UserManager
import com.mints.goodmoney.manager.ZhangyueManager
import com.mints.goodmoney.mvp.views.MainView
import com.mints.goodmoney.ui.activitys.base.BaseActivity
......@@ -38,7 +41,7 @@ class MainActivity : BaseActivity(), MainView, View.OnClickListener {
private var myFragment: Fragment? = null
private var channelFragment: Fragment? = null
private var kuYinyueFragment: Fragment? = null
private var wzFragment: Fragment? = null
private var idiomFragment: Fragment? = null
private var currentFragment: Fragment? = null
......@@ -66,7 +69,7 @@ class MainActivity : BaseActivity(), MainView, View.OnClickListener {
if (AppConfig.isMainShowWz) {
tab_iv_four.setImageResource(R.drawable.tab_wz_share_btn)
tab_tv_four.text = "新闻分享"
tab_tv_four.text = "猜成语"
isMainShowWz = true
} else {
tab_iv_four.setImageResource(R.drawable.tab_friends_btn)
......@@ -212,31 +215,47 @@ class MainActivity : BaseActivity(), MainView, View.OnClickListener {
// 是否显示微转
if (isMainShowWz) {
if (!AppConfig.scene_flag) {
SceneManager.signIn(this)
}
if (TextUtils.isEmpty(UserManager.getInstance().userID)) {
showToast("请先登录账号")
return
}
// 猜成语
AppConfig.fragmentClickFlag = Constant.FRAGMENT_CLICK_FOUR
if (wzFragment == null) {
wzFragment = WzFragment()
if (idiomFragment == null) {
idiomFragment = SceneIdiomFragment()
}
addOrShowFragment(supportFragmentManager, wzFragment!!, Constant.FRAGMENT_TAG_FOUR)
addOrShowFragment(supportFragmentManager, idiomFragment!!, Constant.FRAGMENT_TAG_FOUR)
tab_iv_one.isSelected = false
tab_tv_one.isSelected = false
tab_iv_two.isSelected = false
tab_tv_two.isSelected = false
tab_iv_four.isSelected = true
tab_tv_four.isSelected = true
tab_iv_five.isSelected = false
tab_tv_five.isSelected = false
} else {
AppConfig.fragmentClickFlag = Constant.FRAGMENT_CLICK_FOUR
if (friendsFragment == null) {
friendsFragment = FriendsFragment()
}
addOrShowFragment(supportFragmentManager, friendsFragment!!, Constant.FRAGMENT_TAG_FOUR)
}
tab_iv_one.isSelected = false
tab_tv_one.isSelected = false
tab_iv_two.isSelected = false
tab_tv_two.isSelected = false
// tab_iv_three.isSelected = false
// tab_tv_three.isSelected = false
tab_iv_four.isSelected = true
tab_tv_four.isSelected = true
tab_iv_five.isSelected = false
tab_tv_five.isSelected = false
}
}
/**
* 点击第三个tab
......
......@@ -3,6 +3,7 @@ package com.mints.goodmoney.ui.activitys
import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import com.fly.scenemodule.fragment.IdiomFragment
import com.mints.goodmoney.R
import com.mints.goodmoney.common.Constant
import com.mints.goodmoney.ui.activitys.base.BaseActivity
......@@ -67,13 +68,17 @@ class WrapperActivity : BaseActivity(), View.OnClickListener {
layoutWrapper.visibility = View.GONE
currentFragment = WzFragment(true)
}
Constant.WRAPPER_TYPE_CCY -> {
layoutWrapper.visibility = View.GONE
currentFragment = IdiomFragment.newInstance("")
}
else -> {
tv_title.text = "书城"
currentFragment = MyZhangyueFragment()
}
}
if (!currentFragment.isAdded) {
if (!currentFragment!!.isAdded) {
// 提交事务
supportFragmentManager.beginTransaction()
.add(R.id.flWrapper, currentFragment).commitAllowingStateLoss()
......
......@@ -57,6 +57,9 @@ class MainMyAdapter(context: Context, taskData: MutableList<MyInfo.AutoListBean>
// 下载牧场人生
const val TO_FIRSTDOWNLOAD = "TO_FIRSTDOWNLOAD"
// 其他下载应用
const val TO_DOWNLOADS = "TO_DOWNLOADS"
}
private var mContext: Context = context
......
......@@ -90,6 +90,7 @@ class MyFragment : BaseFragment(),
// 牧场人生安装奖励金币
private var pkgMCRSName = "com.harvestmoon.android"
private var pkgMCRSCarrier = ""
// 签到信息
private var signCardBean: SignCardBean? = null
......@@ -181,10 +182,7 @@ class MyFragment : BaseFragment(),
BannerManager.onDestroy()
myPresenter.detachView()
if (mReceiverBroadcastReceiver != null) {
mContext.stopService(Intent(context, AppInstallService::class.java))
mContext.unregisterReceiver(mReceiverBroadcastReceiver)
}
onDestoryBroadcastReceiver()
}
override fun getUserTaskMsgSuc(data: MyInfo?) {
......@@ -717,6 +715,7 @@ class MyFragment : BaseFragment(),
when (taskBean.otherConfig.status) {
0 -> {
// 牧场人生包名
pkgMCRSCarrier = Constant.CARRIER_MC_FIRSTDOWNLOAD
pkgMCRSName = taskBean.otherConfig.pkg
// 下载牧场人生
......@@ -731,6 +730,29 @@ class MyFragment : BaseFragment(),
bundle.putInt(Constant.MAIN_CUR_COIN, taskBean.otherConfig.coin)
bundle.putString(Constant.MAIN_CARRIER_TYPE, Constant.CARRIER_MC_FIRSTDOWNLOAD)
readyGo(AwardActivity::class.java, bundle)
onDestoryBroadcastReceiver()
}
}
}
}
MainMyAdapter.TO_DOWNLOADS -> {
if (taskBean.otherConfig != null) {
when (taskBean.otherConfig.status) {
0 -> {
pkgMCRSCarrier = taskBean.otherConfig.carrierTypeForStatus
pkgMCRSName = taskBean.otherConfig.pkg
DownloadApkManager.downloadApk(requireActivity(), taskBean.otherConfig.downloadUrl, pkgMCRSName)
// 开启广播监听安装事件
registerBroad()
}
1 -> {
val bundle = Bundle()
bundle.putInt(Constant.MAIN_CUR_COIN, taskBean.otherConfig.coin)
bundle.putString(Constant.MAIN_CARRIER_TYPE, Constant.CARRIER_FIRSTDOWNLOADS+"_"+taskBean.otherConfig.key)
readyGo(AwardActivity::class.java, bundle)
onDestoryBroadcastReceiver()
}
}
}
......@@ -1270,7 +1292,7 @@ class MyFragment : BaseFragment(),
myPresenter.setHighTaskType(Constant.CARRIER_HIGH_ACTIVITY, "3")
} else if (TextUtils.equals(pkg, pkgMCRSName)) {
// 上报后台更新按钮状态
myPresenter.setHighTaskType(Constant.CARRIER_MC_FIRSTDOWNLOAD, "1")
myPresenter.setHighTaskType(pkgMCRSCarrier, "1")
}
} catch (e: Exception) {
......@@ -1300,4 +1322,15 @@ class MyFragment : BaseFragment(),
}
}
}
/**
* 下载安装广播回收
*/
fun onDestoryBroadcastReceiver() {
if (mReceiverBroadcastReceiver != null) {
mContext.stopService(Intent(context, AppInstallService::class.java))
mContext.unregisterReceiver(mReceiverBroadcastReceiver)
mReceiverBroadcastReceiver = null
}
}
}
\ No newline at end of file
......@@ -52,13 +52,6 @@ class MyZhangyueFragment : LazyLoadBaseFragment(), BookView, IreaderApi.OnReadCh
}
}
override fun onDestroy() {
super.onDestroy()
IreaderApi.setReadChangeListener(null)
bookPresenter.detachView()
}
override fun onReadStart() {
}
......@@ -76,6 +69,14 @@ class MyZhangyueFragment : LazyLoadBaseFragment(), BookView, IreaderApi.OnReadCh
override fun onReadPage(time: Long) {
}
override fun onDestroy() {
super.onDestroy()
IreaderApi.setReadChangeListener(null)
bookPresenter.detachView()
}
override fun readSecondsSuc(coin: Int) {
if (coin > 0) {
val bundle = Bundle()
......@@ -98,4 +99,32 @@ class MyZhangyueFragment : LazyLoadBaseFragment(), BookView, IreaderApi.OnReadCh
.create()
}
}
// override fun addBookShelf(p0: Bundle?) {
// TODO("Not yet implemented")
// }
//
// override fun onReadStart(p0: Bundle?) {
// TODO("Not yet implemented")
// }
//
// override fun onReadEnd(p0: Bundle?) {
// val seconds = (p0!!.getLong(IreaderApi.BOOK_TIME).toLong() / 1000).toInt()
// // 阅读5秒以上 保存时长
// if (seconds > 5) {
// bookPresenter.addReadSeconds(seconds)
// }
// }
//
// override fun onDeleteBook(p0: String?) {
// TODO("Not yet implemented")
// }
//
// override fun onReadPage(p0: Bundle?) {
// TODO("Not yet implemented")
// }
//
// override fun onChangeNight(p0: Boolean) {
// TODO("Not yet implemented")
// }
}
\ No newline at end of file
package com.mints.goodmoney.ui.fragment
import android.text.TextUtils
import androidx.fragment.app.FragmentTransaction
import com.fly.scenemodule.fragment.IdiomFragment
import com.mints.goodmoney.R
import com.mints.goodmoney.common.AppConfig
import com.mints.goodmoney.common.Constant
import com.mints.goodmoney.manager.UserManager
import com.mints.goodmoney.ui.fragment.base.BaseFragment
import com.mints.goodmoney.ui.fragment.base.LazyLoadBaseFragment
import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.scwang.smartrefresh.layout.listener.OnRefreshListener
import kotlinx.android.synthetic.main.fragment_main_idiom.*
import java.util.*
import kotlin.concurrent.schedule
/**
* 描述:聚乐云-猜成语
* 作者:孟崔广
* 时间:2021/2/23 15:50
*/
class SceneIdiomFragment : BaseFragment(), OnRefreshListener {
private val idiomFragment by lazy { IdiomFragment.newInstance("") }
override fun getContentViewLayoutID() = R.layout.fragment_main_idiom
override fun initViewsAndEvents() {
srl_idiom.setOnRefreshListener(this)
val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
transaction.add(R.id.flIdiom, idiomFragment, IdiomFragment::class.java.simpleName)
transaction.show(idiomFragment)
transaction.commitAllowingStateLoss()
}
override fun onHiddenChanged(hidden: Boolean) {
if (hidden) { // 不在最前端界面显示
onPause()
} else { // 重新显示到最前端中
onResume()
}
super.onHiddenChanged(hidden)
}
override fun onResume() {
super.onResume()
if (AppConfig.fragmentClickFlag == Constant.FRAGMENT_CLICK_FOUR) {
if (TextUtils.isEmpty(UserManager.getInstance().userID)) {
// 游客登录
showToast("请先登录账号")
} else {
// 只有用户token失效或主动退出时 scene_idiom_flag=true
// 防止新户登录后 界面没有刷新
if (AppConfig.scene_idiom_flag) {
AppConfig.scene_idiom_flag = false
idiomFragment.refreshData(0)
}
}
}
}
override fun onRefresh(refreshLayout: RefreshLayout) {
Timer().schedule(800) {
activity?.runOnUiThread {
srl_idiom.finishRefresh(true)
idiomFragment.refreshData(0)
}
}
}
}
\ No newline at end of file
......@@ -18,6 +18,7 @@ import com.mints.goodmoney.manager.AppTryPlayManager
import com.mints.goodmoney.manager.DownloadApkManager
import com.mints.goodmoney.manager.TrackManager
import com.mints.goodmoney.mvp.model.CpdModelBean
import com.mints.goodmoney.mvp.model.SydCpdListBean
import com.mints.goodmoney.mvp.model.TzTaskBean
import com.mints.goodmoney.mvp.presenters.TaskPresenter
import com.mints.goodmoney.mvp.views.TaskView
......@@ -169,16 +170,47 @@ class TaskCpdFragment : BaseFragment(), TaskView,
mCoralDownload?.pull()
}
} else if (cpdMax > 0) {
for (i in 0 until cpdMax) {
loadCPDData()
}
// for (i in 0 until cpdMax) {
// loadCPDData()
// }
loadCPDDataList()
} else {
notifyDataAndShowAd()
}
}
private fun loadCPDDataList() {
taskPresenter.getCpdListDetail(outNetIp, cpdMax)
}
override fun getCpdModelSuc(dataBean: CpdModelBean.DataBean) {
// for (material in dataBean.materials) {
// // 校验包名、下载apk为空 跳过
// if (TextUtils.isEmpty(material.app_apk_name) || TextUtils.isEmpty(material.app_url)) {
// if (BuildConfig.DEBUG) {
// LogUtil.d(TAG, "syd getCpdModelSuc 校验包名、下载apk为空 跳过${dataBean.uuid}")
// }
// continue
// }
//
// val tzTaskBean = TzTaskBean(material.icons, material.description, material.title, false, mCoin, 0, material.app_apk_name)
// tzTaskBean.app_url = material.app_url
// tzTaskBean.trackerBean = material.tracker
// mFakeTaskList.add(tzTaskBean)
// }
//
// // 圣于地广告 循环完成后去重
// if (cpdLoadCountTime++ >= cpdMax - 1) {
// getCpdRepeatPkg()
// }
LogUtil.d(TAG, "syd getCpdModelSuc " + cpdLoadCountTime)
}
override fun getCpdListModelSuc(dataBean: SydCpdListBean.DataBean) {
for (material in dataBean.materials) {
// 校验包名、下载apk为空 跳过
if (TextUtils.isEmpty(material.app_apk_name) || TextUtils.isEmpty(material.app_url)) {
......@@ -188,31 +220,30 @@ class TaskCpdFragment : BaseFragment(), TaskView,
continue
}
val tzTaskBean = TzTaskBean(material.icons, material.description, material.title, false, mCoin, 0, material.app_apk_name)
val tzTaskBean = TzTaskBean(material.icons, material.app_name, material.description, false, mCoin, 0, material.app_apk_name)
tzTaskBean.app_url = material.app_url
tzTaskBean.trackerBean = material.tracker
mFakeTaskList.add(tzTaskBean)
}
// 圣于地广告 循环完成后去重
if (cpdLoadCountTime++ >= cpdMax - 1) {
getCpdRepeatPkg()
}
LogUtil.d(TAG, "syd getCpdModelSuc " + cpdLoadCountTime)
}
override fun getCpdModelFail() {
// LogUtil.d(TAG, "syd getCpdModelFail")
if (cpdLoadCountTime++ >= cpdMax - 1) {
// if (cpdLoadCountTime++ >= cpdMax - 1) {
// getCpdRepeatPkg()
// }
getCpdRepeatPkg()
}
LogUtil.d(TAG, "syd getCpdModelFail " + cpdLoadCountTime)
}
override fun onRefresh(refreshLayout: RefreshLayout) {
onDestoryBroadcastReceiver()
loadData()
}
......@@ -338,9 +369,10 @@ class TaskCpdFragment : BaseFragment(), TaskView,
return
}
for (i in 0 until cpdMax) {
loadCPDData()
}
// for (i in 0 until cpdMax) {
// loadCPDData()
// }
loadCPDDataList()
}
}
......@@ -353,9 +385,10 @@ class TaskCpdFragment : BaseFragment(), TaskView,
return
}
for (i in 0 until cpdMax) {
loadCPDData()
}
// for (i in 0 until cpdMax) {
// loadCPDData()
// }
loadCPDDataList()
}
}
......@@ -381,11 +414,7 @@ class TaskCpdFragment : BaseFragment(), TaskView,
mDownloadProcess = null
DownloadApkManager.destroy()
if (mReceiverBroadcastReceiver != null) {
activity?.stopService(Intent(activity, AppInstallService::class.java))
activity?.unregisterReceiver(mReceiverBroadcastReceiver)
mReceiverBroadcastReceiver = null
}
onDestoryBroadcastReceiver()
taskPresenter.detachView()
super.onDestroy()
......@@ -596,6 +625,8 @@ class TaskCpdFragment : BaseFragment(), TaskView,
taskPresenter.cmtImp(trackerBean.activation[0])
}
}
onDestoryBroadcastReceiver()
} else {
if (AppTryPlayManager.getTryPlayIsOK(currentPkgName, 5)) {
// 试玩时间不足
......@@ -666,4 +697,12 @@ class TaskCpdFragment : BaseFragment(), TaskView,
}
}
}
fun onDestoryBroadcastReceiver() {
if (mReceiverBroadcastReceiver != null) {
mContext.stopService(Intent(context, AppInstallService::class.java))
mContext.unregisterReceiver(mReceiverBroadcastReceiver)
mReceiverBroadcastReceiver = null
}
}
}
\ No newline at end of file
......@@ -75,6 +75,7 @@ class ZhangyueFragment : LazyLoadBaseFragment(), BookView, IreaderApi.OnReadChan
override fun onReadPage(time: Long) {
}
override fun readSecondsSuc(coin: Int) {
if (coin > 0) {
val bundle = Bundle()
......@@ -97,4 +98,30 @@ class ZhangyueFragment : LazyLoadBaseFragment(), BookView, IreaderApi.OnReadChan
.create()
}
}
// override fun addBookShelf(p0: Bundle?) {
// }
//
// override fun onReadStart(p0: Bundle?) {
// }
//
// override fun onReadEnd(p0: Bundle?) {
// // LogUtil.d(TAG, "onReadEnd time:" + time)
//// LogUtil.d(TAG, "onReadEnd time(Int):" + (time/1000).toInt())
//
// val seconds = (p0!!.getLong(IreaderApi.BOOK_TIME).toLong() / 1000).toInt()
// // 阅读5秒以上 保存时长
// if (seconds > 5) {
// bookPresenter.addReadSeconds(seconds)
// }
// }
//
// override fun onDeleteBook(p0: String?) {
// }
//
// override fun onReadPage(p0: Bundle?) {
// }
//
// override fun onChangeNight(p0: Boolean) {
// }
}
\ No newline at end of file
......@@ -17,9 +17,11 @@ import cn.sharesdk.framework.PlatformActionListener
import cn.sharesdk.framework.ShareSDK
import cn.sharesdk.wechat.friends.Wechat
import cn.sharesdk.wechat.moments.WechatMoments
import com.mints.goodmoney.BuildConfig
import com.mints.goodmoney.MintsApplication
import com.mints.goodmoney.R
import com.mints.goodmoney.common.Constant
import com.mints.goodmoney.manager.UserManager
import com.mints.goodmoney.ui.adapter.SharePagerAdapter
import com.mints.goodmoney.ui.widgets.seekbar.BubbleUtils
import com.mints.goodmoney.utils.QRCodeUtil
......@@ -73,7 +75,8 @@ class ShareDialog(context: Context) : Dialog(context, R.style.dialog) {
viewPager = findViewById(R.id.view_pager)
viewPager.pageMargin = BubbleUtils.dp2px(30)
val QRCode = QRCodeUtil.createQRCode(Constant.SHARE_URL, 50)
val SHARE_URL: String = BuildConfig.MainIp + "wxShare/toShare?shareId=" + UserManager.getInstance().userID
val QRCode = QRCodeUtil.createQRCode(SHARE_URL, 50)
val inflater = LayoutInflater.from(context)
val view1 = inflater.inflate(R.layout.item_share_view, null)
val view2 = inflater.inflate(R.layout.item_share_view, null)
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_50E8E8E8"
android:orientation="vertical">
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/srl_idiom"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srlAccentColor="@color/gray"
app:srlPrimaryColor="@color/color_50E8E8E8">
<com.scwang.smartrefresh.layout.header.ClassicsHeader
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/flIdiom"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</LinearLayout>
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 to comment