Commit d565501d authored by mengcuiguang's avatar mengcuiguang

接口调试

parent 6e2cd387
...@@ -23,8 +23,8 @@ android { ...@@ -23,8 +23,8 @@ android {
//配置so文件 //配置so文件
ndk { ndk {
// abiFilters "armeabi", "armeabi-v7a", "x86", "mips" abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
abiFilters "armeabi", "armeabi-v7a" // abiFilters "armeabi", "armeabi-v7a"
} }
manifestPlaceholders = [CHANNEL_NAME_VALUE: "goodmoney", manifestPlaceholders = [CHANNEL_NAME_VALUE: "goodmoney",
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
...@@ -17,16 +19,18 @@ ...@@ -17,16 +19,18 @@
tools:ignore="ProtectedPermissions" /> tools:ignore="ProtectedPermissions" />
<permission <permission
android:name="${applicationId}.permission.JPUSH_MESSAGE" android:name="com.mints.goodmoney.permission.JPUSH_MESSAGE"
android:protectionLevel="signature" /> android:protectionLevel="signature" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="${applicationId}.permission.JPUSH_MESSAGE" /> <uses-permission android:name="com.mints.goodmoney.permission.JPUSH_MESSAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<application <application
android:name=".MintsApplication" android:name=".MintsApplication"
...@@ -37,6 +41,7 @@ ...@@ -37,6 +41,7 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/CustomAppTheme" android:theme="@style/CustomAppTheme"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
android:requestLegacyExternalStorage="true"
tools:ignore="GoogleAppIndexingWarning"> tools:ignore="GoogleAppIndexingWarning">
<!-- 适配小米(xiaomi)刘海屏 --> <!-- 适配小米(xiaomi)刘海屏 -->
...@@ -84,7 +89,7 @@ ...@@ -84,7 +89,7 @@
<activity <activity
android:name=".ui.activitys.SplashActivity" android:name=".ui.activitys.SplashYlhActivity"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
...@@ -198,7 +203,7 @@ ...@@ -198,7 +203,7 @@
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider" android:authorities="com.mints.goodmoney.fileprovider"
android:exported="false" android:exported="false"
android:grantUriPermissions="true" android:grantUriPermissions="true"
tools:replace="android:authorities"> tools:replace="android:authorities">
...@@ -208,11 +213,6 @@ ...@@ -208,11 +213,6 @@
tools:replace="android:resource" /> tools:replace="android:resource" />
</provider> </provider>
<!-- 一览 今⽇日头条sdk需添加 -->
<provider
android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
android:authorities="${applicationId}.TTMultiProvider"
android:exported="false" />
<!-- 鱼丸盒子广告 --> <!-- 鱼丸盒子广告 -->
<provider <provider
...@@ -227,6 +227,10 @@ ...@@ -227,6 +227,10 @@
<!-- 穿山甲广告 --> <!-- 穿山甲广告 -->
<provider
android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
android:authorities="${applicationId}.TTMultiProvider"
android:exported="false" />
<provider <provider
android:name="com.bytedance.sdk.openadsdk.TTFileProvider" android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
android:authorities="${applicationId}.TTFileProvider" android:authorities="${applicationId}.TTFileProvider"
...@@ -237,6 +241,7 @@ ...@@ -237,6 +241,7 @@
android:resource="@xml/file_paths" /> android:resource="@xml/file_paths" />
</provider> </provider>
<!-- 广点通广告 --> <!-- 广点通广告 -->
<uses-library <uses-library
android:name="org.apache.http.legacy" android:name="org.apache.http.legacy"
...@@ -257,16 +262,6 @@ ...@@ -257,16 +262,6 @@
android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<!-- 变现猫 -->
<!-- <provider-->
<!-- android:name="android.support.v4.content.FileProvider"-->
<!-- android:authorities="${applicationId}.fileprovider"-->
<!-- android:exported="false"-->
<!-- android:grantUriPermissions="true">-->
<!-- <meta-data-->
<!-- android:name="android.support.FILE_PROVIDER_PATHS"-->
<!-- android:resource="@xml/new_app_file_paths" />-->
<!-- </provider>-->
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -6,7 +6,9 @@ import android.content.Context ...@@ -6,7 +6,9 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import cn.jpush.android.api.BasicPushNotificationBuilder import cn.jpush.android.api.BasicPushNotificationBuilder
import cn.jpush.android.api.JPushInterface import cn.jpush.android.api.JPushInterface
import com.mints.goodmoney.manager.BxmManager.initBxm
import com.mints.goodmoney.manager.ShumeiManager import com.mints.goodmoney.manager.ShumeiManager
import com.mints.goodmoney.manager.ZhangyueManager.onCreateIreader
import com.mints.library.utils.CommonUtils import com.mints.library.utils.CommonUtils
import com.mob.MobSDK import com.mob.MobSDK
import com.orhanobut.logger.AndroidLogAdapter import com.orhanobut.logger.AndroidLogAdapter
...@@ -71,6 +73,12 @@ class InitAppService : IntentService("InitializeService") { ...@@ -71,6 +73,12 @@ class InitAppService : IntentService("InitializeService") {
// 极光推送 // 极光推送
initJpush() initJpush()
// 掌阅书城
onCreateIreader(this.application)
// 变现猫
initBxm(this.application)
} }
/** /**
......
...@@ -4,6 +4,7 @@ import android.content.Context; ...@@ -4,6 +4,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Build; import android.os.Build;
import android.text.TextUtils; import android.text.TextUtils;
import android.webkit.WebView;
import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.multidex.MultiDex; import androidx.multidex.MultiDex;
...@@ -11,17 +12,16 @@ import androidx.multidex.MultiDexApplication; ...@@ -11,17 +12,16 @@ import androidx.multidex.MultiDexApplication;
import com.bun.miitmdid.core.JLibrary; import com.bun.miitmdid.core.JLibrary;
import com.component.dly.xzzq_ywsdk.YwSDK; import com.component.dly.xzzq_ywsdk.YwSDK;
import com.mints.goodmoney.manager.BxmManager; import com.mints.goodmoney.common.Constant;
import com.mints.goodmoney.manager.LiebaoManager; import com.mints.goodmoney.manager.LiebaoManager;
import com.mints.goodmoney.manager.OaidManager; import com.mints.goodmoney.manager.OaidManager;
import com.mints.goodmoney.manager.TtCsjAdManager; import com.mints.goodmoney.manager.TtCsjAdManager;
import com.mints.goodmoney.manager.UserManager; import com.mints.goodmoney.manager.UserManager;
import com.mints.goodmoney.manager.YlhAdManager; import com.mints.goodmoney.manager.YlhAdManager;
import com.mints.goodmoney.manager.ZhangyueManager; import com.mints.goodmoney.manager.ZhangyueManager;
import com.mints.goodmoney.utils.LogUtil;
import com.mints.goodmoney.common.Constant;
import com.mints.goodmoney.net.LoanService; import com.mints.goodmoney.net.LoanService;
import com.mints.goodmoney.utils.ForegroundOrBackground; import com.mints.goodmoney.utils.ForegroundOrBackground;
import com.mints.goodmoney.utils.LogUtil;
import com.mints.goodmoney.utils.SystemUtils; import com.mints.goodmoney.utils.SystemUtils;
import com.mints.goodmoney.utils.rxutil.CommonRxTask; import com.mints.goodmoney.utils.rxutil.CommonRxTask;
import com.mints.goodmoney.utils.rxutil.RxjavaUtil; import com.mints.goodmoney.utils.rxutil.RxjavaUtil;
...@@ -30,8 +30,6 @@ import com.yilan.sdk.ui.configs.CommentConfig; ...@@ -30,8 +30,6 @@ import com.yilan.sdk.ui.configs.CommentConfig;
import com.yilan.sdk.ui.configs.FeedConfig; import com.yilan.sdk.ui.configs.FeedConfig;
import com.yilan.sdk.ui.configs.YLUIConfig; import com.yilan.sdk.ui.configs.YLUIConfig;
import net.grandcentrix.tray.AppPreferences;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import rx.Scheduler; import rx.Scheduler;
...@@ -94,6 +92,14 @@ public class MintsApplication extends MultiDexApplication { ...@@ -94,6 +92,14 @@ public class MintsApplication extends MultiDexApplication {
// 移动安全联盟 oaid // 移动安全联盟 oaid
initOaid(); initOaid();
//Android 9 or above must be set
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
String processName = getProcessName();
if (!getPackageName().equals(processName)) {
WebView.setDataDirectorySuffix(processName);
}
}
// 子线程初始化三方SDK // 子线程初始化三方SDK
String processName = SystemUtils.INSTANCE.getProcessName(this, android.os.Process.myPid()); String processName = SystemUtils.INSTANCE.getProcessName(this, android.os.Process.myPid());
if (processName != null) { if (processName != null) {
...@@ -119,11 +125,11 @@ public class MintsApplication extends MultiDexApplication { ...@@ -119,11 +125,11 @@ public class MintsApplication extends MultiDexApplication {
// 猎豹游戏初始化 // 猎豹游戏初始化
LiebaoManager.getInstance().initCmGameSdk(); LiebaoManager.getInstance().initCmGameSdk();
// 掌阅书城 // // 掌阅书城
ZhangyueManager.INSTANCE.onCreateIreader(this); // ZhangyueManager.INSTANCE.onCreateIreader(this);
//
// 变现猫 // // 变现猫
BxmManager.INSTANCE.initBxm(this); // BxmManager.INSTANCE.initBxm(this);
} }
/** /**
...@@ -154,7 +160,6 @@ public class MintsApplication extends MultiDexApplication { ...@@ -154,7 +160,6 @@ public class MintsApplication extends MultiDexApplication {
* 穿山甲 * 穿山甲
*/ */
private void initCsj() { private void initCsj() {
// LogUtil.d("csjcsj",TtCsjAdManager.getVersion());
TtCsjAdManager.init(this); TtCsjAdManager.init(this);
} }
......
...@@ -8,6 +8,7 @@ import android.view.KeyEvent; ...@@ -8,6 +8,7 @@ import android.view.KeyEvent;
import com.bytedance.sdk.openadsdk.AdSlot; import com.bytedance.sdk.openadsdk.AdSlot;
import com.bytedance.sdk.openadsdk.TTAdConstant; import com.bytedance.sdk.openadsdk.TTAdConstant;
import com.bytedance.sdk.openadsdk.TTAdNative; import com.bytedance.sdk.openadsdk.TTAdNative;
import com.bytedance.sdk.openadsdk.TTAppDownloadListener;
import com.bytedance.sdk.openadsdk.TTRewardVideoAd; import com.bytedance.sdk.openadsdk.TTRewardVideoAd;
import com.mints.goodmoney.BuildConfig; import com.mints.goodmoney.BuildConfig;
import com.mints.goodmoney.MintsApplication; import com.mints.goodmoney.MintsApplication;
...@@ -19,6 +20,7 @@ import com.mints.goodmoney.manager.UserManager; ...@@ -19,6 +20,7 @@ import com.mints.goodmoney.manager.UserManager;
import com.mints.goodmoney.mvp.presenters.CsjVedioAdPresenter; import com.mints.goodmoney.mvp.presenters.CsjVedioAdPresenter;
import com.mints.goodmoney.mvp.views.VedioAdManagerView; import com.mints.goodmoney.mvp.views.VedioAdManagerView;
import com.mints.goodmoney.ui.widgets.LoadingDialog; import com.mints.goodmoney.ui.widgets.LoadingDialog;
import com.mints.goodmoney.utils.LogUtil;
import com.mints.goodmoney.utils.MD5; import com.mints.goodmoney.utils.MD5;
import com.mints.goodmoney.utils.SPUtil; import com.mints.goodmoney.utils.SPUtil;
import com.mints.goodmoney.utils.ToastUtil; import com.mints.goodmoney.utils.ToastUtil;
...@@ -90,11 +92,8 @@ public class CsjVedioAdManager implements VedioAdManagerView { ...@@ -90,11 +92,8 @@ public class CsjVedioAdManager implements VedioAdManagerView {
* *
* @param carrierType * @param carrierType
*/ */
public void loadCsjAd(int curCoin, String carrierType, String extraId) { public void loadCsjAd(Activity activity,int curCoin, String carrierType, String extraId) {
if (activity == null) { this.activity = activity;
showToast("界面加载超时,请重新加载");
return;
}
isClickScreen = true; isClickScreen = true;
this.curCoin = curCoin; this.curCoin = curCoin;
this.extraId = extraId; this.extraId = extraId;
......
...@@ -74,7 +74,8 @@ public class VedioAdingManager { ...@@ -74,7 +74,8 @@ public class VedioAdingManager {
* *
* @param bean * @param bean
*/ */
public void loadAding(VedioAdingBean bean) { public void loadAding(Activity activity, VedioAdingBean bean) {
this.activity = activity;
isVedioAdDownload = false; isVedioAdDownload = false;
loadAdVedio(getVedioAdType(), bean); loadAdVedio(getVedioAdType(), bean);
} }
...@@ -84,7 +85,8 @@ public class VedioAdingManager { ...@@ -84,7 +85,8 @@ public class VedioAdingManager {
* *
* @param bean * @param bean
*/ */
public void loadFailAding(VedioAdingBean bean) { public void loadFailAding(Activity activity, VedioAdingBean bean) {
this.activity = activity;
isVedioAdDownload = false; isVedioAdDownload = false;
loadAdVedio(getNextAdType(), bean); loadAdVedio(getNextAdType(), bean);
} }
...@@ -186,12 +188,14 @@ public class VedioAdingManager { ...@@ -186,12 +188,14 @@ public class VedioAdingManager {
/** /**
* 释放资源 * 释放资源
*/ */
public void destory() { public void onDestory() {
if (csjVedioAdManager != null) { if (csjVedioAdManager != null) {
csjVedioAdManager.setCsjVedioAdListener(null);
csjVedioAdManager.destory(); csjVedioAdManager.destory();
csjVedioAdManager = null; csjVedioAdManager = null;
} }
if (ylhVedioAdManager != null) { if (ylhVedioAdManager != null) {
ylhVedioAdManager.setYlhVedioAdListener(null);
ylhVedioAdManager.destory(); ylhVedioAdManager.destory();
ylhVedioAdManager = null; ylhVedioAdManager = null;
} }
...@@ -208,9 +212,7 @@ public class VedioAdingManager { ...@@ -208,9 +212,7 @@ public class VedioAdingManager {
*/ */
public interface VedioAdingListener { public interface VedioAdingListener {
void vedioAdingListenerError(String adType); void vedioAdingListenerError(String adType);
void vedioAdingListenerFail(String adType); void vedioAdingListenerFail(String adType);
void vedioAdingListenerSuccess(String adType); void vedioAdingListenerSuccess(String adType);
} }
...@@ -260,7 +262,7 @@ public class VedioAdingManager { ...@@ -260,7 +262,7 @@ public class VedioAdingManager {
isVedioAdDownload = true; isVedioAdDownload = true;
} }
}); });
ylhVedioAdManager.loanYlhAd(bean.getCurCoin(), bean.getCarrierType(), bean.getExtraId()); ylhVedioAdManager.loanYlhAd(activity, bean.getCurCoin(), bean.getCarrierType(), bean.getExtraId());
} else if (TextUtils.equals(vedioAdType, Constant.CSJ_VEDIO_AD)) { } else if (TextUtils.equals(vedioAdType, Constant.CSJ_VEDIO_AD)) {
// 穿山甲激励视频 // 穿山甲激励视频
if (csjVedioAdManager == null) { if (csjVedioAdManager == null) {
...@@ -295,7 +297,7 @@ public class VedioAdingManager { ...@@ -295,7 +297,7 @@ public class VedioAdingManager {
isVedioAdDownload = true; isVedioAdDownload = true;
} }
}); });
csjVedioAdManager.loadCsjAd(bean.getCurCoin(), bean.getCarrierType(), bean.getExtraId()); csjVedioAdManager.loadCsjAd(activity, bean.getCurCoin(), bean.getCarrierType(), bean.getExtraId());
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
......
...@@ -74,11 +74,8 @@ public class YlhVedioAdManager implements VedioAdManagerView { ...@@ -74,11 +74,8 @@ public class YlhVedioAdManager implements VedioAdManagerView {
/** /**
* 加载优量汇激励视频 * 加载优量汇激励视频
*/ */
public void loanYlhAd(int curCoin, String carrierType, String extraId) { public void loanYlhAd(Activity activity,int curCoin, String carrierType, String extraId) {
if (activity == null) { this.activity = activity;
showToast("界面加载超时,请重新加载");
return;
}
isClickScreen = true; isClickScreen = true;
this.curCoin = curCoin; this.curCoin = curCoin;
this.extraId = extraId; this.extraId = extraId;
......
package com.mints.goodmoney.mvp.model; package com.mints.goodmoney.mvp.model;
import java.io.Serializable;
import java.util.List; import java.util.List;
public class FriendsTaskBean { public class FriendsTaskBean implements Serializable {
/** /**
* challenge : {"complete":0,"list":[{"button":"去邀请","rewardCoin":100,"title":"任务一","remarks":"邀请1个好友 (0/1)","status":0},{"button":"去邀请","rewardCoin":200,"title":"任务二","remarks":"邀请5个好友 (0/5)","status":0},{"button":"去邀请","rewardCoin":300,"title":"任务三","remarks":"邀请10个好友 (0/10)","status":0},{"button":"去邀请","rewardCoin":400,"title":"任务四","remarks":"邀请20个好友 (0/20)","status":0},{"button":"去邀请","rewardCoin":500,"title":"任务五","remarks":"邀请50个好友 (0/50)","status":0},{"button":"去邀请","rewardCoin":600,"title":"任务六","remarks":"邀请100个好友 (0/100)","status":0}]} * challenge : {"complete":0,"list":[{"button":"去邀请","rewardCoin":100,"title":"任务一","remarks":"邀请1个好友 (0/1)","status":0},{"button":"去邀请","rewardCoin":200,"title":"任务二","remarks":"邀请5个好友 (0/5)","status":0},{"button":"去邀请","rewardCoin":300,"title":"任务三","remarks":"邀请10个好友 (0/10)","status":0},{"button":"去邀请","rewardCoin":400,"title":"任务四","remarks":"邀请20个好友 (0/20)","status":0},{"button":"去邀请","rewardCoin":500,"title":"任务五","remarks":"邀请50个好友 (0/50)","status":0},{"button":"去邀请","rewardCoin":600,"title":"任务六","remarks":"邀请100个好友 (0/100)","status":0}]}
...@@ -28,7 +29,7 @@ public class FriendsTaskBean { ...@@ -28,7 +29,7 @@ public class FriendsTaskBean {
this.friends = friends; this.friends = friends;
} }
public static class ChallengeBean { public class ChallengeBean implements Serializable{
/** /**
* complete : 0 * complete : 0
* list : [{"button":"去邀请","rewardCoin":100,"title":"任务一","remarks":"邀请1个好友 (0/1)","status":0},{"button":"去邀请","rewardCoin":200,"title":"任务二","remarks":"邀请5个好友 (0/5)","status":0},{"button":"去邀请","rewardCoin":300,"title":"任务三","remarks":"邀请10个好友 (0/10)","status":0},{"button":"去邀请","rewardCoin":400,"title":"任务四","remarks":"邀请20个好友 (0/20)","status":0},{"button":"去邀请","rewardCoin":500,"title":"任务五","remarks":"邀请50个好友 (0/50)","status":0},{"button":"去邀请","rewardCoin":600,"title":"任务六","remarks":"邀请100个好友 (0/100)","status":0}] * list : [{"button":"去邀请","rewardCoin":100,"title":"任务一","remarks":"邀请1个好友 (0/1)","status":0},{"button":"去邀请","rewardCoin":200,"title":"任务二","remarks":"邀请5个好友 (0/5)","status":0},{"button":"去邀请","rewardCoin":300,"title":"任务三","remarks":"邀请10个好友 (0/10)","status":0},{"button":"去邀请","rewardCoin":400,"title":"任务四","remarks":"邀请20个好友 (0/20)","status":0},{"button":"去邀请","rewardCoin":500,"title":"任务五","remarks":"邀请50个好友 (0/50)","status":0},{"button":"去邀请","rewardCoin":600,"title":"任务六","remarks":"邀请100个好友 (0/100)","status":0}]
...@@ -53,7 +54,7 @@ public class FriendsTaskBean { ...@@ -53,7 +54,7 @@ public class FriendsTaskBean {
this.list = list; this.list = list;
} }
public static class ListBean { public class ListBean implements Serializable{
/** /**
* button : 去邀请 * button : 去邀请
* rewardCoin : 100 * rewardCoin : 100
...@@ -119,7 +120,7 @@ public class FriendsTaskBean { ...@@ -119,7 +120,7 @@ public class FriendsTaskBean {
} }
} }
public static class FriendsBean { public class FriendsBean implements Serializable{
/** /**
* friendSum : 1 * friendSum : 1
* list : [{"head":"","rcoin":0,"nickName":"","mobile":"186****1554","ruid":2028614250701500000,"time":"10月14日","cashout":0}] * list : [{"head":"","rcoin":0,"nickName":"","mobile":"186****1554","ruid":2028614250701500000,"time":"10月14日","cashout":0}]
...@@ -144,7 +145,7 @@ public class FriendsTaskBean { ...@@ -144,7 +145,7 @@ public class FriendsTaskBean {
this.list = list; this.list = list;
} }
public static class ListBeanX { public class ListBeanX implements Serializable{
/** /**
* head : * head :
* rcoin : 0 * rcoin : 0
......
package com.mints.goodmoney.mvp.model;
import java.io.Serializable;
/**
* 地理位置信息
*/
public class GpsInfo implements Serializable {
private String longitude;
private String latitude;
private String address;
private String province; // 省
private String city; // 市
private String district; // 区
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
package com.mints.goodmoney.mvp.model;
import java.io.Serializable;
/**
* Description: 地理位置数据bean
*/
public class LocationBean implements Serializable {
/*
latitude=39.958008longitude=116.467249
province=北京市#city=北京市#district=朝阳区#
cityCode=010#adCode=110105#address=
北京市朝阳区天泽路靠近中国银行(北京霄云路支行)#
country=中国#road=天泽路#poiName=中国银行(北京霄云路支行)
#street=女人街#streetNum=38号#aoiName=新恒基国际大厦#errorCode=0
#errorInfo=success#locationDetail=-1#locationType=5
*/
private Double latitude;
private Double longitude;
private String province;
private String city;
private String district;
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Double getLatitude() {
return latitude;
}
public void setLatitude(Double latitude) {
this.latitude = latitude;
}
public Double getLongitude() {
return longitude;
}
public void setLongitude(Double longitude) {
this.longitude = longitude;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
}
...@@ -160,7 +160,7 @@ public class MyInfo implements Serializable { ...@@ -160,7 +160,7 @@ public class MyInfo implements Serializable {
} }
} }
public static class UserMsgBean { public class UserMsgBean implements Serializable{
/** /**
* head : * head :
* realName : null * realName : null
......
...@@ -3,6 +3,7 @@ package com.mints.goodmoney.mvp.model; ...@@ -3,6 +3,7 @@ package com.mints.goodmoney.mvp.model;
import java.io.Serializable; import java.io.Serializable;
public class PkgInfo implements Serializable { public class PkgInfo implements Serializable {
private String name; private String name;
private String pkgName; private String pkgName;
private long installTime; private long installTime;
...@@ -30,4 +31,5 @@ public class PkgInfo implements Serializable { ...@@ -30,4 +31,5 @@ public class PkgInfo implements Serializable {
public void setInstallTime(long installTime) { public void setInstallTime(long installTime) {
this.installTime = installTime; this.installTime = installTime;
} }
} }
package com.mints.goodmoney.mvp.model; package com.mints.goodmoney.mvp.model;
public class TaskBean { import java.io.Serializable;
public class TaskBean implements Serializable {
private int imageSrc; private int imageSrc;
private String title; private String title;
......
package com.mints.goodmoney.mvp.model;
import java.io.Serializable;
public class UserMsgBean implements Serializable {
private int firstGiveCoin;
public int getFirstGiveCoin() {
return firstGiveCoin;
}
}
...@@ -5,14 +5,19 @@ import java.util.ArrayList; ...@@ -5,14 +5,19 @@ import java.util.ArrayList;
public class UserTaskMsgBean implements Serializable { public class UserTaskMsgBean implements Serializable {
private int coin;//金币
private OfflineBean offline; private OfflineBean offline;
private UserMsgBean userMsg;
public int getCoin() { private VedioRulesBean vedioRules;
return coin;
}
public OfflineBean getOfflineBean() { public OfflineBean getOfflineBean() {
return offline; return offline;
} }
public UserMsgBean getUserMsg() {
return userMsg;
}
public VedioRulesBean getVedioRules() {
return vedioRules;
}
} }
package com.mints.goodmoney.mvp.model;
import java.io.Serializable;
public class UserVersusBean implements Serializable {
// Complete 0-未完成 1-完成 2-领取
private int challenge_vedio1_vedio_coin;
private int challenge_firsthomegame_complete;
private int challenge_wechat_coin;
private int challenge_firstwater_coin;
private int challenge_vedio1_maxcount;
private int challenge_notice_complete;
private int challenge_download1_maxcount;
private int challenge_firstwater_complete;
private int challenge_notice_coin;
private int csj_vedio_complatecount;
private int cardOrderType;
private int challenge_firstcashout_coin;
private int sys_task_time_interval;
private int challenge_mobile_complete;
private int csj_vedio_needcount;
private int challenge_firstcashout_complete;
private int challenge_idcode_coin;
private int challenge_vedio1_complatecount;
private int challenge_download1_complatecount;
private int challenge_mobile_coin;
private int challenge_vedio1_download_coin;
private int challenge_wechat_complete;
private int challenge_idcode_complete;
private int challenge_firsthomegame_coin;
private int challenge_download1_vedio_coin;
private int challenge_download1_download_coin;
private int turnOrderType;
private int gameChallengePlaytimesLevelOneCoin;
private int gameChallengePlaytimesLevelOneMinTimes;
private int gameChallengePlaytimesLevelOneStatus;
private int coinRate = 10000;
// 移动积分兑换
private boolean mobileCoinExchangeEnable; //true/false 是否展示积分兑换功能
private int mobileCoinExchangeStatus; //状态:0兑换未完成,1兑换完成未领取奖励
private int mobileCoinExchangeCompleteReward; //奖励积分
private String mobileCoinExchangeUrl; //状态为0时进入兑换url
private int firstGiveFriendCoin;// 好友金币
// 每日喝水
private int challenge_watercomplete_maxcount;
private int challenge_watercomplete_complatecount;
private int challenge_watercomplete_coin;
private int waterComplete;
// 每日分享
private int challenge_sharefriend_coin;
private int challenge_sharefriend_status;
private int challenge_sharefriend_complatecount;
private int challenge_sharefriend_maxcount;
private int challenge_health_breath_maxcount;
private int challenge_health_breath_coin;
private int challenge_health_breath_complatecount;
private int timelimit_challenge_health_breath;
private int challenge_health_eye_maxcount;
private int challenge_health_eye_coin;
private int challenge_health_eye_complatecount;
private int timelimit_challenge_health_eye;
private int challenge_health_fruit_maxcount;
private int challenge_health_fruit_coin;
private int challenge_health_fruit_complatecount;
private int timelimit_challenge_health_fruit;
private int challenge_health_stand_maxcount;
private int challenge_health_stand_coin;
private int challenge_health_stand_complatecount;
private int timelimit_challenge_health_stand;
private String ywhzCoin;
private boolean ywhzShow;
public int getChallenge_vedio1_vedio_coin() {
return challenge_vedio1_vedio_coin;
}
public int getChallenge_firsthomegame_complete() {
return challenge_firsthomegame_complete;
}
public int getChallenge_wechat_coin() {
return challenge_wechat_coin;
}
public int getChallenge_firstwater_coin() {
return challenge_firstwater_coin;
}
public int getChallenge_vedio1_maxcount() {
return challenge_vedio1_maxcount;
}
public int getChallenge_notice_complete() {
return challenge_notice_complete;
}
public int getChallenge_download1_maxcount() {
return challenge_download1_maxcount;
}
public int getChallenge_firstwater_complete() {
return challenge_firstwater_complete;
}
public int getChallenge_notice_coin() {
return challenge_notice_coin;
}
public int getCsj_vedio_complatecount() {
return csj_vedio_complatecount;
}
public int getCardOrderType() {
return cardOrderType;
}
public int getChallenge_firstcashout_coin() {
return challenge_firstcashout_coin;
}
public int getSys_task_time_interval() {
return sys_task_time_interval;
}
public int getChallenge_mobile_complete() {
return challenge_mobile_complete;
}
public int getCsj_vedio_needcount() {
return csj_vedio_needcount;
}
public int getChallenge_firstcashout_complete() {
return challenge_firstcashout_complete;
}
public int getChallenge_idcode_coin() {
return challenge_idcode_coin;
}
public int getChallenge_vedio1_complatecount() {
return challenge_vedio1_complatecount;
}
public int getChallenge_download1_complatecount() {
return challenge_download1_complatecount;
}
public int getChallenge_mobile_coin() {
return challenge_mobile_coin;
}
public int getChallenge_vedio1_download_coin() {
return challenge_vedio1_download_coin;
}
public int getChallenge_wechat_complete() {
return challenge_wechat_complete;
}
public int getChallenge_idcode_complete() {
return challenge_idcode_complete;
}
public int getChallenge_firsthomegame_coin() {
return challenge_firsthomegame_coin;
}
public int getChallenge_download1_vedio_coin() {
return challenge_download1_vedio_coin;
}
public int getChallenge_download1_download_coin() {
return challenge_download1_download_coin;
}
public int getTurnOrderType() {
return turnOrderType;
}
public int getGameChallengePlaytimesLevelOneCoin() {
return gameChallengePlaytimesLevelOneCoin;
}
public int getGameChallengePlaytimesLevelOneMinTimes() {
return gameChallengePlaytimesLevelOneMinTimes;
}
public int getGameChallengePlaytimesLevelOneStatus() {
return gameChallengePlaytimesLevelOneStatus;
}
public int getCoinRate() {
return coinRate;
}
public boolean isMobileCoinExchangeEnable() {
return mobileCoinExchangeEnable;
}
public int getMobileCoinExchangeStatus() {
return mobileCoinExchangeStatus;
}
public int getMobileCoinExchangeCompleteReward() {
return mobileCoinExchangeCompleteReward;
}
public String getMobileCoinExchangeUrl() {
return mobileCoinExchangeUrl;
}
public int getFirstGiveFriendCoin() {
return firstGiveFriendCoin;
}
public int getChallenge_watercomplete_maxcount() {
return challenge_watercomplete_maxcount;
}
public int getChallenge_watercomplete_complatecount() {
return challenge_watercomplete_complatecount;
}
public int getChallenge_watercomplete_coin() {
return challenge_watercomplete_coin;
}
public int getWaterComplete() {
return waterComplete;
}
public int getChallenge_sharefriend_coin() {
return challenge_sharefriend_coin;
}
public int getChallenge_sharefriend_status() {
return challenge_sharefriend_status;
}
public int getChallenge_sharefriend_complatecount() {
return challenge_sharefriend_complatecount;
}
public int getChallenge_sharefriend_maxcount() {
return challenge_sharefriend_maxcount;
}
public int getChallenge_health_breath_maxcount() {
return challenge_health_breath_maxcount;
}
public int getChallenge_health_breath_coin() {
return challenge_health_breath_coin;
}
public int getChallenge_health_breath_complatecount() {
return challenge_health_breath_complatecount;
}
public int getTimelimit_challenge_health_breath() {
return timelimit_challenge_health_breath;
}
public int getChallenge_health_eye_maxcount() {
return challenge_health_eye_maxcount;
}
public int getChallenge_health_eye_coin() {
return challenge_health_eye_coin;
}
public int getChallenge_health_eye_complatecount() {
return challenge_health_eye_complatecount;
}
public int getTimelimit_challenge_health_eye() {
return timelimit_challenge_health_eye;
}
public int getChallenge_health_fruit_maxcount() {
return challenge_health_fruit_maxcount;
}
public int getChallenge_health_fruit_coin() {
return challenge_health_fruit_coin;
}
public int getChallenge_health_fruit_complatecount() {
return challenge_health_fruit_complatecount;
}
public int getTimelimit_challenge_health_fruit() {
return timelimit_challenge_health_fruit;
}
public int getChallenge_health_stand_maxcount() {
return challenge_health_stand_maxcount;
}
public int getChallenge_health_stand_coin() {
return challenge_health_stand_coin;
}
public int getChallenge_health_stand_complatecount() {
return challenge_health_stand_complatecount;
}
public int getTimelimit_challenge_health_stand() {
return timelimit_challenge_health_stand;
}
public String getYwhzCoin() {
return ywhzCoin;
}
public boolean isYwhzShow() {
return ywhzShow;
}
}
package com.mints.goodmoney.mvp.model;
import java.io.Serializable;
public class VedioRulesBean implements Serializable {
private CsjVedioBean CSJ_VEDIO;
private YlhVedioBean YLH_VEDIO;
public class CsjVedioBean implements Serializable{
private int surplus;//剩余可看视频数
private int rate;//权重
public int getSurplus() {
return surplus;
}
public int getRate() {
return rate;
}
}
public class YlhVedioBean implements Serializable{
private int surplus;
private int rate;
public int getSurplus() {
return surplus;
}
public int getRate() {
return rate;
}
}
public CsjVedioBean getCSJ_VEDIO() {
return CSJ_VEDIO;
}
public YlhVedioBean getYLH_VEDIO() {
return YLH_VEDIO;
}
}
package com.mints.goodmoney.mvp.presenters; package com.mints.goodmoney.mvp.presenters;
import com.google.gson.JsonObject;
import com.mints.goodmoney.manager.AppHttpManager; import com.mints.goodmoney.manager.AppHttpManager;
import com.mints.goodmoney.mvp.model.BaseResponse; import com.mints.goodmoney.mvp.model.BaseResponse;
import com.mints.goodmoney.mvp.model.UserTaskMsgBean; import com.mints.goodmoney.mvp.model.UserTaskMsgBean;
...@@ -14,7 +15,7 @@ public class AwardPresenter extends BasePresenter<AwardView> { ...@@ -14,7 +15,7 @@ public class AwardPresenter extends BasePresenter<AwardView> {
public void getCoinMsg() { public void getCoinMsg() {
AppHttpManager.getInstance(loanApplication) AppHttpManager.getInstance(loanApplication)
.call(loanService.getCoinMsg(), .call(loanService.getCoinMsg(),
new BaseSubscriber<BaseResponse<UserTaskMsgBean>>() { new BaseSubscriber<BaseResponse<JsonObject>>() {
@Override @Override
public void onCompleted() { public void onCompleted() {
if (isLinkView()) return; if (isLinkView()) return;
...@@ -31,14 +32,17 @@ public class AwardPresenter extends BasePresenter<AwardView> { ...@@ -31,14 +32,17 @@ public class AwardPresenter extends BasePresenter<AwardView> {
} }
@Override @Override
public void onNext(BaseResponse<UserTaskMsgBean> baseResponse) { public void onNext(BaseResponse<JsonObject> baseResponse) {
if (isLinkView()) return; if (isLinkView()) return;
int code = baseResponse.getStatus(); int code = baseResponse.getStatus();
String message = baseResponse.getMessage(); String message = baseResponse.getMessage();
switch (code) { switch (code) {
case 200://成功 case 200://成功
view.getUserTaskMsgSuc(baseResponse.getData()); JsonObject data = baseResponse.getData();
if(data!=null){
view.getUserTaskMsgSuc(data.get("coin").getAsInt());
}
break; break;
default: default:
view.showToast(message); view.showToast(message);
......
...@@ -37,4 +37,30 @@ class BookPresenter : BasePresenter<BookView>() { ...@@ -37,4 +37,30 @@ class BookPresenter : BasePresenter<BookView>() {
} }
}) })
} }
fun getReadInfo() {
AppHttpManager.getInstance(loanApplication)
.call(loanService.getReadInfo(),
object : BaseSubscriber<BaseResponse<JsonObject>>() {
override fun onCompleted() {
}
override fun onError(e: Throwable) {
}
override fun onNext(baseResponse: BaseResponse<JsonObject>) {
val code = baseResponse.getStatus()
val data = baseResponse.data
when (code) {
200 -> {
if (data != null) {
val msg=data.getAsJsonObject("msg")
view.readInfo(msg["needSecods"].asInt,msg["coin"].asInt,msg["completeSeconds"].asInt)
}
}
else -> view.showToast(baseResponse.getMessage())
}
}
})
}
} }
\ No newline at end of file
package com.mints.goodmoney.mvp.presenters; package com.mints.goodmoney.mvp.presenters;
import com.google.gson.JsonObject;
import com.mints.goodmoney.manager.AppHttpManager; import com.mints.goodmoney.manager.AppHttpManager;
import com.mints.goodmoney.manager.UserManager; import com.mints.goodmoney.manager.UserManager;
import com.mints.goodmoney.mvp.model.BaseResponse; import com.mints.goodmoney.mvp.model.BaseResponse;
...@@ -18,8 +19,6 @@ public class GamePresenter extends BasePresenter<GameView> { ...@@ -18,8 +19,6 @@ public class GamePresenter extends BasePresenter<GameView> {
* 猎豹游戏上传信息 * 猎豹游戏上传信息
*/ */
public void gameAdd(String url, String eventType, HashMap<String, Object> vo) { public void gameAdd(String url, String eventType, HashMap<String, Object> vo) {
// view.showLoading("加载中...");
AppHttpManager.getInstance(loanApplication) AppHttpManager.getInstance(loanApplication)
.call(loanService.gameAdd(url, vo), .call(loanService.gameAdd(url, vo),
new BaseSubscriber<BaseResponse<Object>>() { new BaseSubscriber<BaseResponse<Object>>() {
...@@ -35,7 +34,6 @@ public class GamePresenter extends BasePresenter<GameView> { ...@@ -35,7 +34,6 @@ public class GamePresenter extends BasePresenter<GameView> {
if (isLinkView()) return; if (isLinkView()) return;
view.hideLoading(); view.hideLoading();
// view.showToast(e.getMessage());
} }
@Override @Override
...@@ -43,13 +41,45 @@ public class GamePresenter extends BasePresenter<GameView> { ...@@ -43,13 +41,45 @@ public class GamePresenter extends BasePresenter<GameView> {
if (isLinkView()) return; if (isLinkView()) return;
int code = baseResponse.getStatus(); int code = baseResponse.getStatus();
String message = baseResponse.getMessage();
switch (code) { switch (code) {
case 200://成功 case 200://成功
view.gameAddSuc(eventType, baseResponse.getData()); view.gameAddSuc(eventType, baseResponse.getData());
break; break;
default: }
// view.showToast(message); }
});
}
public void getGameInfo() {
AppHttpManager.getInstance(loanApplication)
.call(loanService.getGameInfo(),
new BaseSubscriber<BaseResponse<JsonObject>>() {
@Override
public void onCompleted() {
if (isLinkView()) return;
view.hideLoading();
}
@Override
public void onError(Throwable e) {
if (isLinkView()) return;
view.hideLoading();
}
@Override
public void onNext(BaseResponse<JsonObject> baseResponse) {
if (isLinkView()) return;
int code = baseResponse.getStatus();
JsonObject data = baseResponse.getData();
switch (code) {
case 200://成功
if (data != null) {
view.gameInfo(0, 0, 0);
}
break; break;
} }
} }
......
...@@ -6,6 +6,5 @@ interface AwardView : BaseView { ...@@ -6,6 +6,5 @@ interface AwardView : BaseView {
/** /**
* 获取用户配置信息成功 * 获取用户配置信息成功
*/ */
fun getUserTaskMsgSuc(data: UserTaskMsgBean) fun getUserTaskMsgSuc(coin: Int)
} }
\ No newline at end of file
...@@ -9,7 +9,6 @@ import com.mints.goodmoney.MintsApplication; ...@@ -9,7 +9,6 @@ import com.mints.goodmoney.MintsApplication;
* 邮箱:mengcga@163.com * 邮箱:mengcga@163.com
*/ */
public interface BaseView { public interface BaseView {
/** /**
* get view context * get view context
* *
...@@ -33,6 +32,4 @@ public interface BaseView { ...@@ -33,6 +32,4 @@ public interface BaseView {
* show error exception net message * show error exception net message
*/ */
void showToast(String msg); void showToast(String msg);
} }
package com.mints.goodmoney.mvp.views package com.mints.goodmoney.mvp.views
import com.mints.goodmoney.mvp.model.MainVedioMsgBean
import com.mints.goodmoney.mvp.model.UserTaskMsgBean
interface BookView : BaseView { interface BookView : BaseView {
fun readSecondsSuc(coin:Int) fun readSecondsSuc(coin:Int)
fun readInfo(sumTime:Int,sumCoin:Int,readTime:Int)
} }
...@@ -2,4 +2,6 @@ package com.mints.goodmoney.mvp.views; ...@@ -2,4 +2,6 @@ package com.mints.goodmoney.mvp.views;
public interface GameView extends BaseView { public interface GameView extends BaseView {
void gameAddSuc(String eventType, Object data); void gameAddSuc(String eventType, Object data);
void gameInfo(int sumTime,int sumCoin,int gameTime);
} }
...@@ -3,7 +3,6 @@ package com.mints.goodmoney.mvp.views ...@@ -3,7 +3,6 @@ package com.mints.goodmoney.mvp.views
import com.mints.goodmoney.mvp.model.DrawcashBean import com.mints.goodmoney.mvp.model.DrawcashBean
interface SettingsView : BaseView { interface SettingsView : BaseView {
/** /**
* 修改用户信息 * 修改用户信息
*/ */
......
...@@ -2,7 +2,5 @@ package com.mints.goodmoney.mvp.views; ...@@ -2,7 +2,5 @@ package com.mints.goodmoney.mvp.views;
public interface VedioAdManagerView extends BaseView { public interface VedioAdManagerView extends BaseView {
void checkSuc(boolean lyCmtFlag); void checkSuc(boolean lyCmtFlag);
} }
...@@ -5,9 +5,6 @@ import com.mints.goodmoney.mvp.model.WalkBean; ...@@ -5,9 +5,6 @@ import com.mints.goodmoney.mvp.model.WalkBean;
import com.mints.goodmoney.mvp.model.WaterBean; import com.mints.goodmoney.mvp.model.WaterBean;
public interface WalkView extends BaseView { public interface WalkView extends BaseView {
void getWalkMsgSuc(WalkBean data); void getWalkMsgSuc(WalkBean data);
void clickForWalkSuc(int walkCoin); void clickForWalkSuc(int walkCoin);
} }
...@@ -5,7 +5,6 @@ import com.mints.goodmoney.mvp.model.WalkBean; ...@@ -5,7 +5,6 @@ import com.mints.goodmoney.mvp.model.WalkBean;
import com.mints.goodmoney.mvp.model.WaterBean; import com.mints.goodmoney.mvp.model.WaterBean;
public interface WaterView extends BaseView { public interface WaterView extends BaseView {
/** /**
* 首页喝水 * 首页喝水
* *
......
...@@ -2,7 +2,6 @@ package com.mints.goodmoney.mvp.views; ...@@ -2,7 +2,6 @@ package com.mints.goodmoney.mvp.views;
public interface WxLoginView extends BaseView { public interface WxLoginView extends BaseView {
/** /**
* 登录成功 * 登录成功
*/ */
......
...@@ -174,7 +174,7 @@ public interface LoanService { ...@@ -174,7 +174,7 @@ public interface LoanService {
* @return * @return
*/ */
@POST("api/getCoinMsg") @POST("api/getCoinMsg")
Observable<BaseResponse<UserTaskMsgBean>> getCoinMsg(); Observable<BaseResponse<JsonObject>> getCoinMsg();
/** /**
* 穿山甲回调确认 * 穿山甲回调确认
...@@ -328,6 +328,23 @@ public interface LoanService { ...@@ -328,6 +328,23 @@ public interface LoanService {
@POST("api/addReadSeconds") @POST("api/addReadSeconds")
Observable<BaseResponse<JsonObject>> addReadSeconds(@Body Map<String, Object> vo); Observable<BaseResponse<JsonObject>> addReadSeconds(@Body Map<String, Object> vo);
/**
* 阅读信息
*
* @return
*/
@POST("api/getReadMsg")
Observable<BaseResponse<JsonObject>> getReadInfo();
/**
* 游戏信息
*
* @return
*/
@POST("api/game/baseMsg")
Observable<BaseResponse<JsonObject>> getGameInfo();
/** /**
* 默认http工厂 * 默认http工厂
*/ */
......
...@@ -30,7 +30,6 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener { ...@@ -30,7 +30,6 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener {
private lateinit var vedioAdingManager: VedioAdingManager private lateinit var vedioAdingManager: VedioAdingManager
private val awardPresenter by lazy { AwardPresenter() } private val awardPresenter by lazy { AwardPresenter() }
private var userConfig: UserTaskMsgBean? = null
private var mTimer: CountDownTimerSupport? = null private var mTimer: CountDownTimerSupport? = null
private var curCoin = 0 //传入金币 private var curCoin = 0 //传入金币
private var extraId = ""//传入key private var extraId = ""//传入key
...@@ -50,7 +49,7 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener { ...@@ -50,7 +49,7 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener {
vedioAdingManager = VedioAdingManager.getInstance(this) vedioAdingManager = VedioAdingManager.getInstance(this)
// initExpress() initExpress()
initDataView() initDataView()
initListener() initListener()
} }
...@@ -108,7 +107,7 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener { ...@@ -108,7 +107,7 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener {
if (curCoin > 0) { if (curCoin > 0) {
tvAwardContent.setText("游戏奖励" + curCoin + "金币") tvAwardContent.setText("游戏奖励" + curCoin + "金币")
} else { } else {
tvAwardContent.setText("很遗憾,游戏试玩不足15秒") tvAwardContent.setText("很遗憾,游戏试玩不足3秒")
} }
tvAwardNext.setText("我知道了") tvAwardNext.setText("我知道了")
} }
...@@ -151,7 +150,8 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener { ...@@ -151,7 +150,8 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener {
e.printStackTrace() e.printStackTrace()
} }
vedioAdingManager.destory() vedioAdingManager?.setVedioAdingListener(null)
vedioAdingManager.onDestory()
awardPresenter.detachView() awardPresenter.detachView()
} }
...@@ -172,10 +172,10 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener { ...@@ -172,10 +172,10 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener {
// 只有看视频才能领金币 // 只有看视频才能领金币
Constant.CARRIER_OFFLINE_DOUBLE, Constant.CARRIER_SIGNIN_HOMEPAGE_CARD, Constant.CARRIER_OFFLINE_DOUBLE, Constant.CARRIER_SIGNIN_HOMEPAGE_CARD,
Constant.CARRIER_CHALLENGE_TURN, Constant.CARRIER_CHALLENGE_CARD, Constant.CARRIER_CHALLENGE_TURN, Constant.CARRIER_CHALLENGE_CARD,
Constant.CARRIER_VERSUS_VIDEO, Constant.CARRIER_WALK_BUBBLE, Constant.CARRIER_WALK_BUBBLE,
Constant.CARRIER_WALK, Constant.CARRIER_HOMEWATER,
Constant.CARRIER_CHALLENGE_SHAREFRIEND_DOUBLE, Constant.CARRIER_HOMEVEDIO_BIG -> { Constant.CARRIER_CHALLENGE_SHAREFRIEND_DOUBLE, Constant.CARRIER_HOMEVEDIO_BIG -> {
// awardVedio() awardVedio()
finish()
} }
else -> { else -> {
finish() finish()
...@@ -201,13 +201,13 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener { ...@@ -201,13 +201,13 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener {
bean.setCurCoin(curCoin) bean.setCurCoin(curCoin)
bean.setExtraId(extraId) bean.setExtraId(extraId)
loadVedio(vedioAdingManager, bean) loadVedio(vedioAdingManager, bean, true)
} }
/** /**
* 加载激励视频 * 加载激励视频
*/ */
private fun loadVedio(vedioAdingManager: VedioAdingManager, bean: VedioAdingBean) { private fun loadVedio(vedioAdingManager: VedioAdingManager, bean: VedioAdingBean, isFirstLoad: Boolean) {
vedioAdingManager.setVedioAdingListener(object : VedioAdingManager.VedioAdingListener { vedioAdingManager.setVedioAdingListener(object : VedioAdingManager.VedioAdingListener {
override fun vedioAdingListenerError(adType: String) { override fun vedioAdingListenerError(adType: String) {
showToast("加载超时,请休息一下") showToast("加载超时,请休息一下")
...@@ -220,7 +220,7 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener { ...@@ -220,7 +220,7 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener {
hideLoading() hideLoading()
showToast("加载失败,请稍后重试!") showToast("加载失败,请稍后重试!")
} else { } else {
loadVedio(vedioAdingManager, bean) loadVedio(vedioAdingManager, bean, false)
} }
} }
...@@ -229,7 +229,13 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener { ...@@ -229,7 +229,13 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener {
vedioAdingSuccess(adType) vedioAdingSuccess(adType)
} }
}) })
vedioAdingManager.loadFailAding(bean) if (isFirstLoad) {
// 首页按权重加载
vedioAdingManager.loadAding(this, bean)
} else {
// 失败按优先级加载
vedioAdingManager.loadFailAding(this, bean)
}
} }
...@@ -261,13 +267,8 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener { ...@@ -261,13 +267,8 @@ class AwardActivity : BaseActivity(), AwardView, View.OnClickListener {
} }
override fun getUserTaskMsgSuc(data: UserTaskMsgBean) { override fun getUserTaskMsgSuc(coin: Int) {
if (data == null) { val sumCoin = coin.toString()
return
}
userConfig = data
val sumCoin = data.getCoin().toString()
val allcoinBig = BigDecimal(sumCoin) val allcoinBig = BigDecimal(sumCoin)
val rateBig = BigDecimal("10000") val rateBig = BigDecimal("10000")
val cashStr = allcoinBig.divide(rateBig).setScale(2, BigDecimal.ROUND_DOWN).toString() val cashStr = allcoinBig.divide(rateBig).setScale(2, BigDecimal.ROUND_DOWN).toString()
......
...@@ -2,6 +2,7 @@ package com.mints.goodmoney.ui.activitys ...@@ -2,6 +2,7 @@ package com.mints.goodmoney.ui.activitys
import android.os.Bundle import android.os.Bundle
import android.view.KeyEvent import android.view.KeyEvent
import android.view.MotionEvent
import android.view.View import android.view.View
import android.view.View.OnLongClickListener import android.view.View.OnLongClickListener
import android.view.ViewGroup import android.view.ViewGroup
...@@ -17,6 +18,7 @@ import com.mints.goodmoney.mvp.model.TurntableBean ...@@ -17,6 +18,7 @@ import com.mints.goodmoney.mvp.model.TurntableBean
import com.mints.goodmoney.ui.activitys.base.BaseActivity import com.mints.goodmoney.ui.activitys.base.BaseActivity
import com.mints.library.utils.json.JsonUtil import com.mints.library.utils.json.JsonUtil
import kotlinx.android.synthetic.main.activity_erase.* import kotlinx.android.synthetic.main.activity_erase.*
import kotlinx.android.synthetic.main.fragment_main_pan.*
import kotlinx.android.synthetic.main.header_layout.* import kotlinx.android.synthetic.main.header_layout.*
/** /**
...@@ -51,7 +53,7 @@ class EraseActivity : BaseActivity(), View.OnClickListener{ ...@@ -51,7 +53,7 @@ class EraseActivity : BaseActivity(), View.OnClickListener{
super.onDestroy() super.onDestroy()
if (blEarseWebview != null) { if (blEarseWebview != null) {
val parent = blEarseWebview.parent as ViewGroup val parent = blEarseWebview.parent as ViewGroup
parent?.removeView(blEarseWebview) parent.removeView(blEarseWebview)
blEarseWebview.removeAllViews() blEarseWebview.removeAllViews()
blEarseWebview.destroy() blEarseWebview.destroy()
} }
...@@ -81,11 +83,16 @@ class EraseActivity : BaseActivity(), View.OnClickListener{ ...@@ -81,11 +83,16 @@ class EraseActivity : BaseActivity(), View.OnClickListener{
*/ */
private fun loadTurnUrl() { private fun loadTurnUrl() {
getTurnUrl() getTurnUrl()
blEarseWebview.setOnTouchListener(object : View.OnTouchListener {
override fun onTouch(v: View?, event: MotionEvent): Boolean {
return event.action == MotionEvent.ACTION_MOVE
}
})
blEarseWebview.setDefaultHandler(DefaultHandler()) blEarseWebview.setDefaultHandler(DefaultHandler())
blEarseWebview.setWebChromeClient(WebChromeClient()) blEarseWebview.setWebChromeClient(WebChromeClient())
blEarseWebview.setOnLongClickListener(OnLongClickListener { true }) blEarseWebview.setOnLongClickListener(OnLongClickListener { true })
//注册监听方法当js中调用callHandler方法时会调用此方法(handlerName必须和js中相同) //注册监听方法当js中调用callHandler方法时会调用此方法(handlerName必须和js中相同)
blEarseWebview.registerHandler("erasegetChannelCardMsg", BridgeHandler { data, function -> blEarseWebview.registerHandler("getEraseResult", BridgeHandler { data, function ->
//{"title":"40金币","coin":40,"key":"t4"} //{"title":"40金币","coin":40,"key":"t4"}
val turntableBean: TurntableBean = JsonUtil.parseJson(data, TurntableBean::class.java) val turntableBean: TurntableBean = JsonUtil.parseJson(data, TurntableBean::class.java)
if (turntableBean != null) { if (turntableBean != null) {
...@@ -106,7 +113,7 @@ class EraseActivity : BaseActivity(), View.OnClickListener{ ...@@ -106,7 +113,7 @@ class EraseActivity : BaseActivity(), View.OnClickListener{
} }
/** /**
* 获取转盘url * 获取url
*/ */
private fun getTurnUrl() { private fun getTurnUrl() {
val tokenID: String = userManager.getTokenID() val tokenID: String = userManager.getTokenID()
...@@ -118,7 +125,7 @@ class EraseActivity : BaseActivity(), View.OnClickListener{ ...@@ -118,7 +125,7 @@ class EraseActivity : BaseActivity(), View.OnClickListener{
* 奖励成功刷新js界面 * 奖励成功刷新js界面
*/ */
private fun androidCallJsReferse() { private fun androidCallJsReferse() {
blEarseWebview.callHandler("erasegetNewMsg", "") { blEarseWebview.callHandler("eraseRefresh", "") {
} }
} }
...@@ -126,7 +133,7 @@ class EraseActivity : BaseActivity(), View.OnClickListener{ ...@@ -126,7 +133,7 @@ class EraseActivity : BaseActivity(), View.OnClickListener{
* 用户主动取消js调用 * 用户主动取消js调用
*/ */
private fun androidCallJsCancel() { private fun androidCallJsCancel() {
blEarseWebview.callHandler("eraseagain", "") { blEarseWebview.callHandler("eraseCancel", "") {
} }
} }
} }
\ No newline at end of file
...@@ -12,6 +12,7 @@ import com.mints.goodmoney.ui.activitys.base.BaseActivity ...@@ -12,6 +12,7 @@ import com.mints.goodmoney.ui.activitys.base.BaseActivity
import com.mints.goodmoney.utils.SpanUtils import com.mints.goodmoney.utils.SpanUtils
import com.mints.library.utils.json.JsonUtil import com.mints.library.utils.json.JsonUtil
import kotlinx.android.synthetic.main.activity_liebao_game.* import kotlinx.android.synthetic.main.activity_liebao_game.*
import kotlinx.android.synthetic.main.fragment_main_zy.*
import kotlinx.android.synthetic.main.header_activity.* import kotlinx.android.synthetic.main.header_activity.*
import kotlinx.android.synthetic.main.header_layout.* import kotlinx.android.synthetic.main.header_layout.*
import java.util.* import java.util.*
...@@ -28,7 +29,7 @@ class LiebaoGameActivity : BaseActivity() ...@@ -28,7 +29,7 @@ class LiebaoGameActivity : BaseActivity()
IGameAdCallback, IGameAdCallback,
IGameExitInfoCallback { IGameExitInfoCallback {
val AIP_GAME_URL = "api/game/add" //退出游戏、游戏关卡回调 val AIP_GAME_URL = "api/gametime/add" //退出游戏
val STASTICIS_GAME_URL = "stasticis/game/add" //点击游戏 val STASTICIS_GAME_URL = "stasticis/game/add" //点击游戏
private val gamePresenter by lazy { GamePresenter() } private val gamePresenter by lazy { GamePresenter() }
...@@ -45,16 +46,16 @@ class LiebaoGameActivity : BaseActivity() ...@@ -45,16 +46,16 @@ class LiebaoGameActivity : BaseActivity()
iv_left_icon.visibility = View.VISIBLE iv_left_icon.visibility = View.VISIBLE
iv_left_icon.setImageResource(R.mipmap.ic_arrow_back) iv_left_icon.setImageResource(R.mipmap.ic_arrow_back)
tvGameHint.setText(SpanUtils()
.append("试玩小游戏").setForegroundColor(resources.getColor(R.color.black_text))
.append("15秒以上可获取金币").setForegroundColor(resources.getColor(R.color.red))
.append(",玩越久赚越多").setForegroundColor(resources.getColor(R.color.black_text))
.create())
gamePresenter.attachView(this) gamePresenter.attachView(this)
initListener() initListener()
} }
override fun onResume() {
super.onResume()
gamePresenter.getGameInfo()
}
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
...@@ -89,6 +90,22 @@ class LiebaoGameActivity : BaseActivity() ...@@ -89,6 +90,22 @@ class LiebaoGameActivity : BaseActivity()
CmGameSdk.setGameExitInfoCallback(this) CmGameSdk.setGameExitInfoCallback(this)
} }
override fun gameInfo(sumTime: Int, sumCoin: Int, gameTime: Int) {
if(!isFinishing){
tvGameHint.visibility = View.VISIBLE
if (gameTime >= sumTime) {
tvGameHint.setText("今日游戏任务已完成")
} else {
tvGameHint.setText(
SpanUtils()
.append("畅玩").append("${sumTime / 60}").setForegroundColor(mContext.resources.getColor(R.color.main_mints)).append("分钟, ")
.append("奖励").append("${sumCoin}").setForegroundColor(mContext.resources.getColor(R.color.red)).append("金币, ")
.append("已玩").append("${gameTime / 60}").setForegroundColor(mContext.resources.getColor(R.color.main_mints)).append("分钟")
.create())
}
}
}
override fun gameAddSuc(eventType: String?, data: Any?) { override fun gameAddSuc(eventType: String?, data: Any?) {
when (eventType) { when (eventType) {
Constant.EVENT_TYPE_TIME -> if (data != null) { Constant.EVENT_TYPE_TIME -> if (data != null) {
...@@ -137,7 +154,7 @@ class LiebaoGameActivity : BaseActivity() ...@@ -137,7 +154,7 @@ class LiebaoGameActivity : BaseActivity()
*/ */
override fun gamePlayTimeCallback(gameId: String?, playTimeInSeconds: Int) { override fun gamePlayTimeCallback(gameId: String?, playTimeInSeconds: Int) {
val eventTypeTime: String = Constant.EVENT_TYPE_TIME val eventTypeTime: String = Constant.EVENT_TYPE_TIME
if (playTimeInSeconds < 15) { if (playTimeInSeconds < 3) {
val bundle = Bundle() val bundle = Bundle()
bundle.putInt(Constant.MAIN_CUR_COIN, 0) bundle.putInt(Constant.MAIN_CUR_COIN, 0)
bundle.putString(Constant.MAIN_CARRIER_TYPE, Constant.CARRIER_GAME) bundle.putString(Constant.MAIN_CARRIER_TYPE, Constant.CARRIER_GAME)
...@@ -193,12 +210,12 @@ class LiebaoGameActivity : BaseActivity() ...@@ -193,12 +210,12 @@ class LiebaoGameActivity : BaseActivity()
* 该功能使用场景:媒体利用游戏数据,和app的功能结合做运营活动,比如:某每天前50名,得到某些奖励 * 该功能使用场景:媒体利用游戏数据,和app的功能结合做运营活动,比如:某每天前50名,得到某些奖励
*/ */
override fun gameExitInfoCallback(gameExitInfo: String) { override fun gameExitInfoCallback(gameExitInfo: String) {
val vo = HashMap<String, Any>() // val vo = HashMap<String, Any>()
vo["gameName"] = gameName // vo["gameName"] = gameName
vo["gameId"] = gameID // vo["gameId"] = gameID
vo["carrierType"] = Constant.CARRIER_GAME // vo["carrierType"] = Constant.CARRIER_GAME
vo["gameExitInfo"] = gameExitInfo // vo["gameExitInfo"] = gameExitInfo
vo["pkg"] = Constant.MINTS_PKG_NAME // vo["pkg"] = Constant.MINTS_PKG_NAME
gamePresenter.gameAdd(AIP_GAME_URL, Constant.EVENT_TYPE_GAMEINFO, vo) // gamePresenter.gameAdd(AIP_GAME_URL, Constant.EVENT_TYPE_GAMEINFO, vo)
} }
} }
...@@ -9,11 +9,15 @@ import androidx.fragment.app.Fragment ...@@ -9,11 +9,15 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentTransaction import androidx.fragment.app.FragmentTransaction
import com.ireader.ireadersdk.IreaderApi import com.ireader.ireadersdk.IreaderApi
import com.mints.goodmoney.R import com.mints.goodmoney.R
import com.mints.goodmoney.ad.VedioAdingManager
import com.mints.goodmoney.common.AppConfig import com.mints.goodmoney.common.AppConfig
import com.mints.goodmoney.common.Constant import com.mints.goodmoney.common.Constant
import com.mints.goodmoney.mvp.views.MainView import com.mints.goodmoney.mvp.views.MainView
import com.mints.goodmoney.ui.activitys.base.BaseActivity import com.mints.goodmoney.ui.activitys.base.BaseActivity
import com.mints.goodmoney.ui.fragment.* import com.mints.goodmoney.ui.fragment.FriendsFragment
import com.mints.goodmoney.ui.fragment.MoneyFragment
import com.mints.goodmoney.ui.fragment.MyFragment
import com.mints.goodmoney.ui.fragment.PanFragment
import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.activity_main.*
/** /**
...@@ -76,6 +80,9 @@ class MainActivity : BaseActivity(), MainView, View.OnClickListener { ...@@ -76,6 +80,9 @@ class MainActivity : BaseActivity(), MainView, View.OnClickListener {
IreaderApi.onAppExit() IreaderApi.onAppExit()
super.onDestroy() super.onDestroy()
VedioAdingManager.getInstance(this).setVedioAdingListener(null)
VedioAdingManager.getInstance(this).onDestory()
} }
public override fun onSaveInstanceState(outState: Bundle) { public override fun onSaveInstanceState(outState: Bundle) {
......
...@@ -21,14 +21,17 @@ import com.mints.goodmoney.mvp.model.WXInfo ...@@ -21,14 +21,17 @@ import com.mints.goodmoney.mvp.model.WXInfo
import com.mints.goodmoney.mvp.presenters.SettingsPresenter import com.mints.goodmoney.mvp.presenters.SettingsPresenter
import com.mints.goodmoney.mvp.views.SettingsView import com.mints.goodmoney.mvp.views.SettingsView
import com.mints.goodmoney.ui.activitys.base.BaseActivity import com.mints.goodmoney.ui.activitys.base.BaseActivity
import com.mints.goodmoney.ui.widgets.CustomDialogAsApple
import com.mints.goodmoney.ui.widgets.DialogListener
import com.mints.goodmoney.utils.CacheUtil import com.mints.goodmoney.utils.CacheUtil
import com.mints.library.utils.json.JsonUtil import com.mints.library.utils.json.JsonUtil
import kotlinx.android.synthetic.main.activity_settings.* import kotlinx.android.synthetic.main.activity_settings.*
import kotlinx.android.synthetic.main.header_layout.* import kotlinx.android.synthetic.main.header_layout.*
import java.util.HashMap import java.util.*
class SettingsActivity : BaseActivity(), View.OnClickListener, OnLoginListener, SettingsView { class SettingsActivity : BaseActivity(), View.OnClickListener, OnLoginListener, SettingsView {
private lateinit var cdaa: CustomDialogAsApple
private val userManager by lazy { UserManager.getInstance() } private val userManager by lazy { UserManager.getInstance() }
private val settingsPresenter by lazy { SettingsPresenter() } private val settingsPresenter by lazy { SettingsPresenter() }
private val loginApi by lazy { LoginApi() } private val loginApi by lazy { LoginApi() }
...@@ -186,7 +189,8 @@ class SettingsActivity : BaseActivity(), View.OnClickListener, OnLoginListener, ...@@ -186,7 +189,8 @@ class SettingsActivity : BaseActivity(), View.OnClickListener, OnLoginListener,
readyGo(AboutusActivity::class.java) readyGo(AboutusActivity::class.java)
} }
R.id.btn_switch -> { R.id.btn_switch -> {
readyGo(LoginActivity::class.java) // readyGo(LoginActivity::class.java)
backDialog()
} }
R.id.iv_left_icon -> { R.id.iv_left_icon -> {
onBackPressed() onBackPressed()
...@@ -194,6 +198,26 @@ class SettingsActivity : BaseActivity(), View.OnClickListener, OnLoginListener, ...@@ -194,6 +198,26 @@ class SettingsActivity : BaseActivity(), View.OnClickListener, OnLoginListener,
} }
} }
private fun backDialog() {
cdaa = CustomDialogAsApple(context, object : DialogListener() {
override fun onClick(v: View) {
if (cdaa != null && cdaa.isShowing()) {
cdaa.dismiss()
}
when (v.id) {
R.id.dialog_btn_left -> {
UserManager.getInstance().userLogout()
readyGoThenKill(MainActivity::class.java)
}
}
}
})
cdaa.setContent("确定要退出登录吗?")
cdaa.setLeft("确定")
cdaa.setRight("取消")
cdaa.show()
}
private fun submitInvitedCode() { private fun submitInvitedCode() {
val view = LayoutInflater.from(this).inflate(R.layout.dialog_edit_invite, null) val view = LayoutInflater.from(this).inflate(R.layout.dialog_edit_invite, null)
val etInput = view.findViewById<EditText>(R.id.et_input) val etInput = view.findViewById<EditText>(R.id.et_input)
......
...@@ -82,7 +82,7 @@ class WalkActivity : BaseActivity(), View.OnClickListener, WalkView, StepView.St ...@@ -82,7 +82,7 @@ class WalkActivity : BaseActivity(), View.OnClickListener, WalkView, StepView.St
override fun clickForWalkSuc(walkCoin: Int) { override fun clickForWalkSuc(walkCoin: Int) {
val bundle = Bundle() val bundle = Bundle()
bundle.putInt(Constant.MAIN_CUR_COIN, curCoin) bundle.putInt(Constant.MAIN_CUR_COIN, walkCoin)
bundle.putString(Constant.MAIN_CARRIER_TYPE, Constant.CARRIER_WALK) bundle.putString(Constant.MAIN_CARRIER_TYPE, Constant.CARRIER_WALK)
readyGo(AwardActivity::class.java, bundle) readyGo(AwardActivity::class.java, bundle)
} }
......
...@@ -5,6 +5,7 @@ import android.text.TextUtils ...@@ -5,6 +5,7 @@ import android.text.TextUtils
import android.view.View import android.view.View
import androidx.fragment.app.FragmentTransaction import androidx.fragment.app.FragmentTransaction
import com.mints.goodmoney.R import com.mints.goodmoney.R
import com.mints.goodmoney.ad.VedioAdingManager
import com.mints.goodmoney.common.AppConfig import com.mints.goodmoney.common.AppConfig
import com.mints.goodmoney.common.Constant import com.mints.goodmoney.common.Constant
import com.mints.goodmoney.manager.TTPreLoadExpressManager import com.mints.goodmoney.manager.TTPreLoadExpressManager
...@@ -22,9 +23,6 @@ import com.mints.goodmoney.ui.widgets.PowerDialog ...@@ -22,9 +23,6 @@ import com.mints.goodmoney.ui.widgets.PowerDialog
import com.mints.goodmoney.utils.LogUtil import com.mints.goodmoney.utils.LogUtil
import com.mints.library.utils.json.JsonUtil import com.mints.library.utils.json.JsonUtil
import com.yilan.sdk.player.UserCallback import com.yilan.sdk.player.UserCallback
import com.yilan.sdk.ui.ad.entity.AdEntity
import com.yilan.sdk.ui.configs.AdVideoCallback
import com.yilan.sdk.ui.configs.LittleVideoConfig
import com.yilan.sdk.ui.littlevideo.LittleVideoFragment import com.yilan.sdk.ui.littlevideo.LittleVideoFragment
import kotlinx.android.synthetic.main.fragment_main_first.* import kotlinx.android.synthetic.main.fragment_main_first.*
import net.grandcentrix.tray.AppPreferences import net.grandcentrix.tray.AppPreferences
...@@ -34,13 +32,12 @@ import net.grandcentrix.tray.AppPreferences ...@@ -34,13 +32,12 @@ import net.grandcentrix.tray.AppPreferences
* 作者:孟崔广 * 作者:孟崔广
* 时间:2020/10/10 17:30 * 时间:2020/10/10 17:30
*/ */
class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickListener { class MainFragment : BaseFragment(), HomeView, View.OnClickListener {
private val TAG = MainFragment::class.java.simpleName private val TAG = MainFragment::class.java.simpleName
private val homePresenter by lazy { HomePresenter() } private val homePresenter by lazy { HomePresenter() }
private val userManager by lazy { UserManager.getInstance() } private val userManager by lazy { UserManager.getInstance() }
private val littleVideoConfig by lazy { LittleVideoConfig.getInstance() }
private val ps by lazy { AppPreferences(context) } private val ps by lazy { AppPreferences(context) }
private var powerDialog: PowerDialog? = null private var powerDialog: PowerDialog? = null
...@@ -54,11 +51,15 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList ...@@ -54,11 +51,15 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList
private var isClickStop = false // 是否点击一览视频暂停 private var isClickStop = false // 是否点击一览视频暂停
private var vedioId = "" // 视频id 记录界面切换时是否还给奖励 private var vedioId = "" // 视频id 记录界面切换时是否还给奖励
// 广告权重相关
private var vedioAdingManager: VedioAdingManager? = null
override fun getContentViewLayoutID() = R.layout.fragment_main_first override fun getContentViewLayoutID() = R.layout.fragment_main_first
override fun initViewsAndEvents() { override fun initViewsAndEvents() {
homePresenter.attachView(this) homePresenter.attachView(this)
vedioAdingManager = VedioAdingManager.getInstance(activity)
// 奖励页预加载 信息流广告 // 奖励页预加载 信息流广告
TTPreLoadExpressManager.getInstance().loadTtFrameLayout() TTPreLoadExpressManager.getInstance().loadTtFrameLayout()
...@@ -129,7 +130,6 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList ...@@ -129,7 +130,6 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList
cdvvYilanTime?.setCountDownVedioListener(null) cdvvYilanTime?.setCountDownVedioListener(null)
littleVideoFragment?.setUserCallBack(null) littleVideoFragment?.setUserCallBack(null)
littleVideoConfig.adVideoCallback = null
homePresenter.detachView() homePresenter.detachView()
} }
...@@ -139,17 +139,35 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList ...@@ -139,17 +139,35 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList
return return
} }
// 离线收益 // 新人福利
// if (data.offlineBean.offlineIncome > 0) { if (data.userMsg.firstGiveCoin > 0) {
// val bundle = Bundle() val bundle = Bundle()
// bundle.putInt(Constant.MAIN_CUR_COIN, data.offlineBean.offlineIncome) bundle.putInt(Constant.MAIN_CUR_COIN, data.userMsg.firstGiveCoin)
// bundle.putString(Constant.MAIN_CARRIER_TYPE, Constant.CARRIER_OFFLINE_DOUBLE) bundle.putString(Constant.MAIN_CARRIER_TYPE, Constant.CARRIER_NEW_USER)
// readyGo(AwardActivity::class.java, bundle) readyGo(AwardActivity::class.java, bundle)
// } } else {
// 离线收益
if (data.offlineBean.offlineIncome > 0) {
val bundle = Bundle()
bundle.putInt(Constant.MAIN_CUR_COIN, data.offlineBean.offlineIncome)
bundle.putString(Constant.MAIN_CARRIER_TYPE, Constant.CARRIER_OFFLINE_DOUBLE)
readyGo(AwardActivity::class.java, bundle)
}
}
// 设置视频权限
// vedioAdingManager?.initAdWeight(data.vedioRules.csJ_VEDIO.rate, data.vedioRules.ylH_VEDIO.rate)
vedioAdingManager?.initAdWeight(data.vedioRules.csJ_VEDIO.rate, 0)
LogUtil.d(TAG, "首页权重值:csjWeight:${data.vedioRules.csJ_VEDIO.rate} ylhWeight:${data.vedioRules.ylH_VEDIO.rate}")
// 广告视频数
AppConfig.csjVedioAdCount = data.vedioRules.csJ_VEDIO.surplus
// AppConfig.ylhAdCount = data.vedioRules.ylH_VEDIO.surplus
AppConfig.ylhAdCount = 0
LogUtil.d(TAG, "首页视频数:csjCount:${AppConfig.csjVedioAdCount} ylhCount:${AppConfig.ylhAdCount}")
// 调用金币视频信息接口 // 调用金币视频信息接口
homePresenter.getHomeVedioMsg() homePresenter.getHomeVedioMsg()
} }
override fun getHallBaseMsgFail() { override fun getHallBaseMsgFail() {
...@@ -165,7 +183,7 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList ...@@ -165,7 +183,7 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList
smallRewardCoin = data.smallRewardCoin smallRewardCoin = data.smallRewardCoin
bigRewardCoin = data.bigRewardCoin bigRewardCoin = data.bigRewardCoin
// ivMainBox.visibility = if (bigRewardCoin > 0) View.VISIBLE else View.GONE ivMainBox.visibility = if (bigRewardCoin > 0) View.VISIBLE else View.GONE
if (data.isToCreateReward) { if (data.isToCreateReward) {
// 防止界面切换 重置倒计时 // 防止界面切换 重置倒计时
...@@ -198,38 +216,6 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList ...@@ -198,38 +216,6 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList
} }
} }
override fun onVideoAdPaused(entity: AdEntity?) {
LogUtil.d(TAG, "override onVideoAdPaused")
// pauseDownloadTime()
}
override fun onVideoAdComplete(entity: AdEntity?) {
LogUtil.d(TAG, "override onVideoAdComplete")
// addVedioIdList(entity?.reqId!!)
// pauseDownloadTime()
}
override fun onVideoAdStartPlay(entity: AdEntity?) {
LogUtil.d(TAG, "override onVideoAdStartPlay")
}
override fun onVideoError(code: Int, entity: AdEntity?) {
LogUtil.d(TAG, "override onVideoError")
LogUtil.d("MainFragment", "code:${code} entity:${entity?.toString()}")
// pauseDownloadTime()
}
override fun onVideoAdContinuePlay(entity: AdEntity?) {
LogUtil.d(TAG, "override onVideoAdContinuePlay")
}
override fun onVideoLoad(entity: AdEntity?) {
LogUtil.d(TAG, "override onVideoLoad")
}
private fun showPowerDialog() { private fun showPowerDialog() {
if (ps.getBoolean(Constant.LOAN_PERMISSION_FLAG, true)) { if (ps.getBoolean(Constant.LOAN_PERMISSION_FLAG, true)) {
powerDialog() powerDialog()
...@@ -240,7 +226,6 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList ...@@ -240,7 +226,6 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList
* 一览视频初始化 * 一览视频初始化
*/ */
private fun showLittle() { private fun showLittle() {
littleVideoConfig.adVideoCallback = this
val transaction: FragmentTransaction = supportFragmentManager.beginTransaction() val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
if (littleVideoFragment == null) { if (littleVideoFragment == null) {
littleVideoFragment = LittleVideoFragment.newInstance() littleVideoFragment = LittleVideoFragment.newInstance()
...@@ -251,8 +236,6 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList ...@@ -251,8 +236,6 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList
//哪个播放器ß playerHash //哪个播放器ß playerHash
when (type) { when (type) {
com.yilan.sdk.player.utils.Constant.STATE_PREPARED -> { com.yilan.sdk.player.utils.Constant.STATE_PREPARED -> {
LogUtil.d(TAG, "type STATE_PREPARED")
// 防止网络异常时, 第一次加载倒计时红包 // 防止网络异常时, 第一次加载倒计时红包
if (isFirstLoadVedio) { if (isFirstLoadVedio) {
isFirstLoadVedio = false isFirstLoadVedio = false
...@@ -262,24 +245,20 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList ...@@ -262,24 +245,20 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList
vedioId = data.videoId vedioId = data.videoId
} }
com.yilan.sdk.player.utils.Constant.STATE_ERROR -> { com.yilan.sdk.player.utils.Constant.STATE_ERROR -> {
LogUtil.d(TAG, "type STATE_ERROR")
pauseDownloadTime() pauseDownloadTime()
} }
com.yilan.sdk.player.utils.Constant.STATE_PLAYING -> { com.yilan.sdk.player.utils.Constant.STATE_PLAYING -> {
LogUtil.d(TAG, "type STATE_PLAYING")
resumeDownloadTime(data.videoId) resumeDownloadTime(data.videoId)
} }
com.yilan.sdk.player.utils.Constant.STATE_COMPLETE -> { com.yilan.sdk.player.utils.Constant.STATE_COMPLETE -> {
LogUtil.d(TAG, "type STATE_COMPLETE")
addVedioIdList(data.videoId) addVedioIdList(data.videoId)
pauseDownloadTime() pauseDownloadTime()
} }
com.yilan.sdk.player.utils.Constant.STATE_PAUSED -> { com.yilan.sdk.player.utils.Constant.STATE_PAUSED -> {
LogUtil.d(TAG, "type STATE_PAUSED")
pauseDownloadTime() pauseDownloadTime()
} }
...@@ -297,15 +276,15 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList ...@@ -297,15 +276,15 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList
* 将播放的id记录到list中 * 将播放的id记录到list中
*/ */
private fun addVedioIdList(id: String) { private fun addVedioIdList(id: String) {
LogUtil.d(TAG, "addVedioIdList:" + id) // LogUtil.d(TAG, "addVedioIdList:" + id)
LogUtil.d(TAG, "addVedioId ListItem pre:" + JsonUtil.toJson(vedioIdList)) // LogUtil.d(TAG, "addVedioId ListItem pre:" + JsonUtil.toJson(vedioIdList))
// 达到12个视频时 删除前10个记录 // 达到12个视频时 删除前10个记录
if (vedioIdList.size >= VEDIO_MAX_COUNT) { if (vedioIdList.size >= VEDIO_MAX_COUNT) {
vedioIdList.subList(0, 10).clear() vedioIdList.subList(0, 10).clear()
LogUtil.d(TAG, "addVedioId ListItem removeAt:" + JsonUtil.toJson(vedioIdList)) // LogUtil.d(TAG, "addVedioId ListItem removeAt:" + JsonUtil.toJson(vedioIdList))
} }
if (!vedioIdList.contains(id)) vedioIdList.add(id) if (!vedioIdList.contains(id)) vedioIdList.add(id)
LogUtil.d(TAG, "addVedioId ListItem next:" + JsonUtil.toJson(vedioIdList)) // LogUtil.d(TAG, "addVedioId ListItem next:" + JsonUtil.toJson(vedioIdList))
} }
/** /**
...@@ -321,8 +300,8 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList ...@@ -321,8 +300,8 @@ class MainFragment : BaseFragment(), HomeView, AdVideoCallback, View.OnClickList
*/ */
private fun resumeDownloadTime(id: String) { private fun resumeDownloadTime(id: String) {
if (!TextUtils.isEmpty(id)) { if (!TextUtils.isEmpty(id)) {
LogUtil.d(TAG, "resumeDownloadTime cur id:" + id) // LogUtil.d(TAG, "resumeDownloadTime cur id:" + id)
LogUtil.d(TAG, "resumeDownloadTime ListItem:" + JsonUtil.toJson(vedioIdList)) // LogUtil.d(TAG, "resumeDownloadTime ListItem:" + JsonUtil.toJson(vedioIdList))
if (vedioIdList.contains(id)) { if (vedioIdList.contains(id)) {
cdvvYilanTime?.pause() cdvvYilanTime?.pause()
return return
......
...@@ -149,7 +149,6 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi ...@@ -149,7 +149,6 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
vedioAdingManager.destory()
myPresenter.detachView() myPresenter.detachView()
} }
...@@ -162,11 +161,7 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi ...@@ -162,11 +161,7 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi
} }
myPresenter.getSignInHomePageMsg() myPresenter.getSignInHomePageMsg()
myPresenter.myHotActivity()
if (!bannerFlag) {
bannerFlag = true
myPresenter.myHotActivity()
}
userConfig = data userConfig = data
handleRecyData() handleRecyData()
...@@ -182,12 +177,16 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi ...@@ -182,12 +177,16 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi
} }
override fun getMyHotActivitySuc(data: BannerBean?) { override fun getMyHotActivitySuc(data: BannerBean?) {
if (activity != null && !activity!!.isFinishing) {
// item_promotions_egv.visibility = View.GONE // item_promotions_egv.visibility = View.GONE
if (!bannerFlag) {
data?.let { bannerFlag = true
item_promotions_egv.visibility = View.VISIBLE data?.let {
hotList = it.list item_promotions_egv.visibility = View.VISIBLE
item_promotions_egv.adapter = GvMyAdapter(mContext, activity!!, hotList) hotList = it.list
item_promotions_egv.adapter = GvMyAdapter(mContext, activity!!, hotList)
}
}
} }
} }
...@@ -395,33 +394,33 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi ...@@ -395,33 +394,33 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi
} }
val task2 = TaskBean(R.mipmap.icon_my_invite, "邀好友,赚金币", progressStrInvited, btnStr, 2) val task2 = TaskBean(R.mipmap.icon_my_invite, "邀好友,赚金币", progressStrInvited, btnStr, 2)
// 看福利视频赚金币 // 看福利视频赚金币
// var progressStrVideo = "" var progressStrVideo = ""
// var task3Str = "" var task3Str = ""
// if (userConfig != null) { if (userConfig != null) {
// progressStrVideo = "(" + userConfig!!.taskVeido.complete + "/" + userConfig!!.taskVeido.max + ")" progressStrVideo = "(" + userConfig!!.taskVeido.complete + "/" + userConfig!!.taskVeido.max + ")"
// if (userConfig!!.taskVeido.complete == userConfig!!.taskVeido.max) { if (userConfig!!.taskVeido.complete == userConfig!!.taskVeido.max) {
// task3Str = "已完成" task3Str = "已完成"
// } else { } else {
// task3Str = "赚金币" task3Str = "赚金币"
// } }
// } }
// val task3 = TaskBean(R.mipmap.icon_my_video, "看福利视频赚金币", progressStrVideo, task3Str, 3) val task3 = TaskBean(R.mipmap.icon_my_video, "看福利视频赚金币", progressStrVideo, task3Str, 3)
// // 玩游戏,赚金币 // 玩游戏,赚金币
// var task4Str = "" var task4Str = ""
// if (userConfig != null) { if (userConfig != null) {
// task4Str = if (userConfig!!.taskGame.status == 0) "赚金币" else "立即领取" task4Str = if (userConfig!!.taskGame.status == 0) "赚金币" else (if (userConfig!!.taskGame.status == 1) "立即领取" else "已完成")
// } }
// val task4 = TaskBean(R.mipmap.icon_my_game, "玩游戏,赚金币", "", task4Str, 4) val task4 = TaskBean(R.mipmap.icon_my_game, "玩游戏,赚金币", "", task4Str, 4)
// // 小说免费看,金币大家赚 // 小说免费看,金币大家赚
//// val task5 = TaskBean(R.mipmap.icon_my_fiction, "小说免费看,金币大家赚", "", "去阅读", 5) // val task5 = TaskBean(R.mipmap.icon_my_fiction, "小说免费看,金币大家赚", "", "去阅读", 5)
// // 试玩平台 // 试玩平台
// val task6 = TaskBean(R.mipmap.icon_my_demo, "试玩平台", "", "赚金币", 5) val task6 = TaskBean(R.mipmap.icon_my_demo, "试玩平台", "", "赚金币", 5)
dataList.add(task1) dataList.add(task1)
dataList.add(task2) dataList.add(task2)
// dataList.add(task3) dataList.add(task3)
// dataList.add(task4) dataList.add(task4)
//// dataList.add(task5) // dataList.add(task5)
// dataList.add(task6) dataList.add(task6)
mainMyAdapter?.notifyDataSetChanged() mainMyAdapter?.notifyDataSetChanged()
} }
...@@ -614,13 +613,13 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi ...@@ -614,13 +613,13 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi
bean.setCarrierType(Constant.CARRIER_VERSUS_VIDEO) bean.setCarrierType(Constant.CARRIER_VERSUS_VIDEO)
bean.setCurCoin(coin) bean.setCurCoin(coin)
loadVedio(vedioAdingManager, bean) loadVedio(vedioAdingManager, bean, true)
} }
/** /**
* 加载激励视频 * 加载激励视频
*/ */
private fun loadVedio(vedioAdingManager: VedioAdingManager, bean: VedioAdingBean) { private fun loadVedio(vedioAdingManager: VedioAdingManager, bean: VedioAdingBean, isFirstLoad: Boolean) {
vedioAdingManager.setVedioAdingListener(object : VedioAdingManager.VedioAdingListener { vedioAdingManager.setVedioAdingListener(object : VedioAdingManager.VedioAdingListener {
override fun vedioAdingListenerError(adType: String) { override fun vedioAdingListenerError(adType: String) {
showToast("加载超时,请休息一下") showToast("加载超时,请休息一下")
...@@ -633,7 +632,7 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi ...@@ -633,7 +632,7 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi
hideLoading() hideLoading()
showToast("加载失败,请稍后重试!") showToast("加载失败,请稍后重试!")
} else { } else {
loadVedio(vedioAdingManager, bean) loadVedio(vedioAdingManager, bean, false)
} }
} }
...@@ -642,10 +641,19 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi ...@@ -642,10 +641,19 @@ class MyFragment : BaseFragment(), MyView, OnItemChildClickListener, OnRefreshLi
vedioAdingSuccess(adType) vedioAdingSuccess(adType)
} }
}) })
vedioAdingManager.loadFailAding(bean) if (isFirstLoad) {
// 首页按权重加载
vedioAdingManager.loadAding(activity, bean)
} else {
// 失败按优先级加载
vedioAdingManager.loadFailAding(activity, bean)
}
} }
private fun vedioAdingSuccess(adType: String) { private fun vedioAdingSuccess(adType: String) {
readyGo(AwardActivity::class.java) val bundle = Bundle()
bundle.putInt(Constant.MAIN_CUR_COIN, userConfig?.taskVeido?.coin!!)
bundle.putString(Constant.MAIN_CARRIER_TYPE, Constant.CARRIER_VERSUS_VIDEO)
readyGo(AwardActivity::class.java, bundle)
} }
} }
\ No newline at end of file
...@@ -2,6 +2,8 @@ package com.mints.goodmoney.ui.fragment ...@@ -2,6 +2,8 @@ package com.mints.goodmoney.ui.fragment
import android.os.Bundle import android.os.Bundle
import android.text.TextUtils import android.text.TextUtils
import android.view.MotionEvent
import android.view.View
import android.webkit.WebChromeClient import android.webkit.WebChromeClient
import com.github.lzyzsd.jsbridge.CallBackFunction import com.github.lzyzsd.jsbridge.CallBackFunction
import com.github.lzyzsd.jsbridge.DefaultHandler import com.github.lzyzsd.jsbridge.DefaultHandler
...@@ -19,6 +21,7 @@ import com.mints.library.net.netstatus.NetUtils ...@@ -19,6 +21,7 @@ import com.mints.library.net.netstatus.NetUtils
import com.mints.library.utils.json.JsonUtil import com.mints.library.utils.json.JsonUtil
import kotlinx.android.synthetic.main.fragment_main_pan.* import kotlinx.android.synthetic.main.fragment_main_pan.*
/** /**
* 描述:大转盘 * 描述:大转盘
* 作者:孟崔广 * 作者:孟崔广
...@@ -76,6 +79,11 @@ class PanFragment : BaseFragment(), PanView { ...@@ -76,6 +79,11 @@ class PanFragment : BaseFragment(), PanView {
*/ */
private fun loadTurnUrl() { private fun loadTurnUrl() {
getTurnUrl() getTurnUrl()
blTurntableWebview.setOnTouchListener(object : View.OnTouchListener {
override fun onTouch(v: View?, event: MotionEvent): Boolean {
return event.action == MotionEvent.ACTION_MOVE
}
})
blTurntableWebview.setDefaultHandler(DefaultHandler()) blTurntableWebview.setDefaultHandler(DefaultHandler())
blTurntableWebview.webChromeClient = WebChromeClient() blTurntableWebview.webChromeClient = WebChromeClient()
blTurntableWebview.setOnLongClickListener { true } blTurntableWebview.setOnLongClickListener { true }
......
package com.mints.goodmoney.ui.fragment package com.mints.goodmoney.ui.fragment
import android.os.Bundle import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentTransaction import androidx.fragment.app.FragmentTransaction
import com.ireader.ireadersdk.IreaderApi import com.ireader.ireadersdk.IreaderApi
import com.mints.goodmoney.R import com.mints.goodmoney.R
import com.mints.goodmoney.common.AppConfig
import com.mints.goodmoney.common.Constant import com.mints.goodmoney.common.Constant
import com.mints.goodmoney.mvp.presenters.BookPresenter import com.mints.goodmoney.mvp.presenters.BookPresenter
import com.mints.goodmoney.mvp.presenters.HomePresenter import com.mints.goodmoney.mvp.presenters.HomePresenter
...@@ -13,6 +15,9 @@ import com.mints.goodmoney.mvp.views.HomeView ...@@ -13,6 +15,9 @@ import com.mints.goodmoney.mvp.views.HomeView
import com.mints.goodmoney.ui.activitys.AwardActivity import com.mints.goodmoney.ui.activitys.AwardActivity
import com.mints.goodmoney.ui.fragment.base.LazyLoadBaseFragment import com.mints.goodmoney.ui.fragment.base.LazyLoadBaseFragment
import com.mints.goodmoney.utils.LogUtil import com.mints.goodmoney.utils.LogUtil
import com.mints.goodmoney.utils.SpanUtils
import kotlinx.android.synthetic.main.activity_drawcash.*
import kotlinx.android.synthetic.main.fragment_main_zy.*
/** /**
* 描述:掌阅书城 * 描述:掌阅书城
...@@ -45,6 +50,13 @@ class ZhangyueFragment : LazyLoadBaseFragment(), BookView, IreaderApi.OnReadChan ...@@ -45,6 +50,13 @@ class ZhangyueFragment : LazyLoadBaseFragment(), BookView, IreaderApi.OnReadChan
transaction.commitAllowingStateLoss() transaction.commitAllowingStateLoss()
} }
override fun onFragmentResume() {
super.onFragmentResume()
if (AppConfig.fragmentClickFlag === Constant.FRAGMENT_CLICK_MAIN) {
bookPresenter.getReadInfo()
}
}
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
...@@ -78,4 +90,19 @@ class ZhangyueFragment : LazyLoadBaseFragment(), BookView, IreaderApi.OnReadChan ...@@ -78,4 +90,19 @@ class ZhangyueFragment : LazyLoadBaseFragment(), BookView, IreaderApi.OnReadChan
readyGo(AwardActivity::class.java, bundle) readyGo(AwardActivity::class.java, bundle)
} }
} }
override fun readInfo(sumTime: Int, sumCoin: Int, readTime: Int) {
//阅读{10}分钟,奖励{xx}金币,已读{x}分钟
tvZhangContent.visibility = View.VISIBLE
if (readTime >= sumTime) {
tvZhangContent.setText("今日阅读任务已完成")
} else {
tvZhangContent.setText(
SpanUtils()
.append("阅读").append("${sumTime / 60}").setForegroundColor(mContext.resources.getColor(R.color.main_mints)).append("分钟, ")
.append("奖励").append("${sumCoin}").setForegroundColor(mContext.resources.getColor(R.color.red)).append("金币, ")
.append("已读").append("${readTime / 60}").setForegroundColor(mContext.resources.getColor(R.color.main_mints)).append("分钟")
.create())
}
}
} }
\ No newline at end of file
...@@ -10,7 +10,7 @@ import android.widget.EditText; ...@@ -10,7 +10,7 @@ import android.widget.EditText;
* Created by mengcuiguang on 2016/8/15. * Created by mengcuiguang on 2016/8/15.
*/ */
public class BackInputUtil { public class BackInputUtil {
public static void bankCardNumAddSpace(final EditText mEditText) { public static void bankCardNumAddSpace(final EditText mEditText) {
mEditText.addTextChangedListener(new TextWatcher() { mEditText.addTextChangedListener(new TextWatcher() {
private Editable etable; private Editable etable;
...@@ -96,14 +96,14 @@ public class BackInputUtil { ...@@ -96,14 +96,14 @@ public class BackInputUtil {
} }
//手机号码的格式 //手机号码的格式
public static void phoneNumAddSpace(final EditText mEditText) { public static void phoneNumAddSpace(final EditText mEditText) {
mEditText.addTextChangedListener(new TextWatcher() { mEditText.addTextChangedListener(new TextWatcher() {
int beforeTextLength = 0; int beforeTextLength = 0;
int onTextLength = 0; int onTextLength = 0;
boolean isChanged = false; boolean isChanged = false;
int location = 0;// 记录光标的位置 int location = 0;// 记录光标的位置
private char[] tempChar; private char[] tempChar;
private StringBuffer buffer = new StringBuffer(); private StringBuffer buffer = new StringBuffer();
int konggeNumberB = 0; int konggeNumberB = 0;
......
...@@ -7,8 +7,8 @@ import java.io.OutputStream; ...@@ -7,8 +7,8 @@ import java.io.OutputStream;
/** /**
* Base64编码工具类 * Base64编码工具类
* *
* @author * @author
* @date 2012-10-11 * @date 2012-10-11
*/ */
public class Base64 { public class Base64 {
......
...@@ -132,7 +132,7 @@ public class FileUtils { ...@@ -132,7 +132,7 @@ public class FileUtils {
File file = null; File file = null;
try { try {
File dir = new File(filePath); File dir = new File(filePath);
if (!dir.exists() && dir.isDirectory()) {//判断文件目录是否存在 if (!dir.exists() && dir.isDirectory()) {//判断文件目录是否存在
dir.mkdirs(); dir.mkdirs();
} }
//判断是否有这个文件如果有的话则删除 //判断是否有这个文件如果有的话则删除
......
...@@ -7,12 +7,12 @@ import java.security.NoSuchAlgorithmException; ...@@ -7,12 +7,12 @@ import java.security.NoSuchAlgorithmException;
* MD5 算法 * MD5 算法
*/ */
public class MD5 { public class MD5 {
// 全局数组 // 全局数组
private final static String[] strDigits = { "0", "1", "2", "3", "4", "5", private final static String[] strDigits = { "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
// 返回形式为数字跟字符串 // 返回形式为数字跟字符串
private static String byteToArrayString(byte bByte) { private static String byteToArrayString(byte bByte) {
int iRet = bByte; int iRet = bByte;
......
...@@ -81,7 +81,7 @@ public class PreferencesService { ...@@ -81,7 +81,7 @@ public class PreferencesService {
/** /**
* 保存int类型数据 * 保存int类型数据
* *
* @param * @param
* @param value * @param value
*/ */
...@@ -93,7 +93,7 @@ public class PreferencesService { ...@@ -93,7 +93,7 @@ public class PreferencesService {
/** /**
* 获取int类型数据 * 获取int类型数据
* *
* @param key * @param key
* @return * @return
*/ */
......
...@@ -17,7 +17,7 @@ public class SignUtils { ...@@ -17,7 +17,7 @@ public class SignUtils {
private static String getAlgorithms(boolean rsa2) { private static String getAlgorithms(boolean rsa2) {
return rsa2 ? SIGN_SHA256RSA_ALGORITHMS : SIGN_ALGORITHMS; return rsa2 ? SIGN_SHA256RSA_ALGORITHMS : SIGN_ALGORITHMS;
} }
public static String sign(String content, String privateKey, boolean rsa2) { public static String sign(String content, String privateKey, boolean rsa2) {
try { try {
PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec( PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(
......
...@@ -4,7 +4,7 @@ package com.mints.goodmoney.utils.rxutil; ...@@ -4,7 +4,7 @@ package com.mints.goodmoney.utils.rxutil;
* 在主线程中执行的任务 * 在主线程中执行的任务
*/ */
public abstract class UITask<T> { public abstract class UITask<T> {
public abstract void doInUIThread(); public abstract void doInUIThread();
public UITask(T t) { public UITask(T t) {
......
...@@ -106,13 +106,22 @@ ...@@ -106,13 +106,22 @@
</FrameLayout> </FrameLayout>
<FrameLayout <FrameLayout
android:id="@+id/flAwardAd" android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal" android:layout_marginLeft="25dp"
android:background="@color/full_transparent"> android:layout_marginRight="25dp"
android:layout_gravity="center"
android:background="@drawable/shape_bg_write">
<FrameLayout
android:id="@+id/flAwardAd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/full_transparent">
</FrameLayout>
</FrameLayout> </FrameLayout>
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
<TextView <TextView
android:id="@+id/tvGameHint" android:id="@+id/tvGameHint"
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/my_color_gray" android:background="@color/my_color_gray"
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginRight="20dp" android:layout_marginRight="20dp"
android:background="@drawable/shape_btn_switch" android:background="@drawable/shape_btn_switch"
android:text="切换账号" android:text="退出登录"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="16sp" /> android:textSize="16sp" />
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/fragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:background="@color/white" android:background="@color/white"
android:orientation="vertical"> android:orientation="vertical">
</FrameLayout> <FrameLayout
android:id="@+id/fragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"></FrameLayout>
<TextView
android:visibility="gone"
android:id="@+id/tvZhangContent"
android:layout_width="match_parent"
android:gravity="center"
android:textSize="16sp"
android:textColor="@color/black"
android:layout_height="40dp"></TextView>
</LinearLayout>
...@@ -36,52 +36,30 @@ ...@@ -36,52 +36,30 @@
<color name="main_water_btn">#A7BCFE</color> <color name="main_water_btn">#A7BCFE</color>
<color name="drink_time_color">#323643</color> <color name="drink_time_color">#323643</color>
<color name="drink_time_color_cur">#F28335</color> <color name="drink_time_color_cur">#F28335</color>
<color name="title_color">#3D5AFE</color> <color name="title_color">#3D5AFE</color>
<color name="main_bg">#f2f2f2</color> <color name="main_bg">#f2f2f2</color>
<color name="main_bg_text">#666666</color> <color name="main_bg_text">#666666</color>
<color name="btn_nor">#cb4a39</color> <color name="btn_nor">#cb4a39</color>
<color name="btn_select">#ac3e30</color> <color name="btn_select">#ac3e30</color>
<color name="btn_enabled">#F1F2F8</color> <color name="btn_enabled">#F1F2F8</color>
<drawable name="item_enabled">#FFFFFF</drawable> <drawable name="item_enabled">#FFFFFF</drawable>
<color name="black_text">#333333</color> <color name="black_text">#333333</color>
<color name="line_color">#d3d3d3</color> <color name="line_color">#d3d3d3</color>
<color name="rippelColor">#07FCF5</color> <color name="rippelColor">#07FCF5</color>
<color name="toastbg_transparent">#aa000000</color> <color name="toastbg_transparent">#aa000000</color>
<color name="authentic_font">#cb4d39</color> <color name="authentic_font">#cb4d39</color>
<color name="title_font">#2B3238</color> <color name="title_font">#2B3238</color>
<color name="text_font">#454A69</color> <color name="text_font">#454A69</color>
<!--优惠券 未使用-->
<color name="coupon_font">#8007FCF5</color> <color name="coupon_font">#8007FCF5</color>
<!--优惠券 未使用-->
<!--优惠券 已使用-->
<!--借款记录-->
<!--主界面颜色-->
<color name="list_date">#D5D5D5</color> <color name="list_date">#D5D5D5</color>
<!--小额分期首页-->
<color name="seekbar_bs_smallstage_choosecash">#D6D6D6</color> <color name="seekbar_bs_smallstage_choosecash">#D6D6D6</color>
<color name="rbtn_bs_smallstage_textcolor">#D4D4D4</color> <color name="rbtn_bs_smallstage_textcolor">#D4D4D4</color>
<!-- 小额分期账单详情页面 -->
<!--首页-->
<color name="tv_main_title">#2B3238</color> <color name="tv_main_title">#2B3238</color>
<!--主界面-->
<color name="loan_tv_choose_paycash">#333333</color> <color name="loan_tv_choose_paycash">#333333</color>
<color name="loan_tv_choose_paycash_text">#a8a8b9</color> <color name="loan_tv_choose_paycash_text">#a8a8b9</color>
<color name="loan_tv_choose_paycash_font">#f2776d</color> <color name="loan_tv_choose_paycash_font">#f2776d</color>
<color name="loan_seekbar_line">#cf6a60</color> <color name="loan_seekbar_line">#cf6a60</color>
<color name="loan_green">#7CCD7C</color> <color name="loan_green">#7CCD7C</color>
<!--借款页-->
<color name="tv_loan_bg">#FEB63D</color> <color name="tv_loan_bg">#FEB63D</color>
<color name="tv_payday_arrivalamount">#FFC107</color> <color name="tv_payday_arrivalamount">#FFC107</color>
<color name="tv_payday_status">#4066BED0</color> <color name="tv_payday_status">#4066BED0</color>
...@@ -89,11 +67,8 @@ ...@@ -89,11 +67,8 @@
<color name="iv_payday_coupon">#4007FCF5</color> <color name="iv_payday_coupon">#4007FCF5</color>
<color name="tv_basic_color">#FFF0D8</color> <color name="tv_basic_color">#FFF0D8</color>
<color name="friend_color">#FFF0DA</color> <color name="friend_color">#FFF0DA</color>
<!--还款页-->
<color name="tv_message_recente_money">#FF5E5E</color> <color name="tv_message_recente_money">#FF5E5E</color>
<color name="tv_repayment_status">#f58686</color> <color name="tv_repayment_status">#f58686</color>
<color name="tv_main_data_fragment_title">#464545</color> <color name="tv_main_data_fragment_title">#464545</color>
<color name="tv_main_data_fragment_promt">#cc4a3a</color> <color name="tv_main_data_fragment_promt">#cc4a3a</color>
<color name="authentic_text">#FFFFFF</color> <color name="authentic_text">#FFFFFF</color>
...@@ -105,32 +80,20 @@ ...@@ -105,32 +80,20 @@
<color name="credit_text">#49546C</color> <color name="credit_text">#49546C</color>
<color name="background_color">#F9F9F9</color> <color name="background_color">#F9F9F9</color>
<color name="vip_money_color">#D9C3A0</color> <color name="vip_money_color">#D9C3A0</color>
<!--验证码倒计时颜色-->
<color name="countdown_color">#07FCF5</color> <color name="countdown_color">#07FCF5</color>
<!--按钮不可点击的字体颜色-->
<color name="btn_text_color_false">#4066bed0</color> <color name="btn_text_color_false">#4066bed0</color>
<!--input bg color-->
<color name="et_bg_color">#4066bed0</color> <color name="et_bg_color">#4066bed0</color>
<!--input hint color-->
<color name="text_hint_color">#C1C2CB</color> <color name="text_hint_color">#C1C2CB</color>
<color name="message_text_color">#8007FCF5</color> <color name="message_text_color">#8007FCF5</color>
<!--空页面 提示语的颜色值-->
<color name="emptyprompt_text_color">#09b8b9</color> <color name="emptyprompt_text_color">#09b8b9</color>
<color name="coffers_text_color">#FEFEFE</color> <color name="coffers_text_color">#FEFEFE</color>
<color name="coffers_item_text_color">#babac1</color> <color name="coffers_item_text_color">#babac1</color>
<color name="drawing_text_color">#149CA4</color> <color name="drawing_text_color">#149CA4</color>
<color name="drawing_money_color">#FF0000</color> <color name="drawing_money_color">#FF0000</color>
<color name="drawing_dialog_code_color">#179B9E</color> <color name="drawing_dialog_code_color">#179B9E</color>
<color name="drawing_dialog_record_color">#BABBC2</color> <color name="drawing_dialog_record_color">#BABBC2</color>
<color name="drawing_dialog_record_success_color">#92949F</color> <color name="drawing_dialog_record_success_color">#92949F</color>
<color name="drawing_dialog_record_faile_color">#EEEFF6</color> <color name="drawing_dialog_record_faile_color">#EEEFF6</color>
<color name="my_order_color">#B6B8C5</color> <color name="my_order_color">#B6B8C5</color>
<color name="order_color">#63677E</color> <color name="order_color">#63677E</color>
<color name="main_color">#FD9A2A</color> <color name="main_color">#FD9A2A</color>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android"> <paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-files-path name="external_files_path" path="Download" />
<!--为了适配所有路径可以设置 path = "." --> <!--为了适配所有路径可以设置 path = "." -->
<root-path <external-path
name="name" name="tt_external_root"
path="" /> path="." />
<external-path name="sg_download" path="SGDOWNLOAD" /> <external-path
name="tt_external_download"
path="Download" />
<external-files-path
name="tt_external_files_download"
path="Download" />
<files-path
name="tt_internal_file_download"
path="Download" />
<cache-path
name="tt_internal_cache_download"
path="Download" />
</paths> </paths>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path name="tt_external_root" path="." />
<external-path name="tt_external_download" path="Download" />
<external-files-path name="tt_external_files_download" path="Download" />
<files-path name="tt_internal_file_download" path="Download" />
<cache-path name="tt_internal_cache_download" path="Download" />
<external-cache-path
name="gdt_sdk_download_path1"
path="com_qq_e_download" />
<cache-path
name="gdt_sdk_download_path2"
path="com_qq_e_download" />
</paths>
\ No newline at end of file
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