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
}
}
......
......@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
tools:context=".ui.main.SettingsFragment">
<FrameLayout
......@@ -27,8 +28,8 @@
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/fl_top">
<LinearLayout
......@@ -41,6 +42,7 @@
android:layout_height="60dp"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="20dp"
android:visibility="gone"
app:cardCornerRadius="10dp"
app:cardElevation="3dp">
......@@ -54,7 +56,8 @@
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="15dp"
android:src="@mipmap/scancontrol" />
android:src="@mipmap/scancontrol"
tools:ignore="ContentDescription,ImageContrastCheck" />
<TextView
android:layout_width="0dp"
......@@ -64,14 +67,16 @@
android:layout_weight="1"
android:includeFontPadding="false"
android:text="Scan control"
android:textColor="@color/black" />
android:textColor="@color/black"
tools:ignore="HardcodedText" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="14dp"
android:src="@mipmap/jiantou" />
android:src="@mipmap/jiantou"
tools:ignore="ContentDescription" />
</LinearLayout>
......@@ -84,28 +89,417 @@
android:layout_marginTop="20dp"
android:text="Notification"
android:textColor="#838383"
android:textSize="16sp" />
android:textSize="16sp"
android:visibility="gone"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="114dp"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="15dp"
android:visibility="gone"
app:cardCornerRadius="10dp"
app:cardElevation="3dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginStart="15dp"
android:text="@string/daily_new_product_report"
android:textColor="@color/black"
android:textSize="16sp" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/switchDailyReport"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="26dp"
android:checked="false"
android:textColor="#646469"
android:textSize="15sp"
android:thumb="@drawable/bg_switch_thumb_ffffff"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:thumbTint="@color/white"
app:track="@drawable/bg_switch_track"
app:trackTint="@color/switch_track_selector"
tools:ignore="HardcodedText,DuplicateSpeakableTextCheck" />
</FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginStart="15dp"
android:text="@string/information_product_notification"
android:textColor="@color/black"
android:textSize="16sp" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/switchInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:layout_marginEnd="26dp"
android:checked="false"
android:textColor="#646469"
android:textSize="15sp"
android:thumb="@drawable/bg_switch_thumb_ffffff"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:thumbTint="@color/white"
app:track="@drawable/bg_switch_track"
app:trackTint="@color/switch_track_selector"
tools:ignore="HardcodedText" />
</FrameLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="20dp"
android:text="@string/other"
android:textColor="#838383"
android:textSize="16sp"
android:visibility="gone"
tools:ignore="TextContrastCheck" />
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="15dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="10dp"
app:cardElevation="3dp">
</androidx.core.widget.NestedScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- 语言-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp"
android:layout_marginStart="15dp"
android:src="@mipmap/language"
tools:ignore="ContentDescription,ImageContrastCheck" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="12dp"
android:layout_weight="1"
android:text="@string/change_language"
android:textColor="@color/black"
android:textSize="16sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="14dp"
android:src="@mipmap/jiantou"
tools:ignore="ContentDescription" />
</LinearLayout>
<!--评分-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp"
android:layout_marginStart="15dp"
android:src="@mipmap/rateapp"
tools:ignore="ContentDescription,ImageContrastCheck" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="12dp"
android:layout_weight="1"
android:text="@string/rate_this_app"
android:textColor="@color/black"
android:textSize="16sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="14dp"
android:src="@mipmap/jiantou"
tools:ignore="ContentDescription" />
</LinearLayout>
<!--feedback-->
<LinearLayout
android:id="@+id/llFeedback"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp"
android:layout_marginStart="15dp"
android:src="@mipmap/feedback"
tools:ignore="ContentDescription,ImageContrastCheck" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="12dp"
android:layout_weight="1"
android:text="@string/send_feedback"
android:textColor="@color/black"
android:textSize="16sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="14dp"
android:src="@mipmap/jiantou"
tools:ignore="ContentDescription" />
</LinearLayout>
<!--订阅-->
<LinearLayout
android:id="@+id/llPrivacy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp"
android:layout_marginStart="15dp"
android:src="@mipmap/manage"
tools:ignore="ContentDescription,ImageContrastCheck" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="12dp"
android:layout_weight="1"
android:text="@string/manage_subscriptions"
android:textColor="@color/black"
android:textSize="16sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="14dp"
android:src="@mipmap/jiantou"
tools:ignore="ContentDescription" />
</LinearLayout>
<!--分享-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp"
android:layout_marginStart="15dp"
android:src="@mipmap/shareg"
tools:ignore="ContentDescription,ImageContrastCheck" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="12dp"
android:layout_weight="1"
android:text="@string/share_app"
android:textColor="@color/black"
android:textSize="16sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="14dp"
android:src="@mipmap/jiantou"
tools:ignore="ContentDescription" />
</LinearLayout>
<!--隐私-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp"
android:layout_marginStart="15dp"
android:src="@mipmap/privacy"
tools:ignore="ContentDescription,ImageContrastCheck" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="12dp"
android:layout_weight="1"
android:text="@string/privacy_policy"
android:textColor="@color/black"
android:textSize="16sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="14dp"
android:src="@mipmap/jiantou"
tools:ignore="ContentDescription" />
</LinearLayout>
<!--检查更新-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginVertical="12dp"
android:layout_marginStart="15dp"
android:src="@mipmap/check"
tools:ignore="ContentDescription,ImageContrastCheck" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="12dp"
android:layout_weight="1"
android:text="@string/check_app_update"
android:textColor="@color/black"
android:textSize="16sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="14dp"
android:src="@mipmap/jiantou"
tools:ignore="ContentDescription" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="5dp"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingVertical="10dp"
android:src="@mipmap/set_logo" />
<TextView
android:textStyle="bold"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:includeFontPadding="false"
android:text="@string/app_name"
android:textColor="@color/black"
android:textSize="13sp" />
<TextView
android:id="@+id/tvVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:includeFontPadding="false"
android:textColor="#666666"
android:textSize="13sp" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -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