Commit 73d13962 authored by wanglei's avatar wanglei

...设置页面

parent 6ca214a1
package com.base.scanqr
/**
*Create by SleepDog on 2024-12-24
*/
object GlobalConfig {
//包名
const val PACKAGE_NAME = "com.loactation.alibabab.ccccaa"
// 域名
/**
* Url Event 上报接口
*/
const val URL_EVENT = "https://rp.gamexzonerk.xyz"
/**
* Url Api 业务接口
*/
const val URL_API = "https://api.gamexzonerk.xyz"
/**
* Url Privacy 隐私链接
*/
const val URL_PRIVACY = "https://sites.google.com/view/locationuses/location"
/**
* Url Use 使用条款
*/
const val URL_USE = ""
/**
* Key Aes 加密key
*/
const val KEY_AES = "pex50vwzuhpim3yh"
/**
* Key solar 归因key
*/
const val KEY_SOLAR = ""
// admob广告位id
inline val ID_ADMOB_INTER get() = if (BuildConfig.DEBUG) "ca-app-pub-3940256099942544/1033173712" else "ca-app-pub-3940256099942544/1033173712"
inline val ID_ADMOB_NATIVE get() = if (BuildConfig.DEBUG) "ca-app-pub-3940256099942544/2247696110" else "ca-app-pub-3940256099942544/2247696110"
inline val ID_ADMOB_OPEN get() = if (BuildConfig.DEBUG) "ca-app-pub-3940256099942544/9257395921" else "ca-app-pub-3940256099942544/9257395921"
inline val ID_ADMOB_BANNER get() = if (BuildConfig.DEBUG) "ca-app-pub-3940256099942544/9214589741" else "ca-app-pub-3940256099942544/9214589741"
inline val ID_ADMOB_REWARD get() = if (BuildConfig.DEBUG) "ca-app-pub-3940256099942544/5224354917" else "ca-app-pub-3940256099942544/5224354917"
// max广告位id
inline val KEY_MAX get() = if (BuildConfig.DEBUG) "GGPreND6SRmCt1zJgn5faiLGD8c2PVGPLgPpSg7cHanVTud1DhtuI9MmteTqlEviaJ57WnxW68kQDaATJ5z3cW" else "GGPreND6SRmCt1zJgn5faiLGD8c2PVGPLgPpSg7cHanVTud1DhtuI9MmteTqlEviaJ57WnxW68kQDaATJ5z3cW"
inline val ID_MAX_INTER get() = if (BuildConfig.DEBUG) "3a9efc39d536ffe6" else "3a9efc39d536ffe6"
inline val ID_MAX_NATIVE get() = if (BuildConfig.DEBUG) "cc0cc5b36a2608ca" else "cc0cc5b36a2608ca"
inline val ID_MAX_OPEN get() = if (BuildConfig.DEBUG) "ad4efa4a0bc2a585" else "ad4efa4a0bc2a585"
inline val ID_MAX_BANNER get() = if (BuildConfig.DEBUG) "" else ""
inline val ID_MAX_REWARD get() = if (BuildConfig.DEBUG) "" else ""
}
\ No newline at end of file
......@@ -10,10 +10,12 @@ import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_EMAIL
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_EVENT
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_LOCATION
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_MESSAGE
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_PRODUCT
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_TELEPHONE
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_TEXT
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_WEBSITE
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_WIFI
import com.base.scanqr.bean.ProductUIBean
import com.base.scanqr.bean.ScanBean
import com.base.scanqr.bean.TextUIBean
import com.base.scanqr.bean.WebsiteUIBean
......@@ -77,6 +79,11 @@ class HistoryAdapter : BaseQuickAdapter<ScanBean, CommonViewHolder>() {
}
KEY_MESSAGE -> {}
KEY_PRODUCT -> {
if (item is ProductUIBean) {
binding.ivIcon.setImageResource(R.mipmap.h_product)
}
}
}
......
......@@ -12,6 +12,7 @@ import com.base.scanqr.bean.FunctionUIBean
import com.base.scanqr.bean.ScanBean
import com.base.scanqr.databinding.FragmentHistoryBinding
import com.base.scanqr.ui.email.EmailCodeActivity
import com.base.scanqr.ui.product.ProductCodeActivity
import com.base.scanqr.ui.text.TextCodeActivity
import com.base.scanqr.ui.website.WebsiteCodeActivity
import com.base.scanqr.ui.widget.DeleteQRDialog.showDeleteQRDialog
......@@ -86,6 +87,12 @@ class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBind
putExtra("data", Gson().toJson(item))
})
}
FunctionUIBean.KEY_PRODUCT -> {
activity?.startActivity(Intent(activity, ProductCodeActivity::class.java).apply {
putExtra("data", Gson().toJson(item))
})
}
}
}
......
......@@ -4,6 +4,7 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.base.scanqr.bean.EmailUIBean
import com.base.scanqr.bean.FunctionUIBean
import com.base.scanqr.bean.ProductUIBean
import com.base.scanqr.bean.ScanBean
import com.base.scanqr.bean.TextUIBean
import com.base.scanqr.bean.WebsiteUIBean
......@@ -33,11 +34,15 @@ class HistoryViewModel() : ViewModel() {
emailList.forEach { it.listContent = it.address }
val websiteList = SpJsonUtils.getSpJsonList<WebsiteUIBean>(FunctionUIBean.KEY_WEBSITE)
websiteList.forEach { it.listContent = it.http }
val productList = SpJsonUtils.getSpJsonList<ProductUIBean>(FunctionUIBean.KEY_PRODUCT)
productList.forEach { it.listContent = it.content }
historyList.addAll(wifiList)
historyList.addAll(textList)
historyList.addAll(emailList)
historyList.addAll(websiteList)
historyList.addAll(productList)
historyList.forEach {
LogEx.logDebug(TAG, "${it.scanType} ${it.createTime} ${it.createType} ${it.listContent}")
}
......
package com.base.scanqr.ui.main
import android.content.Intent
import android.net.Uri
import androidx.core.view.updatePadding
import com.base.scanqr.BuildConfig
import com.base.scanqr.GlobalConfig
import com.base.scanqr.R
import com.base.scanqr.base.BaseFragment
import com.base.scanqr.bean.EmailUIBean
import com.base.scanqr.databinding.FragmentSettingsBinding
import com.base.scanqr.utils.BarUtils
import com.base.scanqr.utils.IntentUtils.intentSendEmail
import com.base.scanqr.utils.ToastUtils.toast
class SettingsFragment : BaseFragment<FragmentSettingsBinding>(FragmentSettingsBinding::inflate) {
override fun initView() {
super.initView()
binding.flTop.updatePadding(top = BarUtils.getStatusBarHeight())
binding.tvVersion.text = getString(R.string.version) + BuildConfig.VERSION_NAME
}
override fun initListener() {
super.initListener()
binding.llFeedback.setOnClickListener {
val address = "gamexzone.rk@gmail.com"
val email = EmailUIBean()
email.address = address
val intent = intentSendEmail(email)
try {
startActivity(intent)
} catch (e: Exception) {
requireContext().toast("No application was found to handle the email request", true)
}
}
binding.llPrivacy.setOnClickListener {
runCatching {
val intent = Intent(
Intent.ACTION_VIEW,
Uri.parse(GlobalConfig.URL_PRIVACY)
)
requireContext().startActivity(intent)
}
}
}
}
\ No newline at end of file
......@@ -151,17 +151,28 @@ object DateUtils {
val diff = now.time - then.time
if (diff < 1000 * 60) {
// less than a minute
return (diff / 1000).toString() + " s ago"
} else if (diff < 1000 * 60 * 60) {
// less than an hour
return (diff / (1000 * 60)).toString() + " minute ago"
val minute = (diff / (1000 * 60))
var string = " minute ago"
if (minute > 1L) {
string = " minutes ago"
}
return minute.toString() + string
} else if (diff < 1000 * 60 * 60 * 24) {
// less than a day
return (diff / (1000 * 60 * 60)).toString() + " hour ago"
val hour = (diff / (1000 * 60 * 60))
var string = " hour ago"
if (hour > 1) {
string = " hours ago"
}
return hour.toString() + string
} else {
// more than a day
return (diff / (1000 * 60 * 60 * 24)).toString() + " day ago"
val day = (diff / (1000 * 60 * 60 * 24))
var string = " day ago"
if (day > 1) {
string = " days ago"
}
return day.toString() + string
}
}
......
......@@ -50,4 +50,15 @@
<string name="do_you_want_delete_item">Do you want delete item?</string>
<string name="loading">Loading</string>
<string name="product">Product</string>
<string name="daily_new_product_report">Daily new product report</string>
<string name="information_product_notification">Information product notification</string>
<string name="other">Other</string>
<string name="change_language">Change language</string>
<string name="rate_this_app">Rate this app</string>
<string name="send_feedback">Send Feedback</string>
<string name="manage_subscriptions">Manage Subscriptions</string>
<string name="share_app">Share app</string>
<string name="privacy_policy">Privacy Policy</string>
<string name="check_app_update">Check app update</string>
<string name="version">"Version "</string>
</resources>
\ 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