Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
android_freeworld
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_freeworld
Commits
bd1e5224
Commit
bd1e5224
authored
Jul 14, 2021
by
张释方
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码提交
parent
5f46575c
Changes
30
Show whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
289 additions
and
147 deletions
+289
-147
build.gradle
app/build.gradle
+3
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+35
-48
GridPaymentAdapter.kt
.../main/java/com/mints/street/adapter/GridPaymentAdapter.kt
+1
-1
MainApi.kt
app/src/main/java/com/mints/street/api/MainApi.kt
+4
-0
VipBean.kt
app/src/main/java/com/mints/street/bean/VipBean.kt
+5
-0
MyFragment.kt
app/src/main/java/com/mints/street/main/my/MyFragment.kt
+25
-5
OpenvipViewModel.kt
...rc/main/java/com/mints/street/main/my/OpenvipViewModel.kt
+29
-0
ApiModel.kt
app/src/main/java/com/mints/street/model/ApiModel.kt
+9
-0
GuideActivity.kt
app/src/main/java/com/mints/street/splash/GuideActivity.kt
+40
-0
GuideBindingViewModel.kt
...ain/java/com/mints/street/splash/GuideBindingViewModel.kt
+8
-0
SplashActivity.kt
app/src/main/java/com/mints/street/splash/SplashActivity.kt
+2
-1
shape_bg_guide_tv.xml
app/src/main/res/drawable/shape_bg_guide_tv.xml
+11
-0
shape_bg_payment.xml
app/src/main/res/drawable/shape_bg_payment.xml
+2
-2
shape_bg_payment_down.xml
app/src/main/res/drawable/shape_bg_payment_down.xml
+3
-3
shape_btn_friends_unenabled.xml
app/src/main/res/drawable/shape_btn_friends_unenabled.xml
+1
-2
shape_gold_card.xml
app/src/main/res/drawable/shape_gold_card.xml
+1
-1
activity_guide.xml
app/src/main/res/layout/activity_guide.xml
+72
-0
fragment_my.xml
app/src/main/res/layout/fragment_my.xml
+37
-83
item_grid_payment_adpater.xml
app/src/main/res/layout/item_grid_payment_adpater.xml
+1
-1
earth.gif
app/src/main/res/mipmap-xhdpi/earth.gif
+0
-0
icon_me1.png
app/src/main/res/mipmap-xhdpi/icon_me1.png
+0
-0
icon_me2.png
app/src/main/res/mipmap-xhdpi/icon_me2.png
+0
-0
icon_me3.png
app/src/main/res/mipmap-xhdpi/icon_me3.png
+0
-0
icon_me4.png
app/src/main/res/mipmap-xhdpi/icon_me4.png
+0
-0
icon_me5.png
app/src/main/res/mipmap-xhdpi/icon_me5.png
+0
-0
icon_me6.png
app/src/main/res/mipmap-xhdpi/icon_me6.png
+0
-0
icon_me7.png
app/src/main/res/mipmap-xhdpi/icon_me7.png
+0
-0
icon_me8.png
app/src/main/res/mipmap-xhdpi/icon_me8.png
+0
-0
icon_me_vip.png
app/src/main/res/mipmap-xhdpi/icon_me_vip.png
+0
-0
satellite.png
app/src/main/res/mipmap-xhdpi/satellite.png
+0
-0
No files found.
app/build.gradle
View file @
bd1e5224
...
@@ -135,6 +135,9 @@ android {
...
@@ -135,6 +135,9 @@ android {
dependencies
{
dependencies
{
implementation
fileTree
(
include:
[
'*.jar'
],
dir:
'libs'
)
implementation
fileTree
(
include:
[
'*.jar'
],
dir:
'libs'
)
implementation
'androidx.appcompat:appcompat:1.1.0'
implementation
"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation
'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation
rootProject
.
ext
.
support
[
"junit"
]
testImplementation
rootProject
.
ext
.
support
[
"junit"
]
//下拉刷新
//下拉刷新
...
...
app/src/main/AndroidManifest.xml
View file @
bd1e5224
...
@@ -2,28 +2,19 @@
...
@@ -2,28 +2,19 @@
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
package=
"com.mints.street"
>
package=
"com.mints.street"
>
<!-- 这个权限用于进行网络定位 -->
<!-- 这个权限用于进行网络定位 -->
<uses-permission
android:name=
"android.permission.ACCESS_COARSE_LOCATION"
/>
<uses-permission
android:name=
"android.permission.ACCESS_COARSE_LOCATION"
/>
<!-- 这个权限用于访问GPS定位 -->
<!-- 这个权限用于访问GPS定位 -->
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
/>
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
/>
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<!-- 获取网络状态,根据网络状态切换进行数据请求网络转换 -->
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 -->
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<!-- 读取外置存储。如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要 -->
<!-- 获取网络状态,根据网络状态切换进行数据请求网络转换 -->
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 -->
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<!-- 调用相机,用于实现扫描二维码,预览个性化地图编辑器生成的个性化地图样式(开发者实际开发中地图SDK不需要该权限) -->
<!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 -->
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<!-- 获取手机状态信息 -->
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<!-- 读取外置存储。如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要 -->
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 -->
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<!-- 调用相机,用于实现扫描二维码,预览个性化地图编辑器生成的个性化地图样式(开发者实际开发中地图SDK不需要该权限)-->
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<!-- 获取手机状态信息 -->
<uses-permission
android:name=
"android.permission.READ_PHONE_STATE"
/>
<uses-permission
android:name=
"android.permission.READ_PHONE_STATE"
/>
<application
<application
android:name=
"
com.mints.street
.AppApplication"
android:name=
".AppApplication"
android:allowBackup=
"true"
android:allowBackup=
"true"
android:icon=
"@mipmap/ic_launcher_main"
android:icon=
"@mipmap/ic_launcher_main"
android:label=
"@string/app_name"
android:label=
"@string/app_name"
...
@@ -61,43 +52,43 @@
...
@@ -61,43 +52,43 @@
android:value=
"${SHARE_SECRET}"
/>
android:value=
"${SHARE_SECRET}"
/>
<meta-data
<meta-data
android:name=
"com.baidu.lbsapi.API_KEY"
android:name=
"com.baidu.lbsapi.API_KEY"
android:value=
"SD6luBGzUFSVEZ3n9Xjk3xTsvDFmuRCi"
/>
<!--百度地图开放平台 -->
android:value=
"SD6luBGzUFSVEZ3n9Xjk3xTsvDFmuRCi"
/>
<!-- 百度地图开放平台 -->
<!--百度地图开放平台 service-->
<!-- 百度地图开放平台 service -->
<service
android:name=
"com.baidu.location.f"
<service
android:name=
"com.baidu.location.f"
android:enabled=
"true"
android:enabled=
"true"
android:process=
":remote"
/>
android:process=
":remote"
/>
<activity
android:name=
"com.mints.street.splash.SplashActivity"
<activity
android:name=
".splash.SplashActivity"
android:theme=
"@style/NormalSplash"
>
android:theme=
"@style/NormalSplash"
>
<intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</intent-filter>
<intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.VIEW"
/>
<action
android:name=
"android.intent.action.VIEW"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
<category
android:name=
"android.intent.category.BROWSABLE"
/>
<category
android:name=
"android.intent.category.BROWSABLE"
/>
<data
android:scheme=
"um.60e80209a6f90557b7b19aa7"
/>
<data
android:scheme=
"um.60e80209a6f90557b7b19aa7"
/>
</intent-filter>
</intent-filter>
</activity>
</activity>
<activity
android:name=
"com.mints.street.login.LoginActivity"
>
<activity
android:name=
".login.LoginActivity"
></activity>
<activity
</activity>
android:name=
".main.MainActivity"
<activity
android:name=
"com.mints.street.main.MainActivity"
android:configChanges=
"orientation|keyboardHidden|screenSize"
android:configChanges=
"orientation|keyboardHidden|screenSize"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:theme=
"@style/AppTheme.NoneTranslucent"
>
android:theme=
"@style/AppTheme.NoneTranslucent"
></activity>
<activity
android:name=
".main.my.MoresettingsActivity"
/>
</activity>
<activity
android:name=
".main.my.AboutusActivity"
/>
<activity
android:name=
".main.my.MoresettingsActivity"
/>
<activity
android:name=
".main.my.PermissionsActivity"
/>
<activity
android:name=
".main.my.AboutusActivity"
/>
<activity
android:name=
".main.my.OpenvipActivity"
/>
<activity
android:name=
".main.my.PermissionsActivity"
/>
<activity
android:name=
".main.home.HistoricalimageActivity"
/>
<activity
android:name=
".main.my.OpenvipActivity"
/>
<activity
android:name=
".main.my.BindMobileActivity"
/>
<activity
android:name=
".main.home.HistoricalimageActivity"
/>
<activity
android:name=
".splash.GuideActivity"
/>
<activity
android:name=
".main.my.BindMobileActivity"
/>
<!-- ShareSDK start -->
<!-- ShareSDK start -->
<activity
<activity
android:name=
"com.mob.tools.MobUIShell"
android:name=
"com.mob.tools.MobUIShell"
...
@@ -135,8 +126,7 @@
...
@@ -135,8 +126,7 @@
android:name=
"android.support.FILE_PROVIDER_PATHS"
android:name=
"android.support.FILE_PROVIDER_PATHS"
android:resource=
"@xml/file_paths"
android:resource=
"@xml/file_paths"
tools:replace=
"android:resource"
/>
tools:replace=
"android:resource"
/>
</provider>
</provider>
<!-- 广点通广告 -->
<!-- 广点通广告 -->
<uses-library
<uses-library
android:name=
"org.apache.http.legacy"
android:name=
"org.apache.http.legacy"
android:required=
"false"
/>
android:required=
"false"
/>
...
@@ -156,19 +146,16 @@
...
@@ -156,19 +146,16 @@
android:name=
"com.qq.e.ads.LandscapeADActivity"
android:name=
"com.qq.e.ads.LandscapeADActivity"
android:configChanges=
"keyboard|keyboardHidden|orientation|screenSize"
android:configChanges=
"keyboard|keyboardHidden|orientation|screenSize"
android:screenOrientation=
"landscape"
android:screenOrientation=
"landscape"
tools:replace=
"android:screenOrientation"
/>
tools:replace=
"android:screenOrientation"
/>
<!-- WX_APPID必填项 -->
<!-- WX_APPID必填项 -->
<meta-data
<meta-data
android:name=
"WX_APPID"
android:name=
"WX_APPID"
android:value=
"wx8f26539eabfb04f2"
/>
android:value=
"wx8f26539eabfb04f2"
/>
<activity
<activity
android:name=
".wxapi.WXPayEntryActivity"
android:name=
".wxapi.WXPayEntryActivity"
android:exported=
"true"
android:exported=
"true"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
android:windowSoftInputMode=
"adjustPan"
/>
android:windowSoftInputMode=
"adjustPan"
/>
<!-- 支付宝 -->
<!-- 支付宝 -->
<activity
<activity
android:name=
"com.alipay.sdk.app.H5PayActivity"
android:name=
"com.alipay.sdk.app.H5PayActivity"
android:configChanges=
"orientation|keyboardHidden|navigation|screenSize"
android:configChanges=
"orientation|keyboardHidden|navigation|screenSize"
...
@@ -181,7 +168,7 @@
...
@@ -181,7 +168,7 @@
android:exported=
"false"
android:exported=
"false"
android:screenOrientation=
"behind"
android:screenOrientation=
"behind"
android:windowSoftInputMode=
"adjustResize|stateHidden"
/>
android:windowSoftInputMode=
"adjustResize|stateHidden"
/>
<activity
android:name=
".main.vr.PanoramicActivity"
/>
<activity
android:name=
".main.vr.PanoramicActivity"
/>
</application>
</application>
</manifest>
</manifest>
\ No newline at end of file
app/src/main/java/com/mints/street/adapter/GridPaymentAdapter.kt
View file @
bd1e5224
...
@@ -15,7 +15,7 @@ class GridPaymentAdapter(val context: Context, val list: List<String>) : Abstrac
...
@@ -15,7 +15,7 @@ class GridPaymentAdapter(val context: Context, val list: List<String>) : Abstrac
private
var
mposition
:
Int
=
-
1
private
var
mposition
:
Int
=
-
1
override
fun
onBindViewHolder
(
holder
:
BindingViewHolder
<
ItemGridPaymentAdpaterBinding
>,
position
:
Int
)
{
override
fun
onBindViewHolder
(
holder
:
BindingViewHolder
<
ItemGridPaymentAdpaterBinding
>,
position
:
Int
)
{
holder
.
binding
.
text1
.
paint
.
flags
=
Paint
.
FAKE_BOLD
_TEXT_FLAG
holder
.
binding
.
text1
.
paint
.
flags
=
Paint
.
STRIKE_THRU
_TEXT_FLAG
var
a
=
holder
.
binding
.
bg
.
layoutParams
var
a
=
holder
.
binding
.
bg
.
layoutParams
holder
.
binding
.
bg
.
setMargin
(
AppUtils
.
dp2Px
(
context
,
10F
),
0
,
AppUtils
.
dp2Px
(
context
,
10F
),
0
,
null
,
null
,
null
)
holder
.
binding
.
bg
.
setMargin
(
AppUtils
.
dp2Px
(
context
,
10F
),
0
,
AppUtils
.
dp2Px
(
context
,
10F
),
0
,
null
,
null
,
null
)
...
...
app/src/main/java/com/mints/street/api/MainApi.kt
View file @
bd1e5224
...
@@ -3,6 +3,7 @@ package com.mints.street.api
...
@@ -3,6 +3,7 @@ package com.mints.street.api
import
com.google.gson.JsonObject
import
com.google.gson.JsonObject
import
com.mints.street.bean.AwardBean
import
com.mints.street.bean.AwardBean
import
com.mints.street.bean.UserBean
import
com.mints.street.bean.UserBean
import
com.mints.street.bean.VipBean
import
com.mints.street.netwrok.common.HttpManager
import
com.mints.street.netwrok.common.HttpManager
import
io.reactivex.Observable
import
io.reactivex.Observable
import
me.goldze.mvvmhabit.http.BaseResponse
import
me.goldze.mvvmhabit.http.BaseResponse
...
@@ -42,4 +43,7 @@ interface MainApi {
...
@@ -42,4 +43,7 @@ interface MainApi {
@POST
(
"api/saveTerminalInfo"
)
@POST
(
"api/saveTerminalInfo"
)
fun
saveTerminalInfo
(
@Body
vo
:
@JvmSuppressWildcards
Map
<
String
,
Any
>):
Observable
<
Response
<
BaseResponse
<
Any
>>>
fun
saveTerminalInfo
(
@Body
vo
:
@JvmSuppressWildcards
Map
<
String
,
Any
>):
Observable
<
Response
<
BaseResponse
<
Any
>>>
@POST
(
"api/getVipProductsByType"
)
fun
getVipProductsByType
(
@Body
vo
:
@JvmSuppressWildcards
Map
<
String
,
Any
>):
Observable
<
Response
<
BaseResponse
<
VipBean
>>>
}
}
\ No newline at end of file
app/src/main/java/com/mints/street/bean/VipBean.kt
0 → 100644
View file @
bd1e5224
package
com.mints.street.bean
class
VipBean
{
}
\ No newline at end of file
app/src/main/java/com/mints/street/main/my/MyFragment.kt
View file @
bd1e5224
...
@@ -8,8 +8,10 @@ import android.view.View
...
@@ -8,8 +8,10 @@ import android.view.View
import
android.view.ViewGroup
import
android.view.ViewGroup
import
android.widget.CheckBox
import
android.widget.CheckBox
import
android.widget.ImageView
import
android.widget.ImageView
import
android.widget.TextView
import
android.widget.Toast
import
android.widget.Toast
import
androidx.appcompat.widget.LinearLayoutCompat
import
androidx.appcompat.widget.LinearLayoutCompat
import
androidx.core.content.ContextCompat
import
com.fry.base.base.BaseFragment
import
com.fry.base.base.BaseFragment
import
com.google.android.material.bottomsheet.BottomSheetDialog
import
com.google.android.material.bottomsheet.BottomSheetDialog
import
com.mints.street.BR
import
com.mints.street.BR
...
@@ -17,6 +19,7 @@ import com.mints.street.R
...
@@ -17,6 +19,7 @@ import com.mints.street.R
import
com.mints.street.databinding.FragmentMyBinding
import
com.mints.street.databinding.FragmentMyBinding
import
com.mints.street.login.LoginActivity
import
com.mints.street.login.LoginActivity
import
com.mints.street.main.home.HistoricalimageActivity
import
com.mints.street.main.home.HistoricalimageActivity
import
kotlinx.android.synthetic.main.activity_moresettings.*
import
kotlinx.android.synthetic.main.fragment_my.*
import
kotlinx.android.synthetic.main.fragment_my.*
...
@@ -40,9 +43,10 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), View.OnClickL
...
@@ -40,9 +43,10 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), View.OnClickL
override
fun
initData
()
{
override
fun
initData
()
{
super
.
initData
()
super
.
initData
()
initView
()
initView
()
initListener
()
}
}
private
fun
init
View
()
{
private
fun
init
Listener
()
{
//设置登录点击事件
//设置登录点击事件
binding
.
llMyLogin
.
setOnClickListener
{
binding
.
llMyLogin
.
setOnClickListener
{
//创建弹窗
//创建弹窗
...
@@ -64,18 +68,34 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), View.OnClickL
...
@@ -64,18 +68,34 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), View.OnClickL
startActivity
(
OpenvipActivity
::
class
.
java
)
startActivity
(
OpenvipActivity
::
class
.
java
)
}
}
ly_aboutus
.
setOnClickListener
(
this
)
aboutus
.
setOnClickListener
(
this
)
ly_moresettings
.
setOnClickListener
(
this
)
moresettings
.
setOnClickListener
(
this
)
}
private
fun
initView
()
{
aboutus
.
findViewById
<
TextView
>(
R
.
id
.
tv_title
).
text
=
"关于我们"
val
userAgree
=
ContextCompat
.
getDrawable
(
context
!!
,
R
.
mipmap
.
iv_about_us
)
userAgree
?.
setBounds
(
0
,
0
,
56
,
56
)
aboutus
.
findViewById
<
TextView
>(
R
.
id
.
tv_title
).
setCompoundDrawables
(
userAgree
,
null
,
null
,
null
)
aboutus
.
findViewById
<
TextView
>(
R
.
id
.
tv_right
).
visibility
=
View
.
GONE
aboutus
.
findViewById
<
ImageView
>(
R
.
id
.
iv_right
).
visibility
=
View
.
VISIBLE
moresettings
.
findViewById
<
TextView
>(
R
.
id
.
tv_title
).
text
=
"更多设置"
val
privacyAgree
=
ContextCompat
.
getDrawable
(
context
!!
,
R
.
mipmap
.
iv_more_settings
)
privacyAgree
?.
setBounds
(
0
,
0
,
56
,
56
)
moresettings
.
findViewById
<
TextView
>(
R
.
id
.
tv_title
).
setCompoundDrawables
(
privacyAgree
,
null
,
null
,
null
)
moresettings
.
findViewById
<
TextView
>(
R
.
id
.
tv_right
).
visibility
=
View
.
GONE
moresettings
.
findViewById
<
ImageView
>(
R
.
id
.
iv_right
).
visibility
=
View
.
VISIBLE
}
}
override
fun
onClick
(
v
:
View
?)
{
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
when
(
v
?.
id
)
{
R
.
id
.
ly_
aboutus
->
{
R
.
id
.
aboutus
->
{
startActivity
(
AboutusActivity
::
class
.
java
)
startActivity
(
AboutusActivity
::
class
.
java
)
// startActivity(HistoricalimageActivity::class.java)
// startActivity(HistoricalimageActivity::class.java)
}
}
R
.
id
.
ly_
moresettings
->
{
R
.
id
.
moresettings
->
{
startActivity
(
MoresettingsActivity
::
class
.
java
)
startActivity
(
MoresettingsActivity
::
class
.
java
)
}
}
R
.
id
.
ll_my_login
->
{
R
.
id
.
ll_my_login
->
{
...
...
app/src/main/java/com/mints/street/main/my/OpenvipViewModel.kt
View file @
bd1e5224
package
com.mints.street.main.my
package
com.mints.street.main.my
import
android.app.Application
import
android.app.Application
import
androidx.lifecycle.MutableLiveData
import
com.mints.street.model.ApiModel
import
com.mints.street.netwrok.base.HttpSubscribeImpl
import
me.goldze.mvvmhabit.base.BaseViewModel
import
me.goldze.mvvmhabit.base.BaseViewModel
import
me.goldze.mvvmhabit.http.BaseResponse
import
me.goldze.mvvmhabit.utils.KLog
import
java.util.HashMap
class
OpenvipViewModel
(
application
:
Application
):
BaseViewModel
(
application
)
{
class
OpenvipViewModel
(
application
:
Application
):
BaseViewModel
(
application
)
{
val
data
:
MutableLiveData
<
String
>
=
MutableLiveData
()
/**
* 手机验证码
*
* @param mobile
*/
fun
sendMobileCode
(
mobile
:
String
)
{
val
vo
=
HashMap
<
String
,
Any
>()
vo
[
"mobile"
]
=
mobile
vo
[
"type"
]
=
1
ApiModel
.
sendMobileCode
(
lifecycleProvider
,
vo
).
safeSubscribe
(
object
:
HttpSubscribeImpl
<
BaseResponse
<
Any
>>(
this
@OpenvipViewModel
,
true
)
{
override
fun
onBusinessSuccess
(
response
:
BaseResponse
<
Any
>)
{
KLog
.
e
(
"sendMobileCode"
,
response
.
result
.
toString
())
}
override
fun
onError
(
e
:
Throwable
)
{
data
.
value
=
"失败"
KLog
.
e
(
"sendMobileCode"
,
"发送验证码错误"
)
}
})
}
}
}
app/src/main/java/com/mints/street/model/ApiModel.kt
View file @
bd1e5224
...
@@ -40,4 +40,13 @@ object ApiModel {
...
@@ -40,4 +40,13 @@ object ApiModel {
return
HttpManager
.
getInstance
()
return
HttpManager
.
getInstance
()
.
execute
(
lifecycleProvider
,
MainApi
.
newInstance
().
saveTerminalInfo
(
map
))
.
execute
(
lifecycleProvider
,
MainApi
.
newInstance
().
saveTerminalInfo
(
map
))
}
}
/**
* 开通会员
*/
fun
openvip
(
lifecycleProvider
:
LifecycleProvider
<
Any
>?
,
map
:
Map
<
String
,
Any
>):
Observable
<
Response
<
BaseResponse
<
Any
>>>
{
return
HttpManager
.
getInstance
()
.
execute
(
lifecycleProvider
,
MainApi
.
newInstance
().
getVipProductsByType
(
map
))
}
}
}
\ No newline at end of file
app/src/main/java/com/mints/street/splash/GuideActivity.kt
0 → 100644
View file @
bd1e5224
package
com.mints.street.splash
import
android.os.Bundle
import
android.view.View
import
com.bumptech.glide.Glide
import
com.fry.base.BR
import
com.fry.base.base.BaseActivity
import
com.mints.street.R
import
com.mints.street.databinding.ActivityGuideBinding
import
com.mints.street.main.MainActivity
import
kotlinx.android.synthetic.main.activity_guide.*
class
GuideActivity
:
BaseActivity
<
ActivityGuideBinding
,
GuideBindingViewModel
>(),
View
.
OnClickListener
{
override
fun
initContentView
(
savedInstanceState
:
Bundle
?)=
R
.
layout
.
activity_guide
override
fun
initVariableId
()=
BR
.
viewModel
override
fun
initData
()
{
super
.
initData
()
initView
()
initListener
()
}
private
fun
initListener
()
{
bt_enter
.
setOnClickListener
(
this
)
}
private
fun
initView
()
{
Glide
.
with
(
this
).
asGif
().
load
(
R
.
mipmap
.
earth
).
into
(
iv_earth
);
}
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
){
R
.
id
.
bt_enter
->{
startActivityThenKill
(
MainActivity
::
class
.
java
)
}
}
}
}
\ No newline at end of file
app/src/main/java/com/mints/street/splash/GuideBindingViewModel.kt
0 → 100644
View file @
bd1e5224
package
com.mints.street.splash
import
android.app.Application
import
me.goldze.mvvmhabit.base.BaseViewModel
class
GuideBindingViewModel
(
application
:
Application
)
:
BaseViewModel
(
application
){
}
app/src/main/java/com/mints/street/splash/SplashActivity.kt
View file @
bd1e5224
...
@@ -163,6 +163,7 @@ class SplashActivity:BaseActivity<ActivitySplashBinding,SplashViewModel>() {
...
@@ -163,6 +163,7 @@ class SplashActivity:BaseActivity<ActivitySplashBinding,SplashViewModel>() {
* 跳转到主页面
* 跳转到主页面
*/
*/
private
fun
goToMainActivity
()
{
private
fun
goToMainActivity
()
{
startActivityThenKill
(
MainActivity
::
class
.
java
)
// startActivityThenKill(MainActivity::class.java)
startActivityThenKill
(
GuideActivity
::
class
.
java
)
}
}
}
}
\ No newline at end of file
app/src/main/res/drawable/shape_bg_guide_tv.xml
0 → 100644
View file @
bd1e5224
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:topLeftRadius=
"20dp"
android:bottomLeftRadius=
"20dp"
/>
<gradient
android:startColor=
"#73FFFFFF"
android:endColor=
"#00FFFFFF"
android:angle=
"0"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_bg_payment.xml
View file @
bd1e5224
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"@color/white"
/>
<solid
android:color=
"@color/white"
/>
<corners
android:radius=
"
2
dp"
/>
<corners
android:radius=
"
8
dp"
/>
<stroke
android:color=
"#FF9800"
android:width=
"1dp"
/>
<stroke
android:color=
"#
99
FF9800"
android:width=
"1dp"
/>
</shape>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_bg_payment_down.xml
View file @
bd1e5224
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"#
F6CF8
2"
/>
<solid
android:color=
"#
66EDA41
2"
/>
<corners
android:radius=
"
2
dp"
/>
<corners
android:radius=
"
8
dp"
/>
<stroke
android:color=
"#FF9800"
android:width=
"1dp"
/>
<stroke
android:color=
"#
99
FF9800"
android:width=
"1dp"
/>
</shape>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_btn_friends_unenabled.xml
View file @
bd1e5224
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"@color/color_FF9837"
/>
<solid
android:color=
"#F1CA54"
/>
<corners
android:radius=
"100dp"
/>
<corners
android:radius=
"100dp"
/>
</shape>
</shape>
\ No newline at end of file
app/src/main/res/drawable/shape_gold_card.xml
View file @
bd1e5224
...
@@ -3,6 +3,6 @@
...
@@ -3,6 +3,6 @@
android:shape=
"rectangle"
>
android:shape=
"rectangle"
>
<solid
android:color=
"#ffffffff"
/>
<solid
android:color=
"#ffffffff"
/>
<corners
android:radius=
"
4
dp"
/>
<corners
android:radius=
"
10
dp"
/>
</shape>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_guide.xml
0 → 100644
View file @
bd1e5224
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<variable
name=
"viewModel"
type=
"com.mints.street.splash.GuideBindingViewModel"
/>
</data>
<LinearLayout
android:gravity=
"center"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/black"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/iv_earth"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<RelativeLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
>
<TextView
android:layout_marginTop=
"20dp"
android:id=
"@+id/tv1"
android:textSize=
"20sp"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_bg_guide_tv"
android:text=
"国内外全覆盖街景"
android:drawableLeft=
"@mipmap/satellite"
android:paddingLeft=
"10dp"
/>
<TextView
android:layout_marginTop=
"20dp"
android:id=
"@+id/tv2"
android:layout_below=
"@+id/tv1"
android:textSize=
"20sp"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_bg_guide_tv"
android:text=
"VR沉浸式景点体验"
android:drawableLeft=
"@mipmap/satellite"
android:paddingLeft=
"10dp"
/>
<TextView
android:layout_marginTop=
"20dp"
android:id=
"@+id/tv3"
android:layout_below=
"@+id/tv2"
android:textSize=
"20sp"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_bg_guide_tv"
android:text=
"高清卫星地图/历史影像"
android:drawableLeft=
"@mipmap/satellite"
android:paddingLeft=
"10dp"
/>
<Button
android:id=
"@+id/bt_enter"
android:layout_marginTop=
"70dp"
android:layout_below=
"@+id/tv3"
android:layout_width=
"250dp"
android:layout_height=
"40dp"
android:textSize=
"18sp"
android:text=
"立即体验"
android:gravity=
"center"
android:background=
"@drawable/shape_login_bg"
/>
</RelativeLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_my.xml
View file @
bd1e5224
...
@@ -68,7 +68,7 @@
...
@@ -68,7 +68,7 @@
android:layout_height=
"30dp"
android:layout_height=
"30dp"
android:layout_alignParentStart=
"true"
android:layout_alignParentStart=
"true"
android:layout_centerVertical=
"true"
android:layout_centerVertical=
"true"
android:src=
"@mipmap/i
v_crown"
/>
android:src=
"@mipmap/i
con_me_vip"
/>
<TextView
<TextView
android:id=
"@+id/tv_tips"
android:id=
"@+id/tv_tips"
...
@@ -96,7 +96,8 @@
...
@@ -96,7 +96,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
>
android:layout_gravity=
"center_horizontal"
android:paddingBottom=
"10dp"
>
<TextView
<TextView
android:id=
"@+id/textView5"
android:id=
"@+id/textView5"
...
@@ -114,7 +115,8 @@
...
@@ -114,7 +115,8 @@
android:id=
"@+id/imageView5"
android:id=
"@+id/imageView5"
android:layout_width=
"50dp"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_height=
"50dp"
android:src=
"@mipmap/ic_avatar_ph"
android:layout_marginTop=
"10dp"
android:src=
"@mipmap/icon_me1"
app:layout_constraintEnd_toStartOf=
"@+id/guideline5"
app:layout_constraintEnd_toStartOf=
"@+id/guideline5"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"@+id/guideline7"
app:layout_constraintTop_toTopOf=
"@+id/guideline7"
...
@@ -133,9 +135,11 @@
...
@@ -133,9 +135,11 @@
<ImageView
<ImageView
android:id=
"@+id/imageView4"
android:id=
"@+id/imageView4"
android:layout_width=
"50dp"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_height=
"50dp"
android:src=
"@mipmap/ic_avatar_ph"
android:layout_marginTop=
"10dp"
android:src=
"@mipmap/icon_me2"
app:layout_constraintEnd_toStartOf=
"@+id/guideline4"
app:layout_constraintEnd_toStartOf=
"@+id/guideline4"
app:layout_constraintStart_toStartOf=
"@+id/guideline5"
app:layout_constraintStart_toStartOf=
"@+id/guideline5"
app:layout_constraintTop_toTopOf=
"@+id/guideline7"
app:layout_constraintTop_toTopOf=
"@+id/guideline7"
...
@@ -156,9 +160,11 @@
...
@@ -156,9 +160,11 @@
<ImageView
<ImageView
android:id=
"@+id/imageView6"
android:id=
"@+id/imageView6"
android:layout_width=
"50dp"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_height=
"50dp"
android:src=
"@mipmap/ic_avatar_ph"
android:layout_marginTop=
"10dp"
android:src=
"@mipmap/icon_me3"
app:layout_constraintEnd_toStartOf=
"@+id/guideline6"
app:layout_constraintEnd_toStartOf=
"@+id/guideline6"
app:layout_constraintStart_toStartOf=
"@+id/guideline4"
app:layout_constraintStart_toStartOf=
"@+id/guideline4"
app:layout_constraintTop_toTopOf=
"@+id/guideline7"
app:layout_constraintTop_toTopOf=
"@+id/guideline7"
...
@@ -178,9 +184,11 @@
...
@@ -178,9 +184,11 @@
<ImageView
<ImageView
android:id=
"@+id/imageView7"
android:id=
"@+id/imageView7"
android:layout_width=
"50dp"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_height=
"50dp"
android:src=
"@mipmap/ic_avatar_ph"
android:layout_marginTop=
"10dp"
android:src=
"@mipmap/icon_me4"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"@+id/guideline6"
app:layout_constraintStart_toStartOf=
"@+id/guideline6"
app:layout_constraintTop_toTopOf=
"@+id/guideline7"
app:layout_constraintTop_toTopOf=
"@+id/guideline7"
...
@@ -201,8 +209,10 @@
...
@@ -201,8 +209,10 @@
android:id=
"@+id/imageView12"
android:id=
"@+id/imageView12"
android:layout_width=
"50dp"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_height=
"50dp"
android:src=
"@mipmap/ic_avatar_ph"
android:layout_marginTop=
"20dp"
android:src=
"@mipmap/icon_me5"
app:layout_constraintEnd_toEndOf=
"@+id/imageView5"
app:layout_constraintEnd_toEndOf=
"@+id/imageView5"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintStart_toStartOf=
"@+id/imageView5"
app:layout_constraintStart_toStartOf=
"@+id/imageView5"
app:layout_constraintTop_toBottomOf=
"@+id/textView2"
app:layout_constraintTop_toBottomOf=
"@+id/textView2"
tools:ignore=
"MissingConstraints"
tools:ignore=
"MissingConstraints"
...
@@ -221,9 +231,11 @@
...
@@ -221,9 +231,11 @@
<ImageView
<ImageView
android:id=
"@+id/imageView13"
android:id=
"@+id/imageView13"
android:layout_width=
"50dp"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_height=
"50dp"
android:src=
"@mipmap/ic_avatar_ph"
android:layout_marginTop=
"20dp"
android:src=
"@mipmap/icon_me6"
app:layout_constraintEnd_toEndOf=
"@+id/imageView4"
app:layout_constraintEnd_toEndOf=
"@+id/imageView4"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintStart_toStartOf=
"@+id/imageView4"
app:layout_constraintStart_toStartOf=
"@+id/imageView4"
...
@@ -233,9 +245,11 @@
...
@@ -233,9 +245,11 @@
<ImageView
<ImageView
android:id=
"@+id/imageView14"
android:id=
"@+id/imageView14"
android:layout_width=
"50dp"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_height=
"50dp"
android:src=
"@mipmap/ic_avatar_ph"
android:layout_marginTop=
"20dp"
android:src=
"@mipmap/icon_me7"
app:layout_constraintEnd_toEndOf=
"@+id/imageView6"
app:layout_constraintEnd_toEndOf=
"@+id/imageView6"
app:layout_constraintStart_toStartOf=
"@+id/imageView6"
app:layout_constraintStart_toStartOf=
"@+id/imageView6"
app:layout_constraintTop_toTopOf=
"@+id/guideline8"
app:layout_constraintTop_toTopOf=
"@+id/guideline8"
...
@@ -265,10 +279,11 @@
...
@@ -265,10 +279,11 @@
app:layout_constraintTop_toBottomOf=
"@+id/imageView14"
/>
app:layout_constraintTop_toBottomOf=
"@+id/imageView14"
/>
<ImageView
<ImageView
android:id=
"@+id/i
mageView15
"
android:id=
"@+id/i
con_me8
"
android:layout_width=
"50dp"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_height=
"50dp"
android:src=
"@mipmap/ic_avatar_ph"
android:layout_marginTop=
"20dp"
android:src=
"@mipmap/icon_me8"
app:layout_constraintEnd_toEndOf=
"@+id/imageView7"
app:layout_constraintEnd_toEndOf=
"@+id/imageView7"
app:layout_constraintStart_toStartOf=
"@+id/imageView7"
app:layout_constraintStart_toStartOf=
"@+id/imageView7"
app:layout_constraintTop_toTopOf=
"@+id/guideline8"
app:layout_constraintTop_toTopOf=
"@+id/guideline8"
...
@@ -282,9 +297,9 @@
...
@@ -282,9 +297,9 @@
android:text=
"景点推荐"
android:text=
"景点推荐"
android:textColor=
"@color/black"
android:textColor=
"@color/black"
android:textSize=
"10sp"
android:textSize=
"10sp"
app:layout_constraintEnd_toEndOf=
"@+id/i
mageView15
"
app:layout_constraintEnd_toEndOf=
"@+id/i
con_me8
"
app:layout_constraintStart_toStartOf=
"@+id/i
mageView15
"
app:layout_constraintStart_toStartOf=
"@+id/i
con_me8
"
app:layout_constraintTop_toBottomOf=
"@+id/i
mageView15
"
/>
app:layout_constraintTop_toBottomOf=
"@+id/i
con_me8
"
/>
<ImageView
<ImageView
android:id=
"@+id/imageView16"
android:id=
"@+id/imageView16"
...
@@ -350,6 +365,7 @@
...
@@ -350,6 +365,7 @@
</LinearLayout>
</LinearLayout>
<LinearLayout
<LinearLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
...
@@ -360,77 +376,15 @@
...
@@ -360,77 +376,15 @@
android:elevation=
"5dp"
android:elevation=
"5dp"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<LinearLayout
<include
android:id=
"@+id/ly_aboutus"
android:id=
"@+id/aboutus"
android:layout_width=
"match_parent"
layout=
"@layout/item_settings"
/>
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:orientation=
"horizontal"
android:padding=
"10dp"
>
<ImageView
android:layout_width=
"20dp"
android:layout_height=
"20dp"
android:layout_alignParentLeft=
"true"
android:layout_marginStart=
"15dp"
android:src=
"@mipmap/iv_about_us"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"5dp"
android:layout_weight=
"1"
android:text=
"关于我们"
android:textColor=
"@color/black"
android:textSize=
"18sp"
/>
<ImageView
android:layout_width=
"20dp"
android:layout_height=
"20dp"
android:layout_alignParentEnd=
"true"
android:src=
"@mipmap/bg_right"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginLeft=
"10dp"
android:layout_marginRight=
"10dp"
android:background=
"#979797"
/>
<LinearLayout
android:id=
"@+id/ly_moresettings"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:orientation=
"horizontal"
android:padding=
"10dp"
>
<ImageView
android:layout_width=
"20dp"
android:layout_height=
"20dp"
android:layout_alignParentLeft=
"true"
android:layout_marginStart=
"15dp"
android:src=
"@mipmap/iv_more_settings"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"5dp"
android:layout_weight=
"1"
android:text=
"更多设置"
android:textColor=
"@color/black"
android:textSize=
"18sp"
/>
<ImageView
android:layout_width=
"20dp"
android:layout_height=
"20dp"
android:layout_alignParentEnd=
"true"
android:src=
"@mipmap/bg_right"
/>
<include
android:id=
"@+id/moresettings"
layout=
"@layout/item_settings"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</layout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_grid_payment_adpater.xml
View file @
bd1e5224
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"原价¥108.0"
android:text=
"原价¥108.0"
android:textSize=
"
8
dp"
android:textSize=
"
10
dp"
android:textColor=
"#25000000"
/>
android:textColor=
"#25000000"
/>
</LinearLayout>
</LinearLayout>
</layout>
</layout>
\ No newline at end of file
app/src/main/res/mipmap-xhdpi/earth.gif
0 → 100644
View file @
bd1e5224
This diff is collapsed.
Click to expand it.
app/src/main/res/mipmap-xhdpi/icon_me1.png
0 → 100644
View file @
bd1e5224
2.1 KB
app/src/main/res/mipmap-xhdpi/icon_me2.png
0 → 100644
View file @
bd1e5224
4.23 KB
app/src/main/res/mipmap-xhdpi/icon_me3.png
0 → 100644
View file @
bd1e5224
6.85 KB
app/src/main/res/mipmap-xhdpi/icon_me4.png
0 → 100644
View file @
bd1e5224
6.13 KB
app/src/main/res/mipmap-xhdpi/icon_me5.png
0 → 100644
View file @
bd1e5224
5.8 KB
app/src/main/res/mipmap-xhdpi/icon_me6.png
0 → 100644
View file @
bd1e5224
6.65 KB
app/src/main/res/mipmap-xhdpi/icon_me7.png
0 → 100644
View file @
bd1e5224
4.71 KB
app/src/main/res/mipmap-xhdpi/icon_me8.png
0 → 100644
View file @
bd1e5224
4.83 KB
app/src/main/res/mipmap-xhdpi/icon_me_vip.png
0 → 100644
View file @
bd1e5224
3 KB
app/src/main/res/mipmap-xhdpi/satellite.png
0 → 100644
View file @
bd1e5224
1.38 KB
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