Skip to content

Commit 577f5a8

Browse files
committed
增加闪屏和权限弹框
1 parent 2c40d58 commit 577f5a8

File tree

27 files changed

+180
-85
lines changed

27 files changed

+180
-85
lines changed

APPTest/src/main/AndroidManifest.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,17 @@
1010
android:icon="@mipmap/icon"
1111
android:label="@string/app_name"
1212
android:supportsRtl="true">
13+
<activity
14+
android:name=".TestSplashActivity"
15+
android:configChanges="orientation|screenSize|keyboardHidden"
16+
android:screenOrientation="portrait"
17+
android:theme="@style/fullscreenActivityTheme">
18+
<intent-filter>
19+
<action android:name="android.intent.action.MAIN" />
20+
<category android:name="android.intent.category.LAUNCHER" />
21+
</intent-filter>
22+
</activity>
23+
1324
<activity
1425
android:name="com.bihe0832.android.test.TestMainActivity"
1526
android:configChanges="orientation|screenSize|keyboardHidden"
@@ -18,7 +29,7 @@
1829
android:theme="@style/activityTheme">
1930
<intent-filter>
2031
<action android:name="android.intent.action.MAIN" />
21-
<category android:name="android.intent.category.LAUNCHER" />
32+
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
2233
</intent-filter>
2334
</activity>
2435

APPTest/src/main/java/com/bihe0832/android/test/TestMainFragment.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
import android.view.View;
1212
import android.view.ViewGroup;
1313

14-
import com.bihe0832.android.base.photos.PhotosSelectFragment;
15-
import com.bihe0832.android.base.puzzle.ui.PuzzleGameMainFragment;
1614
import com.bihe0832.android.base.puzzle.ui.PuzzlePhotosFragment;
1715
import com.bihe0832.android.framework.ui.BaseFragment;
1816
import com.bihe0832.android.lib.utils.ConvertUtils;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.bihe0832.android.test
2+
3+
import com.bihe0832.android.app.router.RouterConstants
4+
import com.bihe0832.android.common.splash.SplashActivity
5+
import com.bihe0832.android.lib.router.annotation.APPMain
6+
import com.bihe0832.android.lib.router.annotation.Module
7+
8+
@APPMain
9+
@Module(RouterConstants.MODULE_NAME_SPLASH)
10+
class TestSplashActivity : SplashActivity() {
11+
12+
13+
override fun getMainRouter(): String {
14+
return RouterConstants.MODULE_NAME_DEBUG
15+
}
16+
}

APPTest/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,8 @@
22
<color name="common_activity_bg">@color/colorPrimaryDark</color>
33
<string name="update_url">https://cdn.bihe0832.com/app/update/get_apk.json</string>
44
<string name="version_url">https://cdn.bihe0832.com/app/help/zapk.html</string>
5+
<!-- <string name="agreement_url">https://blog.bihe0832.com</string>-->
6+
<!-- <string name="privacy_url">https://blog.bihe0832.com</string>-->
7+
<!-- <string name="privacy_agreement_content">请你务必审慎阅读、充分理解「用户协议」和「隐私政策」各条款,包括但不限于:为了向你提供应用管理、内容分享等服务,我们需要收集你的设备信息、操作日志、用户网络等个人信息。你可以在「设置」中管理你的授权。&lt;BR&gt; 你可阅读&lt;font color=\'#428bca\'&gt;「隐私政策」&lt;/font&gt;和&lt;font color=\'#428bca\'&gt;「用户协议」&lt;/font&gt;了解详细信息。如你同意,请点击「同意」开始接受我们的服务</string>-->
58

69
</resources>

Application/src/main/java/com/bihe0832/android/app/Application.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22

33
import android.app.ActivityManager;
44
import android.content.Context;
5-
5+
import com.bihe0832.android.framework.router.RouterInterrupt;
66
import com.bihe0832.android.framework.ui.BaseApplication;
77
import com.bihe0832.android.lib.log.ZLog;
8-
98
import java.util.List;
109

1110
public class Application extends BaseApplication {
@@ -62,6 +61,9 @@ public void onCreate() {
6261
final String processName = it.processName;
6362
if (processName.equalsIgnoreCase(getPackageName())) {
6463
AppFactoryInit.INSTANCE.initCore(getApplicationContext());
64+
if(RouterInterrupt.INSTANCE.hasAgreedPrivacy()){
65+
66+
}
6567
}
6668
}
6769
}

Application/src/main/java/com/bihe0832/android/app/about/AboutFragment.kt

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ open class AboutFragment : CommonListFragment() {
3232
open fun getDataList(): ArrayList<CardBaseModule> {
3333
return ArrayList<CardBaseModule>().apply {
3434
add(getUpdate())
35+
add(getVersionList())
3536
add(getFeedback())
3637
add(getZixie())
3738
if (!ZixieContext.isOfficial()) {
@@ -98,6 +99,27 @@ open class AboutFragment : CommonListFragment() {
9899
}
99100
}
100101

102+
protected fun getVersionList(): SettingsData {
103+
return SettingsData("版本介绍").apply {
104+
mItemIconRes = R.mipmap.icon_help
105+
mHeaderTextBold = true
106+
mShowDriver = true
107+
mShowGo = true
108+
mHeaderListener = View.OnClickListener {
109+
getString(R.string.version_url).let {url->
110+
if(url.isNullOrEmpty()){
111+
ZixieContext.showWaiting()
112+
}else{
113+
val map = HashMap<String, String>()
114+
map[RouterConstants.INTENT_EXTRA_KEY_WEB_URL] = Uri.encode(url)
115+
RouterHelper.openPageByRouter(RouterConstants.MODULE_NAME_WEB_PAGE, map)
116+
}
117+
}
118+
}
119+
}
120+
}
121+
122+
101123
protected fun getUpdate(): SettingsData {
102124
return SettingsData("版本更新").apply {
103125
mItemIconRes = R.mipmap.icon_update
@@ -121,7 +143,7 @@ open class AboutFragment : CommonListFragment() {
121143
mHeaderListener = View.OnClickListener {
122144
val map = HashMap<String, String>()
123145
map[RouterConstants.INTENT_EXTRA_KEY_WEB_URL] = Uri.encode(getString(R.string.feedback_url))
124-
RouterHelper.openPageRouter(RouterConstants.MODULE_NAME_FEEDBACK, map)
146+
RouterHelper.openPageByRouter(RouterConstants.MODULE_NAME_FEEDBACK, map)
125147
}
126148
}
127149
}

Application/src/main/java/com/bihe0832/android/app/card/SettingsHolder.java

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@
22

33
import android.content.Context;
44
import android.graphics.Typeface;
5-
import android.text.Html;
65
import android.text.TextUtils;
76
import android.view.View;
87
import android.widget.ImageView;
98
import android.widget.TextView;
10-
119
import com.bihe0832.android.app.R;
1210
import com.bihe0832.android.lib.adapter.CardBaseHolder;
1311
import com.bihe0832.android.lib.adapter.CardBaseModule;
12+
import com.bihe0832.android.lib.text.TextFactoryUtils;
1413
import com.bihe0832.android.lib.ui.image.GlideExtKt;
1514

1615
/**
1716
* @author hardyshi [email protected]
18-
* Created on 2019-11-21.
19-
* Description: Description
17+
* Created on 2019-11-21.
18+
* Description: Description
2019
*/
2120
public class SettingsHolder extends CardBaseHolder {
21+
2222
public TextView mHeader;
2323
public ImageView mHeaderIcon;
2424
public ImageView mHeaderIsNew;
@@ -43,53 +43,53 @@ public void initView() {
4343
@Override
4444
public void initData(CardBaseModule item) {
4545
SettingsData data = (SettingsData) item;
46-
if(data.mHeaderListener != null){
46+
if (data.mHeaderListener != null) {
4747
itemView.setOnClickListener(data.mHeaderListener);
4848
}
4949

50-
if(data.mHeaderTipsListener != null){
50+
if (data.mHeaderTipsListener != null) {
5151
mHeaderTips.setOnClickListener(data.mHeaderTipsListener);
52-
}else {
52+
} else {
5353
mHeaderTips.setOnClickListener(data.mHeaderListener);
5454
}
55-
if(TextUtils.isEmpty(data.mItemIconURL)){
56-
if(data.mItemIconRes < 0){
55+
if (TextUtils.isEmpty(data.mItemIconURL)) {
56+
if (data.mItemIconRes < 0) {
5757
mHeaderIcon.setVisibility(View.GONE);
58-
}else {
59-
GlideExtKt.loadImage(mHeaderIcon,data.mItemIconRes);
58+
} else {
59+
GlideExtKt.loadImage(mHeaderIcon, data.mItemIconRes);
6060
mHeaderIcon.setVisibility(View.VISIBLE);
6161
}
62-
}else {
63-
GlideExtKt.loadImage(mHeaderIcon,data.mItemIconURL,R.mipmap.icon,R.mipmap.icon);
62+
} else {
63+
GlideExtKt.loadImage(mHeaderIcon, data.mItemIconURL, R.mipmap.icon, R.mipmap.icon);
6464
mHeaderIcon.setVisibility(View.VISIBLE);
6565
}
6666

6767
mHeader.setText(data.mItemText);
68-
if(data.mHeaderTextBold){
68+
if (data.mHeaderTextBold) {
6969
mHeader.setTypeface(null, Typeface.BOLD);
7070
}
71-
if(TextUtils.isEmpty(data.mTipsText)){
71+
if (TextUtils.isEmpty(data.mTipsText)) {
7272
mHeaderTips.setVisibility(View.GONE);
73-
}else {
74-
CharSequence charSequence = Html.fromHtml(data.mTipsText);//支持html
73+
} else {
74+
CharSequence charSequence = TextFactoryUtils.getSpannedTextByHtml(data.mTipsText);//支持html
7575
mHeaderTips.setText(charSequence);
7676
mHeaderTips.setVisibility(View.VISIBLE);
7777
}
7878

79-
if(data.mItemIsNew){
79+
if (data.mItemIsNew) {
8080
mHeaderIsNew.setVisibility(View.VISIBLE);
81-
}else {
81+
} else {
8282
mHeaderIsNew.setVisibility(View.GONE);
8383
}
8484

85-
if(data.mShowGo){
85+
if (data.mShowGo) {
8686
mHeadergo.setVisibility(View.VISIBLE);
87-
}else {
87+
} else {
8888
mHeadergo.setVisibility(View.GONE);
8989
}
90-
if(data.mShowDriver){
90+
if (data.mShowDriver) {
9191
settings_drivider.setVisibility(View.VISIBLE);
92-
}else {
92+
} else {
9393
settings_drivider.setVisibility(View.GONE);
9494
}
9595
}

Application/src/main/java/com/bihe0832/android/app/router/RouterConstants.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,15 @@
1010
* Created by hardyshi on 2017/10/25.
1111
*/
1212

13-
public class RouterConstants {
13+
public class RouterConstants extends com.bihe0832.android.framework.router.RouterConstants {
1414

15-
public static final String ROUTRT_NAME_APK_LIST = "apklist";
1615
public static final String MODULE_NAME_WEB_PAGE = WebPageActivity.MODULE_NAME_WEB_PAGE;
1716
public static final String MODULE_NAME_FEEDBACK = FeedbackActivity.MODULE_NAME_FEEDBACK;
1817
public static final String INTENT_EXTRA_KEY_WEB_URL = BaseWebviewFragment.INTENT_KEY_URL;
1918
public static final String MODULE_NAME_BASE_ABOUT = AboutActivityKt.MODULE_NAME_BASE_ABOUT;
19+
public static final String ROUTRT_NAME_APK_LIST = "apklist";
2020
public static final String MODULE_NAME_PUZZLE_GAME = "puzzlegame";
2121
public static final String MODULE_NAME_PUZZLE = "puzzle";
22-
public static final String MODULE_NAME_DEBUG = "debug";
2322

2423

2524
}

Application/src/main/java/com/bihe0832/android/app/router/RouterHelper.kt

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.bihe0832.android.app.router
22

33
import android.net.Uri
4-
import com.bihe0832.android.app.R
5-
import com.bihe0832.android.framework.ZixieContext
64
import com.bihe0832.android.framework.router.RouterAction
5+
import com.bihe0832.android.framework.router.RouterAction.SCHEME
6+
import com.bihe0832.android.framework.router.RouterConstants
77
import com.bihe0832.android.framework.router.RouterInterrupt
88
import com.bihe0832.android.lib.lifecycle.ApplicationObserver
99
import com.bihe0832.android.lib.log.ZLog
10+
import java.net.URLEncoder
11+
import java.util.*
1012

1113

1214
/**
@@ -15,10 +17,6 @@ import com.bihe0832.android.lib.log.ZLog
1517
*/
1618
object RouterHelper {
1719

18-
val SCHEME by lazy {
19-
ZixieContext.applicationContext?.getString(R.string.router_schema) ?: "zixie"
20-
}
21-
2220
//需要拦截
2321
private val needCheckInterceptHostList by lazy {
2422
getNeedCheckInterceptHostList()
@@ -61,16 +59,31 @@ object RouterHelper {
6159
false
6260
} else {
6361
//需要被拦截
64-
needCheckInterceptHostList.contains(uri.host)
62+
needCheckInterceptHostList.contains(uri.host) || !RouterInterrupt.hasAgreedPrivacy()
6563
}
6664
}
6765

6866
override fun doInterrupt(uri: Uri): Boolean {
69-
return false
67+
return if (!RouterInterrupt.hasAgreedPrivacy()) {
68+
goSplash(uri)
69+
true
70+
} else {
71+
false
72+
}
7073
}
7174
})
7275
}
7376

77+
private fun goSplash(uri: Uri?) {
78+
HashMap<String, String>().apply {
79+
uri?.let {
80+
this[RouterConstants.INTENT_EXTRA_KEY_WEB_URL] = URLEncoder.encode(uri.toString())
81+
}
82+
}.let {
83+
RouterAction.openPageByRouter(RouterConstants.MODULE_NAME_SPLASH, it)
84+
}
85+
}
86+
7487
/**
7588
* 通过传入实际路径打开路由,同时将路由添加到临时权限调用示例
7689
*
@@ -91,14 +104,14 @@ object RouterHelper {
91104
}
92105

93106
fun getFinalURL(pathHost: String): String {
94-
return RouterAction.getFinalURL(SCHEME, pathHost)
107+
return RouterAction.getFinalURL(pathHost)
95108
}
96109

97-
fun openPageRouter(pathHost: String, para: Map<String, String>?) {
98-
RouterAction.open(SCHEME, pathHost, para)
110+
fun openPageByRouter(pathHost: String, para: Map<String, String>?) {
111+
RouterAction.openPageByRouter(pathHost, para)
99112
}
100113

101114
fun openPageByRouter(pathHost: String) {
102-
RouterAction.open(SCHEME, pathHost)
115+
RouterAction.openPageByRouter(pathHost)
103116
}
104117
}

Application/src/main/java/com/bihe0832/android/app/router/RouterHelperWrapper.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ fun getNeedLoginInterceptHostList(): List<String> {
2525
//不需要检查,直接跳过的路由
2626
fun getSkipListHostList(): List<String> {
2727
return listOf<String>(
28-
28+
com.bihe0832.android.framework.router.RouterConstants.MODULE_NAME_SPLASH
2929
)
3030
}
3131

3232
fun openWebPage(url: String) {
3333
val map = HashMap<String, String>()
34-
map[RouterConstants.INTENT_EXTRA_KEY_WEB_URL] =Uri.encode(url)
35-
RouterHelper.openPageRouter(RouterConstants.MODULE_NAME_WEB_PAGE, map)
34+
map[RouterConstants.INTENT_EXTRA_KEY_WEB_URL] = Uri.encode(url)
35+
RouterHelper.openPageByRouter(RouterConstants.MODULE_NAME_WEB_PAGE, map)
3636
}

Application/src/main/res/drawable/praise_btn_go_feedback.xml

Lines changed: 0 additions & 10 deletions
This file was deleted.

Application/src/main/res/drawable/praise_btn_go_market.xml

Lines changed: 0 additions & 8 deletions
This file was deleted.

Application/src/main/res/drawable/praise_dialog_bg.xml

Lines changed: 0 additions & 8 deletions
This file was deleted.
Loading

Application/src/main/res/values/about_res.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
<string name="about">关于我们</string>
44
<string name="feedback_qq">2217661422</string>
55
<string name="feedback_url">https://support.qq.com/product/290858</string>
6+
<string name="version_url"></string>
7+
68
<string name="update_url"></string>
79

810
<string name="wechat_id">zixie_shi</string>

Application/src/main/res/values/colors.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,4 @@
77
<color name="colorControlHighlight">#FF3AC8EF</color>
88
<color name="colorControlNormal">#7988B3</color>
99
<color name="colorTextColor">#E2E2E4</color>
10-
1110
</resources>

0 commit comments

Comments
 (0)