Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
android_vedio
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_vedio
Commits
2a114246
Commit
2a114246
authored
Jul 06, 2023
by
mengcuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
0db7d983
Changes
35
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
496 additions
and
147 deletions
+496
-147
home_cancel_collect.json
video/app/src/main/assets/home_cancel_collect.json
+1
-0
home_collect.json
video/app/src/main/assets/home_collect.json
+1
-0
home_cancel_collect_img_0.png
.../app/src/main/assets/images/home_cancel_collect_img_0.png
+0
-0
home_cancel_collect_img_1.png
.../app/src/main/assets/images/home_cancel_collect_img_1.png
+0
-0
home_collect_img_0.png
video/app/src/main/assets/images/home_collect_img_0.png
+0
-0
home_collect_img_1.png
video/app/src/main/assets/images/home_collect_img_1.png
+0
-0
playing.json
video/app/src/main/assets/playing.json
+1
-0
MintsApplication.java
...src/main/java/com/mints/wisdomclean/MintsApplication.java
+9
-0
AppConfig.java
...src/main/java/com/mints/wisdomclean/common/AppConfig.java
+3
-0
Constant.kt
...pp/src/main/java/com/mints/wisdomclean/common/Constant.kt
+1
-1
TrackManager.java
...main/java/com/mints/wisdomclean/manager/TrackManager.java
+5
-0
UserManager.java
.../main/java/com/mints/wisdomclean/manager/UserManager.java
+1
-1
HotStyleListBean.kt
.../java/com/mints/wisdomclean/mvp/model/HotStyleListBean.kt
+12
-1
HomePresenter.kt
...ava/com/mints/wisdomclean/mvp/presenters/HomePresenter.kt
+12
-19
PicContentPresenter.kt
...m/mints/wisdomclean/mvp/presenters/PicContentPresenter.kt
+52
-0
TrackPresenter.java
.../com/mints/wisdomclean/mvp/presenters/TrackPresenter.java
+27
-0
HomeView.kt
...src/main/java/com/mints/wisdomclean/mvp/views/HomeView.kt
+3
-2
PicContentView.kt
...in/java/com/mints/wisdomclean/mvp/views/PicContentView.kt
+8
-0
LoanService.java
.../src/main/java/com/mints/wisdomclean/net/LoanService.java
+19
-0
V6GsonConverterFactory.java
...ava/com/mints/wisdomclean/net/V6GsonConverterFactory.java
+109
-0
V6Service.java
...pp/src/main/java/com/mints/wisdomclean/net/V6Service.java
+100
-0
MainActivity.kt
...n/java/com/mints/wisdomclean/ui/activitys/MainActivity.kt
+9
-3
MobileLoginActivity.kt
...com/mints/wisdomclean/ui/activitys/MobileLoginActivity.kt
+1
-1
SettingsActivity.kt
...va/com/mints/wisdomclean/ui/activitys/SettingsActivity.kt
+9
-1
SplashActivity.kt
...java/com/mints/wisdomclean/ui/activitys/SplashActivity.kt
+8
-8
SplashAdActivity.kt
...va/com/mints/wisdomclean/ui/activitys/SplashAdActivity.kt
+4
-3
HomeVideoPageAdapter.kt
.../com/mints/wisdomclean/ui/adapter/HomeVideoPageAdapter.kt
+3
-11
HotStyleAdapter.kt
.../java/com/mints/wisdomclean/ui/adapter/HotStyleAdapter.kt
+1
-1
MainFragment.kt
...in/java/com/mints/wisdomclean/ui/fragment/MainFragment.kt
+29
-38
MovieFragment.kt
...n/java/com/mints/wisdomclean/ui/fragment/MovieFragment.kt
+33
-37
MyFragment.kt
...main/java/com/mints/wisdomclean/ui/fragment/MyFragment.kt
+0
-1
item_text_sel.xml
video/app/src/main/res/drawable/item_text_sel.xml
+5
-0
item_text_sel2.xml
video/app/src/main/res/drawable/item_text_sel2.xml
+5
-0
activity_main.xml
video/app/src/main/res/layout/activity_main.xml
+24
-18
gradle.properties
video/gradle.properties
+1
-1
No files found.
video/app/src/main/assets/home_cancel_collect.json
0 → 100644
View file @
2a114246
{
"v"
:
"5.9.6"
,
"fr"
:
29.9700012207031
,
"ip"
:
0
,
"op"
:
20.0000008146167
,
"w"
:
140
,
"h"
:
140
,
"nm"
:
"收藏-白"
,
"ddd"
:
0
,
"assets"
:[{
"id"
:
"image_0"
,
"w"
:
108
,
"h"
:
105
,
"u"
:
"images/"
,
"p"
:
"home_cancel_collect_img_0.png"
,
"e"
:
0
},{
"id"
:
"image_1"
,
"w"
:
108
,
"h"
:
105
,
"u"
:
"images/"
,
"p"
:
"home_cancel_collect_img_1.png"
,
"e"
:
0
}],
"layers"
:[{
"ddd"
:
0
,
"ind"
:
1
,
"ty"
:
2
,
"nm"
:
"收藏-黄.png"
,
"cl"
:
"png"
,
"refId"
:
"image_0"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
11
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
0
,
"k"
:[
70
,
70
,
0
],
"ix"
:
2
,
"l"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
54
,
52.5
,
0
],
"ix"
:
1
,
"l"
:
2
},
"s"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
,
0.167
]},
"t"
:
0
,
"s"
:[
100
,
100
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
,
0.167
]},
"t"
:
2
,
"s"
:[
102
,
102
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
,
0.167
]},
"t"
:
4
,
"s"
:[
100
,
100
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
,
0.167
]},
"t"
:
6
,
"s"
:[
102
,
102
,
100
]},{
"t"
:
12.00000048877
,
"s"
:[
0
,
0
,
100
]}],
"ix"
:
6
,
"l"
:
2
}},
"ao"
:
0
,
"ip"
:
0
,
"op"
:
20.0000008146167
,
"st"
:
0
,
"bm"
:
0
},{
"ddd"
:
0
,
"ind"
:
2
,
"ty"
:
2
,
"nm"
:
"收藏-白.png"
,
"cl"
:
"png"
,
"refId"
:
"image_1"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
11
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
0
,
"k"
:[
70
,
70
,
0
],
"ix"
:
2
,
"l"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
54
,
52.5
,
0
],
"ix"
:
1
,
"l"
:
2
},
"s"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
,
0.167
]},
"t"
:
12
,
"s"
:[
100
,
100
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
,
0.167
]},
"t"
:
14
,
"s"
:[
105
,
105
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
,
0.167
]},
"t"
:
16
,
"s"
:[
100
,
100
,
100
]},{
"i"
:{
"x"
:[
0.833
,
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
,
0.167
]},
"t"
:
17
,
"s"
:[
102
,
102
,
100
]},{
"t"
:
18.000000733155
,
"s"
:[
100
,
100
,
100
]}],
"ix"
:
6
,
"l"
:
2
}},
"ao"
:
0
,
"ip"
:
0
,
"op"
:
20.0000008146167
,
"st"
:
0
,
"bm"
:
0
}],
"markers"
:[]}
\ No newline at end of file
video/app/src/main/assets/home_collect.json
0 → 100644
View file @
2a114246
This diff is collapsed.
Click to expand it.
video/app/src/main/assets/images/home_cancel_collect_img_0.png
0 → 100644
View file @
2a114246
1.19 KB
video/app/src/main/assets/images/home_cancel_collect_img_1.png
0 → 100644
View file @
2a114246
1.27 KB
video/app/src/main/assets/images/home_collect_img_0.png
0 → 100644
View file @
2a114246
1.27 KB
video/app/src/main/assets/images/home_collect_img_1.png
0 → 100644
View file @
2a114246
1.19 KB
video/app/src/main/assets/playing.json
0 → 100644
View file @
2a114246
{
"v"
:
"5.9.6"
,
"fr"
:
29.9700012207031
,
"ip"
:
0
,
"op"
:
30.0000012219251
,
"w"
:
33
,
"h"
:
29
,
"nm"
:
"播放动效"
,
"ddd"
:
0
,
"assets"
:[],
"layers"
:[{
"ddd"
:
0
,
"ind"
:
1
,
"ty"
:
4
,
"nm"
:
"形状图层 3"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
11
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"t"
:
0
,
"s"
:[
29.625
,
20.25
,
0
],
"to"
:[
0
,
0
,
0
],
"ti"
:[
0
,
0
,
0
]},{
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"t"
:
8
,
"s"
:[
29.625
,
26
,
0
],
"to"
:[
0
,
0
,
0
],
"ti"
:[
0
,
0
,
0
]},{
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"t"
:
23
,
"s"
:[
29.625
,
14.537
,
0
],
"to"
:[
0
,
0
,
0
],
"ti"
:[
0
,
0
,
0
]},{
"t"
:
30.0000012219251
,
"s"
:[
29.625
,
20.25
,
0
]}],
"ix"
:
2
,
"l"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
-13
,
1.438
,
0
],
"ix"
:
1
,
"l"
:
2
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
,
100
],
"ix"
:
6
,
"l"
:
2
}},
"ao"
:
0
,
"shapes"
:[{
"ty"
:
"gr"
,
"it"
:[{
"ty"
:
"rc"
,
"d"
:
1
,
"s"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
]},
"t"
:
0
,
"s"
:[
6.5
,
17
]},{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
]},
"t"
:
8
,
"s"
:[
6.5
,
6
]},{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
]},
"t"
:
23
,
"s"
:[
6.5
,
29
]},{
"t"
:
30.0000012219251
,
"s"
:[
6.5
,
17
]}],
"ix"
:
2
},
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
20
,
"ix"
:
4
},
"nm"
:
"矩形路径 1"
,
"mn"
:
"ADBE Vector Shape - Rect"
,
"hd"
:
false
},{
"ty"
:
"fl"
,
"c"
:{
"a"
:
0
,
"k"
:[
1
,
0.203921571374
,
0.298039227724
,
1
],
"ix"
:
4
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
5
},
"r"
:
1
,
"bm"
:
0
,
"nm"
:
"填充 1"
,
"mn"
:
"ADBE Vector Graphic - Fill"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
-13.062
,
15.938
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
14.5
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
104
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"变换"
}],
"nm"
:
"矩形 1"
,
"np"
:
3
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
1
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
}],
"ip"
:
0
,
"op"
:
30.0000012219251
,
"st"
:
0
,
"ct"
:
1
,
"bm"
:
0
},{
"ddd"
:
0
,
"ind"
:
2
,
"ty"
:
4
,
"nm"
:
"形状图层 2"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
11
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"t"
:
0
,
"s"
:[
16.5
,
23.562
,
0
],
"to"
:[
0
,
0
,
0
],
"ti"
:[
0
,
0
,
0
]},{
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"t"
:
15
,
"s"
:[
16.5
,
12.062
,
0
],
"to"
:[
0
,
0
,
0
],
"ti"
:[
0
,
0
,
0
]},{
"t"
:
30.0000012219251
,
"s"
:[
16.5
,
23.562
,
0
]}],
"ix"
:
2
,
"l"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
-13
,
1.438
,
0
],
"ix"
:
1
,
"l"
:
2
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
,
100
],
"ix"
:
6
,
"l"
:
2
}},
"ao"
:
0
,
"shapes"
:[{
"ty"
:
"gr"
,
"it"
:[{
"ty"
:
"rc"
,
"d"
:
1
,
"s"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
]},
"t"
:
0
,
"s"
:[
6.5
,
6
]},{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
]},
"t"
:
15
,
"s"
:[
6.5
,
29
]},{
"t"
:
30.0000012219251
,
"s"
:[
6.5
,
6
]}],
"ix"
:
2
},
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
20
,
"ix"
:
4
},
"nm"
:
"矩形路径 1"
,
"mn"
:
"ADBE Vector Shape - Rect"
,
"hd"
:
false
},{
"ty"
:
"fl"
,
"c"
:{
"a"
:
0
,
"k"
:[
1
,
0.203921571374
,
0.298039227724
,
1
],
"ix"
:
4
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
5
},
"r"
:
1
,
"bm"
:
0
,
"nm"
:
"填充 1"
,
"mn"
:
"ADBE Vector Graphic - Fill"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
-13.062
,
18.375
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
14.5
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
104
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"变换"
}],
"nm"
:
"矩形 1"
,
"np"
:
3
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
1
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
}],
"ip"
:
0
,
"op"
:
30.0000012219251
,
"st"
:
0
,
"ct"
:
1
,
"bm"
:
0
},{
"ddd"
:
0
,
"ind"
:
4
,
"ty"
:
4
,
"nm"
:
"形状图层 1"
,
"sr"
:
1
,
"ks"
:{
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
11
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
10
},
"p"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"t"
:
0
,
"s"
:[
3.5
,
30.062
,
0
],
"to"
:[
0
,
0
,
0
],
"ti"
:[
0
,
0
,
0
]},{
"i"
:{
"x"
:
0.833
,
"y"
:
0.833
},
"o"
:{
"x"
:
0.167
,
"y"
:
0.167
},
"t"
:
15
,
"s"
:[
3.5
,
41.375
,
0
],
"to"
:[
0
,
0
,
0
],
"ti"
:[
0
,
0
,
0
]},{
"t"
:
30.0000012219251
,
"s"
:[
3.5
,
30.062
,
0
]}],
"ix"
:
2
,
"l"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
-13
,
14.438
,
0
],
"ix"
:
1
,
"l"
:
2
},
"s"
:{
"a"
:
0
,
"k"
:[
100
,
100
,
100
],
"ix"
:
6
,
"l"
:
2
}},
"ao"
:
0
,
"shapes"
:[{
"ty"
:
"gr"
,
"it"
:[{
"ty"
:
"rc"
,
"d"
:
1
,
"s"
:{
"a"
:
1
,
"k"
:[{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
]},
"t"
:
0
,
"s"
:[
6.5
,
29
]},{
"i"
:{
"x"
:[
0.833
,
0.833
],
"y"
:[
0.833
,
0.833
]},
"o"
:{
"x"
:[
0.167
,
0.167
],
"y"
:[
0.167
,
0.167
]},
"t"
:
15
,
"s"
:[
6.5
,
6
]},{
"t"
:
30.0000012219251
,
"s"
:[
6.5
,
29
]}],
"ix"
:
2
},
"p"
:{
"a"
:
0
,
"k"
:[
0
,
0
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
20
,
"ix"
:
4
},
"nm"
:
"矩形路径 1"
,
"mn"
:
"ADBE Vector Shape - Rect"
,
"hd"
:
false
},{
"ty"
:
"fl"
,
"c"
:{
"a"
:
0
,
"k"
:[
1
,
0.203921571374
,
0.298039227724
,
1
],
"ix"
:
4
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
5
},
"r"
:
1
,
"bm"
:
0
,
"nm"
:
"填充 1"
,
"mn"
:
"ADBE Vector Graphic - Fill"
,
"hd"
:
false
},{
"ty"
:
"tr"
,
"p"
:{
"a"
:
0
,
"k"
:[
-13.062
,
13.375
],
"ix"
:
2
},
"a"
:{
"a"
:
0
,
"k"
:[
0
,
14.5
],
"ix"
:
1
},
"s"
:{
"a"
:
0
,
"k"
:[
104
,
100
],
"ix"
:
3
},
"r"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
6
},
"o"
:{
"a"
:
0
,
"k"
:
100
,
"ix"
:
7
},
"sk"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
4
},
"sa"
:{
"a"
:
0
,
"k"
:
0
,
"ix"
:
5
},
"nm"
:
"变换"
}],
"nm"
:
"矩形 1"
,
"np"
:
3
,
"cix"
:
2
,
"bm"
:
0
,
"ix"
:
1
,
"mn"
:
"ADBE Vector Group"
,
"hd"
:
false
}],
"ip"
:
0
,
"op"
:
30.0000012219251
,
"st"
:
0
,
"ct"
:
1
,
"bm"
:
0
}],
"markers"
:[]}
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/MintsApplication.java
View file @
2a114246
...
...
@@ -14,6 +14,7 @@ import com.mints.wisdomclean.ad.TTGroMoreAdManagerHolder;
import
com.mints.wisdomclean.common.Constant
;
import
com.mints.wisdomclean.manager.UmengManager
;
import
com.mints.wisdomclean.net.LoanService
;
import
com.mints.wisdomclean.net.V6Service
;
import
com.mints.wisdomclean.utils.AppPreferencesManager
;
import
com.mints.wisdomclean.utils.ForegroundOrBackground
;
import
com.mints.wisdomclean.utils.MateUtils
;
...
...
@@ -38,6 +39,7 @@ public class MintsApplication extends MultiDexApplication {
private
static
LocalBroadcastManager
mLocalBroadcatManager
;
private
Scheduler
defaultSubscribeScheduler
;
private
LoanService
loanService
;
private
V6Service
v6Service
;
private
HttpProxyCacheServer
proxy
=
null
;
public
static
class
StaticParams
{
...
...
@@ -169,6 +171,13 @@ public class MintsApplication extends MultiDexApplication {
return
loanService
;
}
public
V6Service
getV6Service
()
{
if
(
v6Service
==
null
)
{
v6Service
=
V6Service
.
Factory
.
create
();
}
return
v6Service
;
}
public
Scheduler
defaultSubscribeScheduler
()
{
if
(
defaultSubscribeScheduler
==
null
)
{
defaultSubscribeScheduler
=
Schedulers
.
io
();
...
...
video/app/src/main/java/com/mints/wisdomclean/common/AppConfig.java
View file @
2a114246
...
...
@@ -16,4 +16,7 @@ public class AppConfig {
* app应用首页 0-主页 1-position 2-我
*/
public
static
int
fragmentClickFlag
=
0
;
// 退出登录首页刷新
public
static
boolean
exitLoginMainRefresh
=
false
;
}
video/app/src/main/java/com/mints/wisdomclean/common/Constant.kt
View file @
2a114246
...
...
@@ -4,7 +4,7 @@ object Constant {
const
val
GRO_MORE_ADTYPE2
=
"2"
const
val
AD_SOURCE_GROMORE
=
"GROMORE"
const
val
PAGE_SIZE
=
12
/**
* 首次弹出权限声明
...
...
video/app/src/main/java/com/mints/wisdomclean/manager/TrackManager.java
View file @
2a114246
...
...
@@ -56,4 +56,9 @@ public class TrackManager {
}
public
void
saveV6Terminal
()
{
if
(
trackPresenter
!=
null
)
{
trackPresenter
.
saveV6Terminal
();
}
}
}
video/app/src/main/java/com/mints/wisdomclean/manager/UserManager.java
View file @
2a114246
...
...
@@ -56,7 +56,7 @@ public class UserManager {
private
static
final
String
VIP_FOREVER
=
"VIP_FOREVER"
;
private
static
final
String
VIP_DATE
=
"VIP_DATE"
;
private
static
final
String
CODE_ID
=
"codeId"
;
// 匹配用户
// 匹配用户
= true
private
static
final
String
NEW_FLAG
=
"new_flag"
;
public
static
UserManager
getInstance
()
{
...
...
video/app/src/main/java/com/mints/wisdomclean/mvp/model/HotStyleListBean.kt
View file @
2a114246
...
...
@@ -9,6 +9,12 @@ data class HotStyleListBean(
val
list
:
List
<
HotStyleBean
>
)
:
Serializable
@SuppressLint
(
"ParcelCreator"
)
@Parcelize
data class
HotStyleTypesListBean
(
val
list
:
List
<
HotStyleTypesBean
>
)
:
Parcelable
@SuppressLint
(
"ParcelCreator"
)
@Parcelize
data class
HotStyleBean
(
...
...
@@ -31,4 +37,9 @@ data class HotStyleTypesBean(
var
title
:
String
=
""
,
var
id
:
Int
=
0
,
var
imageCount
:
Int
=
-
1
,
)
:
Parcelable
\ No newline at end of file
)
:
Parcelable
data class
HotStyleMsgBean
(
val
images
:
List
<
HotStyleBean
>,
val
types
:
List
<
HotStyleTypesBean
>
)
:
Serializable
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/mvp/presenters/HomePresenter.kt
View file @
2a114246
...
...
@@ -13,35 +13,28 @@ import java.util.HashMap
class
HomePresenter
:
BasePresenter
<
HomeView
>()
{
fun
getMyInfo
()
{
val
vo
=
HashMap
<
String
,
Any
>()
vo
[
"os"
]
=
"android"
fun
getHomeV1Types
()
{
AppHttpManager
.
getInstance
(
loanApplication
)
.
call
(
loanService
.
getMyInfo
(
vo
),
object
:
BaseSubscriber
<
BaseResponse
<
UserBean
>>()
{
.
call
(
loanService
.
homeV1Types
,
object
:
BaseSubscriber
<
BaseResponse
<
HotStyleTypesListBean
>>()
{
override
fun
onCompleted
()
{
if
(
isLinkView
)
return
view
.
hideLoading
()
if
(
isLinkView
)
return
}
override
fun
onError
(
e
:
Throwable
?
)
{
override
fun
onError
(
e
:
Throwable
)
{
if
(
isLinkView
)
return
view
.
hideLoading
()
view
.
showToast
(
e
.
message
)
}
override
fun
onNext
(
baseResponse
:
BaseResponse
<
User
Bean
>)
{
override
fun
onNext
(
baseResponse
:
BaseResponse
<
HotStyleTypesList
Bean
>)
{
if
(
isLinkView
)
return
val
code
:
Int
=
baseResponse
.
status
val
message
:
String
=
baseResponse
.
message
val
code
=
baseResponse
.
status
val
message
=
baseResponse
.
message
when
(
code
)
{
200
->
{
UserManager
.
getInstance
().
saveUserInfo
(
baseResponse
.
data
)
view
.
getUserSuc
(
baseResponse
.
data
)
view
.
getHomeV1MsgSuc
(
baseResponse
.
data
)
}
else
->
{
view
.
showToast
(
message
)
...
...
@@ -122,7 +115,7 @@ class HomePresenter : BasePresenter<HomeView>() {
if
(
isLinkView
)
return
val
code
=
baseResponse
.
status
when
(
code
)
{
200
->
get
MyInfo
()
200
->
get
HomeV1Types
()
}
}
})
...
...
video/app/src/main/java/com/mints/wisdomclean/mvp/presenters/PicContentPresenter.kt
0 → 100644
View file @
2a114246
package
com.mints.wisdomclean.mvp.presenters
import
com.mints.wisdomclean.common.AppConfig
import
com.mints.wisdomclean.manager.AppHttpManager
import
com.mints.wisdomclean.mvp.model.BaseResponse
import
com.mints.wisdomclean.mvp.model.HotStyleListBean
import
com.mints.wisdomclean.mvp.views.PicContentView
import
com.mints.library.net.neterror.BaseSubscriber
import
com.mints.library.net.neterror.Throwable
class
PicContentPresenter
:
BasePresenter
<
PicContentView
>()
{
fun
getHomePageImageList
(
typeId
:
Int
,
page
:
Int
,
pageCount
:
Int
)
{
val
vo
=
hashMapOf
<
String
,
Any
>()
vo
[
"typeId"
]
=
typeId
vo
[
"page"
]
=
page
vo
[
"size"
]
=
pageCount
AppHttpManager
.
getInstance
(
loanApplication
)
.
call
(
loanService
.
getHomeV1List
(
vo
),
object
:
BaseSubscriber
<
BaseResponse
<
HotStyleListBean
>>()
{
override
fun
onCompleted
()
{
if
(
isLinkView
)
return
}
override
fun
onError
(
e
:
Throwable
)
{
if
(
isLinkView
)
return
view
.
showToast
(
e
.
message
)
view
.
getHomePageImageListFail
()
}
override
fun
onNext
(
baseResponse
:
BaseResponse
<
HotStyleListBean
>)
{
if
(
isLinkView
)
return
val
code
=
baseResponse
.
status
val
message
=
baseResponse
.
message
when
(
code
)
{
200
->
{
view
.
getHomePageImageListSuc
(
baseResponse
.
data
)
}
else
->
{
view
.
showToast
(
message
)
view
.
getHomePageImageListFail
()
}
}
}
})
}
}
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/mvp/presenters/TrackPresenter.java
View file @
2a114246
package
com
.
mints
.
wisdomclean
.
mvp
.
presenters
;
import
android.content.Context
;
import
com.google.gson.JsonObject
;
import
com.mints.library.net.neterror.BaseSubscriber
;
import
com.mints.library.net.neterror.Throwable
;
...
...
@@ -35,6 +37,7 @@ public class TrackPresenter extends BaseTrackPresenter {
switch
(
baseResponse
.
getStatus
())
{
case
200
:
{
UserManager
.
getInstance
().
saveUserInfo
(
baseResponse
.
getData
());
saveV6Terminal
();
saveTerminalInfo
();
}
}
...
...
@@ -112,5 +115,29 @@ public class TrackPresenter extends BaseTrackPresenter {
});
}
public
void
saveV6Terminal
()
{
try
{
Context
context
=
MintsApplication
.
getContext
();
MintsApplication
baseApplication
=
(
MintsApplication
)
context
;
AppHttpManager
.
getInstance
(
baseApplication
)
.
call
(
baseApplication
.
getV6Service
().
saveV6TerminalInfoBefore
(),
new
BaseSubscriber
<
BaseResponse
<
Object
>>()
{
@Override
public
void
onCompleted
()
{
}
@Override
public
void
onError
(
Throwable
e
)
{
}
@Override
public
void
onNext
(
BaseResponse
<
Object
>
baseResponse
)
{
}
});
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
video/app/src/main/java/com/mints/wisdomclean/mvp/views/HomeView.kt
View file @
2a114246
package
com.mints.wisdomclean.mvp.views
import
com.mints.wisdomclean.mvp.model.UserBean
import
com.mints.wisdomclean.mvp.model.HotStyleTypesListBean
interface
HomeView
:
BaseView
{
fun
get
UserSuc
(
data
:
User
Bean
)
fun
get
HomeV1MsgSuc
(
data
:
HotStyleTypesList
Bean
)
}
video/app/src/main/java/com/mints/wisdomclean/mvp/views/PicContentView.kt
0 → 100644
View file @
2a114246
package
com.mints.wisdomclean.mvp.views
import
com.mints.wisdomclean.mvp.model.*
interface
PicContentView
:
BaseView
{
fun
getHomePageImageListSuc
(
data
:
HotStyleListBean
)
fun
getHomePageImageListFail
()
}
video/app/src/main/java/com/mints/wisdomclean/net/LoanService.java
View file @
2a114246
...
...
@@ -6,6 +6,9 @@ import android.text.TextUtils;
import
com.google.gson.JsonObject
;
import
com.mints.wisdomclean.BuildConfig
;
import
com.mints.wisdomclean.mvp.model.BaseResponse
;
import
com.mints.wisdomclean.mvp.model.HotStyleListBean
;
import
com.mints.wisdomclean.mvp.model.HotStyleMsgBean
;
import
com.mints.wisdomclean.mvp.model.HotStyleTypesListBean
;
import
com.mints.wisdomclean.mvp.model.OrderRecordBean
;
import
com.mints.wisdomclean.mvp.model.UserBean
;
import
com.mints.wisdomclean.mvp.model.Version
;
...
...
@@ -157,6 +160,22 @@ public interface LoanService {
@POST
(
"api/reporGromeEcpm"
)
Observable
<
BaseResponse
<
JsonObject
>>
reporGromeEcpm
(
@Body
Map
<
String
,
Object
>
vo
);
/**
* 首页分类
*
* @return
*/
@POST
(
"api/ai/homeV1Types"
)
Observable
<
BaseResponse
<
HotStyleTypesListBean
>>
getHomeV1Types
();
/**
* 首页列表
*
* @return
*/
@POST
(
"api/ai/homeV1List"
)
Observable
<
BaseResponse
<
HotStyleListBean
>>
getHomeV1List
(
@Body
Map
<
String
,
Object
>
vo
);
/**
* 默认http工厂
...
...
video/app/src/main/java/com/mints/wisdomclean/net/V6GsonConverterFactory.java
0 → 100755
View file @
2a114246
package
com
.
mints
.
wisdomclean
.
net
;
import
com.google.gson.Gson
;
import
java.io.IOException
;
import
java.io.OutputStreamWriter
;
import
java.io.Reader
;
import
java.io.Writer
;
import
java.lang.annotation.Annotation
;
import
java.lang.reflect.Type
;
import
java.nio.charset.Charset
;
import
okhttp3.MediaType
;
import
okhttp3.RequestBody
;
import
okhttp3.ResponseBody
;
import
okio.Buffer
;
import
retrofit2.Converter
;
import
retrofit2.Retrofit
;
/**
* v6 gson
*/
public
class
V6GsonConverterFactory
extends
Converter
.
Factory
{
private
final
Gson
gson
;
public
static
V6GsonConverterFactory
create
()
{
return
create
(
new
Gson
());
}
public
static
V6GsonConverterFactory
create
(
Gson
gson
)
{
return
new
V6GsonConverterFactory
(
gson
);
}
private
V6GsonConverterFactory
(
Gson
gson
)
{
if
(
gson
==
null
)
throw
new
NullPointerException
(
"gson == null"
);
this
.
gson
=
gson
;
}
@Override
public
Converter
<
ResponseBody
,
?>
responseBodyConverter
(
Type
type
,
Annotation
[]
annotations
,
Retrofit
retrofit
)
{
return
new
GsonResponseBodyConverter
<>(
gson
,
type
);
}
@Override
public
Converter
<?,
RequestBody
>
requestBodyConverter
(
Type
type
,
Annotation
[]
parameterAnnotations
,
Annotation
[]
methodAnnotations
,
Retrofit
retrofit
)
{
return
new
GsonRequestBodyConverter
<>(
gson
,
type
);
}
// 这里创建从ResponseBody其它类型的Converter
// 主要用于对响应体的处理
final
class
GsonResponseBodyConverter
<
T
>
implements
Converter
<
ResponseBody
,
T
>
{
private
final
Gson
gson
;
private
final
Type
type
;
GsonResponseBodyConverter
(
Gson
gson
,
Type
type
)
{
this
.
gson
=
gson
;
this
.
type
=
type
;
}
@Override
public
T
convert
(
ResponseBody
value
)
throws
IOException
{
Reader
reader
=
value
.
charStream
();
try
{
T
t
=
gson
.
fromJson
(
reader
,
type
);
// loginInvalid(t);
return
t
;
}
finally
{
try
{
if
(
reader
!=
null
)
reader
.
close
();
}
catch
(
IOException
ignored
)
{
ignored
.
printStackTrace
();
}
}
}
}
// 在这里创建 从自定类型到ResponseBody 的Converter
// 主要用于对Part、PartMap、Body注解的处理
final
class
GsonRequestBodyConverter
<
T
>
implements
Converter
<
T
,
RequestBody
>
{
private
final
MediaType
MEDIA_TYPE
=
MediaType
.
parse
(
"application/json; charset=UTF-8"
);
private
final
Charset
UTF_8
=
Charset
.
forName
(
"UTF-8"
);
private
final
Gson
gson
;
private
final
Type
type
;
GsonRequestBodyConverter
(
Gson
gson
,
Type
type
)
{
this
.
gson
=
gson
;
this
.
type
=
type
;
}
@Override
public
RequestBody
convert
(
T
value
)
throws
IOException
{
Buffer
buffer
=
new
Buffer
();
Writer
writer
=
new
OutputStreamWriter
(
buffer
.
outputStream
(),
UTF_8
);
gson
.
toJson
(
value
,
type
,
writer
);
writer
.
flush
();
return
RequestBody
.
create
(
MEDIA_TYPE
,
buffer
.
readByteString
());
}
}
}
video/app/src/main/java/com/mints/wisdomclean/net/V6Service.java
0 → 100755
View file @
2a114246
package
com
.
mints
.
wisdomclean
.
net
;
import
android.content.Context
;
import
android.text.TextUtils
;
import
com.mints.library.net.neterror.BaseSubscriber
;
import
com.mints.library.net.neterror.Throwable
;
import
com.mints.wisdomclean.BuildConfig
;
import
com.mints.wisdomclean.MintsApplication
;
import
com.mints.wisdomclean.manager.AppHttpManager
;
import
com.mints.wisdomclean.mvp.model.BaseResponse
;
import
com.mints.wisdomclean.utils.AESUtils
;
import
com.orhanobut.logger.Logger
;
import
java.util.concurrent.TimeUnit
;
import
okhttp3.OkHttpClient
;
import
okhttp3.logging.HttpLoggingInterceptor
;
import
retrofit2.Retrofit
;
import
retrofit2.adapter.rxjava.RxJavaCallAdapterFactory
;
import
retrofit2.http.POST
;
import
rx.Observable
;
/**
* 描述:V6服务器交互
* 作者:孟崔广
* 时间:2023/6/1 16:14
*/
public
interface
V6Service
{
String
HYTECH_MAIN_IP
=
"http://api6.mints-tech.cn/camera-api/"
;
@POST
(
"api/user/saveTerminalInfoBefore"
)
Observable
<
Object
>
saveV6TerminalInfoBefore
();
class
Factory
{
public
static
V6Service
create
()
{
OkHttpClient
.
Builder
builder
=
new
OkHttpClient
.
Builder
();
builder
.
retryOnConnectionFailure
(
false
);
builder
.
connectTimeout
(
20
,
TimeUnit
.
SECONDS
);
builder
.
readTimeout
(
20
,
TimeUnit
.
SECONDS
);
builder
.
writeTimeout
(
20
,
TimeUnit
.
SECONDS
);
if
(
BuildConfig
.
DEBUG
)
{
HttpLoggingInterceptor
logging
=
new
HttpLoggingInterceptor
(
message
->
{
if
(
TextUtils
.
isEmpty
(
message
))
return
;
String
s
=
message
.
substring
(
0
,
1
);
String
request
=
message
.
substring
(
0
,
4
);
if
(
"{"
.
equals
(
s
)
||
"["
.
equals
(
s
))
{
Logger
.
json
(
message
);
}
else
if
(
request
.
contains
(
"-->"
)
||
request
.
contains
(
"<--"
))
{
Logger
.
d
(
"Method"
+
message
);
}
else
{
Logger
.
d
(
"params:"
+
message
);
}
});
logging
.
setLevel
(
HttpLoggingInterceptor
.
Level
.
BODY
);
builder
.
interceptors
().
add
(
logging
);
}
OkHttpInterceptor
okHttpInterceptor
=
new
OkHttpInterceptor
(
AESUtils
.
getDefaultKey
());
builder
.
interceptors
().
add
(
okHttpInterceptor
);
Retrofit
retrofit
=
new
Retrofit
.
Builder
()
.
client
(
builder
.
build
())
.
baseUrl
(
HYTECH_MAIN_IP
)
.
addConverterFactory
(
V6GsonConverterFactory
.
create
())
.
addCallAdapterFactory
(
RxJavaCallAdapterFactory
.
create
())
.
build
();
return
retrofit
.
create
(
V6Service
.
class
);
}
}
static
void
saveV6Terminal
()
{
try
{
Context
context
=
MintsApplication
.
getContext
();
MintsApplication
baseApplication
=
(
MintsApplication
)
context
;
AppHttpManager
.
getInstance
(
baseApplication
)
.
call
(
baseApplication
.
getV6Service
().
saveV6TerminalInfoBefore
(),
new
BaseSubscriber
<
BaseResponse
<
Object
>>()
{
@Override
public
void
onCompleted
()
{
}
@Override
public
void
onError
(
Throwable
e
)
{
}
@Override
public
void
onNext
(
BaseResponse
<
Object
>
baseResponse
)
{
}
});
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
video/app/src/main/java/com/mints/wisdomclean/ui/activitys/MainActivity.kt
View file @
2a114246
...
...
@@ -11,6 +11,7 @@ import android.view.View
import
android.widget.ImageView
import
android.widget.LinearLayout
import
android.widget.TextView
import
androidx.core.content.ContextCompat
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.FragmentTransaction
import
com.lzf.easyfloat.EasyFloat
...
...
@@ -26,6 +27,7 @@ import com.mints.wisdomclean.ui.fragment.MyFragment
import
com.mints.wisdomclean.ui.fragment.RecommendFragment
import
com.mints.wisdomclean.ui.widgets.DialogListener
import
com.mints.wisdomclean.ui.widgets.PhoneDialog
import
kotlinx.android.synthetic.main.activity_main.*
/**
* 描述:首页
...
...
@@ -37,9 +39,9 @@ class MainActivity : BaseActivity(), View.OnClickListener {
private
var
audioManager
:
AudioManager
?
=
null
var
contentLayout
:
LinearLayout
?
=
null
var
tabIvLoan
:
Image
View
?
=
null
var
tabIvRecommend
:
Image
View
?
=
null
var
tabIvMy
:
Image
View
?
=
null
var
tabIvLoan
:
Text
View
?
=
null
var
tabIvRecommend
:
Text
View
?
=
null
var
tabIvMy
:
Text
View
?
=
null
// 底部标签切换的Fragment
private
var
mainFragment
:
Fragment
?
=
null
...
...
@@ -199,6 +201,7 @@ class MainActivity : BaseActivity(), View.OnClickListener {
tabIvLoan
!!
.
isSelected
=
true
tabIvRecommend
!!
.
isSelected
=
false
tabIvMy
!!
.
isSelected
=
false
ll_bottom_tab
.
background
=
ContextCompat
.
getDrawable
(
context
,
R
.
color
.
white
)
}
/**
...
...
@@ -213,6 +216,8 @@ class MainActivity : BaseActivity(), View.OnClickListener {
tabIvLoan
!!
.
isSelected
=
false
tabIvRecommend
!!
.
isSelected
=
true
tabIvMy
!!
.
isSelected
=
false
ll_bottom_tab
.
background
=
ContextCompat
.
getDrawable
(
context
,
R
.
color
.
black
)
}
/**
...
...
@@ -227,6 +232,7 @@ class MainActivity : BaseActivity(), View.OnClickListener {
tabIvLoan
!!
.
isSelected
=
false
tabIvRecommend
!!
.
isSelected
=
false
tabIvMy
!!
.
isSelected
=
true
ll_bottom_tab
.
background
=
ContextCompat
.
getDrawable
(
context
,
R
.
color
.
white
)
}
...
...
video/app/src/main/java/com/mints/wisdomclean/ui/activitys/MobileLoginActivity.kt
View file @
2a114246
...
...
@@ -253,7 +253,7 @@ class MobileLoginActivity : BaseActivity(), LoginView, View.OnClickListener {
readyGo
(
MainActivity
::
class
.
java
)
val
activity
=
ActivityPageManager
.
getInstance
().
getActivity
(
MainActivity
::
class
.
java
)
if
(
activity
!=
null
&&
activity
is
MainActivity
)
{
activity
.
clickTab
2
Layout
()
activity
.
clickTab
3
Layout
()
}
}
R
.
id
.
dialog_btn_right
->
{
...
...
video/app/src/main/java/com/mints/wisdomclean/ui/activitys/SettingsActivity.kt
View file @
2a114246
...
...
@@ -20,6 +20,7 @@ import com.mints.wisdomclean.ui.widgets.DialogListener
import
com.mints.wisdomclean.ui.widgets.DialogUtils
import
com.mints.wisdomclean.utils.*
import
com.mints.library.utils.nodoubleclick.AntiShake
import
com.mints.wisdomclean.common.AppConfig
import
kotlinx.android.synthetic.main.activity_settings.*
import
kotlinx.android.synthetic.main.header_layout.*
import
java.util.*
...
...
@@ -42,6 +43,13 @@ class SettingsActivity : BaseActivity(), View.OnClickListener {
item_back
.
visibility
=
View
.
GONE
}
if
(
userManager
.
userIsLogin
())
{
btn_switch
.
visibility
=
View
.
VISIBLE
}
else
{
btn_switch
.
visibility
=
View
.
GONE
}
}
@SuppressLint
(
"CutPasteId"
)
...
...
@@ -221,8 +229,8 @@ class SettingsActivity : BaseActivity(), View.OnClickListener {
dialog
?.
dismiss
()
when
(
v
?.
id
)
{
R
.
id
.
dialog_btn_left
->
{
AppConfig
.
exitLoginMainRefresh
=
true
userManager
.
userLogout
()
finish
()
// // 修复 异常999问题
...
...
video/app/src/main/java/com/mints/wisdomclean/ui/activitys/SplashActivity.kt
View file @
2a114246
...
...
@@ -143,14 +143,14 @@ class SplashActivity : BaseActivity() {
* 跳转到主页面
*/
private
fun
goToMainActivity
()
{
readyGoThenKill
(
MainActivity
::
class
.
java
)
// if (UserManager.getInstance().vipFlag) {
// readyGoThenKill(MainActivity::class.java
)
// } else {
// val bundle = Bundle(
)
// bundle.putBoolean(VipActivity.IS_GUIDE, true)
// readyGoThenKill(VipActivity::class.java, bundle
)
//
}
if
(
UserManager
.
getInstance
().
newFlag
&&
!
UserManager
.
getInstance
().
vipFlag
)
{
// 匹配用户 且 不是vip
val
bundle
=
Bundle
(
)
bundle
.
putBoolean
(
VipActivity
.
IS_GUIDE
,
true
)
readyGoThenKill
(
VipActivity
::
class
.
java
,
bundle
)
}
else
{
readyGoThenKill
(
MainActivity
::
class
.
java
)
}
}
override
fun
onKeyDown
(
keyCode
:
Int
,
event
:
KeyEvent
):
Boolean
{
...
...
video/app/src/main/java/com/mints/wisdomclean/ui/activitys/SplashAdActivity.kt
View file @
2a114246
...
...
@@ -94,12 +94,13 @@ class SplashAdActivity : BaseActivity() {
* 跳转到主页面
*/
private
fun
goToMainActivity
()
{
if
(
UserManager
.
getInstance
().
vipFlag
)
{
readyGoThenKill
(
MainActivity
::
class
.
java
)
}
else
{
if
(
UserManager
.
getInstance
().
newFlag
&&!
UserManager
.
getInstance
().
vipFlag
)
{
// 匹配用户 且 不是vip
val
bundle
=
Bundle
()
bundle
.
putBoolean
(
VipActivity
.
IS_GUIDE
,
true
)
readyGoThenKill
(
VipActivity
::
class
.
java
,
bundle
)
}
else
{
readyGoThenKill
(
MainActivity
::
class
.
java
)
}
}
...
...
video/app/src/main/java/com/mints/wisdomclean/ui/adapter/HomeVideoPageAdapter.kt
View file @
2a114246
...
...
@@ -5,11 +5,6 @@ import androidx.viewpager2.adapter.FragmentStateAdapter
import
com.mints.wisdomclean.mvp.model.HotStyleTypesBean
import
com.mints.wisdomclean.ui.fragment.MovieFragment
/**
* @author Assen
* @date 2023/4/11
* @desc
*/
class
HomeVideoPageAdapter
(
private
val
data
:
List
<
HotStyleTypesBean
>,
fragment
:
Fragment
...
...
@@ -19,19 +14,16 @@ class HomeVideoPageAdapter(
private
val
fragments
=
mutableMapOf
<
Int
,
Fragment
>()
override
fun
getItemId
(
position
:
Int
):
Long
{
// return data[position].id.toLong()
return
0
return
data
[
position
].
id
.
toLong
()
}
// override fun getItemCount() = data.size
override
fun
getItemCount
()
=
10
override
fun
getItemCount
()
=
data
.
size
override
fun
createFragment
(
position
:
Int
):
Fragment
{
val
fragment
=
fragments
[
position
]
if
(
fragment
!=
null
)
return
fragment
// val newFragment = MovieFragment.newInstance(data[position].id,position)
val
newFragment
=
MovieFragment
.
newInstance
(
1
,
position
)
val
newFragment
=
MovieFragment
.
newInstance
(
data
[
position
].
id
,
position
)
fragments
[
position
]
=
newFragment
return
newFragment
}
...
...
video/app/src/main/java/com/mints/wisdomclean/ui/adapter/HotStyleAdapter.kt
View file @
2a114246
...
...
@@ -78,7 +78,7 @@ class HotStyleAdapter(val context: Context, val dataList: ArrayList<HotStyleBean
holder
.
itemView
.
setTag
(
position
)
}
override
fun
getItemCount
():
Int
=
30
override
fun
getItemCount
():
Int
=
dataList
.
size
fun
setOnItemClickListener
(
listener
:
OnItemClickListener
)
{
mOnItemClickListener
=
listener
...
...
video/app/src/main/java/com/mints/wisdomclean/ui/fragment/MainFragment.kt
View file @
2a114246
...
...
@@ -17,12 +17,14 @@ import com.mints.wisdomclean.common.AppConfig
import
com.mints.wisdomclean.common.Constant
import
com.mints.wisdomclean.manager.UserManager
import
com.mints.wisdomclean.mvp.model.HotStyleTypesBean
import
com.mints.wisdomclean.mvp.model.HotStyleTypesListBean
import
com.mints.wisdomclean.mvp.model.UserBean
import
com.mints.wisdomclean.mvp.presenters.HomePresenter
import
com.mints.wisdomclean.mvp.views.HomeView
import
com.mints.wisdomclean.ui.adapter.HomeVideoPageAdapter
import
com.mints.wisdomclean.ui.adapter.TopAdapter
import
com.mints.wisdomclean.ui.fragment.base.BaseFragment
import
com.mints.wisdomclean.ui.fragment.base.LazyLoadBaseFragment
import
com.mints.wisdomclean.video.VideoActivity
import
com.scwang.smartrefresh.layout.api.RefreshLayout
import
com.scwang.smartrefresh.layout.listener.OnRefreshListener
...
...
@@ -39,7 +41,7 @@ import kotlin.concurrent.schedule
* 作者:孟崔广
* 时间:2023/6/29 11:30
*/
class
MainFragment
:
BaseFragment
(),
HomeView
,
View
.
OnClickListener
,
OnRefreshListener
{
class
MainFragment
:
LazyLoad
BaseFragment
(),
HomeView
,
View
.
OnClickListener
,
OnRefreshListener
{
var
imageUrls
=
listOf
(
"http://static.mints-pkg.mints-id.com/pkg-bcurd/bg_main_banner23.png"
,
...
...
@@ -52,7 +54,6 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener, OnRefreshLi
private
var
vpAdapter
:
HomeVideoPageAdapter
?
=
null
private
var
topAdapter
:
TopAdapter
?
=
null
private
val
homePresenter
by
lazy
{
HomePresenter
()
}
private
val
userManager
by
lazy
{
UserManager
.
getInstance
()
}
...
...
@@ -60,50 +61,38 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener, OnRefreshLi
override
fun
initViewsAndEvents
()
{
homePresenter
.
attachView
(
this
)
}
override
fun
onFragmentFirstVisible
()
{
initView
()
initVp
()
initListener
()
loadData
()
}
override
fun
onHiddenChanged
(
hidden
:
Boolean
)
{
if
(
hidden
)
{
// 不在最前端界面显示
onPause
()
}
else
{
// 重新显示到最前端中
onResume
()
}
super
.
onHiddenChanged
(
hidden
)
}
override
fun
onDestroy
()
{
super
.
onDestroy
()
homePresenter
.
detachView
()
}
override
fun
onResume
()
{
super
.
onResume
()
override
fun
onFragmentResume
()
{
if
(
AppConfig
.
fragmentClickFlag
==
Constant
.
FRAGMENT_CLICK_ONE
)
{
if
(
AntiShake
.
check
(
banner
?.
id
))
return
if
(!
TextUtils
.
isEmpty
(
userManager
.
userID
))
{
homePresenter
.
getMyInfo
()
if
(
AppConfig
.
exitLoginMainRefresh
)
{
AppConfig
.
exitLoginMainRefresh
=
false
loadData
()
}
banner
?.
start
()
setWatchingStatus
(
Any
())
}
}
override
fun
onPause
()
{
super
.
onPause
()
override
fun
onFragmentPause
()
{
banner
?.
stop
()
}
private
fun
initView
()
{
srlMainPage
.
setOnRefreshListener
(
this
)
val
bannerLayout1
=
(
banner
as
Banner
<
String
,
BannerImageAdapter
<
String
>>)
bannerLayout1
.
apply
{
addBannerLifecycleObserver
(
activity
)
...
...
@@ -127,11 +116,10 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener, OnRefreshLi
}
}
}
initVp
()
}
private
fun
initListener
()
{
srlMainPage
.
setOnRefreshListener
(
this
)
tv_test
.
setOnClickListener
(
this
)
iv_main_watching_close
.
setOnClickListener
(
this
)
tv_main_watching_goto
.
setOnClickListener
(
this
)
...
...
@@ -157,15 +145,14 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener, OnRefreshLi
private
fun
loadData
()
{
Timer
().
schedule
(
200
)
{
requireActivity
().
runOnUiThread
{
// if (AntiShake.check(iv_main_grid3
?.id)) return@runOnUiThread
if
(
AntiShake
.
check
(
rv_main_list
?.
id
))
return
@runOnUiThread
if
(!
TextUtils
.
isEmpty
(
userManager
?.
userID
))
{
// TrackManager.getInstance().riskinfo()
}
else
{
if
(
TextUtils
.
isEmpty
(
userManager
?.
userID
))
{
//获取游客登录数据
homePresenter
.
userLogin
()
}
else
{
homePresenter
.
getHomeV1Types
()
}
}
}
}
...
...
@@ -188,8 +175,9 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener, OnRefreshLi
TabLayoutMediator
(
tablayout
,
vp2
)
{
tab
,
position
->
// 初始化Tab
tab
.
id
=
position
tab
.
customView
=
getTabView
(
"123"
)
// tab.customView = getTabView(tabsData[position].title)
if
(
tabsData
.
size
>
0
)
{
tab
.
customView
=
getTabView
(
tabsData
[
position
].
title
)
}
}.
attach
()
tablayout
.
addOnTabSelectedListener
(
object
:
TabLayout
.
OnTabSelectedListener
{
override
fun
onTabSelected
(
tab
:
TabLayout
.
Tab
?)
{
...
...
@@ -212,16 +200,14 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener, OnRefreshLi
val
text
=
it
.
findViewById
<
TextView
>(
R
.
id
.
item_tv
)
if
(
isSelected
)
{
text
.
setTextColor
(
ContextCompat
.
getColor
(
requireContext
(),
R
.
color
.
red
))
// text.setBackgroundResource(R.drawable.shape_bg_home_selected)
}
else
{
text
.
setTextColor
(
ContextCompat
.
getColor
(
requireContext
(),
R
.
color
.
color_8D8F90
))
// text.setBackgroundResource(R.drawable.shape_bg_home_unselected)
}
}
}
private
fun
getTabView
(
text
:
String
):
View
{
val
view
=
LayoutInflater
.
from
(
requireContext
()).
inflate
(
R
.
layout
.
item_
recommend
_tab
,
null
)
val
view
=
LayoutInflater
.
from
(
requireContext
()).
inflate
(
R
.
layout
.
item_
video
_tab
,
null
)
view
.
findViewById
<
TextView
>(
R
.
id
.
item_tv
).
text
=
text
return
view
}
...
...
@@ -238,10 +224,6 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener, OnRefreshLi
}
}
override
fun
getUserSuc
(
data
:
UserBean
)
{
}
fun
setWatchingStatus
(
bean
:
Any
)
{
GlideUtils
.
loadImageViewGifForFitCenter
(
requireContext
(),
...
...
@@ -252,4 +234,13 @@ class MainFragment : BaseFragment(), HomeView, View.OnClickListener, OnRefreshLi
// tv_main_watching_text1.text=""
// tv_main_watching_text2.text=""
}
override
fun
getHomeV1MsgSuc
(
data
:
HotStyleTypesListBean
)
{
tabsData
.
clear
()
tabsData
.
addAll
(
data
.
list
)
if
(
tabsData
.
isNotEmpty
())
{
mSelectTabIndex
=
0
vpAdapter
?.
notifyDataSetChanged
()
}
}
}
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/ui/fragment/MovieFragment.kt
View file @
2a114246
...
...
@@ -5,7 +5,10 @@ import android.view.View
import
androidx.fragment.app.Fragment
import
androidx.recyclerview.widget.GridLayoutManager
import
com.mints.wisdomclean.R
import
com.mints.wisdomclean.common.Constant
import
com.mints.wisdomclean.mvp.model.*
import
com.mints.wisdomclean.mvp.presenters.PicContentPresenter
import
com.mints.wisdomclean.mvp.views.PicContentView
import
com.mints.wisdomclean.ui.adapter.HotStyleAdapter
import
com.mints.wisdomclean.ui.adapter.base.OnItemClickListener
import
com.mints.wisdomclean.ui.fragment.base.LazyLoadBaseFragment
...
...
@@ -14,8 +17,7 @@ import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener
import
kotlinx.android.synthetic.main.fragment_movie.*
import
java.util.*
//class PicContentFragment : LazyLoadBaseFragment(), PicContentView, OnLoadMoreListener {
class
MovieFragment
:
LazyLoadBaseFragment
(),
OnLoadMoreListener
{
class
MovieFragment
:
LazyLoadBaseFragment
(),
PicContentView
,
OnLoadMoreListener
{
private
var
mType
=
0
private
var
mPosition
=
0
// 首页-第一个tab-第一个recyclerview Item
...
...
@@ -34,7 +36,7 @@ class MovieFragment : LazyLoadBaseFragment(), OnLoadMoreListener {
}
}
//
private val picContentPresenter by lazy { PicContentPresenter() }
private
val
picContentPresenter
by
lazy
{
PicContentPresenter
()
}
private
var
hotPage
=
1
// 分页
private
val
hotList
:
ArrayList
<
HotStyleBean
>
=
arrayListOf
()
...
...
@@ -52,7 +54,7 @@ class MovieFragment : LazyLoadBaseFragment(), OnLoadMoreListener {
override
fun
onFragmentFirstVisible
()
{
super
.
onFragmentFirstVisible
()
//
picContentPresenter.attachView(this)
picContentPresenter
.
attachView
(
this
)
initView
()
initListener
()
...
...
@@ -71,45 +73,45 @@ class MovieFragment : LazyLoadBaseFragment(), OnLoadMoreListener {
override
fun
onDestroy
()
{
super
.
onDestroy
()
//
picContentPresenter.detachView()
picContentPresenter
.
detachView
()
}
fun
onRefresh
()
{
hotPage
=
1
hotList
.
clear
()
srlMainPage
.
resetNoMoreData
()
//
picContentPresenter.getHomePageImageList(mType, hotPage, Constant.PAGE_SIZE)
picContentPresenter
.
getHomePageImageList
(
mType
,
hotPage
,
Constant
.
PAGE_SIZE
)
}
override
fun
onLoadMore
(
refreshLayout
:
RefreshLayout
)
{
hotPage
=
++
hotPage
//
picContentPresenter.getHomePageImageList(mType, hotPage, Constant.PAGE_SIZE)
picContentPresenter
.
getHomePageImageList
(
mType
,
hotPage
,
Constant
.
PAGE_SIZE
)
}
//
override fun getHomePageImageListSuc(data: HotStyleListBean) {
//
if (activity == null || requireActivity().isFinishing) {
//
srlMainPage?.finishRefresh(true)
//
return
//
}
//
//
if (::hotStyleAdapter.isInitialized) {
//
hotList.addAll(data.list)
//
if (hotPage == 1) {
//
srlMainPage.finishRefresh(true)
//
hotStyleAdapter.notifyDataSetChanged()
//
} else {
//
if (data.list.size < Constant.PAGE_SIZE) {
//
srlMainPage.finishLoadMoreWithNoMoreData()
//
} else {
//
srlMainPage.finishLoadMore()
//
}
//
hotStyleAdapter.notifyItemChanged(data.list.size)
//
}
//
}
//
}
//
//
override fun getHomePageImageListFail() {
//
}
override
fun
getHomePageImageListSuc
(
data
:
HotStyleListBean
)
{
if
(
activity
==
null
||
requireActivity
().
isFinishing
)
{
srlMainPage
?.
finishRefresh
(
true
)
return
}
if
(
::
hotStyleAdapter
.
isInitialized
)
{
hotList
.
addAll
(
data
.
list
)
if
(
hotPage
==
1
)
{
srlMainPage
.
finishRefresh
(
true
)
hotStyleAdapter
.
notifyDataSetChanged
()
}
else
{
if
(
data
.
list
.
size
<
Constant
.
PAGE_SIZE
)
{
srlMainPage
.
finishLoadMoreWithNoMoreData
()
}
else
{
srlMainPage
.
finishLoadMore
()
}
hotStyleAdapter
.
notifyItemChanged
(
data
.
list
.
size
)
}
}
}
override
fun
getHomePageImageListFail
()
{
}
private
fun
initView
()
{
val
gridLayoutManager
=
GridLayoutManager
(
context
,
3
)
...
...
@@ -131,10 +133,4 @@ class MovieFragment : LazyLoadBaseFragment(), OnLoadMoreListener {
srlMainPage
.
setOnLoadMoreListener
(
this
)
}
fun
getFirstItemView
():
View
?
{
rv_pic_list
.
layoutManager
?.
run
{
return
findViewByPosition
(
0
)
}
return
null
}
}
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/ui/fragment/MyFragment.kt
View file @
2a114246
...
...
@@ -84,7 +84,6 @@ class MyFragment : BaseFragment(), MyView, View.OnClickListener {
if
(
fl_my_vip
!=
null
&&
fl_my_vip
.
visibility
==
View
.
VISIBLE
)
{
rope
?.
stop
()
}
// marqueeView?.stopFlipping()
}
override
fun
onClick
(
v
:
View
?)
{
...
...
video/app/src/main/res/drawable/item_text_sel.xml
0 → 100644
View file @
2a114246
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:color=
"@color/black"
android:state_selected=
"true"
/>
<item
android:color=
"@color/graya"
android:state_selected=
"false"
/>
</selector>
\ No newline at end of file
video/app/src/main/res/drawable/item_text_sel2.xml
0 → 100644
View file @
2a114246
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:color=
"@color/white"
android:state_selected=
"true"
/>
<item
android:color=
"@color/graya"
android:state_selected=
"false"
/>
</selector>
\ No newline at end of file
video/app/src/main/res/layout/activity_main.xml
View file @
2a114246
...
...
@@ -31,49 +31,55 @@
<LinearLayout
android:id=
"@+id/tab_rl_loan"
android:layout_width=
"0dp"
android:layout_height=
"
wrap_cont
ent"
android:layout_height=
"
match_par
ent"
android:layout_weight=
"1.0"
android:gravity=
"center"
android:orientation=
"vertical"
>
<
Image
View
<
Text
View
android:id=
"@+id/tab_iv_loan"
android:layout_width=
"30dp"
android:layout_height=
"30dp"
android:contentDescription=
"@null"
android:src=
"@drawable/home_tab_home_selector"
/>
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"剧场"
android:textColor=
"@drawable/item_text_sel"
android:textSize=
"16sp"
android:textStyle=
"bold"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/tab_rl_recommend"
android:layout_width=
"0dp"
android:layout_height=
"
wrap_cont
ent"
android:layout_height=
"
match_par
ent"
android:layout_weight=
"1.0"
android:gravity=
"center"
android:orientation=
"vertical"
>
<
Image
View
<
Text
View
android:id=
"@+id/tab_iv_recommend"
android:layout_width=
"30dp"
android:layout_height=
"30dp"
android:contentDescription=
"@null"
android:src=
"@drawable/home_tab_home_selector"
/>
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"推荐"
android:textColor=
"@drawable/item_text_sel2"
android:textSize=
"16sp"
android:textStyle=
"bold"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/tab_rl_my"
android:layout_width=
"0dp"
android:layout_height=
"
wrap_cont
ent"
android:layout_height=
"
match_par
ent"
android:layout_weight=
"1.0"
android:gravity=
"center"
android:orientation=
"vertical"
>
<
Image
View
<
Text
View
android:id=
"@+id/tab_iv_my"
android:layout_width=
"30dp"
android:layout_height=
"30dp"
android:contentDescription=
"@null"
android:src=
"@drawable/home_tab_my_selector"
/>
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"我的"
android:textColor=
"@drawable/item_text_sel"
android:textSize=
"16sp"
android:textStyle=
"bold"
/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
...
...
video/gradle.properties
View file @
2a114246
...
...
@@ -40,7 +40,7 @@ WEIXIN_APP_ID =wx6830d86ba20be254
WEIXIN_APP_SECRET
=
91f91c0721bd989cf8b9c9b8dc8a5e9c
#umeng
RELEASE_UMENG_KEY
=
6
3c0fd97d64e68613917170f
RELEASE_UMENG_KEY
=
6
4a67d4fa1a164591b44f0e8
GROMORE_APP_ID
=
"5404192"
GROMORE_SPLASH_CODE="102371299"
...
...
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