mireo 1.2.2
This commit is contained in:
parent
d3a94a3bad
commit
02ffc22f4e
@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"project_info": {
|
"project_info": {
|
||||||
"project_number": "905575925094",
|
"project_number": "471869384808",
|
||||||
"project_id": "mireotv",
|
"project_id": "mireotv-a591b",
|
||||||
"storage_bucket": "mireotv.firebasestorage.app"
|
"storage_bucket": "mireotv-a591b.firebasestorage.app"
|
||||||
},
|
},
|
||||||
"client": [
|
"client": [
|
||||||
{
|
{
|
||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:905575925094:android:01c39ac6692cb6bda974a7",
|
"mobilesdk_app_id": "1:471869384808:android:4d94f4dabe74aa7d0333dd",
|
||||||
"android_client_info": {
|
"android_client_info": {
|
||||||
"package_name": "com.localee.mireo.shortapp"
|
"package_name": "com.localee.mireo.shortapp"
|
||||||
}
|
}
|
||||||
@ -15,7 +15,7 @@
|
|||||||
"oauth_client": [],
|
"oauth_client": [],
|
||||||
"api_key": [
|
"api_key": [
|
||||||
{
|
{
|
||||||
"current_key": "AIzaSyBAC_RDCSdtba_yMQ0oXjKTstaMe6WzHmc"
|
"current_key": "AIzaSyD3C1frcUVwdIGHbiWsuwlyJFRhi4huF8Y"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"services": {
|
"services": {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<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">
|
||||||
>
|
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||||
@ -23,8 +22,7 @@
|
|||||||
android:theme="@style/Theme.Example"
|
android:theme="@style/Theme.Example"
|
||||||
android:usesCleartextTraffic="true"
|
android:usesCleartextTraffic="true"
|
||||||
tools:ignore="AllowBackup,LockedOrientationActivity"
|
tools:ignore="AllowBackup,LockedOrientationActivity"
|
||||||
tools:replace="android:allowBackup,android:supportsRtl"
|
tools:replace="android:allowBackup,android:supportsRtl">
|
||||||
>
|
|
||||||
|
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="ScopedStorage"
|
android:name="ScopedStorage"
|
||||||
@ -35,6 +33,7 @@
|
|||||||
<meta-data
|
<meta-data
|
||||||
android:name="com.facebook.sdk.ClientToken"
|
android:name="com.facebook.sdk.ClientToken"
|
||||||
android:value="@string/facebook_client_token" />
|
android:value="@string/facebook_client_token" />
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name="androidx.core.content.FileProvider"
|
android:name="androidx.core.content.FileProvider"
|
||||||
android:authorities="${applicationId}.provider"
|
android:authorities="${applicationId}.provider"
|
||||||
@ -47,47 +46,46 @@
|
|||||||
</provider>
|
</provider>
|
||||||
|
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.localee.mireo.admins.OUnlockWarningActivity"
|
android:name="com.localee.mireo.admins.OUnlockWarningActivity"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.localee.mireo.admins.CNBFragmentSystemActivity"
|
android:name="com.localee.mireo.admins.CNBFragmentSystemActivity"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.localee.mireo.admins.YPulseColorsActivity"
|
android:name="com.localee.mireo.admins.YPulseColorsActivity"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.localee.mireo.admins.EIPLineRecommendActivity"
|
android:name="com.localee.mireo.admins.EIPLineRecommendActivity"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.localee.mireo.admins.EModuleCollectionActivity"
|
android:name="com.localee.mireo.admins.EModuleCollectionActivity"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.localee.mireo.admins.XZShortActivity"
|
android:name="com.localee.mireo.admins.XZShortActivity"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.localee.mireo.admins.BSGButtonMavenActivity"
|
android:name="com.localee.mireo.admins.BSGButtonMavenActivity"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name="com.localee.mireo.drama.probableAligning.savedIdctdsp.HEDDramaActivity"
|
android:name="com.localee.mireo.drama.probableAligning.savedIdctdsp.HEDDramaActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:launchMode="singleTop"
|
android:launchMode="singleTop"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:theme="@style/Theme.Splash"
|
android:theme="@style/Theme.Splash">
|
||||||
>
|
|
||||||
|
|
||||||
<!-- <intent-filter>-->
|
<!-- <intent-filter>-->
|
||||||
<!-- <action android:name="android.intent.action.MAIN" />-->
|
<!-- <action android:name="android.intent.action.MAIN" />-->
|
||||||
<!-- <action android:name="android.intent.action.VIEW" />-->
|
<!-- <action android:name="android.intent.action.VIEW" />-->
|
||||||
|
|
||||||
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
|
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
|
||||||
<!-- </intent-filter>-->
|
<!-- </intent-filter>-->
|
||||||
|
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
@ -175,8 +173,7 @@
|
|||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.localee.mireo.app.ui.activity.VideoPlayActivity"
|
android:name="com.localee.mireo.app.ui.activity.VideoPlayActivity"
|
||||||
android:launchMode="singleTask"
|
android:launchMode="singleTask" />
|
||||||
/>
|
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.localee.mireo.app.ui.activity.SearchActivity"
|
android:name="com.localee.mireo.app.ui.activity.SearchActivity"
|
||||||
|
@ -64,5 +64,6 @@ class PaySettingsBean(
|
|||||||
val auto_sub: String,
|
val auto_sub: String,
|
||||||
var vip_type: String,
|
var vip_type: String,
|
||||||
var vip_type_key: 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.DoLoginApi
|
||||||
import com.localee.mireo.app.http.api.EnterTheAppApi
|
import com.localee.mireo.app.http.api.EnterTheAppApi
|
||||||
import com.localee.mireo.app.http.api.FirebaseTokenApi
|
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.LeaveAppApi
|
||||||
import com.localee.mireo.app.http.api.MessageSendReportApi
|
import com.localee.mireo.app.http.api.MessageSendReportApi
|
||||||
import com.localee.mireo.app.http.api.OnLineApi
|
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.HomeDataHistoryBean
|
||||||
import com.localee.mireo.app.http.bean.IncidentBean
|
import com.localee.mireo.app.http.bean.IncidentBean
|
||||||
import com.localee.mireo.app.http.bean.LoginBean
|
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.bean.TranslatesBean
|
||||||
import com.localee.mireo.app.http.model.HttpData
|
import com.localee.mireo.app.http.model.HttpData
|
||||||
import com.localee.mireo.app.other.Logger
|
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.TranslatesUtils
|
||||||
import com.localee.mireo.app.utils.shouldShowNotification
|
import com.localee.mireo.app.utils.shouldShowNotification
|
||||||
import com.localee.mireo.app.utils.singleClick
|
import com.localee.mireo.app.utils.singleClick
|
||||||
|
import com.localee.mireo.app.utils.toMapViaGson
|
||||||
import com.localee.mireo.shortapp.R
|
import com.localee.mireo.shortapp.R
|
||||||
import com.lxj.xpopup.XPopup
|
import com.lxj.xpopup.XPopup
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
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.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.greenrobot.eventbus.EventBus
|
import org.greenrobot.eventbus.EventBus
|
||||||
@ -142,6 +150,7 @@ class HomeActivity : AppActivity(), NavigationAdapter.OnNavigationListener,
|
|||||||
private var title = ""
|
private var title = ""
|
||||||
|
|
||||||
private val viewModel: SharedViewModel by viewModels()
|
private val viewModel: SharedViewModel by viewModels()
|
||||||
|
private val scope = CoroutineScope(Dispatchers.Main)
|
||||||
|
|
||||||
override fun getLayoutId(): Int {
|
override fun getLayoutId(): Int {
|
||||||
return R.layout.home_activity
|
return R.layout.home_activity
|
||||||
@ -359,6 +368,21 @@ class HomeActivity : AppActivity(), NavigationAdapter.OnNavigationListener,
|
|||||||
.toString()
|
.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?) {
|
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() {
|
fun getActionPush() {
|
||||||
val sMap: MutableMap<String, String?> = LinkedHashMap()
|
val sMap: MutableMap<String, String?> = LinkedHashMap()
|
||||||
// StringMap = getSortMap(StringMap);
|
// StringMap = getSortMap(StringMap);
|
||||||
@ -726,6 +770,7 @@ class HomeActivity : AppActivity(), NavigationAdapter.OnNavigationListener,
|
|||||||
)
|
)
|
||||||
needSave = true
|
needSave = true
|
||||||
w2aSelfAttribution(clipContent)
|
w2aSelfAttribution(clipContent)
|
||||||
|
MsMMKVUtils.getMMKV().putString(MsConstants.Constants_DDL_Url, "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,7 @@ class MyVipActivity : AppActivity() {
|
|||||||
}
|
}
|
||||||
return@singleClick
|
return@singleClick
|
||||||
}
|
}
|
||||||
showDialog()
|
// showDialog()
|
||||||
vipData = mAdapter!!.getItem(mAdapter!!.currentPosition) as PaySettingsBean.Vip
|
vipData = mAdapter!!.getItem(mAdapter!!.currentPosition) as PaySettingsBean.Vip
|
||||||
getCreateOrder(
|
getCreateOrder(
|
||||||
CreateOrderReqBean(
|
CreateOrderReqBean(
|
||||||
@ -302,11 +302,10 @@ class MyVipActivity : AppActivity() {
|
|||||||
purchase.orderId.toString(),
|
purchase.orderId.toString(),
|
||||||
vipData?.price.toString()
|
vipData?.price.toString()
|
||||||
)
|
)
|
||||||
|
payReq = examplePayReq
|
||||||
if (it.responseCode == BillingClient.BillingResponseCode.OK) {
|
if (it.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
googlePaid(examplePayReq)
|
googlePaid(examplePayReq)
|
||||||
payReq = examplePayReq
|
|
||||||
MsMMKVUtils.saveOrder(examplePayReq)
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
MsMMKVUtils.saveOrder(examplePayReq)
|
MsMMKVUtils.saveOrder(examplePayReq)
|
||||||
@ -431,8 +430,6 @@ class MyVipActivity : AppActivity() {
|
|||||||
.api(CreateOrderApi())
|
.api(CreateOrderApi())
|
||||||
.body(getPublicRequest(data.toMapViaGson()))
|
.body(getPublicRequest(data.toMapViaGson()))
|
||||||
.request(object : HttpCallbackProxy<HttpData<CreateOrderApi.Bean>>(this) {
|
.request(object : HttpCallbackProxy<HttpData<CreateOrderApi.Bean>>(this) {
|
||||||
override fun onHttpStart(api: IRequestApi) {
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onHttpSuccess(result: HttpData<CreateOrderApi.Bean>) {
|
override fun onHttpSuccess(result: HttpData<CreateOrderApi.Bean>) {
|
||||||
result.getData()?.let {
|
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()
|
getCustomerUser()
|
||||||
|
|
||||||
} ?: run {
|
} ?: run {
|
||||||
|
payReq?.let { it1 -> MsMMKVUtils.saveOrder(it1) }
|
||||||
if (TranslatesUtils.translates() != null) {
|
if (TranslatesUtils.translates() != null) {
|
||||||
toast(TranslatesUtils.translates()?.mireo_network_error.toString())
|
toast(TranslatesUtils.translates()?.mireo_network_error.toString())
|
||||||
} else {
|
} else {
|
||||||
|
@ -171,7 +171,7 @@ class StoreActivity : AppActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.onEach { item ->
|
.onEach { item ->
|
||||||
googlePaid(item)
|
restorePaid(item)
|
||||||
}
|
}
|
||||||
.debounce(500)
|
.debounce(500)
|
||||||
.collect {}
|
.collect {}
|
||||||
@ -214,7 +214,6 @@ class StoreActivity : AppActivity() {
|
|||||||
}
|
}
|
||||||
return@singleClick
|
return@singleClick
|
||||||
}
|
}
|
||||||
showDialog()
|
|
||||||
if (type == 0) {
|
if (type == 0) {
|
||||||
coinsData =
|
coinsData =
|
||||||
mCoinAdapter!!.getItem(mCoinAdapter!!.currentPosition) as PaySettingsBean.Coins
|
mCoinAdapter!!.getItem(mCoinAdapter!!.currentPosition) as PaySettingsBean.Coins
|
||||||
@ -339,11 +338,10 @@ class StoreActivity : AppActivity() {
|
|||||||
purchase.orderId.toString(),
|
purchase.orderId.toString(),
|
||||||
vipData?.price.toString()
|
vipData?.price.toString()
|
||||||
)
|
)
|
||||||
|
payReq = examplePayReq
|
||||||
if (it.responseCode == BillingClient.BillingResponseCode.OK) {
|
if (it.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
googlePaid(examplePayReq)
|
googlePaid(examplePayReq)
|
||||||
payReq = examplePayReq
|
|
||||||
MsMMKVUtils.saveOrder(examplePayReq)
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
MsMMKVUtils.saveOrder(examplePayReq)
|
MsMMKVUtils.saveOrder(examplePayReq)
|
||||||
@ -537,8 +535,6 @@ class StoreActivity : AppActivity() {
|
|||||||
.api(CreateOrderApi())
|
.api(CreateOrderApi())
|
||||||
.body(getPublicRequest(data.toMapViaGson()))
|
.body(getPublicRequest(data.toMapViaGson()))
|
||||||
.request(object : HttpCallbackProxy<HttpData<CreateOrderApi.Bean>>(this) {
|
.request(object : HttpCallbackProxy<HttpData<CreateOrderApi.Bean>>(this) {
|
||||||
override fun onHttpStart(api: IRequestApi) {
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onHttpSuccess(result: HttpData<CreateOrderApi.Bean>) {
|
override fun onHttpSuccess(result: HttpData<CreateOrderApi.Bean>) {
|
||||||
result.getData()?.let {
|
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 {
|
} else {
|
||||||
toast(getString(R.string.google_pay_success))
|
toast(getString(R.string.google_pay_success))
|
||||||
}
|
}
|
||||||
if (null != payReq) {
|
getCustomerUser()
|
||||||
MsMMKVUtils.removeOrder(payReq)
|
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))
|
||||||
}
|
}
|
||||||
if (it.is_backhaul == 1) {
|
hideDialog()
|
||||||
// LogEventUtils.logEvent(
|
}
|
||||||
// ExampleAppConstants.LogEvent_af_app_recharge,
|
}
|
||||||
// it.data.money.toDouble(), "USD", "", order_code
|
|
||||||
// )
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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()
|
getCustomerUser()
|
||||||
|
isBuy = true
|
||||||
|
}
|
||||||
|
|
||||||
} ?: run {
|
} ?: run {
|
||||||
if (TranslatesUtils.translates() != null) {
|
if (TranslatesUtils.translates() != null) {
|
||||||
@ -636,11 +653,10 @@ class StoreActivity : AppActivity() {
|
|||||||
purchaseData?.orderId.toString(),
|
purchaseData?.orderId.toString(),
|
||||||
if (type == 0) coinsData?.price.toString() else vipData?.price.toString()
|
if (type == 0) coinsData?.price.toString() else vipData?.price.toString()
|
||||||
)
|
)
|
||||||
|
payReq = examplePayReq
|
||||||
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
|
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
googlePaid(examplePayReq)
|
googlePaid(examplePayReq)
|
||||||
payReq = examplePayReq
|
|
||||||
MsMMKVUtils.saveOrder(examplePayReq)
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
MsMMKVUtils.saveOrder(examplePayReq)
|
MsMMKVUtils.saveOrder(examplePayReq)
|
||||||
|
@ -902,9 +902,9 @@ open class VideoPlayActivity : AppActivity(), VideoPlayAdapter.PlayerDetailColle
|
|||||||
revolution = "1080"
|
revolution = "1080"
|
||||||
MsMMKVUtils.getMMKV()
|
MsMMKVUtils.getMMKV()
|
||||||
.putInt(CONSTANTS_quality, 1080)
|
.putInt(CONSTANTS_quality, 1080)
|
||||||
detailRefresh()
|
|
||||||
EventBus.getDefault().post(CONSTANTS_quality_refresh)
|
EventBus.getDefault().post(CONSTANTS_quality_refresh)
|
||||||
}
|
}
|
||||||
|
detailRefresh()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1009,6 +1009,10 @@ open class VideoPlayActivity : AppActivity(), VideoPlayAdapter.PlayerDetailColle
|
|||||||
setDetailsRecommendation(it)
|
setDetailsRecommendation(it)
|
||||||
} ?: finish()
|
} ?: 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.tvMoney.text = item.price_google
|
||||||
holder.binding.tvDes.text = item.description
|
holder.binding.tvDes.text = item.description
|
||||||
holder.binding.tvInfo.text = item.auto_sub
|
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) {
|
if ((item?.send_coins ?: 0) > 0) {
|
||||||
holder.binding.tvExtra.text =
|
holder.binding.tvExtra.text =
|
||||||
"+ ".plus(TranslatesUtils.translates()?.mireo_extra).plus(" ")
|
"+ ".plus(TranslatesUtils.translates()?.mireo_extra).plus(" ")
|
||||||
|
@ -3,6 +3,8 @@ package com.localee.mireo.app.ui.dialog
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
|
import android.os.Build
|
||||||
|
import android.text.Html
|
||||||
import androidx.appcompat.widget.AppCompatImageView
|
import androidx.appcompat.widget.AppCompatImageView
|
||||||
import androidx.appcompat.widget.AppCompatTextView
|
import androidx.appcompat.widget.AppCompatTextView
|
||||||
import com.hjq.shape.view.ShapeTextView
|
import com.hjq.shape.view.ShapeTextView
|
||||||
@ -171,4 +173,27 @@ object DialogUtils {
|
|||||||
activateVIPDialog.show()
|
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 exampleRecommendAdapter: ExampleRecommendAdapter? = null
|
||||||
private var data: com.localee.mireo.app.http.api.ExampleRecommendDataRes.Data? = null
|
private var data: com.localee.mireo.app.http.api.ExampleRecommendDataRes.Data? = null
|
||||||
private var revolution =
|
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) }
|
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)
|
activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
||||||
|
|
||||||
// exampleTvNoNetwork?.text =
|
|
||||||
// TranslatesUtils.translates()?.mireo_no_network
|
|
||||||
tvExampleRetry?.text = TranslatesUtils.translates()?.mireo_retry
|
tvExampleRetry?.text = TranslatesUtils.translates()?.mireo_retry
|
||||||
// exampleTvEmpty?.text = TranslatesUtils.translates()?.s_no_content
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun initData() {
|
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.bean.RecommendBean
|
||||||
import com.localee.mireo.app.http.model.HttpData
|
import com.localee.mireo.app.http.model.HttpData
|
||||||
import com.localee.mireo.app.other.MsConstants
|
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.other.MsConstants.CONSTANTS_short_play_id
|
||||||
import com.localee.mireo.app.ui.activity.HomeActivity
|
import com.localee.mireo.app.ui.activity.HomeActivity
|
||||||
import com.localee.mireo.app.ui.activity.SearchActivity
|
import com.localee.mireo.app.ui.activity.SearchActivity
|
||||||
@ -473,7 +474,11 @@ class HomeFragment : TitleBarFragment<HomeActivity>(), HomeBannerAdapter.HomeBan
|
|||||||
result.getData()?.let {
|
result.getData()?.let {
|
||||||
|
|
||||||
MsMMKVUtils.saveUserInfo(it)
|
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) {
|
if (position == 0) {
|
||||||
getHomeVideoListApi(0, pageIndex, 15)
|
getHomeVideoListApi(0, pageIndex, 15)
|
||||||
} else {
|
} else {
|
||||||
category?.get(position)?.id?.let { getHomeVideoListApi(it, 1, 15) }
|
category?.get(position - 1)?.id?.let { getHomeVideoListApi(it, 1, 15) }
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@ -557,7 +562,7 @@ class HomeFragment : TitleBarFragment<HomeActivity>(), HomeBannerAdapter.HomeBan
|
|||||||
if (tabPosition == 0) {
|
if (tabPosition == 0) {
|
||||||
getHomeVideoListApi(0, pageIndex, 15)
|
getHomeVideoListApi(0, pageIndex, 15)
|
||||||
} else {
|
} 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.config.IRequestApi
|
||||||
import com.hjq.http.listener.HttpCallbackProxy
|
import com.hjq.http.listener.HttpCallbackProxy
|
||||||
import com.hjq.shape.layout.ShapeLinearLayout
|
import com.hjq.shape.layout.ShapeLinearLayout
|
||||||
import com.localee.mireo.shortapp.R
|
|
||||||
import com.localee.mireo.app.action.StatusAction
|
import com.localee.mireo.app.action.StatusAction
|
||||||
import com.localee.mireo.app.app.TitleBarFragment
|
import com.localee.mireo.app.app.TitleBarFragment
|
||||||
import com.localee.mireo.app.http.api.MyCollectionsApi
|
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.utils.singleClick
|
||||||
import com.localee.mireo.app.widget.StatusLayout
|
import com.localee.mireo.app.widget.StatusLayout
|
||||||
import com.localee.mireo.app.widget.StatusLayout.OnRetryListener
|
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.SmartRefreshLayout
|
||||||
import com.scwang.smart.refresh.layout.api.RefreshLayout
|
import com.scwang.smart.refresh.layout.api.RefreshLayout
|
||||||
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener
|
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener
|
||||||
@ -76,9 +76,14 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
|||||||
|
|
||||||
mAdapter = tabName?.let { LostTabAdapter(it) }
|
mAdapter = tabName?.let { LostTabAdapter(it) }
|
||||||
|
|
||||||
if (TranslatesUtils.translates() != null){
|
if (TranslatesUtils.translates() != null) {
|
||||||
tvDelete?.text =
|
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)
|
val layoutManager = GridLayoutManager(context, 3)
|
||||||
@ -133,10 +138,15 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
|||||||
context?.resources?.getColor(R.color.example_color_d9d9d9)
|
context?.resources?.getColor(R.color.example_color_d9d9d9)
|
||||||
?.let { tvDelete?.setTextColor(it) }
|
?.let { tvDelete?.setTextColor(it) }
|
||||||
|
|
||||||
if (TranslatesUtils.translates() != null){
|
if (TranslatesUtils.translates() != null) {
|
||||||
tvDelete?.text =
|
tvDelete?.text =
|
||||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it,"0") }
|
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||||
}else{
|
TranslatesUtils.replace(
|
||||||
|
it,
|
||||||
|
"0"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
tvDelete?.text = "Delete (0)"
|
tvDelete?.text = "Delete (0)"
|
||||||
}
|
}
|
||||||
ivDelete?.setImageResource(R.mipmap.ic_list_detele_n)
|
ivDelete?.setImageResource(R.mipmap.ic_list_detele_n)
|
||||||
@ -145,10 +155,15 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
|||||||
?.intoBackground();
|
?.intoBackground();
|
||||||
context?.resources?.getColor(R.color.example_color_F56490)
|
context?.resources?.getColor(R.color.example_color_F56490)
|
||||||
?.let { tvDelete?.setTextColor(it) }
|
?.let { tvDelete?.setTextColor(it) }
|
||||||
if (TranslatesUtils.translates() != null){
|
if (TranslatesUtils.translates() != null) {
|
||||||
tvDelete?.text =
|
tvDelete?.text =
|
||||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it, detailList.size.toString()) }
|
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||||
}else{
|
TranslatesUtils.replace(
|
||||||
|
it,
|
||||||
|
detailList.size.toString()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
tvDelete?.text = "Delete (" + detailList.size + ")"
|
tvDelete?.text = "Delete (" + detailList.size + ")"
|
||||||
}
|
}
|
||||||
ivDelete?.setImageResource(R.mipmap.ic_list_detele_y)
|
ivDelete?.setImageResource(R.mipmap.ic_list_detele_y)
|
||||||
@ -213,30 +228,36 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
|||||||
|
|
||||||
fun setCancel() {
|
fun setCancel() {
|
||||||
rlStatusRefresh?.setEnableRefresh(true)
|
rlStatusRefresh?.setEnableRefresh(true)
|
||||||
val allData: List<HistoryBean.Data>? = mAdapter?.items
|
llDelete?.visibility = View.GONE
|
||||||
for (i in allData?.indices!!) {
|
llDelete?.shapeDrawableBuilder?.setStrokeColor(0xFF9D9D9D.toInt())
|
||||||
|
?.intoBackground();
|
||||||
|
val allData = mAdapter?.items
|
||||||
|
if (allData.isNullOrEmpty()) return
|
||||||
|
for (i in allData.indices) {
|
||||||
allData[i].is_check = false
|
allData[i].is_check = false
|
||||||
}
|
}
|
||||||
detailList.clear()
|
detailList.clear()
|
||||||
mAdapter?.selectEdit = false
|
mAdapter?.selectEdit = false
|
||||||
mAdapter?.notifyDataSetChanged()
|
mAdapter?.notifyDataSetChanged()
|
||||||
|
|
||||||
llDelete?.visibility = View.GONE
|
|
||||||
llDelete?.shapeDrawableBuilder?.setStrokeColor(0xFF9D9D9D.toInt())
|
|
||||||
?.intoBackground();
|
|
||||||
context?.resources?.getColor(R.color.example_color_d9d9d9)
|
context?.resources?.getColor(R.color.example_color_d9d9d9)
|
||||||
?.let { tvDelete?.setTextColor(it) }
|
?.let { tvDelete?.setTextColor(it) }
|
||||||
if (TranslatesUtils.translates() != null){
|
if (TranslatesUtils.translates() != null) {
|
||||||
tvDelete?.text =
|
tvDelete?.text =
|
||||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it, "0") }
|
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||||
}else{
|
TranslatesUtils.replace(
|
||||||
|
it,
|
||||||
|
"0"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
tvDelete?.text = "Delete (0)"
|
tvDelete?.text = "Delete (0)"
|
||||||
}
|
}
|
||||||
ivDelete?.setImageResource(R.mipmap.ic_list_detele_n)
|
ivDelete?.setImageResource(R.mipmap.ic_list_detele_n)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setAllSelect(isSelect: Boolean) {
|
fun setAllSelect(isSelect: Boolean) {
|
||||||
val allData: List<HistoryBean.Data>? = mAdapter?.items
|
val allData = mAdapter?.items
|
||||||
|
if (allData.isNullOrEmpty()) return
|
||||||
if (isSelect) {
|
if (isSelect) {
|
||||||
detailList.clear()
|
detailList.clear()
|
||||||
for (i in allData?.indices!!) {
|
for (i in allData?.indices!!) {
|
||||||
@ -254,10 +275,15 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
|||||||
?.intoBackground();
|
?.intoBackground();
|
||||||
context?.resources?.getColor(R.color.example_color_d9d9d9)
|
context?.resources?.getColor(R.color.example_color_d9d9d9)
|
||||||
?.let { tvDelete?.setTextColor(it) }
|
?.let { tvDelete?.setTextColor(it) }
|
||||||
if (TranslatesUtils.translates() != null){
|
if (TranslatesUtils.translates() != null) {
|
||||||
tvDelete?.text =
|
tvDelete?.text =
|
||||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it, "0") }
|
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||||
}else{
|
TranslatesUtils.replace(
|
||||||
|
it,
|
||||||
|
"0"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
tvDelete?.text = "Delete (0)"
|
tvDelete?.text = "Delete (0)"
|
||||||
}
|
}
|
||||||
ivDelete?.setImageResource(R.mipmap.ic_list_detele_n)
|
ivDelete?.setImageResource(R.mipmap.ic_list_detele_n)
|
||||||
@ -266,10 +292,15 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
|
|||||||
?.intoBackground();
|
?.intoBackground();
|
||||||
context?.resources?.getColor(R.color.example_color_F56490)
|
context?.resources?.getColor(R.color.example_color_F56490)
|
||||||
?.let { tvDelete?.setTextColor(it) }
|
?.let { tvDelete?.setTextColor(it) }
|
||||||
if (TranslatesUtils.translates() != null){
|
if (TranslatesUtils.translates() != null) {
|
||||||
tvDelete?.text =
|
tvDelete?.text =
|
||||||
TranslatesUtils.translates()?.mireo_list_delete?.let { TranslatesUtils.replace(it, detailList.size.toString()) }
|
TranslatesUtils.translates()?.mireo_list_delete?.let {
|
||||||
}else{
|
TranslatesUtils.replace(
|
||||||
|
it,
|
||||||
|
detailList.size.toString()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
tvDelete?.text = "Delete (" + detailList.size + ")"
|
tvDelete?.text = "Delete (" + detailList.size + ")"
|
||||||
}
|
}
|
||||||
ivDelete?.setImageResource(R.mipmap.ic_list_detele_y)
|
ivDelete?.setImageResource(R.mipmap.ic_list_detele_y)
|
||||||
|
@ -473,11 +473,10 @@ class RechargeDialogFragment : BottomSheetDialogFragment(), OnHttpListener<Any>
|
|||||||
purchaseData?.orderId.toString(),
|
purchaseData?.orderId.toString(),
|
||||||
coinsData?.price.toString()
|
coinsData?.price.toString()
|
||||||
)
|
)
|
||||||
|
payReq = PayBean
|
||||||
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
|
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
googlePaid(PayBean)
|
googlePaid(PayBean)
|
||||||
MsMMKVUtils.saveOrder(PayBean)
|
|
||||||
payReq = PayBean
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
MsMMKVUtils.saveOrder(PayBean)
|
MsMMKVUtils.saveOrder(PayBean)
|
||||||
@ -512,7 +511,6 @@ class RechargeDialogFragment : BottomSheetDialogFragment(), OnHttpListener<Any>
|
|||||||
if (it.responseCode == BillingClient.BillingResponseCode.OK) {
|
if (it.responseCode == BillingClient.BillingResponseCode.OK) {
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
googlePaid(PayBean)
|
googlePaid(PayBean)
|
||||||
MsMMKVUtils.saveOrder(PayBean)
|
|
||||||
payReq = PayBean
|
payReq = PayBean
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -605,6 +603,7 @@ class RechargeDialogFragment : BottomSheetDialogFragment(), OnHttpListener<Any>
|
|||||||
isPay = true
|
isPay = true
|
||||||
dismiss()
|
dismiss()
|
||||||
} ?: run {
|
} ?: run {
|
||||||
|
payReq?.let { it1 -> MsMMKVUtils.saveOrder(it1) }
|
||||||
if (TranslatesUtils.translates() != null) {
|
if (TranslatesUtils.translates() != null) {
|
||||||
ToastUtils.show(TranslatesUtils.translates()?.mireo_network_error.toString())
|
ToastUtils.show(TranslatesUtils.translates()?.mireo_network_error.toString())
|
||||||
} else {
|
} else {
|
||||||
|
@ -18,6 +18,7 @@ import android.webkit.WebResourceRequest
|
|||||||
import android.webkit.WebSettings
|
import android.webkit.WebSettings
|
||||||
import android.webkit.WebView
|
import android.webkit.WebView
|
||||||
import android.webkit.WebViewClient
|
import android.webkit.WebViewClient
|
||||||
|
import android.widget.ImageView
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.appcompat.widget.AppCompatImageView
|
import androidx.appcompat.widget.AppCompatImageView
|
||||||
import androidx.appcompat.widget.AppCompatTextView
|
import androidx.appcompat.widget.AppCompatTextView
|
||||||
@ -29,8 +30,6 @@ import com.hjq.http.EasyHttp
|
|||||||
import com.hjq.http.config.IRequestApi
|
import com.hjq.http.config.IRequestApi
|
||||||
import com.hjq.http.listener.HttpCallbackProxy
|
import com.hjq.http.listener.HttpCallbackProxy
|
||||||
import com.localee.mireo.app.action.StatusAction
|
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.app.TitleBarFragment
|
||||||
import com.localee.mireo.app.http.api.FirebaseTokenApi
|
import com.localee.mireo.app.http.api.FirebaseTokenApi
|
||||||
import com.localee.mireo.app.http.api.OpenNotifyApi
|
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.AppConfig
|
||||||
import com.localee.mireo.app.other.MsConstants
|
import com.localee.mireo.app.other.MsConstants
|
||||||
import com.localee.mireo.app.ui.activity.HomeActivity
|
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.ui.dialog.GooglePlayRatingDialog
|
||||||
import com.localee.mireo.app.utils.DHStringUtils.getPublicRequest
|
import com.localee.mireo.app.utils.DHStringUtils.getPublicRequest
|
||||||
import com.localee.mireo.app.utils.JsBridge
|
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.utils.singleClick
|
||||||
import com.localee.mireo.app.widget.StatusLayout
|
import com.localee.mireo.app.widget.StatusLayout
|
||||||
import com.localee.mireo.app.widget.StatusLayout.OnRetryListener
|
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.SmartRefreshLayout
|
||||||
import com.scwang.smart.refresh.layout.api.RefreshLayout
|
import com.scwang.smart.refresh.layout.api.RefreshLayout
|
||||||
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener
|
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener
|
||||||
@ -55,8 +57,9 @@ import org.greenrobot.eventbus.Subscribe
|
|||||||
import org.greenrobot.eventbus.ThreadMode
|
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 hintLayout: StatusLayout? by lazy { findViewById(R.id.hl_status_hint) }
|
||||||
private val rlStatusRefresh: SmartRefreshLayout? by lazy { findViewById(R.id.rl_status_refresh) }
|
private val rlStatusRefresh: SmartRefreshLayout? by lazy { findViewById(R.id.rl_status_refresh) }
|
||||||
private val web: WebView? by lazy { findViewById(R.id.web) }
|
private val web: WebView? by lazy { findViewById(R.id.web) }
|
||||||
@ -77,9 +80,17 @@ class RewardFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListen
|
|||||||
rlStatusRefresh?.setOnRefreshLoadMoreListener(this)
|
rlStatusRefresh?.setOnRefreshLoadMoreListener(this)
|
||||||
rlStatusRefresh?.setEnableLoadMore(false)
|
rlStatusRefresh?.setEnableLoadMore(false)
|
||||||
web?.setBackgroundColor(Color.TRANSPARENT)
|
web?.setBackgroundColor(Color.TRANSPARENT)
|
||||||
|
|
||||||
|
ivLeft?.setOnClickListener {
|
||||||
|
singleClick {
|
||||||
|
DialogUtils.showStoreHint(requireContext())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
|
|
||||||
setWebView()
|
setWebView()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,14 +106,16 @@ class RewardFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListen
|
|||||||
fun loadingData() {
|
fun loadingData() {
|
||||||
showDialog()
|
showDialog()
|
||||||
if (NetworkUtils.isConnected()) {
|
if (NetworkUtils.isConnected()) {
|
||||||
|
web?.visibility = View.VISIBLE
|
||||||
showComplete()
|
showComplete()
|
||||||
loadPageUrl(MsConstants.REWARD_URL_RES)
|
loadPageUrl(MsConstants.REWARD_URL_RES)
|
||||||
} else {
|
} else {
|
||||||
|
web?.visibility = View.GONE
|
||||||
showErrorStatus()
|
showErrorStatus()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun showErrorStatus(){
|
fun showErrorStatus() {
|
||||||
showError(object : OnRetryListener {
|
showError(object : OnRetryListener {
|
||||||
override fun onRetry(layout: StatusLayout) {
|
override fun onRetry(layout: StatusLayout) {
|
||||||
singleClick {
|
singleClick {
|
||||||
@ -347,10 +360,6 @@ class RewardFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override fun isStatusBarEnabled(): Boolean {
|
|
||||||
return !super.isStatusBarEnabled()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onRefresh(refreshLayout: RefreshLayout) {
|
override fun onRefresh(refreshLayout: RefreshLayout) {
|
||||||
loadPageUrl(MsConstants.REWARD_URL_RES)
|
loadPageUrl(MsConstants.REWARD_URL_RES)
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,8 @@ package com.localee.mireo.app.utils
|
|||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Build
|
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
|
||||||
import com.localee.mireo.app.other.MsConstants.CONSTANTS_PREF_LAST_POPUP_TIME_VIP
|
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
|
import com.localee.mireo.app.other.MsConstants.ONE_DAY_IN_MILLIS_VIP
|
||||||
@ -25,7 +27,7 @@ fun <T> Any.standAsUnChecked(): T {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var lastClickTime = 0L
|
var lastClickTime = 0L
|
||||||
fun singleClick(during: Long = 500L, callBack: () -> Unit) {
|
fun singleClick(during: Long = 750L, callBack: () -> Unit) {
|
||||||
val now = Date().time
|
val now = Date().time
|
||||||
if (now - lastClickTime > during) {
|
if (now - lastClickTime > during) {
|
||||||
callBack()
|
callBack()
|
||||||
@ -171,3 +173,7 @@ fun dpToPx(dp: Int, context: Context): Int {
|
|||||||
return (dp * context.resources.displayMetrics.density).toInt()
|
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> {
|
fun getOrder(): MutableList<PayBean> {
|
||||||
try {
|
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,11 +1,26 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<com.scwang.smart.refresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:id="@+id/rl_status_refresh"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@color/example_color_121418">
|
android:background="@color/example_color_121418"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
|
||||||
|
<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">
|
||||||
|
|
||||||
<com.localee.mireo.app.widget.StatusLayout
|
<com.localee.mireo.app.widget.StatusLayout
|
||||||
android:id="@+id/hl_status_hint"
|
android:id="@+id/hl_status_hint"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -14,10 +29,11 @@
|
|||||||
<WebView
|
<WebView
|
||||||
android:id="@+id/web"
|
android:id="@+id/web"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent" />
|
||||||
android:layout_marginTop="@dimen/dp_30" />
|
|
||||||
|
|
||||||
</com.localee.mireo.app.widget.StatusLayout>
|
</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:background="@mipmap/ic_vip_week_bg"
|
||||||
android:orientation="vertical">
|
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
|
<TextView
|
||||||
android:id="@+id/tv_day"
|
android:id="@+id/tv_day"
|
||||||
@ -15,7 +31,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
android:layout_marginStart="@dimen/dp_14"
|
android:layout_marginStart="@dimen/dp_14"
|
||||||
android:layout_marginTop="@dimen/dp_30"
|
android:layout_marginTop="@dimen/dp_32"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:gravity="center_horizontal"
|
android:gravity="center_horizontal"
|
||||||
android:text="Weekly"
|
android:text="Weekly"
|
||||||
@ -30,7 +46,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
android:layout_marginStart="@dimen/dp_14"
|
android:layout_marginStart="@dimen/dp_14"
|
||||||
android:layout_marginTop="@dimen/dp_7"
|
android:layout_marginTop="@dimen/dp_6"
|
||||||
android:text="0"
|
android:text="0"
|
||||||
android:textColor="#FFB69A"
|
android:textColor="#FFB69A"
|
||||||
android:textSize="@dimen/sp_19"
|
android:textSize="@dimen/sp_19"
|
||||||
|
@ -7,8 +7,8 @@ android {
|
|||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdk 24
|
minSdk 24
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionName '1.2.0'
|
versionName '1.2.2'
|
||||||
versionCode 12
|
versionCode 14
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user