Commit aa76331c authored by leichao.gao's avatar leichao.gao

Merge branch 'master' of gitlab.huolea.com:koko/file-recovery-recyclebin

parents 5025ece8 c6cbf9e2
......@@ -19,6 +19,7 @@ import com.base.filerecoveryrecyclebin.help.BaseActivity
import com.base.filerecoveryrecyclebin.help.KotlinExt.toFormatSize
import com.base.filerecoveryrecyclebin.help.KotlinExt.toFormatTime
import com.base.filerecoveryrecyclebin.help.VideoPlayerUtil
import com.base.filerecoveryrecyclebin.service.BackUpUtils.recoveryFile
import com.base.filerecoveryrecyclebin.utils.BarUtils
import com.base.filerecoveryrecyclebin.utils.LogEx
import com.bumptech.glide.Glide
......@@ -56,10 +57,10 @@ class RecycleBinDetailActivity : BaseActivity<ActivityRecycleBinDetailBinding>()
LogEx.logDebug(TAG, "json=$json")
recycleBinBean = Gson().fromJson(json, RecycleBinBean::class.java)
recycleBinBean?.let { bean ->
if (mImageStr.contains("."+bean.mimeType)) {
if (mImageStr.contains("." + bean.mimeType)) {
binding.ivBofang.visibility = View.GONE
}
if (mVideoStr.contains("."+bean.mimeType)) {
if (mVideoStr.contains("." + bean.mimeType)) {
binding.ivBofang.visibility = View.VISIBLE
}
......@@ -81,12 +82,10 @@ class RecycleBinDetailActivity : BaseActivity<ActivityRecycleBinDetailBinding>()
binding.tvRestore.setOnClickListener {
recycleBinBean?.let { bean ->
val file = File(bean.path)
val binFile = findRecycleBinFile(file.name)
val binJsonFile = findRecycleBinJsonFile(file.name)
val binFile = File(bean.backupPath)
runCatching {
binFile?.copyTo(File(bean.path), true)
binFile?.delete()
binJsonFile?.delete()
binFile.copyTo(file, true)
recoveryFile(bean.name)
}
}
startActivity(Intent(this, ResultActivity::class.java).apply {
......
package com.base.filerecoveryrecyclebin.billing
import android.content.Context
import androidx.lifecycle.DefaultLifecycleObserver
import com.android.billingclient.api.BillingClient
import com.android.billingclient.api.Purchase
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
class BillingClientLifecycle : DefaultLifecycleObserver {
class BillingClientLifecycle(
private val applicationContext: Context,
) : DefaultLifecycleObserver {
private val _subscriptionPurchases = MutableStateFlow<List<Purchase>>(emptyList())
val subscriptionPurchases = _subscriptionPurchases.asStateFlow()
@Volatile
private var INSTANCE: BillingClientLifecycle? = null
fun getInstance(applicationContext: Context): BillingClientLifecycle =
INSTANCE ?: synchronized(this) {
INSTANCE ?: BillingClientLifecycle(applicationContext).also { INSTANCE = it }
}
}
\ No newline at end of file
package com.base.filerecoveryrecyclebin.billing
import android.app.Application
import android.content.Context
import androidx.lifecycle.AndroidViewModel
class BillingViewModel(application: Application) : AndroidViewModel(application) {
//package com.base.filerecoveryrecyclebin.billing
//
//import android.app.Application
//import android.content.Context
//import androidx.lifecycle.AndroidViewModel
//import androidx.lifecycle.MutableLiveData
//import com.android.billingclient.api.BillingClient
//import com.android.billingclient.api.ProductDetails
//
//class BillingViewModel(val application: Application) : AndroidViewModel(application) {
//
// private lateinit var billingClient: BillingClient
//
//
// val billingClientLifecycle: BillingClientLifecycle
// get() = BillingClientLifecycle.getInstance(this)
//
......@@ -13,6 +19,9 @@ class BillingViewModel(application: Application) : AndroidViewModel(application)
// private var INSTANCE: BillingClientLifecycle? = null
// fun getInstance(applicationContext: Context): BillingClientLifecycle =
// INSTANCE ?: synchronized(this) {
// INSTANCE ?: BillingClientLifecycle(applicationContext).also { INSTANCE = it }
// INSTANCE ?: BillingClientLifecycle(application.applicationContext).also { INSTANCE = it }
// }
}
\ No newline at end of file
//
// val basicSubProductWithProductDetails = MutableLiveData<ProductDetails?>()
//
//}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment