Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
android_goodmoney
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
android
android_goodmoney
Commits
72bf2c61
Commit
72bf2c61
authored
Apr 16, 2021
by
mengcuiguang
Browse files
Options
Browse Files
Download
Plain Diff
push
parents
43da4807
74fd7d45
Changes
45
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
1026 additions
and
41 deletions
+1026
-41
android_goodmoney.iml
.idea/android_goodmoney.iml
+22
-0
modules.xml
.idea/modules.xml
+8
-0
vcs.xml
.idea/vcs.xml
+6
-0
workspace.xml
.idea/workspace.xml
+129
-0
build.gradle
GoodMoney/app/build.gradle
+20
-0
AndroidManifest.xml
GoodMoney/app/src/main/AndroidManifest.xml
+23
-1
InitAppService.kt
...y/app/src/main/java/com/mints/goodmoney/InitAppService.kt
+1
-1
MintsApplication.java
...p/src/main/java/com/mints/goodmoney/MintsApplication.java
+5
-1
AppConfig.java
...p/src/main/java/com/mints/goodmoney/common/AppConfig.java
+2
-3
Constant.kt
.../app/src/main/java/com/mints/goodmoney/common/Constant.kt
+9
-0
ReaderManager.kt
...rc/main/java/com/mints/goodmoney/manager/ReaderManager.kt
+1
-0
TtCsjAdManager.java
...main/java/com/mints/goodmoney/manager/TtCsjAdManager.java
+1
-0
XmManager.kt
...pp/src/main/java/com/mints/goodmoney/manager/XmManager.kt
+76
-0
YlhAdManager.kt
...src/main/java/com/mints/goodmoney/manager/YlhAdManager.kt
+1
-0
BannerBean.java
...c/main/java/com/mints/goodmoney/mvp/model/BannerBean.java
+10
-0
BaseResponse.java
...main/java/com/mints/goodmoney/mvp/model/BaseResponse.java
+0
-1
JsBridgeBean.java
...main/java/com/mints/goodmoney/mvp/model/JsBridgeBean.java
+15
-0
MyPresenter.kt
...in/java/com/mints/goodmoney/mvp/presenters/MyPresenter.kt
+1
-1
Presenter.java
...in/java/com/mints/goodmoney/mvp/presenters/Presenter.java
+0
-1
VersionUpdatePresenter.java
...ints/goodmoney/mvp/presenters/VersionUpdatePresenter.java
+0
-1
BaseView.java
...src/main/java/com/mints/goodmoney/mvp/views/BaseView.java
+0
-1
MyView.kt
...app/src/main/java/com/mints/goodmoney/mvp/views/MyView.kt
+3
-0
DrawcashActivity.kt
...java/com/mints/goodmoney/ui/activitys/DrawcashActivity.kt
+2
-3
MobileLoginActivity.kt
...a/com/mints/goodmoney/ui/activitys/MobileLoginActivity.kt
+1
-0
WxLoginActivity.kt
.../java/com/mints/goodmoney/ui/activitys/WxLoginActivity.kt
+2
-0
XiaomanActivity.kt
.../java/com/mints/goodmoney/ui/activitys/XiaomanActivity.kt
+549
-0
BannerBaseAdapter.java
...ava/com/mints/goodmoney/ui/adapter/BannerBaseAdapter.java
+0
-1
GvMyAdapter.java
...main/java/com/mints/goodmoney/ui/adapter/GvMyAdapter.java
+2
-0
MyFragment.kt
...c/main/java/com/mints/goodmoney/ui/fragment/MyFragment.kt
+19
-3
BannerView.java
.../main/java/com/mints/goodmoney/ui/widgets/BannerView.java
+0
-2
BaseDialog.java
...ava/com/mints/goodmoney/ui/widgets/dialog/BaseDialog.java
+0
-1
LoadingDialog.java
.../com/mints/goodmoney/ui/widgets/dialog/LoadingDialog.java
+0
-1
BubbleConfigBuilder.java
...nts/goodmoney/ui/widgets/seekbar/BubbleConfigBuilder.java
+0
-1
RotateListener.java
...odmoney/ui/widgets/wheelsruf/listener/RotateListener.java
+0
-1
WheelSurfPanView.java
...goodmoney/ui/widgets/wheelsruf/view/WheelSurfPanView.java
+0
-4
WheelSurfView.java
...ts/goodmoney/ui/widgets/wheelsruf/view/WheelSurfView.java
+0
-4
MiscUtil.java
...app/src/main/java/com/mints/goodmoney/utils/MiscUtil.java
+0
-4
PermissionUtils.java
.../main/java/com/mints/goodmoney/utils/PermissionUtils.java
+0
-2
ToastUtil.java
...pp/src/main/java/com/mints/goodmoney/utils/ToastUtil.java
+0
-1
ToolUtil.java
...app/src/main/java/com/mints/goodmoney/utils/ToolUtil.java
+0
-1
activity_layout_xiaoman.xml
...Money/app/src/main/res/layout/activity_layout_xiaoman.xml
+25
-0
activity_zmain.xml
GoodMoney/app/src/main/res/layout/activity_zmain.xml
+81
-0
a.png
GoodMoney/app/src/main/res/mipmap-xhdpi/a.png
+0
-0
network_security_config.xml
GoodMoney/app/src/main/res/xml/network_security_config.xml
+5
-1
build.gradle
GoodMoney/build.gradle
+7
-0
No files found.
.idea/android_goodmoney.iml
0 → 100644
View file @
72bf2c61
<?xml version="1.0" encoding="UTF-8"?>
<module
type=
"JAVA_MODULE"
version=
"4"
>
<component
name=
"FacetManager"
>
<facet
type=
"android"
name=
"Android"
>
<configuration>
<option
name=
"GEN_FOLDER_RELATIVE_PATH_APT"
value=
"/../../android_goodmoney/gen"
/>
<option
name=
"GEN_FOLDER_RELATIVE_PATH_AIDL"
value=
"/../../android_goodmoney/gen"
/>
<option
name=
"MANIFEST_FILE_RELATIVE_PATH"
value=
"/../../android_goodmoney/AndroidManifest.xml"
/>
<option
name=
"RES_FOLDER_RELATIVE_PATH"
value=
"/../../android_goodmoney/res"
/>
<option
name=
"ASSETS_FOLDER_RELATIVE_PATH"
value=
"/../../android_goodmoney/assets"
/>
<option
name=
"LIBS_FOLDER_RELATIVE_PATH"
value=
"/../../android_goodmoney/libs"
/>
<option
name=
"PROGUARD_LOGS_FOLDER_RELATIVE_PATH"
value=
"/../../android_goodmoney/proguard_logs"
/>
</configuration>
</facet>
</component>
<component
name=
"NewModuleRootManager"
inherit-compiler-output=
"true"
>
<exclude-output
/>
<content
url=
"file://$MODULE_DIR$"
/>
<orderEntry
type=
"jdk"
jdkName=
"Android API 30 Platform"
jdkType=
"Android SDK"
/>
<orderEntry
type=
"sourceFolder"
forTests=
"false"
/>
</component>
</module>
\ No newline at end of file
.idea/modules.xml
0 → 100644
View file @
72bf2c61
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"ProjectModuleManager"
>
<modules>
<module
fileurl=
"file://$PROJECT_DIR$/.idea/android_goodmoney.iml"
filepath=
"$PROJECT_DIR$/.idea/android_goodmoney.iml"
/>
</modules>
</component>
</project>
\ No newline at end of file
.idea/vcs.xml
0 → 100644
View file @
72bf2c61
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"VcsDirectoryMappings"
>
<mapping
directory=
""
vcs=
"Git"
/>
</component>
</project>
\ No newline at end of file
.idea/workspace.xml
0 → 100644
View file @
72bf2c61
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"AutoImportSettings"
>
<option
name=
"autoReloadType"
value=
"NONE"
/>
</component>
<component
name=
"BranchesTreeState"
>
<expand>
<path>
<item
name=
"ROOT"
type=
"e8cecc67:BranchNodeDescriptor"
/>
<item
name=
"LOCAL_ROOT"
type=
"e8cecc67:BranchNodeDescriptor"
/>
</path>
<path>
<item
name=
"ROOT"
type=
"e8cecc67:BranchNodeDescriptor"
/>
<item
name=
"REMOTE_ROOT"
type=
"e8cecc67:BranchNodeDescriptor"
/>
</path>
<path>
<item
name=
"ROOT"
type=
"e8cecc67:BranchNodeDescriptor"
/>
<item
name=
"REMOTE_ROOT"
type=
"e8cecc67:BranchNodeDescriptor"
/>
<item
name=
"GROUP_NODE:origin"
type=
"e8cecc67:BranchNodeDescriptor"
/>
</path>
</expand>
<select
/>
</component>
<component
name=
"ChangeListManager"
>
<list
default=
"true"
id=
"5591e6ab-691c-445c-87a7-05c9c0b6b8f1"
name=
"Default Changelist"
comment=
""
>
<change
afterPath=
"$PROJECT_DIR$/.idea/android_goodmoney.iml"
afterDir=
"false"
/>
<change
afterPath=
"$PROJECT_DIR$/.idea/modules.xml"
afterDir=
"false"
/>
<change
afterPath=
"$PROJECT_DIR$/.idea/vcs.xml"
afterDir=
"false"
/>
</list>
<option
name=
"SHOW_DIALOG"
value=
"false"
/>
<option
name=
"HIGHLIGHT_CONFLICTS"
value=
"true"
/>
<option
name=
"HIGHLIGHT_NON_ACTIVE_CHANGELIST"
value=
"false"
/>
<option
name=
"LAST_RESOLUTION"
value=
"IGNORE"
/>
</component>
<component
name=
"Git.Settings"
>
<option
name=
"RECENT_BRANCH_BY_REPOSITORY"
>
<map>
<entry
key=
"$PROJECT_DIR$"
value=
"master"
/>
</map>
</option>
<option
name=
"RECENT_GIT_ROOT_PATH"
value=
"$PROJECT_DIR$"
/>
</component>
<component
name=
"ProjectId"
id=
"1qy7NePKR8L0wwvhkzGGEh5uTqz"
/>
<component
name=
"ProjectViewState"
>
<option
name=
"hideEmptyMiddlePackages"
value=
"true"
/>
<option
name=
"showLibraryContents"
value=
"true"
/>
</component>
<component
name=
"PropertiesComponent"
>
<property
name=
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES"
value=
"true"
/>
<property
name=
"RunOnceActivity.OpenProjectViewOnStart"
value=
"true"
/>
<property
name=
"RunOnceActivity.ShowReadmeOnStart"
value=
"true"
/>
<property
name=
"SHARE_PROJECT_CONFIGURATION_FILES"
value=
"true"
/>
<property
name=
"android.sdk.path"
value=
"$USER_HOME$/AppData/Local/Android/Sdk"
/>
<property
name=
"last_opened_file_path"
value=
"$PROJECT_DIR$/GoodMoney"
/>
<property
name=
"settings.editor.selected.configurable"
value=
"vcs.Git"
/>
</component>
<component
name=
"SvnConfiguration"
>
<configuration
/>
</component>
<component
name=
"TaskManager"
>
<task
active=
"true"
id=
"Default"
summary=
"Default task"
>
<changelist
id=
"5591e6ab-691c-445c-87a7-05c9c0b6b8f1"
name=
"Default Changelist"
comment=
""
/>
<created>
1618039936363
</created>
<option
name=
"number"
value=
"Default"
/>
<option
name=
"presentableId"
value=
"Default"
/>
<updated>
1618039936363
</updated>
</task>
<servers
/>
</component>
<component
name=
"Vcs.Log.Tabs.Properties"
>
<option
name=
"TAB_STATES"
>
<map>
<entry
key=
"1"
>
<value>
<State>
<option
name=
"SHOW_ONLY_AFFECTED_CHANGES"
value=
"true"
/>
<option
name=
"FILTERS"
>
<map>
<entry
key=
"branch"
>
<value>
<list>
<option
value=
"HEAD"
/>
</list>
</value>
</entry>
<entry
key=
"structure"
>
<value>
<list>
<option
value=
"dir:D:/Androidproject/android_goodmoney/GoodMoney"
/>
</list>
</value>
</entry>
</map>
</option>
</State>
</value>
</entry>
<entry
key=
"MAIN"
>
<value>
<State
/>
</value>
</entry>
</map>
</option>
<option
name=
"OPEN_GENERIC_TABS"
>
<map>
<entry
key=
"1"
value=
"TOOL_WINDOW"
/>
</map>
</option>
</component>
<component
name=
"WindowStateProjectService"
>
<state
x=
"223"
y=
"67"
key=
"#com.intellij.execution.impl.EditConfigurationsDialog"
timestamp=
"1618040266324"
>
<screen
x=
"0"
y=
"0"
width=
"1536"
height=
"824"
/>
</state>
<state
x=
"223"
y=
"67"
key=
"#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1536.824@0.0.1536.824"
timestamp=
"1618040266324"
/>
<state
x=
"470"
y=
"212"
key=
"#com.intellij.fileTypes.FileTypeChooser"
timestamp=
"1618040423430"
>
<screen
x=
"0"
y=
"0"
width=
"1536"
height=
"824"
/>
</state>
<state
x=
"470"
y=
"212"
key=
"#com.intellij.fileTypes.FileTypeChooser/0.0.1536.824@0.0.1536.824"
timestamp=
"1618040423430"
/>
<state
x=
"549"
y=
"167"
key=
"FileChooserDialogImpl"
timestamp=
"1618040545629"
>
<screen
x=
"0"
y=
"0"
width=
"1536"
height=
"824"
/>
</state>
<state
x=
"549"
y=
"167"
key=
"FileChooserDialogImpl/0.0.1536.824@0.0.1536.824"
timestamp=
"1618040545629"
/>
<state
x=
"270"
y=
"56"
key=
"SettingsEditor"
timestamp=
"1618040174821"
>
<screen
x=
"0"
y=
"0"
width=
"1536"
height=
"824"
/>
</state>
<state
x=
"270"
y=
"56"
key=
"SettingsEditor/0.0.1536.824@0.0.1536.824"
timestamp=
"1618040174821"
/>
</component>
</project>
\ No newline at end of file
GoodMoney/app/build.gradle
View file @
72bf2c61
...
...
@@ -351,4 +351,24 @@ dependencies {
// androidTestImplementation 'androidx.test.ext:junit:1.1.2'
// androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
//小满
implementation
(
"com.bx:adsdk:1.4.2.2"
){
exclude
group:
"com.miit.sdk"
transitive
=
true
changing
=
true
}
// implementation ('com.google.code.gson:gson:2.8.2'){
// exclude group:"com.miit.sdk"
// }
// implementation ('com.qq.e.union:union:4.310.1180'){
// exclude group:"com.miit.sdk"
// } // 普通版本
// compile(name: 'open_ad_sdk', ext: 'aar')
}
GoodMoney/app/src/main/AndroidManifest.xml
View file @
72bf2c61
...
...
@@ -30,7 +30,6 @@
<uses-permission
android:name=
"android.permission.CHANGE_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_BACKGROUND_LOCATION"
/>
<uses-permission
android:name=
"android.permission.SET_WALLPAPER"
/>
<uses-permission
android:name=
"android.permission.PACKAGE_USAGE_STATS"
/>
<!-- 来电秀 -->
<uses-permission
android:name=
"android.permission.READ_CALL_LOG"
/>
...
...
@@ -42,6 +41,12 @@
<!-- 蘑菇星球 -->
<uses-permission
android:name=
"android.permission.REQUEST_DELETE_PACKAGES"
/>
<!--小满-->
<uses-permission
android:name=
"android.permission.CHANGE_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.READ_SETTINGS"
/>
<uses-permission
android:name=
"android.permission.QUERY_ALL_PACKAGES"
/>
<uses-permission
android:name=
"android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"
/>
<permission
android:name=
"com.mints.goodmoney.permission"
android:protectionLevel=
"normal"
/>
...
...
@@ -246,6 +251,8 @@
<activity
android:name=
".call.detail.DetailApplyActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".ui.activitys.XiaomanActivity"
android:screenOrientation=
"portrait"
/>
<service
android:name=
".service.UpdateService"
...
...
@@ -373,6 +380,11 @@
android:name=
"com.qq.e.comm.DownloadService"
android:exported=
"false"
/>
<!--小滿廣告-->
<activity
android:name=
"com.qq.e.tg.ADActivity"
android:configChanges=
"keyboard|keyboardHidden|orientation|screenSize"
/>
<activity
android:name=
"com.qq.e.ads.ADActivity"
android:configChanges=
"keyboard|keyboardHidden|orientation|screenSize"
/>
...
...
@@ -386,6 +398,16 @@
android:screenOrientation=
"landscape"
tools:replace=
"android:screenOrientation"
/>
<provider
android:name=
"com.qq.e.comm.GDTFileProvider"
android:authorities=
"${applicationId}.gdt.fileprovider"
android:exported=
"false"
android:grantUriPermissions=
"true"
>
<meta-data
android:name=
"android.support.FILE_PROVIDER_PATHS"
android:resource=
"@xml/gdt_file_path"
/>
</provider>
<!-- 闪电盒子广告 -->
<provider
android:name=
"com.wannuosili.sdk.ad.component.WNFileProvider"
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/InitAppService.kt
View file @
72bf2c61
...
...
@@ -50,7 +50,7 @@ class InitAppService : IntentService("InitializeService") {
}
/**
* 子线程进行初始化SDK操作
* 子线程进行初始化SDK操作
【此处sdk属于非及时使用】
*/
private
fun
initApplication
()
{
// 初始化ShareSDK
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/MintsApplication.java
View file @
72bf2c61
...
...
@@ -21,6 +21,7 @@ import com.mints.goodmoney.manager.RsNewsManager;
import
com.mints.goodmoney.manager.TtCsjAdManager
;
import
com.mints.goodmoney.manager.TzManager
;
import
com.mints.goodmoney.manager.WnManager
;
import
com.mints.goodmoney.manager.XmManager
;
import
com.mints.goodmoney.manager.YlVideoManager
;
import
com.mints.goodmoney.manager.YlhAdManager
;
import
com.mints.goodmoney.net.LoanService
;
...
...
@@ -131,9 +132,12 @@ public class MintsApplication extends MultiDexApplication {
// 枫岚广告
MhManager
.
INSTANCE
.
initMn
(
this
);
// 天卓珊瑚
// 天卓珊瑚
[INSTANCE是设置单例模式]
TzManager
.
INSTANCE
.
initTz
(
this
);
//小满
XmManager
.
INSTANCE
.
initXm
(
this
);
// 一览视频
YlVideoManager
.
INSTANCE
.
init
(
this
);
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/common/AppConfig.java
View file @
72bf2c61
...
...
@@ -3,7 +3,6 @@ package com.mints.goodmoney.common;
/**
* 描述:配置app设置开关
* 作者:孟崔广
* 时间:2017/10/10 17:51
* 邮箱:mengcga@163.com
*/
public
class
AppConfig
{
...
...
@@ -84,11 +83,11 @@ public class AppConfig {
/**
* csjFull 剩余广告播放数
*/
public
static
int
csjFullVideoAdCount
=
5
;
public
static
int
csjFullVideoAdCount
=
0
;
/**
* flVideo 剩余广告播放数
*/
public
static
int
flVideoAdCount
=
5
;
public
static
int
flVideoAdCount
=
0
;
/**
* shVideo 剩余广告播放数
*/
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/common/Constant.kt
View file @
72bf2c61
...
...
@@ -5,6 +5,7 @@ import com.mints.goodmoney.manager.UserManager
object
Constant
{
/**
* 首次弹出权限声明
*/
...
...
@@ -89,6 +90,7 @@ object Constant {
const
val
MAIN_CUR_COIN
=
"main_cur_coin"
//当前金币展示
const
val
MAIN_EXTRA_ID
=
"main_extra_id"
//额外ID
const
val
MAIN_CARRIER_TYPE
=
"main_carrier_type"
//载体
const
val
MAIN_CARRIER_TITLE
=
"main_carrier_title"
//载体
const
val
MAIN_AID
=
"main_aid"
// 体验安装过APP的aid
...
...
@@ -182,6 +184,9 @@ object Constant {
const
val
EVENT_TYPE_GAMEINFO
=
"GAMEINFO"
// 热门活动类型
//小满
const
val
HOT_ACTIVITY_SHEEP
=
"TO_XMKJ"
const
val
HOT_ACTIVITY_WATER
=
"water"
const
val
HOT_ACTIVITY_WALK
=
"walk"
const
val
HOT_ACTIVITY_CARD
=
"card"
...
...
@@ -246,4 +251,8 @@ object Constant {
// 蘑菇星球引导页
const
val
MOKU_FLAG_GUIDE
=
"moku_flag_guide"
//page
const
val
ACTIVITY_ID
=
"activity_id"
const
val
ACTIVITY_TITLE
=
"activity_title"
}
GoodMoney/app/src/main/java/com/mints/goodmoney/manager/ReaderManager.kt
View file @
72bf2c61
...
...
@@ -21,6 +21,7 @@ import com.chineseall.reader17ksdk.utils.book.ScreenUtils
* 邮箱:mengcga@163.com
*/
object
ReaderManager
{
private
const
val
APP_ID
=
"1242"
private
const
val
SECRET
=
"hzq@1242"
private
const
val
APP
=
"32"
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/manager/TtCsjAdManager.java
View file @
72bf2c61
...
...
@@ -44,6 +44,7 @@ public class TtCsjAdManager {
public
static
String
TT_AD_VEDIO_SMALLHOMEVEDIO
=
"945744186"
;
// 短视频翻倍
public
static
String
TT_AD_VEDIO_KYLVEDIO
=
"945791766"
;
// 来电秀视频
public
static
String
TT_AD_VEDIO_READ
=
"945997554"
;
// 听读
public
static
String
TT_AD_VEDIO_XIAOMAN
=
"946012845"
;
// 小满科技
/*全屏视频*/
public
static
String
TT_AD_FULLVEDIO_ALL
=
"945752969"
;
// 通用
/*信息流*/
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/manager/XmManager.kt
0 → 100644
View file @
72bf2c61
package
com.mints.goodmoney.manager
import
android.app.Application
import
android.text.TextUtils
import
android.util.Log
import
android.view.View
import
android.widget.ImageView
import
com.bumptech.glide.Glide
import
com.bx.adsdk.AdSdk
import
com.bx.adsdk.util.MaterialTm
import
com.bytedance.sdk.openadsdk.TTAdConfig
import
com.bytedance.sdk.openadsdk.TTAdConstant
import
com.bytedance.sdk.openadsdk.TTAdSdk
import
com.fendasz.moku.planet.exception.MokuException
import
com.fendasz.moku.planet.helper.MokuHelper
import
com.mints.goodmoney.MintsApplication
import
com.mints.goodmoney.utils.LogUtil
import
com.qq.e.comm.managers.GDTADManager
import
kotlinx.android.synthetic.main.activity_layout_xiaoman.*
/**
* 描述:小满
*/
object
XmManager
{
private
var
placeMateId
=
""
private
var
materialId
=
""
private
const
val
ACCESSKEY
=
"hzq-az_rvkvdy"
private
const
val
SECRETKEY
=
"22FvHjUzvQ516214"
fun
initXm
(
application
:
Application
)
{
// //打开日志,上线之前记得关闭
try
{
// //打开日志,上线之前记得关闭
AdSdk
.
setDebug
(
true
);
//初始化 需要在Applicaiton 中
AdSdk
.
init
(
application
,
ACCESSKEY
,
SECRETKEY
)
}
catch
(
e
:
Exception
)
{
//这里应该是小满的异常
e
.
printStackTrace
()
}
}
fun
loadMater
(
placeid
:
String
)
{
if
(
TextUtils
.
isEmpty
(
placeMateId
))
{
val
tm
:
MaterialTm
by
lazy
{
MaterialTm
()
}
tm
!!
.
loadMaterialData
(
UserManager
.
getInstance
().
userID
,
placeid
,
object
:
MaterialTm
.
Callback
{
//对应PlaceID会有对应的素材
override
fun
onSuccess
(
imgUrl
:
String
,
placeMateId2
:
String
,
materialId2
:
String
)
{
placeMateId
=
placeMateId2
materialId
=
materialId2
AdSdk
.
exposure
(
UserManager
.
getInstance
().
userID
,
placeid
,
placeMateId
,
materialId
);
LogUtil
.
d
(
"******exposure*********${UserManager.getInstance().userID}******$placeMateId********$materialId****************$placeid**"
)
}
override
fun
onFailure
(
code
:
String
,
errmsg
:
String
)
{
LogUtil
.
d
(
"$code$errmsg"
)
}
})
}
else
{
AdSdk
.
exposure
(
UserManager
.
getInstance
().
userID
,
placeid
,
placeMateId
,
materialId
);
LogUtil
.
d
(
"******exposure*********${UserManager.getInstance().userID}******$placeMateId********$materialId****************$placeid**"
)
}
}
/**
* 入口点击上报
* @param view
*/
fun
exprotClick
(
placeid
:
String
)
{
AdSdk
.
click
(
UserManager
.
getInstance
().
userID
,
placeid
,
materialId
,
materialId
);
LogUtil
.
d
(
"******exprotClick*******${UserManager.getInstance().userID}*******$placeMateId********$materialId******$placeid"
)
}
}
\ No newline at end of file
GoodMoney/app/src/main/java/com/mints/goodmoney/manager/YlhAdManager.kt
View file @
72bf2c61
...
...
@@ -37,6 +37,7 @@ object YlhAdManager {
var
YLH_AD_VEDIO_HOMEVEDIO_POSTID
=
"4051451341464487"
// 首页视频翻倍
var
YLH_AD_VEDIO_SMALLHOMEVEDIO_POSTID
=
"9051152341362610"
// 短视频翻倍
var
YLH_AD_VEDIO_KYLVEDIO_POSTID
=
"8001950728967276"
// 来电秀视频
var
YLH_AD_VEDIO_XIAOMAN_POSTID
=
"3081971852112087"
// 小满科技
/*信息流*/
var
YLH_AD_NATIVEEXPRESS_JULEYUN
=
"8041941770890627"
//聚乐云
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/mvp/model/BannerBean.java
View file @
72bf2c61
...
...
@@ -31,6 +31,12 @@ public class BannerBean implements Serializable {
private
String
title
;
private
String
toUrl
;
public
String
getXmPlaceId
()
{
return
xmPlaceId
;
}
private
String
xmPlaceId
;
public
String
getUrl
()
{
return
url
;
}
...
...
@@ -70,5 +76,9 @@ public class BannerBean implements Serializable {
public
void
setToUrl
(
String
toUrl
)
{
this
.
toUrl
=
toUrl
;
}
// public String getxmPlaceId() {
// return xmPlaceId;
// }
}
}
GoodMoney/app/src/main/java/com/mints/goodmoney/mvp/model/BaseResponse.java
View file @
72bf2c61
...
...
@@ -5,7 +5,6 @@ import java.io.Serializable;
/**
* 描述:BaseResponse
* 作者:孟崔广
* 时间:2017/10/10 10:51
* 邮箱:mengcga@163.com
*/
public
class
BaseResponse
<
T
>
implements
Serializable
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/mvp/model/JsBridgeBean.java
0 → 100644
View file @
72bf2c61
package
com
.
mints
.
goodmoney
.
mvp
.
model
;
public
class
JsBridgeBean
{
public
String
adType
;
public
String
requestId
;
public
String
prizeTitle
;
//中奖物品名称
public
String
type
;
//1代表有奖励,type为0代表没奖励
public
String
pid
;
//广告位id
public
String
ua
;
//UserAgent
public
int
logType
;
//public boolean playState;
public
String
osType
=
"1"
;
}
\ No newline at end of file
GoodMoney/app/src/main/java/com/mints/goodmoney/mvp/presenters/MyPresenter.kt
View file @
72bf2c61
...
...
@@ -310,7 +310,7 @@ open class MyPresenter : BasePresenter<MyView>() {
}
})
}
//暂时先用着,什么功能不清楚
fun
myRotationChart
()
{
AppHttpManager
.
getInstance
(
loanApplication
)
.
call
(
loanService
.
myRotationChart
(),
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/mvp/presenters/Presenter.java
View file @
72bf2c61
...
...
@@ -3,7 +3,6 @@ package com.mints.goodmoney.mvp.presenters;
/**
* 描述:Presenter
* 作者:孟崔广
* 时间:2017/10/10 10:51
* 邮箱:mengcga@163.com
*/
public
interface
Presenter
<
V
>
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/mvp/presenters/VersionUpdatePresenter.java
View file @
72bf2c61
...
...
@@ -43,7 +43,6 @@ import rx.android.schedulers.AndroidSchedulers;
/**
* 描述:版本更新
* 作者:孟崔广
* 时间:2017/10/10 10:51
* 邮箱:mengcga@163.com
*/
public
class
VersionUpdatePresenter
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/mvp/views/BaseView.java
View file @
72bf2c61
...
...
@@ -5,7 +5,6 @@ import com.mints.goodmoney.MintsApplication;
/**
* 描述:BaseView
* 作者:孟崔广
* 时间:2017/10/10 17:51
* 邮箱:mengcga@163.com
*/
public
interface
BaseView
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/mvp/views/MyView.kt
View file @
72bf2c61
...
...
@@ -33,5 +33,8 @@ interface MyView : BaseView {
fun
getHallBaseMsgSuc
(
data
:
UserTaskMsgBean
)
/**
* 相应数据
*/
fun
getMyRotationChartSuc
(
data
:
RotationChartBean
)
}
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/activitys/DrawcashActivity.kt
View file @
72bf2c61
...
...
@@ -318,9 +318,8 @@ class DrawcashActivity : BaseActivity(),
"ksWeight:${data.kS_VEDIO}"
)
// 广告视频数
AppConfig
.
csjVideoAdCount
=
10
AppConfig
.
ylhAdCount
=
10
AppConfig
.
csjFullVideoAdCount
=
10
AppConfig
.
csjVideoAdCount
=
5
AppConfig
.
ylhAdCount
=
5
}
/**
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/activitys/MobileLoginActivity.kt
View file @
72bf2c61
...
...
@@ -111,6 +111,7 @@ class MobileLoginActivity : BaseActivity(), LoginView, View.OnClickListener {
progressDialog
?.
dismiss
()
readyGo
(
MainActivity
::
class
.
java
)
// readyGo(ZaActivity::class.java)
}
override
fun
sendCodeSuc
()
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/activitys/WxLoginActivity.kt
View file @
72bf2c61
...
...
@@ -90,6 +90,7 @@ class WxLoginActivity : BaseActivity()
}
R
.
id
.
tvLoginMobile
->
{
readyGo
(
MobileLoginActivity
::
class
.
java
)
// readyGo(ZaActivity::class.java)
}
R
.
id
.
rlLoginWx
->
{
val
wechat
=
ShareSDK
.
getPlatform
(
Wechat
.
NAME
)
...
...
@@ -132,6 +133,7 @@ class WxLoginActivity : BaseActivity()
progressDialog
?.
dismiss
()
if
(
TextUtils
.
equals
(
channel
,
Constant
.
CHANNEL_SHARE
))
{
readyGo
(
MainActivity
::
class
.
java
)
}
finish
()
}
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/activitys/XiaomanActivity.kt
0 → 100644
View file @
72bf2c61
package
com.mints.goodmoney.ui.activitys
import
android.graphics.Point
import
android.os.Bundle
import
android.text.TextUtils
import
android.util.Log
import
android.view.View
import
android.view.ViewGroup
import
android.widget.FrameLayout
import
android.widget.Toast
import
androidx.fragment.app.FragmentTransaction
import
com.bx.adsdk.CampaignCallback
import
com.bx.adsdk.CampaignFragment
import
com.bytedance.sdk.openadsdk.AdSlot
import
com.bytedance.sdk.openadsdk.TTAdConstant
import
com.bytedance.sdk.openadsdk.TTAdDislike
import
com.bytedance.sdk.openadsdk.TTAdNative
import
com.bytedance.sdk.openadsdk.TTAdSdk
import
com.bytedance.sdk.openadsdk.TTNativeExpressAd
import
com.bytedance.sdk.openadsdk.TTRewardVideoAd
import
com.google.gson.Gson
import
com.mints.goodmoney.R
import
com.mints.goodmoney.common.Constant
import
com.mints.goodmoney.manager.TtCsjAdManager
import
com.mints.goodmoney.manager.UserManager
import
com.mints.goodmoney.manager.YlhAdManager
import
com.mints.goodmoney.mvp.model.JsBridgeBean
import
com.mints.goodmoney.ui.activitys.base.BaseActivity
import
com.qq.e.ads.banner2.UnifiedBannerADListener
import
com.qq.e.ads.banner2.UnifiedBannerView
import
com.qq.e.ads.nativ.express2.AdEventListener
import
com.qq.e.ads.nativ.express2.NativeExpressAD2
import
com.qq.e.ads.nativ.express2.NativeExpressADData2
import
com.qq.e.ads.rewardvideo.RewardVideoAD
import
com.qq.e.ads.rewardvideo.RewardVideoADListener
import
com.qq.e.comm.util.AdError
import
kotlinx.android.synthetic.main.activity_layout_xiaoman.*
import
kotlinx.android.synthetic.main.header_layout.*
class
XiaomanActivity
:
BaseActivity
(),
View
.
OnClickListener
{
private
var
placeId
=
""
//
private
var
activityTitle
=
""
//
private
var
isPlaySuccess
=
false
private
var
rewardVideoAD
:
RewardVideoAD
?
=
null
private
var
unifiedBannerView
:
UnifiedBannerView
?
=
null
private
val
TAG
=
"XiaomanActivity"
private
val
campaignFragment
:
CampaignFragment
?
=
null
private
var
mttRewardVideoAd
:
TTRewardVideoAd
?
=
null
private
var
mTTAd
:
TTNativeExpressAd
?
=
null
private
var
mNativeExpressADData2
:
NativeExpressADData2
?
=
null
private
var
mNativeExpressAD2
:
NativeExpressAD2
?
=
null
private
val
bannerContainer
:
ViewGroup
?
=
null
override
fun
getContentViewLayoutID
():
Int
{
return
R
.
layout
.
activity_layout_xiaoman
}
override
fun
getBundleExtras
(
extras
:
Bundle
?)
{
super
.
getBundleExtras
(
extras
)
extras
?.
let
{
placeId
=
it
.
getString
(
Constant
.
ACTIVITY_ID
,
""
)
activityTitle
=
it
.
getString
(
Constant
.
ACTIVITY_TITLE
,
""
)
}
}
override
fun
initViewsAndEvents
()
{
iv_left_icon
.
visibility
=
View
.
VISIBLE
iv_left_icon
.
setImageResource
(
R
.
mipmap
.
ic_arrow_back
)
tv_title
.
text
=
activityTitle
initListener
()
/**
* CampaignFragment.newInstance("这里为userId")
* 为方便测试,demo中采用时间戳来标识用户唯一id
* 媒体对接时注意替换
*/
val
fragment
=
CampaignFragment
.
newInstance
(
System
.
currentTimeMillis
().
toString
()
+
""
)
// fragment.setPlaceId(intent.getStringExtra("placeId"))
fragment
.
setPlaceId
(
placeId
)
// fragment.setPlaceId("3497")
fragment
.
setCallback
(
object
:
CampaignCallback
()
{
override
fun
showAd
(
s
:
String
)
{
//2.2.9.1//调用激励视频
super
.
showAd
(
s
)
/**
* 这里需要根据adType来判断展示广告的平台 1-穿山甲 2-广点通 3-快手
* pid: 对应平台的代码位
*
* 这里采用广点通的例子,媒体注意替换
*/
val
bean
:
JsBridgeBean
=
Gson
().
fromJson
(
s
,
JsBridgeBean
::
class
.
java
)
if
(
bean
.
adType
.
equals
(
"1"
))
{
loadBytedanceAd
(
fragment
,
bean
)
}
else
if
(
bean
.
adType
.
equals
(
"2"
))
{
loadGDTRewardVideo
(
fragment
,
bean
)
}
}
/**
* Banner广告
* @param params
*/
override
fun
showBanner
(
params
:
String
)
{
//2.2.9.3 展示Banner类型广告
Log
.
d
(
TAG
,
"showBanner: $params"
)
Toast
.
makeText
(
this
@XiaomanActivity
,
params
,
Toast
.
LENGTH_LONG
).
show
()
val
bean
:
JsBridgeBean
=
Gson
().
fromJson
(
params
,
JsBridgeBean
::
class
.
java
)
if
(
TextUtils
.
isEmpty
(
bean
.
pid
))
{
return
}
when
(
bean
.
adType
)
{
// "4" -> loadCSJBannerAd(fragment, bean)//穿山甲激励视频
// "5" -> loadGDTBannerAd(fragment, bean)//广点通激励视频
// "13" -> loadCSJBannerAd(fragment, bean)//穿山甲横幅
// "14" -> loadGDTNativeExpressAd(fragment, bean)//广点通横幅
}
}
override
fun
hideBanner
(
params
:
String
)
{
super
.
hideBanner
(
params
)
bannerContainer
?.
removeAllViews
()
if
(
unifiedBannerView
!=
null
)
{
unifiedBannerView
?.
destroy
()
unifiedBannerView
=
null
}
}
})
val
transaction
:
FragmentTransaction
=
supportFragmentManager
.
beginTransaction
()
transaction
.
add
(
R
.
id
.
frame_layout
,
fragment
)
transaction
.
commitAllowingStateLoss
()
}
private
fun
initListener
()
{
iv_left_icon
.
setOnClickListener
(
this
)
}
/**
* banner2.0规定banner宽高比应该为6.4:1 , 开发者可自行设置符合规定宽高比的具体宽度和高度值
*
* @return
*/
private
fun
getUnifiedBannerLayoutParams
():
FrameLayout
.
LayoutParams
?
{
val
screenSize
=
Point
()
windowManager
.
defaultDisplay
.
getSize
(
screenSize
)
return
FrameLayout
.
LayoutParams
(
screenSize
.
x
,
Math
.
round
(
screenSize
.
x
/
6.4f
))
}
override
fun
onDestroy
()
{
super
.
onDestroy
()
if
(
unifiedBannerView
!=
null
)
{
unifiedBannerView
?.
destroy
()
}
if
(
mTTAd
!=
null
)
{
//调用destroy()方法释放
mTTAd
!!
.
destroy
()
}
destroyAd
()
}
/**
* 加载广点通横幅广告
* @param fragment
* @param bean
*/
// private fun loadGDTNativeExpressAd(fragment: CampaignFragment, bean: JsBridgeBean) {
//
// // 创建广告
// mNativeExpressAD2 = NativeExpressAD2(applicationContext, "", object : NativeExpressAD2.AdLoadListener {
// override fun onLoadSuccess(list: List<NativeExpressADData2>) {
// fragment.setBannerLoad(bean.requestId)
// gdtBannerRenderAd(fragment, bean, list)
// }
//
// override fun onNoAD(adError: AdError) {
// fragment.setBannerError(bean.requestId)
// }
// })
// mNativeExpressAD2?.setAdSize(390, 0) // 单位dp
// mNativeExpressAD2?.loadAd(1)
// destroyAd()
// bannerContainer?.removeAllViews()
// }
/**
* 渲染广告
* @param adDataList
*/
// private fun gdtBannerRenderAd(fragment: CampaignFragment, bean: JsBridgeBean, adDataList: List<NativeExpressADData2>) {
// if (adDataList.size > 0) {
// bannerContainer?.removeAllViews()
// mNativeExpressADData2 = adDataList[0]
// mNativeExpressADData2?.setAdEventListener(object : AdEventListener {
// override fun onClick() {
// Log.i(TAG, "onClick: $mNativeExpressADData2")
// fragment.setBannerClick(bean.requestId)
// }
//
// override fun onExposed() {
// Log.i(TAG, "onImpression: $mNativeExpressADData2")
// fragment.setBannerExpose(bean.requestId)
// }
//
// override fun onRenderSuccess() {
// Log.i(TAG, "onRenderSuccess: $mNativeExpressADData2")
// bannerContainer?.removeAllViews()
// if (mNativeExpressADData2?.getAdView() != null) {
// bannerContainer?.addView(mNativeExpressADData2?.getAdView())
// }
// }
//
// override fun onRenderFail() {
// Log.i(TAG, "onRenderFail: $mNativeExpressADData2")
// fragment.setBannerError(bean.requestId)
// }
//
// override fun onAdClosed() {
// Log.i(TAG, "onAdClosed: $mNativeExpressADData2")
// fragment.setBannerClose(bean.requestId)
// bannerContainer?.removeAllViews()
// mNativeExpressADData2?.destroy()
// }
// })
// mNativeExpressADData2!!.render()
// }
// }
/**
* 加载广点通
* @param fragment
* @param bean
*/
private
fun
loadGDTRewardVideo
(
fragment
:
CampaignFragment
,
bean
:
JsBridgeBean
)
{
rewardVideoAD
=
RewardVideoAD
(
applicationContext
,
YlhAdManager
.
YLH_AD_APPID
,
bean
.
pid
,
object
:
RewardVideoADListener
{
override
fun
onADLoad
()
{
Log
.
e
(
TAG
,
"onADLoad"
)
rewardVideoAD
?.
showAD
()
isPlaySuccess
=
false
fragment
.
setVideoLoad
(
bean
.
requestId
)
}
override
fun
onVideoCached
()
{
Log
.
e
(
TAG
,
"onVideoCached"
)
}
override
fun
onADShow
()
{
Log
.
e
(
TAG
,
"onADShow"
)
}
override
fun
onADExpose
()
{
Log
.
e
(
TAG
,
"onADExpose"
)
fragment
.
setVideoExposeComplete
(
bean
.
requestId
)
}
override
fun
onReward
()
{
Log
.
e
(
TAG
,
"onReward"
)
isPlaySuccess
=
true
}
override
fun
onADClick
()
{
Log
.
e
(
TAG
,
"onADClick"
)
fragment
.
setVideoClickComplete
(
bean
.
requestId
)
}
override
fun
onVideoComplete
()
{
Log
.
e
(
TAG
,
"onVideoComplete"
)
}
override
fun
onADClose
()
{
Log
.
e
(
TAG
,
"onADClose"
)
if
(
isPlaySuccess
)
{
fragment
.
setVideoClose
(
bean
.
requestId
)
}
else
{
fragment
.
setVideoSkip
(
bean
.
requestId
)
}
}
override
fun
onError
(
adError
:
AdError
)
{
Log
.
e
(
TAG
,
"onError:--->"
+
adError
.
errorMsg
)
fragment
.
setVideoError
(
bean
.
requestId
)
}
})
rewardVideoAD
?.
loadAD
()
}
/**
* 加载广点通banner广告
* @param fragment
* @param bean
*/
// private fun loadGDTBannerAd(fragment: CampaignFragment?, bean: JsBridgeBean) {
// var pid = bean.pid
// // TODO: 2021/1/8 demo中代码位写死, 媒体注意替换
// pid = ""
// //广点通底部Banner
// unifiedBannerView = UnifiedBannerView(this@XiaomanActivity, pid, object : UnifiedBannerADListener {
// override fun onNoAD(adError: AdError) {
// Log.e(TAG, "广告加载失败: onNoAD")
// fragment?.setBannerError(bean.requestId)
// }
//
// override fun onADReceive() {
// Log.e(TAG, "广告加载成功回调: onADReceive")
// fragment?.setBannerLoad(bean.requestId)
// }
//
// override fun onADExposure() {
// Log.e(TAG, "广告曝光: onADExposure")//2.2.7.1 曝光上报,在活动入口渲染完成后必须调用
// fragment?.setBannerExpose(bean.requestId)
// }
//
// override fun onADClosed() {
// Log.e(TAG, "广告关闭: onADClosed")
// fragment?.setBannerClose(bean.requestId)
// }
//
// override fun onADClicked() {
// Log.e(TAG, "广告点击: onADClicked")//2.2.7.2 点击上报,活动入口点击时进行调用必须调用
// fragment?.setBannerClick(bean.requestId)
// }
//
// override fun onADLeftApplication() {
// Log.e(TAG, "广告点击离开 APP : onADLeftApplication")
// }
//
// override fun onADOpenOverlay() {
// Log.e(TAG, "广告打开浮层: onADOpenOverlay")
// }
//
// override fun onADCloseOverlay() {
// Log.e(TAG, "广告浮层关闭: onADCloseOverlay")
// }
// })
// bannerContainer?.addView(unifiedBannerView, getUnifiedBannerLayoutParams())
// unifiedBannerView!!.loadAD()
// }
/**
* 加载穿山甲视频广告
* @param fragment
* @param bean
*/
private
fun
loadBytedanceAd
(
fragment
:
CampaignFragment
,
bean
:
JsBridgeBean
)
{
//2.2.9.2 广告数据上报//底部穿山甲banner
val
adSlot
=
AdSlot
.
Builder
()
.
setCodeId
(
bean
.
pid
)
// 这里要替换成 bean.pid
.
setAdCount
(
1
)
//个性化模板广告需要设置期望个性化模板广告的大小,单位dp,激励视频场景,只要设置的值大于0即可
.
setExpressViewAcceptedSize
(
500f
,
500f
)
.
setImageAcceptedSize
(
1080
,
1920
)
//非必传参数,仅奖励发放服务端回调时需要使用
.
setUserID
(
UserManager
.
getInstance
().
userID
)
//非必传参数,仅奖励发放服务端回调时需要使用
.
setMediaExtra
(
"media_extra"
)
.
build
()
val
mTTAdNative
=
TTAdSdk
.
getAdManager
().
createAdNative
(
applicationContext
)
mTTAdNative
.
loadRewardVideoAd
(
adSlot
,
object
:
TTAdNative
.
RewardVideoAdListener
{
override
fun
onError
(
code
:
Int
,
message
:
String
)
{
Log
.
d
(
TAG
,
"穿山甲-加载失败$code====$message"
)
fragment
.
setVideoError
(
bean
.
requestId
)
}
//视频广告加载后的视频文件资源缓存到本地的回调
override
fun
onRewardVideoCached
()
{}
//视频广告素材加载到,如title,视频url等,不包括视频文件
override
fun
onRewardVideoAdLoad
(
ad
:
TTRewardVideoAd
)
{
fragment
.
setVideoLoad
(
bean
.
requestId
)
Log
.
d
(
TAG
,
"穿山甲-加载成功"
)
isPlaySuccess
=
false
mttRewardVideoAd
=
ad
bindBytedanceVideoAdListener
(
fragment
,
bean
,
mttRewardVideoAd
!!
)
mttRewardVideoAd
?.
showRewardVideoAd
(
this
@XiaomanActivity
)
}
})
}
/**
* 穿山甲激励视频绑定监听事件
* @param fragment
* @param bean
*/
private
fun
bindBytedanceVideoAdListener
(
fragment
:
CampaignFragment
,
bean
:
JsBridgeBean
,
ad
:
TTRewardVideoAd
)
{
ad
.
setRewardAdInteractionListener
(
object
:
TTRewardVideoAd
.
RewardAdInteractionListener
{
override
fun
onAdShow
()
{
Log
.
d
(
TAG
,
"穿山甲-曝光"
)
fragment
.
setVideoExposeComplete
(
bean
.
requestId
)
}
override
fun
onAdVideoBarClick
()
{
Log
.
d
(
TAG
,
"穿山甲-点击"
)
fragment
.
setVideoClickComplete
(
bean
.
requestId
)
}
override
fun
onAdClose
()
{
if
(
isPlaySuccess
)
{
fragment
.
setVideoClose
(
bean
.
requestId
)
}
else
{
fragment
.
setVideoSkip
(
bean
.
requestId
)
}
}
override
fun
onVideoComplete
()
{}
override
fun
onVideoError
()
{
Log
.
d
(
TAG
,
"穿山甲-视频失败"
)
fragment
.
setVideoError
(
bean
.
requestId
)
}
override
fun
onRewardVerify
(
rewardVerify
:
Boolean
,
rewardAmount
:
Int
,
rewardName
:
String
,
errorCode
:
Int
,
errorMsg
:
String
)
{
Log
.
d
(
TAG
,
"穿山甲-验证"
)
isPlaySuccess
=
rewardVerify
}
override
fun
onSkippedVideo
()
{}
})
}
/**
* 加载穿山甲banner广告,穿山甲激励视频
* @param fragment
* @param bean
*/
// private fun loadCSJBannerAd(fragment: CampaignFragment, bean: JsBridgeBean) {
// val mTTAdNative = TTAdSdk.getAdManager().createAdNative(applicationContext)//2.2.9.3穿山甲底部banner
// var pid = bean.pid
// // 在demo中,为了方便测试,写死.媒体在实际应用中注意替换
// pid = "946012845"
// val adSlot = AdSlot.Builder()
// .setCodeId(pid) //广告位id
// .setSupportDeepLink(true)
// .setAdCount(1) //请求广告数量为1到3条
// .setExpressViewAcceptedSize(600f, 0f) //期望模板广告view的size,单位dp
// .build()
// mTTAdNative.loadBannerExpressAd(adSlot, object : TTAdNative.NativeExpressAdListener {
// //请求失败回调
// override fun onError(code: Int, message: String) {
// fragment.setBannerError(bean.requestId)
// }
//
// //请求成功回调
// override fun onNativeExpressAdLoad(ads: List<TTNativeExpressAd>) {
// if (ads == null || ads.size == 0) {
// return
// }
// fragment.setBannerLoad(bean.requestId)
// mTTAd = ads[0]
// mTTAd?.setSlideIntervalTime(30 * 1000) //设置轮播间隔 ms,不调用则不进行轮播展示
// bindBytedanceBannerAdListener(fragment, bean, mTTAd!!)
// mTTAd?.render() //调用render开始渲染广告
// }
// })
// }
/**
* 绑定穿山甲banner类型监听
* @param fragment
* @param bean
* @param ad
*/
// private fun bindBytedanceBannerAdListener(fragment: CampaignFragment, bean: JsBridgeBean, ad: TTNativeExpressAd) {//绑定穿山甲banner监听
// ad.setExpressInteractionListener(object : TTNativeExpressAd.ExpressAdInteractionListener {
// override fun onAdClicked(view: View, type: Int) {
// fragment.setBannerClick(bean.requestId)
// }
//
// override fun onAdShow(view: View, type: Int) {}
// override fun onRenderFail(view: View, msg: String, code: Int) {
// fragment.setBannerError(bean.requestId)
// }
//
// override fun onRenderSuccess(view: View, width: Float, height: Float) {
// fragment.setBannerExpose(bean.requestId)
// //在渲染成功回调时展示广告,提升体验
// bannerContainer?.removeAllViews()
// bannerContainer?.addView(view)
// }
// })
//
// //dislike设置
// bindDislike(fragment, bean, ad)
// if (ad.interactionType != TTAdConstant.INTERACTION_TYPE_DOWNLOAD) {
// return
// }
// }
/**
* 穿山甲banner广告关闭事件绑定
* @param fragment
* @param bean
* @param ad
*/
// private fun bindDislike(fragment: CampaignFragment, bean: JsBridgeBean, ad: TTNativeExpressAd) {
//
// //使用默认个性化模板中默认dislike弹出样式
// ad.setDislikeCallback(this@XiaomanActivity, object : TTAdDislike.DislikeInteractionCallback {
// override fun onSelected(position: Int, value: String) {
// //用户选择不喜欢原因后,移除广告展示
// fragment.setBannerClose(bean.requestId)
// bannerContainer?.removeAllViews()
// }
//
// override fun onCancel() {}
// override fun onRefuse() {}
// })
// }
override
fun
onBackPressed
()
{
finish
()
// Toast.makeText(this@XiaomanActivity2, "按下返回键onBackPressed", Toast.LENGTH_LONG).show()
/* if (campaignFragment != null) {
campaignFragment.backButtonClick(new CampaignFragment.CallBack() {//返回当前界面必须回调
@Override
public void onSuccess(String jsonData) {
Main2Activity.super.onBackPressed();
}
@Override
public void onFailure(String code, String errmsg) {
}
});
} else {
super.onBackPressed();
}*/
}
/**
* 释放前一个 NativeExpressADData2 的资源
*/
private
fun
destroyAd
()
{
if
(
mNativeExpressADData2
!=
null
)
{
Log
.
d
(
TAG
,
"destroyAD"
)
mNativeExpressADData2
?.
destroy
()
}
}
override
fun
isApplyKitKatTranslucency
():
Boolean
{
return
false
}
override
fun
onClick
(
v
:
View
)
{
when
(
v
.
id
)
{
R
.
id
.
iv_left_icon
->
{
finish
()
}
}
}
}
\ No newline at end of file
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/adapter/BannerBaseAdapter.java
View file @
72bf2c61
...
...
@@ -21,7 +21,6 @@ import java.util.List;
/**
* @author Pinger
* @since 2017/3/8 0008 下午 6:29
* ViewPager基类适配器,需要传入Item视图和数据
*/
public
abstract
class
BannerBaseAdapter
<
T
>
extends
PagerAdapter
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/adapter/GvMyAdapter.java
View file @
72bf2c61
...
...
@@ -4,6 +4,7 @@ package com.mints.goodmoney.ui.adapter;
import
android.annotation.SuppressLint
;
import
android.app.Activity
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -16,6 +17,7 @@ import com.mints.goodmoney.R;
import
com.mints.goodmoney.common.Constant
;
import
com.mints.goodmoney.manager.BxmManager
;
import
com.mints.goodmoney.manager.UserManager
;
import
com.mints.goodmoney.manager.XmManager
;
import
com.mints.goodmoney.mvp.model.BannerBean
;
import
com.mints.library.utils.GlideUtils
;
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/fragment/MyFragment.kt
View file @
72bf2c61
...
...
@@ -231,10 +231,12 @@ class MyFragment : BaseFragment(),
override
fun
getMyHotActivitySuc
(
data
:
BannerBean
?)
{
if
(
activity
!=
null
&&
!
requireActivity
().
isFinishing
)
{
data
?.
let
{
/*if (it.ListBean().toUrl.equals(Constant.HOT_ACTIVITY_SHEEP)){
Log.d("MyFragment","*************************不是吧")
}*/
vp_grid
.
visibility
=
View
.
VISIBLE
hotList
.
clear
()
hotList
.
addAll
(
it
.
list
)
generateGridData
(
hotList
)
}
}
...
...
@@ -243,11 +245,17 @@ class MyFragment : BaseFragment(),
// 生成热门活动数据
private
fun
generateGridData
(
data
:
List
<
BannerBean
.
ListBean
>)
{
val
inflater
=
LayoutInflater
.
from
(
mContext
)
for
(
i
in
0
..
data
.
size
-
1
)
{
if
(
data
.
get
(
i
).
toUrl
.
equals
(
Constant
.
HOT_ACTIVITY_SHEEP
))
{
XmManager
.
loadMater
(
data
.
get
(
i
).
xmPlaceId
)
break
}
}
val
pageCount
=
ceil
(
data
.
size
*
1.0
/
HOT_PAGE_SIZE
).
toInt
()
val
pagerList
=
arrayListOf
<
View
>()
for
(
i
in
0
until
pageCount
)
{
val
gridView
=
inflater
.
inflate
(
R
.
layout
.
item_fragment_main_my_promotions_gv
,
vp_grid
,
false
)
as
GridView
gridView
.
adapter
=
GvMyAdapter
(
requireActivity
(),
data
,
i
,
HOT_PAGE_SIZE
)
...
...
@@ -880,6 +888,7 @@ class MyFragment : BaseFragment(),
R
.
id
.
ll_my_login
->
{
if
(!
userManager
.
userIsLogin
())
{
readyGo
(
WxLoginActivity
::
class
.
java
)
// readyGo(ZaActivity::class.java)
}
}
R
.
id
.
tv_left_subtitle
->
{
...
...
@@ -919,7 +928,6 @@ class MyFragment : BaseFragment(),
myPresenter
.
getAutoUserHallBaseMsg
()
return
}
readyGo
(
CoinRecordActivity
::
class
.
java
)
}
R
.
id
.
item_title_friends
->
{
...
...
@@ -938,6 +946,13 @@ class MyFragment : BaseFragment(),
if
(!
TextUtils
.
isEmpty
(
hotBean
.
toUrl
))
{
// 自有界面
when
(
hotBean
.
toUrl
)
{
Constant
.
HOT_ACTIVITY_SHEEP
->
{
XmManager
.
exprotClick
(
hotBean
.
xmPlaceId
)
val
bundle
=
Bundle
()
bundle
.
putString
(
Constant
.
ACTIVITY_TITLE
,
hotBean
.
title
)
bundle
.
putString
(
Constant
.
ACTIVITY_ID
,
hotBean
.
xmPlaceId
)
readyGo
(
XiaomanActivity
::
class
.
java
,
bundle
)
}
Constant
.
HOT_ACTIVITY_WATER
->
{
TTPreLoadCarrierExpressManager
.
getInstance
().
loadTtFrameLayout
(
TtCsjAdManager
.
TT_AD_NATIVEEXPRESS_WATER
)
readyGo
(
WaterActivity
::
class
.
java
)
...
...
@@ -1269,6 +1284,7 @@ class MyFragment : BaseFragment(),
AppConfig
.
shVideoAdCount
=
data
.
vedioRules
.
corAl_VIDEO
.
surplus
AppConfig
.
ksVideoAdCount
=
data
.
vedioRules
.
kS_VEDIO
.
surplus
AppConfig
.
rtaVideoAdCount
=
data
.
vedioRules
.
rtA_VEDIO
.
surplus
AppConfig
.
csjFullVideoAdCount
=
data
.
vedioRules
.
csjfulL_VEDIO
.
surplus
LogUtil
.
d
(
TAG
,
"首页视频数:csjCount:${AppConfig.csjVideoAdCount} "
+
"ylhCount:${AppConfig.ylhAdCount} "
+
"sdhzCount:${AppConfig.wnVideoAdCount} "
+
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/widgets/BannerView.java
View file @
72bf2c61
...
...
@@ -3,7 +3,6 @@ package com.mints.goodmoney.ui.widgets;
/*
* Author: renjinlong
* Email: chinarenlong@foxmail.com
* Date: 2017/8/15
* Description:
*/
...
...
@@ -38,7 +37,6 @@ import java.lang.reflect.Field;
/**
* @author Pinger
* @since 2017/3/8 0008 下午 3:26
* 自定义无限轮转的海报控件,抽离了适配器和滑动事件,更加轻便。
* 请在布局使用当前类,相关属性可以通过布局或者代码设置,
* 适配器继承BannerBaseAdapter,指定数据类型,填充布局即可
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/widgets/dialog/BaseDialog.java
View file @
72bf2c61
...
...
@@ -10,7 +10,6 @@ import androidx.annotation.StyleRes;
/**
* 描述:dialog屏幕适配
* 作者:孟崔广
* 时间:2017/10/10 17:51
* 邮箱:mengcga@163.com
*/
public
abstract
class
BaseDialog
extends
Dialog
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/widgets/dialog/LoadingDialog.java
View file @
72bf2c61
...
...
@@ -18,7 +18,6 @@ import com.mints.goodmoney.R;
/**
* 描述:加载中dialog
* 作者:孟崔广
* 时间:2017/10/10 17:51
* 邮箱:mengcga@163.com
*/
public
class
LoadingDialog
extends
Dialog
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/widgets/seekbar/BubbleConfigBuilder.java
View file @
72bf2c61
...
...
@@ -11,7 +11,6 @@ import static com.mints.goodmoney.ui.widgets.seekbar.BubbleUtils.sp2px;
/**
* config BubbleSeekBar's attributes
* <p/>
* Created by woxingxiao on 2017-03-14.
*/
public
class
BubbleConfigBuilder
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/widgets/wheelsruf/listener/RotateListener.java
View file @
72bf2c61
...
...
@@ -4,7 +4,6 @@ import android.animation.ValueAnimator;
import
android.widget.ImageView
;
/**
* Created by cretin on 2017/12/27.
* 用于回调动画过程和结果
*/
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/widgets/wheelsruf/view/WheelSurfPanView.java
View file @
72bf2c61
...
...
@@ -27,10 +27,6 @@ import com.mints.goodmoney.ui.widgets.wheelsruf.listener.RotateListener;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by cretin on 2017/12/26.
*/
public
class
WheelSurfPanView
extends
View
{
private
Context
mContext
;
//记录视图的大小
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/ui/widgets/wheelsruf/view/WheelSurfView.java
View file @
72bf2c61
...
...
@@ -19,10 +19,6 @@ import com.mints.goodmoney.ui.widgets.wheelsruf.listener.RotateListener;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by cretin on 2017/12/26.
*/
public
class
WheelSurfView
extends
RelativeLayout
{
//当前的圆盘VIew
private
WheelSurfPanView
mWheelSurfPanView
;
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/utils/MiscUtil.java
View file @
72bf2c61
...
...
@@ -4,10 +4,6 @@ import android.content.Context;
import
android.graphics.Paint
;
import
android.view.View
;
/**
* Created by littlejie on 2017/2/22.
*/
public
class
MiscUtil
{
/**
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/utils/PermissionUtils.java
View file @
72bf2c61
...
...
@@ -15,8 +15,6 @@ import java.util.List;
/**
* Desction:授权工具类
* Author:pengjianbo
* Date:2017/1/15 AM2:39
*/
public
class
PermissionUtils
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/utils/ToastUtil.java
View file @
72bf2c61
...
...
@@ -16,7 +16,6 @@ import com.mints.goodmoney.R;
/**
* 描述:Toast
* 作者:孟崔广
* 时间:2017/10/10 17:51
* 邮箱:mengcga@163.com
*/
public
class
ToastUtil
{
...
...
GoodMoney/app/src/main/java/com/mints/goodmoney/utils/ToolUtil.java
View file @
72bf2c61
...
...
@@ -181,7 +181,6 @@ public class ToolUtil {
* 数字格式化显示
* 小于万默认显示 大于万以1.7万方式显示最大是9999.9万
* 大于亿以1.1亿方式显示最大没有限制都是亿单位
* make by dongxh 2017年12月28日上午10:05:22
* </pre>
*
* @param num 格式化的数字
...
...
GoodMoney/app/src/main/res/layout/activity_layout_xiaoman.xml
0 → 100644
View file @
72bf2c61
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/white"
android:orientation=
"vertical"
>
<include
android:id=
"@+id/layoutWrapper"
layout=
"@layout/header_layout"
/>
<FrameLayout
android:id=
"@+id/frame_layout"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
<FrameLayout
android:id=
"@+id/bannerContainer"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
></FrameLayout>
</LinearLayout>
\ No newline at end of file
GoodMoney/app/src/main/res/layout/activity_zmain.xml
0 → 100644
View file @
72bf2c61
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/white"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/back_z"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:paddingLeft=
"25dp"
android:paddingTop=
"40dp"
android:paddingRight=
"25dp"
android:paddingBottom=
"10dp"
android:scaleType=
"center"
android:src=
"@mipmap/ic_activity_quit"
/>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<ImageView
android:layout_width=
"70dp"
android:layout_height=
"70dp"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"50dp"
android:src=
"@mipmap/ic_launcher_main"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_alignParentBottom=
"true"
android:layout_marginBottom=
"30dp"
android:orientation=
"vertical"
>
<RelativeLayout
android:id=
"@+id/Login_z"
android:layout_width=
"match_parent"
android:layout_height=
"52dp"
android:layout_gravity=
"center_horizontal"
android:layout_marginLeft=
"40dp"
android:layout_marginTop=
"230dp"
android:layout_marginRight=
"40dp"
android:background=
"@drawable/shape_green"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:drawableLeft=
"@mipmap/ic_wx_white_login"
android:drawablePadding=
"10dp"
android:gravity=
"center_vertical"
android:text=
"点击响应"
android:textColor=
"@color/white"
android:textSize=
"14sp"
/>
</RelativeLayout>
<TextView
android:id=
"@+id/other_login_z"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:padding=
"24dp"
android:text=
"其他登录方式"
android:textColor=
"@color/gray"
android:textSize=
"14sp"
/>
<TextView
android:id=
"@+id/agreement_login_z"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"30dp"
android:layout_marginRight=
"30dp"
android:layout_gravity=
"center_horizontal"
android:textColor=
"@color/color_707A8D"
android:textSize=
"12sp"
/>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
\ No newline at end of file
GoodMoney/app/src/main/res/mipmap-xhdpi/a.png
0 → 100644
View file @
72bf2c61
184 KB
GoodMoney/app/src/main/res/xml/network_security_config.xml
View file @
72bf2c61
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config
cleartextTrafficPermitted=
"true"
/>
<base-config
cleartextTrafficPermitted=
"true"
>
<trust-anchors>
<certificates
src=
"system"
/>
</trust-anchors>
</base-config>
</network-security-config>
\ No newline at end of file
GoodMoney/build.gradle
View file @
72bf2c61
...
...
@@ -52,6 +52,11 @@ buildscript {
maven
{
url
'http://maven.aliyun.com/nexus/content/repositories/releases/'
}
// 添加小满科技
maven
{
url
'http://maven.aliyun.com/nexus/content/repositories/jcenter'
}
maven
{
url
"https://maven.google.com"
}
maven
{
url
"https://maven.linzhuxin.com/repository/lzoom_read_sdk_prd/"
}
}
dependencies
{
classpath
'com.android.tools.build:gradle:4.0.1'
...
...
@@ -79,6 +84,8 @@ allprojects {
maven
{
url
'http://maven.aliyun.com/nexus/content/repositories/releases/'
}
//小满
maven
{
url
"http://47.97.184.214:8081/nexus/content/groups/public"
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment