mireo 1.2.2
This commit is contained in:
parent
d3a94a3bad
commit
02ffc22f4e
@ -1,13 +1,13 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "905575925094",
|
||||
"project_id": "mireotv",
|
||||
"storage_bucket": "mireotv.firebasestorage.app"
|
||||
"project_number": "471869384808",
|
||||
"project_id": "mireotv-a591b",
|
||||
"storage_bucket": "mireotv-a591b.firebasestorage.app"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:905575925094:android:01c39ac6692cb6bda974a7",
|
||||
"mobilesdk_app_id": "1:471869384808:android:4d94f4dabe74aa7d0333dd",
|
||||
"android_client_info": {
|
||||
"package_name": "com.localee.mireo.shortapp"
|
||||
}
|
||||
@ -15,7 +15,7 @@
|
||||
"oauth_client": [],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyBAC_RDCSdtba_yMQ0oXjKTstaMe6WzHmc"
|
||||
"current_key": "AIzaSyD3C1frcUVwdIGHbiWsuwlyJFRhi4huF8Y"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
|
@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
>
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
@ -23,8 +22,7 @@
|
||||
android:theme="@style/Theme.Example"
|
||||
android:usesCleartextTraffic="true"
|
||||
tools:ignore="AllowBackup,LockedOrientationActivity"
|
||||
tools:replace="android:allowBackup,android:supportsRtl"
|
||||
>
|
||||
tools:replace="android:allowBackup,android:supportsRtl">
|
||||
|
||||
<meta-data
|
||||
android:name="ScopedStorage"
|
||||
@ -35,6 +33,7 @@
|
||||
<meta-data
|
||||
android:name="com.facebook.sdk.ClientToken"
|
||||
android:value="@string/facebook_client_token" />
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="${applicationId}.provider"
|
||||
@ -46,48 +45,47 @@
|
||||
android:resource="@xml/tu_seekbar" />
|
||||
</provider>
|
||||
|
||||
|
||||
<activity
|
||||
|
||||
<activity
|
||||
android:name="com.localee.mireo.admins.OUnlockWarningActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
<activity
|
||||
android:name="com.localee.mireo.admins.CNBFragmentSystemActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
<activity
|
||||
android:name="com.localee.mireo.admins.YPulseColorsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
<activity
|
||||
android:name="com.localee.mireo.admins.EIPLineRecommendActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
<activity
|
||||
android:name="com.localee.mireo.admins.EModuleCollectionActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
<activity
|
||||
android:name="com.localee.mireo.admins.XZShortActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
<activity
|
||||
android:name="com.localee.mireo.admins.BSGButtonMavenActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
<activity
|
||||
android:name="com.localee.mireo.drama.probableAligning.savedIdctdsp.HEDDramaActivity"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Theme.Splash"
|
||||
>
|
||||
android:theme="@style/Theme.Splash">
|
||||
|
||||
<!-- <intent-filter>-->
|
||||
<!-- <action android:name="android.intent.action.MAIN" />-->
|
||||
<!-- <action android:name="android.intent.action.VIEW" />-->
|
||||
<!-- <intent-filter>-->
|
||||
<!-- <action android:name="android.intent.action.MAIN" />-->
|
||||
<!-- <action android:name="android.intent.action.VIEW" />-->
|
||||
|
||||
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
|
||||
<!-- </intent-filter>-->
|
||||
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
|
||||
<!-- </intent-filter>-->
|
||||
|
||||
</activity>
|
||||
|
||||
@ -175,8 +173,7 @@
|
||||
|
||||
<activity
|
||||
android:name="com.localee.mireo.app.ui.activity.VideoPlayActivity"
|
||||
android:launchMode="singleTask"
|
||||
/>
|
||||
android:launchMode="singleTask" />
|
||||
|
||||
<activity
|
||||
android:name="com.localee.mireo.app.ui.activity.SearchActivity"
|
||||
|
@ -64,5 +64,6 @@ class PaySettingsBean(
|
||||
val auto_sub: String,
|
||||
var vip_type: String,
|
||||
var vip_type_key: String,
|
||||
var corner_marker: String,
|
||||
)
|
||||
}
|
@ -52,6 +52,7 @@ import com.localee.mireo.app.http.api.DeeplinkFbApi
|
||||
import com.localee.mireo.app.http.api.DoLoginApi
|
||||
import com.localee.mireo.app.http.api.EnterTheAppApi
|
||||
import com.localee.mireo.app.http.api.FirebaseTokenApi
|
||||
import com.localee.mireo.app.http.api.GooglePaidApi
|
||||
import com.localee.mireo.app.http.api.LeaveAppApi
|
||||
import com.localee.mireo.app.http.api.MessageSendReportApi
|
||||
import com.localee.mireo.app.http.api.OnLineApi
|
||||
@ -61,6 +62,8 @@ import com.localee.mireo.app.http.api.W2aApi
|
||||
import com.localee.mireo.app.http.bean.HomeDataHistoryBean
|
||||
import com.localee.mireo.app.http.bean.IncidentBean
|
||||
import com.localee.mireo.app.http.bean.LoginBean
|
||||
import com.localee.mireo.app.http.bean.PayBean
|
||||
import com.localee.mireo.app.http.bean.PayResBean
|
||||
import com.localee.mireo.app.http.bean.TranslatesBean
|
||||
import com.localee.mireo.app.http.model.HttpData
|
||||
import com.localee.mireo.app.other.Logger
|
||||
@ -81,9 +84,14 @@ import com.localee.mireo.app.utils.NotificationUtils
|
||||
import com.localee.mireo.app.utils.TranslatesUtils
|
||||
import com.localee.mireo.app.utils.shouldShowNotification
|
||||
import com.localee.mireo.app.utils.singleClick
|
||||
import com.localee.mireo.app.utils.toMapViaGson
|
||||
import com.localee.mireo.shortapp.R
|
||||
import com.lxj.xpopup.XPopup
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.flow.debounce
|
||||
import kotlinx.coroutines.flow.flow
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
@ -142,6 +150,7 @@ class HomeActivity : AppActivity(), NavigationAdapter.OnNavigationListener,
|
||||
private var title = ""
|
||||
|
||||
private val viewModel: SharedViewModel by viewModels()
|
||||
private val scope = CoroutineScope(Dispatchers.Main)
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.home_activity
|
||||
@ -359,6 +368,21 @@ class HomeActivity : AppActivity(), NavigationAdapter.OnNavigationListener,
|
||||
.toString()
|
||||
)
|
||||
}
|
||||
//处理失败订单
|
||||
llMain?.postDelayed({
|
||||
if (MsMMKVUtils.getOrder().isNotEmpty()) {
|
||||
val string = MsMMKVUtils.getOrder()
|
||||
scope.launch {
|
||||
flow {
|
||||
for (item in string) {
|
||||
emit(item)
|
||||
}
|
||||
}.onEach { item ->
|
||||
restorePaid(item)
|
||||
}.debounce(1000).collect {}
|
||||
}
|
||||
}
|
||||
}, 3000)
|
||||
}
|
||||
|
||||
override fun onNewIntent(intent: Intent?) {
|
||||
@ -457,6 +481,26 @@ class HomeActivity : AppActivity(), NavigationAdapter.OnNavigationListener,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
fun restorePaid(data: PayBean) {
|
||||
EasyHttp.post(this)
|
||||
.api(GooglePaidApi())
|
||||
.body(getPublicRequest(data.toMapViaGson()))
|
||||
.request(object : HttpCallbackProxy<HttpData<PayResBean>>(this) {
|
||||
override fun onHttpStart(api: IRequestApi) {
|
||||
}
|
||||
|
||||
override fun onHttpSuccess(result: HttpData<PayResBean>) {
|
||||
result.getData()?.let {
|
||||
it.order_code?.let { it1 -> MsMMKVUtils.removeOrderString(it1) }
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
fun getActionPush() {
|
||||
val sMap: MutableMap<String, String?> = LinkedHashMap()
|
||||
// StringMap = getSortMap(StringMap);
|
||||
@ -726,6 +770,7 @@ class HomeActivity : AppActivity(), NavigationAdapter.OnNavigationListener,
|
||||
)
|
||||
needSave = true
|
||||
w2aSelfAttribution(clipContent)
|
||||
MsMMKVUtils.getMMKV().putString(MsConstants.Constants_DDL_Url, "")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ class MyVipActivity : AppActivity() {
|
||||
}
|
||||
return@singleClick
|
||||
}
|
||||
showDialog()
|
||||
// showDialog()
|
||||
vipData = mAdapter!!.getItem(mAdapter!!.currentPosition) as PaySettingsBean.Vip
|
||||
getCreateOrder(
|
||||
CreateOrderReqBean(
|
||||
@ -302,11 +302,10 @@ class MyVipActivity : AppActivity() {
|
||||
purchase.orderId.toString(),
|
||||
vipData?.price.toString()
|
||||
)
|
||||
payReq = examplePayReq
|
||||
if (it.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||
lifecycleScope.launch {
|
||||
googlePaid(examplePayReq)
|
||||
payReq = examplePayReq
|
||||
MsMMKVUtils.saveOrder(examplePayReq)
|
||||
}
|
||||
} else {
|
||||
MsMMKVUtils.saveOrder(examplePayReq)
|
||||
@ -431,8 +430,6 @@ class MyVipActivity : AppActivity() {
|
||||
.api(CreateOrderApi())
|
||||
.body(getPublicRequest(data.toMapViaGson()))
|
||||
.request(object : HttpCallbackProxy<HttpData<CreateOrderApi.Bean>>(this) {
|
||||
override fun onHttpStart(api: IRequestApi) {
|
||||
}
|
||||
|
||||
override fun onHttpSuccess(result: HttpData<CreateOrderApi.Bean>) {
|
||||
result.getData()?.let {
|
||||
@ -449,9 +446,6 @@ class MyVipActivity : AppActivity() {
|
||||
|
||||
}
|
||||
|
||||
override fun onHttpFail(throwable: Throwable) {
|
||||
super.onHttpFail(throwable)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@ -476,6 +470,7 @@ class MyVipActivity : AppActivity() {
|
||||
getCustomerUser()
|
||||
|
||||
} ?: run {
|
||||
payReq?.let { it1 -> MsMMKVUtils.saveOrder(it1) }
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
toast(TranslatesUtils.translates()?.mireo_network_error.toString())
|
||||
} else {
|
||||
|
@ -171,7 +171,7 @@ class StoreActivity : AppActivity() {
|
||||
}
|
||||
}
|
||||
.onEach { item ->
|
||||
googlePaid(item)
|
||||
restorePaid(item)
|
||||
}
|
||||
.debounce(500)
|
||||
.collect {}
|
||||
@ -214,7 +214,6 @@ class StoreActivity : AppActivity() {
|
||||
}
|
||||
return@singleClick
|
||||
}
|
||||
showDialog()
|
||||
if (type == 0) {
|
||||
coinsData =
|
||||
mCoinAdapter!!.getItem(mCoinAdapter!!.currentPosition) as PaySettingsBean.Coins
|
||||
@ -339,11 +338,10 @@ class StoreActivity : AppActivity() {
|
||||
purchase.orderId.toString(),
|
||||
vipData?.price.toString()
|
||||
)
|
||||
payReq = examplePayReq
|
||||
if (it.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||
lifecycleScope.launch {
|
||||
googlePaid(examplePayReq)
|
||||
payReq = examplePayReq
|
||||
MsMMKVUtils.saveOrder(examplePayReq)
|
||||
}
|
||||
} else {
|
||||
MsMMKVUtils.saveOrder(examplePayReq)
|
||||
@ -537,8 +535,6 @@ class StoreActivity : AppActivity() {
|
||||
.api(CreateOrderApi())
|
||||
.body(getPublicRequest(data.toMapViaGson()))
|
||||
.request(object : HttpCallbackProxy<HttpData<CreateOrderApi.Bean>>(this) {
|
||||
override fun onHttpStart(api: IRequestApi) {
|
||||
}
|
||||
|
||||
override fun onHttpSuccess(result: HttpData<CreateOrderApi.Bean>) {
|
||||
result.getData()?.let {
|
||||
@ -559,12 +555,6 @@ class StoreActivity : AppActivity() {
|
||||
|
||||
}
|
||||
|
||||
override fun onHttpFail(throwable: Throwable) {
|
||||
super.onHttpFail(throwable)
|
||||
}
|
||||
|
||||
override fun onHttpEnd(api: IRequestApi) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@ -583,16 +573,43 @@ class StoreActivity : AppActivity() {
|
||||
} else {
|
||||
toast(getString(R.string.google_pay_success))
|
||||
}
|
||||
if (null != payReq) {
|
||||
MsMMKVUtils.removeOrder(payReq)
|
||||
}
|
||||
if (it.is_backhaul == 1) {
|
||||
// LogEventUtils.logEvent(
|
||||
// ExampleAppConstants.LogEvent_af_app_recharge,
|
||||
// it.data.money.toDouble(), "USD", "", order_code
|
||||
// )
|
||||
}
|
||||
getCustomerUser()
|
||||
isBuy = true
|
||||
} ?: run {
|
||||
payReq?.let { it1 -> MsMMKVUtils.saveOrder(it1) }
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
toast(TranslatesUtils.translates()?.mireo_network_error.toString())
|
||||
} else {
|
||||
toast(getString(R.string.example_service_exception_please_try_again))
|
||||
}
|
||||
hideDialog()
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
fun restorePaid(data: PayBean) {
|
||||
EasyHttp.post(this)
|
||||
.api(GooglePaidApi())
|
||||
.body(getPublicRequest(data.toMapViaGson()))
|
||||
.request(object : HttpCallbackProxy<HttpData<PayResBean>>(this) {
|
||||
override fun onHttpStart(api: IRequestApi) {
|
||||
}
|
||||
|
||||
override fun onHttpSuccess(result: HttpData<PayResBean>) {
|
||||
result.getData()?.let {
|
||||
it.order_code?.let { it1 -> MsMMKVUtils.removeOrderString(it1) }
|
||||
if (MsMMKVUtils.getOrder().size == 0) {
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
toast(TranslatesUtils.translates()?.mireo_g_pay_success.toString())
|
||||
} else {
|
||||
toast(getString(R.string.google_pay_success))
|
||||
}
|
||||
getCustomerUser()
|
||||
isBuy = true
|
||||
}
|
||||
|
||||
} ?: run {
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
@ -636,11 +653,10 @@ class StoreActivity : AppActivity() {
|
||||
purchaseData?.orderId.toString(),
|
||||
if (type == 0) coinsData?.price.toString() else vipData?.price.toString()
|
||||
)
|
||||
payReq = examplePayReq
|
||||
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||
lifecycleScope.launch {
|
||||
googlePaid(examplePayReq)
|
||||
payReq = examplePayReq
|
||||
MsMMKVUtils.saveOrder(examplePayReq)
|
||||
}
|
||||
} else {
|
||||
MsMMKVUtils.saveOrder(examplePayReq)
|
||||
|
@ -902,9 +902,9 @@ open class VideoPlayActivity : AppActivity(), VideoPlayAdapter.PlayerDetailColle
|
||||
revolution = "1080"
|
||||
MsMMKVUtils.getMMKV()
|
||||
.putInt(CONSTANTS_quality, 1080)
|
||||
detailRefresh()
|
||||
EventBus.getDefault().post(CONSTANTS_quality_refresh)
|
||||
}
|
||||
detailRefresh()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1009,6 +1009,10 @@ open class VideoPlayActivity : AppActivity(), VideoPlayAdapter.PlayerDetailColle
|
||||
setDetailsRecommendation(it)
|
||||
} ?: finish()
|
||||
}
|
||||
|
||||
override fun onHttpFail(throwable: Throwable) {
|
||||
finish()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -33,6 +33,13 @@ class MyVipBuyAdapter : BaseQuickAdapter<PaySettingsBean.Vip, MyVipBuyAdapter.VH
|
||||
holder.binding.tvMoney.text = item.price_google
|
||||
holder.binding.tvDes.text = item.description
|
||||
holder.binding.tvInfo.text = item.auto_sub
|
||||
if (item.corner_marker.isNotEmpty()) {
|
||||
holder.binding.tvHot.text = item.corner_marker
|
||||
holder.binding.tvHot.visibility = View.VISIBLE
|
||||
} else {
|
||||
holder.binding.tvHot.visibility = View.INVISIBLE
|
||||
}
|
||||
|
||||
if ((item?.send_coins ?: 0) > 0) {
|
||||
holder.binding.tvExtra.text =
|
||||
"+ ".plus(TranslatesUtils.translates()?.mireo_extra).plus(" ")
|
||||
|
@ -3,6 +3,8 @@ package com.localee.mireo.app.ui.dialog
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.text.Html
|
||||
import androidx.appcompat.widget.AppCompatImageView
|
||||
import androidx.appcompat.widget.AppCompatTextView
|
||||
import com.hjq.shape.view.ShapeTextView
|
||||
@ -171,4 +173,27 @@ object DialogUtils {
|
||||
activateVIPDialog.show()
|
||||
}
|
||||
|
||||
|
||||
fun showStoreHint(context: Context) {
|
||||
val storeHintDialog = StoreHintDialog(context)
|
||||
val tv_content =
|
||||
storeHintDialog.findViewById<AppCompatTextView>(R.id.tv_content)
|
||||
val iv_close =
|
||||
storeHintDialog.findViewById<AppCompatImageView>(R.id.iv_close)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
tv_content?.text = Html.fromHtml(
|
||||
TranslatesUtils.translates()?.mireo_pay_hint
|
||||
?: context.getString(R.string.store_tips),
|
||||
Html.FROM_HTML_MODE_COMPACT
|
||||
)
|
||||
} else {
|
||||
tv_content?.text = Html.fromHtml(
|
||||
TranslatesUtils.translates()?.mireo_pay_hint
|
||||
?: context.getString(R.string.store_tips)
|
||||
)
|
||||
}
|
||||
iv_close?.setOnClickListener { storeHintDialog.dismiss() }
|
||||
storeHintDialog.show()
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package com.localee.mireo.app.ui.dialog
|
||||
|
||||
import android.app.Dialog
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.view.Gravity
|
||||
import android.view.Window
|
||||
import android.view.WindowManager
|
||||
import android.widget.TextView
|
||||
import com.localee.mireo.shortapp.R
|
||||
|
||||
class StoreHintDialog(context: Context) : Dialog(context) {
|
||||
|
||||
init {
|
||||
init()
|
||||
}
|
||||
|
||||
private fun init() {
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE)
|
||||
setContentView(R.layout.dialog_store_hint)
|
||||
|
||||
window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
|
||||
window?.setLayout(
|
||||
WindowManager.LayoutParams.WRAP_CONTENT,
|
||||
WindowManager.LayoutParams.WRAP_CONTENT
|
||||
)
|
||||
window?.setGravity(Gravity.CENTER)
|
||||
setCancelable(true)
|
||||
}
|
||||
|
||||
}
|
@ -59,7 +59,7 @@ class ExploreFragment : TitleBarFragment<HomeActivity>(),
|
||||
private var exampleRecommendAdapter: ExampleRecommendAdapter? = null
|
||||
private var data: com.localee.mireo.app.http.api.ExampleRecommendDataRes.Data? = null
|
||||
private var revolution =
|
||||
MsMMKVUtils.getMMKV().getInt(MsConstants.CONSTANTS_quality, 0).toString()
|
||||
MsMMKVUtils.getMMKV().getInt(MsConstants.CONSTANTS_quality, 540).toString()
|
||||
|
||||
|
||||
private val srRecommend: SmartRefreshLayout? by lazy { findViewById(R.id.sr_recommend) }
|
||||
@ -85,10 +85,8 @@ class ExploreFragment : TitleBarFragment<HomeActivity>(),
|
||||
)
|
||||
activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
||||
|
||||
// exampleTvNoNetwork?.text =
|
||||
// TranslatesUtils.translates()?.mireo_no_network
|
||||
tvExampleRetry?.text = TranslatesUtils.translates()?.mireo_retry
|
||||
// exampleTvEmpty?.text = TranslatesUtils.translates()?.s_no_content
|
||||
|
||||
}
|
||||
|
||||
override fun initData() {
|
||||
|
@ -27,6 +27,7 @@ import com.localee.mireo.app.http.api.UserInfoRes
|
||||
import com.localee.mireo.app.http.bean.RecommendBean
|
||||
import com.localee.mireo.app.http.model.HttpData
|
||||
import com.localee.mireo.app.other.MsConstants
|
||||
import com.localee.mireo.app.other.MsConstants.CONSTANTS_quality
|
||||
import com.localee.mireo.app.other.MsConstants.CONSTANTS_short_play_id
|
||||
import com.localee.mireo.app.ui.activity.HomeActivity
|
||||
import com.localee.mireo.app.ui.activity.SearchActivity
|
||||
@ -473,7 +474,11 @@ class HomeFragment : TitleBarFragment<HomeActivity>(), HomeBannerAdapter.HomeBan
|
||||
result.getData()?.let {
|
||||
|
||||
MsMMKVUtils.saveUserInfo(it)
|
||||
|
||||
var revolution =
|
||||
MsMMKVUtils.getMMKV().getInt(CONSTANTS_quality, 540).toString()
|
||||
if (revolution == "1080" && !MsMMKVUtils.isVip()) {
|
||||
EventBus.getDefault().post(MsConstants.CONSTANTS_quality_refresh)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -539,7 +544,7 @@ class HomeFragment : TitleBarFragment<HomeActivity>(), HomeBannerAdapter.HomeBan
|
||||
if (position == 0) {
|
||||
getHomeVideoListApi(0, pageIndex, 15)
|
||||
} else {
|
||||
category?.get(position)?.id?.let { getHomeVideoListApi(it, 1, 15) }
|
||||
category?.get(position - 1)?.id?.let { getHomeVideoListApi(it, 1, 15) }
|
||||
}
|
||||
return true
|
||||
}
|
||||
@ -557,7 +562,7 @@ class HomeFragment : TitleBarFragment<HomeActivity>(), HomeBannerAdapter.HomeBan
|
||||
if (tabPosition == 0) {
|
||||
getHomeVideoListApi(0, pageIndex, 15)
|
||||
} else {
|
||||
category?.get(tabPosition)?.id?.let { getHomeVideoListApi(it, pageIndex, 15) }
|
||||
category?.get(tabPosition - 1)?.id?.let { getHomeVideoListApi(it, pageIndex, 15) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,6 @@ import com.hjq.http.EasyHttp
|
||||
import com.hjq.http.config.IRequestApi
|
||||
import com.hjq.http.listener.HttpCallbackProxy
|
||||
import com.hjq.shape.layout.ShapeLinearLayout
|
||||
import com.localee.mireo.shortapp.R
|
||||
import com.localee.mireo.app.action.StatusAction
|
||||
import com.localee.mireo.app.app.TitleBarFragment
|
||||
import com.localee.mireo.app.http.api.MyCollectionsApi
|
||||
@ -32,6 +31,7 @@ import com.localee.mireo.app.utils.TranslatesUtils
|
||||
import com.localee.mireo.app.utils.singleClick
|
||||
import com.localee.mireo.app.widget.StatusLayout
|
||||
import com.localee.mireo.app.widget.StatusLayout.OnRetryListener
|
||||
import com.localee.mireo.shortapp.R
|
||||
import com.scwang.smart.refresh.layout.SmartRefreshLayout
|
||||
import com.scwang.smart.refresh.layout.api.RefreshLayout
|
||||
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener
|
||||
@ -76,9 +76,14 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
||||
|
||||
mAdapter = tabName?.let { LostTabAdapter(it) }
|
||||
|
||||
if (TranslatesUtils.translates() != null){
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
tvDelete?.text =
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it,"0") }
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||
TranslatesUtils.replace(
|
||||
it,
|
||||
"0"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val layoutManager = GridLayoutManager(context, 3)
|
||||
@ -133,10 +138,15 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
||||
context?.resources?.getColor(R.color.example_color_d9d9d9)
|
||||
?.let { tvDelete?.setTextColor(it) }
|
||||
|
||||
if (TranslatesUtils.translates() != null){
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
tvDelete?.text =
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it,"0") }
|
||||
}else{
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||
TranslatesUtils.replace(
|
||||
it,
|
||||
"0"
|
||||
)
|
||||
}
|
||||
} else {
|
||||
tvDelete?.text = "Delete (0)"
|
||||
}
|
||||
ivDelete?.setImageResource(R.mipmap.ic_list_detele_n)
|
||||
@ -145,10 +155,15 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
||||
?.intoBackground();
|
||||
context?.resources?.getColor(R.color.example_color_F56490)
|
||||
?.let { tvDelete?.setTextColor(it) }
|
||||
if (TranslatesUtils.translates() != null){
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
tvDelete?.text =
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it, detailList.size.toString()) }
|
||||
}else{
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||
TranslatesUtils.replace(
|
||||
it,
|
||||
detailList.size.toString()
|
||||
)
|
||||
}
|
||||
} else {
|
||||
tvDelete?.text = "Delete (" + detailList.size + ")"
|
||||
}
|
||||
ivDelete?.setImageResource(R.mipmap.ic_list_detele_y)
|
||||
@ -213,30 +228,36 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
||||
|
||||
fun setCancel() {
|
||||
rlStatusRefresh?.setEnableRefresh(true)
|
||||
val allData: List<HistoryBean.Data>? = mAdapter?.items
|
||||
for (i in allData?.indices!!) {
|
||||
llDelete?.visibility = View.GONE
|
||||
llDelete?.shapeDrawableBuilder?.setStrokeColor(0xFF9D9D9D.toInt())
|
||||
?.intoBackground();
|
||||
val allData = mAdapter?.items
|
||||
if (allData.isNullOrEmpty()) return
|
||||
for (i in allData.indices) {
|
||||
allData[i].is_check = false
|
||||
}
|
||||
detailList.clear()
|
||||
mAdapter?.selectEdit = false
|
||||
mAdapter?.notifyDataSetChanged()
|
||||
|
||||
llDelete?.visibility = View.GONE
|
||||
llDelete?.shapeDrawableBuilder?.setStrokeColor(0xFF9D9D9D.toInt())
|
||||
?.intoBackground();
|
||||
context?.resources?.getColor(R.color.example_color_d9d9d9)
|
||||
?.let { tvDelete?.setTextColor(it) }
|
||||
if (TranslatesUtils.translates() != null){
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
tvDelete?.text =
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it, "0") }
|
||||
}else{
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||
TranslatesUtils.replace(
|
||||
it,
|
||||
"0"
|
||||
)
|
||||
}
|
||||
} else {
|
||||
tvDelete?.text = "Delete (0)"
|
||||
}
|
||||
ivDelete?.setImageResource(R.mipmap.ic_list_detele_n)
|
||||
}
|
||||
|
||||
fun setAllSelect(isSelect: Boolean) {
|
||||
val allData: List<HistoryBean.Data>? = mAdapter?.items
|
||||
val allData = mAdapter?.items
|
||||
if (allData.isNullOrEmpty()) return
|
||||
if (isSelect) {
|
||||
detailList.clear()
|
||||
for (i in allData?.indices!!) {
|
||||
@ -254,10 +275,15 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
||||
?.intoBackground();
|
||||
context?.resources?.getColor(R.color.example_color_d9d9d9)
|
||||
?.let { tvDelete?.setTextColor(it) }
|
||||
if (TranslatesUtils.translates() != null){
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
tvDelete?.text =
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it, "0") }
|
||||
}else{
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||
TranslatesUtils.replace(
|
||||
it,
|
||||
"0"
|
||||
)
|
||||
}
|
||||
} else {
|
||||
tvDelete?.text = "Delete (0)"
|
||||
}
|
||||
ivDelete?.setImageResource(R.mipmap.ic_list_detele_n)
|
||||
@ -266,10 +292,15 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
||||
?.intoBackground();
|
||||
context?.resources?.getColor(R.color.example_color_F56490)
|
||||
?.let { tvDelete?.setTextColor(it) }
|
||||
if (TranslatesUtils.translates() != null){
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
tvDelete?.text =
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it, detailList.size.toString()) }
|
||||
}else{
|
||||
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||
TranslatesUtils.replace(
|
||||
it,
|
||||
detailList.size.toString()
|
||||
)
|
||||
}
|
||||
} else {
|
||||
tvDelete?.text = "Delete (" + detailList.size + ")"
|
||||
}
|
||||
ivDelete?.setImageResource(R.mipmap.ic_list_detele_y)
|
||||
|
@ -473,11 +473,10 @@ class RechargeDialogFragment : BottomSheetDialogFragment(), OnHttpListener<Any>
|
||||
purchaseData?.orderId.toString(),
|
||||
coinsData?.price.toString()
|
||||
)
|
||||
payReq = PayBean
|
||||
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||
lifecycleScope.launch {
|
||||
googlePaid(PayBean)
|
||||
MsMMKVUtils.saveOrder(PayBean)
|
||||
payReq = PayBean
|
||||
}
|
||||
} else {
|
||||
MsMMKVUtils.saveOrder(PayBean)
|
||||
@ -512,7 +511,6 @@ class RechargeDialogFragment : BottomSheetDialogFragment(), OnHttpListener<Any>
|
||||
if (it.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||
lifecycleScope.launch {
|
||||
googlePaid(PayBean)
|
||||
MsMMKVUtils.saveOrder(PayBean)
|
||||
payReq = PayBean
|
||||
}
|
||||
} else {
|
||||
@ -605,6 +603,7 @@ class RechargeDialogFragment : BottomSheetDialogFragment(), OnHttpListener<Any>
|
||||
isPay = true
|
||||
dismiss()
|
||||
} ?: run {
|
||||
payReq?.let { it1 -> MsMMKVUtils.saveOrder(it1) }
|
||||
if (TranslatesUtils.translates() != null) {
|
||||
ToastUtils.show(TranslatesUtils.translates()?.mireo_network_error.toString())
|
||||
} else {
|
||||
|
@ -18,6 +18,7 @@ import android.webkit.WebResourceRequest
|
||||
import android.webkit.WebSettings
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import android.widget.ImageView
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.appcompat.widget.AppCompatImageView
|
||||
import androidx.appcompat.widget.AppCompatTextView
|
||||
@ -29,8 +30,6 @@ import com.hjq.http.EasyHttp
|
||||
import com.hjq.http.config.IRequestApi
|
||||
import com.hjq.http.listener.HttpCallbackProxy
|
||||
import com.localee.mireo.app.action.StatusAction
|
||||
import com.localee.mireo.app.widget.view.SimpleRatingBar
|
||||
import com.localee.mireo.shortapp.R
|
||||
import com.localee.mireo.app.app.TitleBarFragment
|
||||
import com.localee.mireo.app.http.api.FirebaseTokenApi
|
||||
import com.localee.mireo.app.http.api.OpenNotifyApi
|
||||
@ -38,6 +37,7 @@ import com.localee.mireo.app.http.model.HttpData
|
||||
import com.localee.mireo.app.other.AppConfig
|
||||
import com.localee.mireo.app.other.MsConstants
|
||||
import com.localee.mireo.app.ui.activity.HomeActivity
|
||||
import com.localee.mireo.app.ui.dialog.DialogUtils
|
||||
import com.localee.mireo.app.ui.dialog.GooglePlayRatingDialog
|
||||
import com.localee.mireo.app.utils.DHStringUtils.getPublicRequest
|
||||
import com.localee.mireo.app.utils.JsBridge
|
||||
@ -47,6 +47,8 @@ import com.localee.mireo.app.utils.TranslatesUtils
|
||||
import com.localee.mireo.app.utils.singleClick
|
||||
import com.localee.mireo.app.widget.StatusLayout
|
||||
import com.localee.mireo.app.widget.StatusLayout.OnRetryListener
|
||||
import com.localee.mireo.app.widget.view.SimpleRatingBar
|
||||
import com.localee.mireo.shortapp.R
|
||||
import com.scwang.smart.refresh.layout.SmartRefreshLayout
|
||||
import com.scwang.smart.refresh.layout.api.RefreshLayout
|
||||
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener
|
||||
@ -55,8 +57,9 @@ import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
|
||||
|
||||
class RewardFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListener ,StatusAction{
|
||||
class RewardFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListener, StatusAction {
|
||||
|
||||
private val ivLeft: ImageView? by lazy { findViewById(R.id.iv_left) }
|
||||
private val hintLayout: StatusLayout? by lazy { findViewById(R.id.hl_status_hint) }
|
||||
private val rlStatusRefresh: SmartRefreshLayout? by lazy { findViewById(R.id.rl_status_refresh) }
|
||||
private val web: WebView? by lazy { findViewById(R.id.web) }
|
||||
@ -77,9 +80,17 @@ class RewardFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListen
|
||||
rlStatusRefresh?.setOnRefreshLoadMoreListener(this)
|
||||
rlStatusRefresh?.setEnableLoadMore(false)
|
||||
web?.setBackgroundColor(Color.TRANSPARENT)
|
||||
|
||||
ivLeft?.setOnClickListener {
|
||||
singleClick {
|
||||
DialogUtils.showStoreHint(requireContext())
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun initData() {
|
||||
|
||||
setWebView()
|
||||
}
|
||||
|
||||
@ -95,14 +106,16 @@ class RewardFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListen
|
||||
fun loadingData() {
|
||||
showDialog()
|
||||
if (NetworkUtils.isConnected()) {
|
||||
web?.visibility = View.VISIBLE
|
||||
showComplete()
|
||||
loadPageUrl(MsConstants.REWARD_URL_RES)
|
||||
} else {
|
||||
web?.visibility = View.GONE
|
||||
showErrorStatus()
|
||||
}
|
||||
}
|
||||
|
||||
fun showErrorStatus(){
|
||||
fun showErrorStatus() {
|
||||
showError(object : OnRetryListener {
|
||||
override fun onRetry(layout: StatusLayout) {
|
||||
singleClick {
|
||||
@ -347,10 +360,6 @@ class RewardFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListen
|
||||
}
|
||||
|
||||
|
||||
override fun isStatusBarEnabled(): Boolean {
|
||||
return !super.isStatusBarEnabled()
|
||||
}
|
||||
|
||||
override fun onRefresh(refreshLayout: RefreshLayout) {
|
||||
loadPageUrl(MsConstants.REWARD_URL_RES)
|
||||
}
|
||||
|
@ -3,6 +3,8 @@ package com.localee.mireo.app.utils
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import com.google.common.reflect.TypeToken
|
||||
import com.google.gson.Gson
|
||||
import com.localee.mireo.app.other.MsConstants
|
||||
import com.localee.mireo.app.other.MsConstants.CONSTANTS_PREF_LAST_POPUP_TIME_VIP
|
||||
import com.localee.mireo.app.other.MsConstants.ONE_DAY_IN_MILLIS_VIP
|
||||
@ -25,7 +27,7 @@ fun <T> Any.standAsUnChecked(): T {
|
||||
}
|
||||
|
||||
var lastClickTime = 0L
|
||||
fun singleClick(during: Long = 500L, callBack: () -> Unit) {
|
||||
fun singleClick(during: Long = 750L, callBack: () -> Unit) {
|
||||
val now = Date().time
|
||||
if (now - lastClickTime > during) {
|
||||
callBack()
|
||||
@ -171,3 +173,7 @@ fun dpToPx(dp: Int, context: Context): Int {
|
||||
return (dp * context.resources.displayMetrics.density).toInt()
|
||||
}
|
||||
|
||||
fun Any.toMapViaGson(): MutableMap<String, String?> {
|
||||
val json = Gson().toJson(this)
|
||||
return Gson().fromJson(json, object : TypeToken<MutableMap<String, String?>>() {}.type)
|
||||
}
|
||||
|
@ -83,6 +83,13 @@ object MsMMKVUtils {
|
||||
)
|
||||
}
|
||||
|
||||
fun removeOrderString(order: String) {
|
||||
val updatedList = getOrder().filterNot { it.order_code == order }
|
||||
getMMKV().putString(
|
||||
MsConstants.CONSTANTS_examplePayReq,
|
||||
Gson().toJson(updatedList)
|
||||
)
|
||||
}
|
||||
|
||||
fun getOrder(): MutableList<PayBean> {
|
||||
try {
|
||||
|
70
app/src/main/res/layout/dialog_store_hint.xml
Normal file
70
app/src/main/res/layout/dialog_store_hint.xml
Normal file
@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
|
||||
<com.hjq.shape.layout.ShapeFrameLayout
|
||||
android:layout_width="@dimen/dp_304"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/cl"
|
||||
app:layout_constraintEnd_toEndOf="@id/cl"
|
||||
app:layout_constraintStart_toStartOf="@id/cl"
|
||||
app:layout_constraintTop_toTopOf="@id/cl"
|
||||
app:shape_radius="@dimen/dp_16"
|
||||
app:shape_solidColor="#50d9d9d9" />
|
||||
|
||||
<net.center.blurview.ShapeBlurView
|
||||
android:layout_width="@dimen/dp_304"
|
||||
android:layout_height="0dp"
|
||||
app:blur_border_color="#d9d9d9"
|
||||
app:blur_corner_radius="16dp"
|
||||
app:blur_mode="rectangle"
|
||||
app:blur_radius="10dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/cl"
|
||||
app:layout_constraintEnd_toEndOf="@id/cl"
|
||||
app:layout_constraintStart_toStartOf="@id/cl"
|
||||
app:layout_constraintTop_toTopOf="@id/cl" />
|
||||
|
||||
<com.hjq.shape.layout.ShapeConstraintLayout
|
||||
android:id="@+id/cl"
|
||||
android:layout_width="@dimen/dp_304"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:shape_radius="@dimen/dp_16"
|
||||
app:shape_solidColor="#95d9d9d9">
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_350"
|
||||
>
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/dp_10"
|
||||
android:text="@string/store_tips"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/example_iv_icon" />
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</com.hjq.shape.layout.ShapeConstraintLayout>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_close"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginTop="36dp"
|
||||
android:src="@mipmap/ic_dialog_close"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/cl" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -1,23 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.scwang.smart.refresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/rl_status_refresh"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/example_color_121418">
|
||||
android:background="@color/example_color_121418"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
<com.localee.mireo.app.widget.StatusLayout
|
||||
android:id="@+id/hl_status_hint"
|
||||
<ImageView
|
||||
android:id="@+id/iv_left"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:layout_marginEnd="@dimen/dp_10"
|
||||
android:paddingHorizontal="@dimen/dp_15"
|
||||
android:src="@mipmap/ic_list_more" />
|
||||
|
||||
<com.scwang.smart.refresh.layout.SmartRefreshLayout
|
||||
android:id="@+id/rl_status_refresh"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<WebView
|
||||
android:id="@+id/web"
|
||||
<com.localee.mireo.app.widget.StatusLayout
|
||||
android:id="@+id/hl_status_hint"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="@dimen/dp_30" />
|
||||
android:layout_height="match_parent">
|
||||
|
||||
</com.localee.mireo.app.widget.StatusLayout>
|
||||
<WebView
|
||||
android:id="@+id/web"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
</com.localee.mireo.app.widget.StatusLayout>
|
||||
|
||||
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
|
||||
|
||||
|
||||
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
|
||||
</LinearLayout>
|
@ -8,6 +8,22 @@
|
||||
android:background="@mipmap/ic_vip_week_bg"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.hjq.shape.view.ShapeTextView
|
||||
android:id="@+id/tv_hot"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_11"
|
||||
android:paddingHorizontal="@dimen/dp_10"
|
||||
android:paddingVertical="@dimen/dp_2"
|
||||
android:text=""
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_10"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:shape_radiusInBottomEnd="@dimen/dp_15"
|
||||
app:shape_radiusInTopLeft="@dimen/dp_15"
|
||||
app:shape_solidColor="@color/example_color_F56490" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_day"
|
||||
@ -15,7 +31,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginStart="@dimen/dp_14"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_32"
|
||||
android:fontFamily="sans-serif-medium"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="Weekly"
|
||||
@ -30,7 +46,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginStart="@dimen/dp_14"
|
||||
android:layout_marginTop="@dimen/dp_7"
|
||||
android:layout_marginTop="@dimen/dp_6"
|
||||
android:text="0"
|
||||
android:textColor="#FFB69A"
|
||||
android:textSize="@dimen/sp_19"
|
||||
|
@ -7,8 +7,8 @@ android {
|
||||
defaultConfig {
|
||||
minSdk 24
|
||||
targetSdk 34
|
||||
versionName '1.2.0'
|
||||
versionCode 12
|
||||
versionName '1.2.2'
|
||||
versionCode 14
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
|
Loading…
x
Reference in New Issue
Block a user