Commit aec16d9b authored by wanglei's avatar wanglei

init

parent 3beaf72c
...@@ -13,12 +13,7 @@ ...@@ -13,12 +13,7 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.LocationShareWhite" android:theme="@style/Theme.LocationShareWhite"
tools:targetApi="34"> tools:targetApi="34">
<activity
android:name=".ui.set.LanguageActivity"
android:exported="false" />
<activity
android:name=".ui.set.FeedbackActivity"
android:exported="false" />
<meta-data <meta-data
android:name="com.google.android.geo.API_KEY" android:name="com.google.android.geo.API_KEY"
...@@ -37,6 +32,18 @@ ...@@ -37,6 +32,18 @@
<activity <activity
android:name=".ui.main.MainActivity" android:name=".ui.main.MainActivity"
android:exported="false" android:exported="false"
android:launchMode="singleTask"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.set.LanguageActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.set.FeedbackActivity"
android:exported="false"
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
......
...@@ -18,14 +18,12 @@ class LocationShareActivity : BaseActivity<ActivityLocationShareBinding>() { ...@@ -18,14 +18,12 @@ class LocationShareActivity : BaseActivity<ActivityLocationShareBinding>() {
BarUtils.setStatusBarLightMode(this, true) BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.WHITE) BarUtils.setStatusBarColor(this, Color.WHITE)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
} }
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
onBackPressedDispatcher.addCallback { onBackPressedDispatcher.addCallback {
finishToMain() finish()
} }
binding.flFanhui.setOnClickListener { binding.flFanhui.setOnClickListener {
onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
......
...@@ -10,15 +10,19 @@ import com.base.locationsharewhite.ui.howuse.HowUseActivity ...@@ -10,15 +10,19 @@ import com.base.locationsharewhite.ui.howuse.HowUseActivity
import com.base.locationsharewhite.ui.locationmap.LocationMapActivity import com.base.locationsharewhite.ui.locationmap.LocationMapActivity
import com.base.locationsharewhite.ui.set.SettingActivity import com.base.locationsharewhite.ui.set.SettingActivity
import com.base.locationsharewhite.utils.BarUtils import com.base.locationsharewhite.utils.BarUtils
import com.base.locationsharewhite.utils.LogEx
class MainActivity : BaseActivity<ActivityMainBinding>() { class MainActivity : BaseActivity<ActivityMainBinding>() {
private val TAG = "MainActivity"
override val binding: ActivityMainBinding by lazy { override val binding: ActivityMainBinding by lazy {
ActivityMainBinding.inflate(layoutInflater) ActivityMainBinding.inflate(layoutInflater)
} }
override fun initView() { override fun initView() {
LogEx.logDebug(TAG, "initView")
BarUtils.setStatusBarLightMode(this, true) BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT) BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
...@@ -29,6 +33,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -29,6 +33,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
binding.llMapLocation.setOnClickListener { binding.llMapLocation.setOnClickListener {
startActivity(Intent(this, LocationMapActivity::class.java)) startActivity(Intent(this, LocationMapActivity::class.java))
} }
binding.ivFangda.setOnClickListener {
startActivity(Intent(this, LocationMapActivity::class.java))
}
binding.flMyLocationCode.setOnClickListener { binding.flMyLocationCode.setOnClickListener {
startActivity(Intent(this, LocationCodeActivity::class.java)) startActivity(Intent(this, LocationCodeActivity::class.java))
} }
...@@ -41,15 +48,17 @@ class MainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -41,15 +48,17 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
binding.flSettings.setOnClickListener { binding.flSettings.setOnClickListener {
startActivity(Intent(this, SettingActivity::class.java)) startActivity(Intent(this, SettingActivity::class.java))
} }
} }
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
val isRecreate = updateAppLanguage(MyApplication.mainLanguage) { val isRecreate = updateAppLanguage(MyApplication.mainLanguage, TAG) {
MyApplication.mainLanguage = it MyApplication.mainLanguage = it
} }
if (isRecreate) { if (isRecreate) {
return return
} }
LogEx.logDebug(TAG, "onResume isRecreate=$isRecreate")
} }
} }
\ No newline at end of file
package com.base.locationsharewhite.ui.set package com.base.locationsharewhite.ui.set
import android.graphics.Color import android.graphics.Color
import androidx.activity.addCallback
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import com.base.locationsharewhite.R import com.base.locationsharewhite.R
import com.base.locationsharewhite.databinding.ActivityFeedbackBinding import com.base.locationsharewhite.databinding.ActivityFeedbackBinding
...@@ -24,6 +25,12 @@ class FeedbackActivity : BaseActivity<ActivityFeedbackBinding>() { ...@@ -24,6 +25,12 @@ class FeedbackActivity : BaseActivity<ActivityFeedbackBinding>() {
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
onBackPressedDispatcher.addCallback {
finish()
}
binding.flFanhui.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.tvBtn.setOnClickListener { binding.tvBtn.setOnClickListener {
toast(getString(R.string.thanks_for_your_feedback)) toast(getString(R.string.thanks_for_your_feedback))
finish() finish()
......
...@@ -66,10 +66,10 @@ class LanguageActivity : BaseActivity<ActivityLanguageBinding>() { ...@@ -66,10 +66,10 @@ class LanguageActivity : BaseActivity<ActivityLanguageBinding>() {
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
binding.tvNext.setOnClickListener { binding.tvNext.setOnClickListener {
val selectLanguage = adapter.items.findLast { it.isSelect }?.language val selectLanguageBean = adapter.items.findLast { it.isSelect }
selectLanguage ?: return@setOnClickListener selectLanguageBean ?: return@setOnClickListener
ConstObject.changeLanguageSp = selectLanguage ConstObject.changeLanguageSp = selectLanguageBean.language + "_" + selectLanguageBean.country
finish() finish()
} }
} }
......
...@@ -7,6 +7,7 @@ import androidx.core.view.updatePadding ...@@ -7,6 +7,7 @@ import androidx.core.view.updatePadding
import com.base.locationsharewhite.databinding.ActivitySettingBinding import com.base.locationsharewhite.databinding.ActivitySettingBinding
import com.base.locationsharewhite.helper.BaseActivity import com.base.locationsharewhite.helper.BaseActivity
import com.base.locationsharewhite.helper.MyApplication import com.base.locationsharewhite.helper.MyApplication
import com.base.locationsharewhite.ui.views.RateDialog.showRateDialog
import com.base.locationsharewhite.utils.BarUtils import com.base.locationsharewhite.utils.BarUtils
class SettingActivity : BaseActivity<ActivitySettingBinding>() { class SettingActivity : BaseActivity<ActivitySettingBinding>() {
...@@ -36,6 +37,9 @@ class SettingActivity : BaseActivity<ActivitySettingBinding>() { ...@@ -36,6 +37,9 @@ class SettingActivity : BaseActivity<ActivitySettingBinding>() {
binding.llLanguage.setOnClickListener { binding.llLanguage.setOnClickListener {
startActivity(Intent(this, LanguageActivity::class.java)) startActivity(Intent(this, LanguageActivity::class.java))
} }
binding.llRateUse.setOnClickListener {
showRateDialog(true)
}
} }
override fun onResume() { override fun onResume() {
......
...@@ -62,6 +62,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView { ...@@ -62,6 +62,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(), SplashView {
binding.root.postDelayed({ binding.root.postDelayed({
startActivity(Intent(this, MainActivity::class.java)) startActivity(Intent(this, MainActivity::class.java))
finish()
}, 100) }, 100)
} }
......
package com.base.locationsharewhite.ui.views
import android.app.AlertDialog
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.view.Gravity
import android.view.LayoutInflater
import android.widget.LinearLayout
import com.base.locationsharewhite.R
import com.base.locationsharewhite.databinding.DialogRateStarBinding
import com.base.locationsharewhite.utils.AppPreferences
object RateDialog {
fun Context.showRateDialog(mustShow: Boolean = false) {
if (!mustShow) {
if (AppPreferences.getInstance().getBoolean("isRated", false)) {
return
}
}
val dialog = AlertDialog.Builder(this).create()
val binding = DialogRateStarBinding.inflate(LayoutInflater.from(this))
dialog.setView(binding.root)
dialog.setCanceledOnTouchOutside(true)
dialog.show()
val params = dialog.window?.attributes
params?.width = resources.getDimensionPixelOffset(R.dimen.dp_320)
params?.height = LinearLayout.LayoutParams.WRAP_CONTENT
params?.gravity = Gravity.BOTTOM
params?.y = 50
dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
listOf(
binding.iv1,
binding.iv2,
binding.iv3,
binding.iv4,
binding.iv5
).forEachIndexed { index, it ->
it.setOnClickListener {
setStar(binding, index)
}
}
binding.tvCancel.setOnClickListener {
dialog.dismiss()
}
binding.tvRate.setOnClickListener {
if (star >= 5) {
AppPreferences.getInstance().put("isRated", true)
try {
val uri =
Uri.parse("https://play.google.com/store/apps/details?id=" + this.packageName)
val intent = Intent(Intent.ACTION_VIEW, uri)
this.startActivity(intent)
} catch (_: Exception) {
}
}
dialog.dismiss()
}
dialog.setOnDismissListener {
AppPreferences.getInstance().put("isRated", true)
}
}
private var star = 5
private fun setStar(binding: DialogRateStarBinding, star: Int) {
this.star = star + 1
// if (this.star < 3) {
// binding.ivFace.setImageResource(R.mipmap.pingfeniconk)
// } else {
// binding.ivFace.setImageResource(R.mipmap.pingfenicon)
// }
listOf(
binding.iv1,
binding.iv2,
binding.iv3,
binding.iv4,
binding.iv5
).forEachIndexed { index, it ->
it.setImageResource(
if (index <= star) {
R.mipmap.xing_s
} else {
R.mipmap.xing_n
}
)
}
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp"/>
<solid android:color="#454545"/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#F14B3F" />
<corners android:radius="10dp" />
</shape>
\ No newline at end of file
...@@ -56,6 +56,7 @@ ...@@ -56,6 +56,7 @@
tools:ignore="FragmentTagUsage" /> tools:ignore="FragmentTagUsage" />
<ImageView <ImageView
android:id="@+id/iv_fangda"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="end|top" android:layout_gravity="end|top"
......
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="320dp"
android:layout_height="wrap_content"
android:background="@android:color/transparent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="56dp"
android:background="@drawable/bg_ffffff_15"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_thank"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="106dp"
android:gravity="center"
android:text="@string/thank_you_for_your_nsupport"
android:textColor="#001725"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/ll_star"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_thank">
<ImageView
android:id="@+id/iv_1"
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_margin="10dp"
android:src="@mipmap/xing_s"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/iv_2"
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_margin="10dp"
android:src="@mipmap/xing_s"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/iv_3"
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_margin="10dp"
android:src="@mipmap/xing_s"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/iv_4"
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_margin="10dp"
android:src="@mipmap/xing_s"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/iv_5"
android:layout_width="38dp"
android:layout_height="38dp"
android:layout_margin="10dp"
android:src="@mipmap/xing_s"
tools:ignore="ContentDescription" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="35dp"
android:layout_marginBottom="24dp"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_star">
<TextView
android:id="@+id/tv_cancel"
android:layout_width="134dp"
android:layout_height="48dp"
android:background="@drawable/bg_454545_10"
android:gravity="center"
android:text="@string/cancel"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_rate"
android:layout_width="134dp"
android:layout_height="48dp"
android:layout_marginStart="16dp"
android:background="@drawable/bg_f14b3f_10"
android:gravity="center"
android:text="@string/rate"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/pingfentu"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -4,4 +4,5 @@ ...@@ -4,4 +4,5 @@
<dimen name="dp_25">25dp</dimen> <dimen name="dp_25">25dp</dimen>
<dimen name="dp_5">5dp</dimen> <dimen name="dp_5">5dp</dimen>
<dimen name="dp_10">10dp</dimen> <dimen name="dp_10">10dp</dimen>
<dimen name="dp_320">320dp</dimen>
</resources> </resources>
\ No newline at end of file
...@@ -42,4 +42,7 @@ ...@@ -42,4 +42,7 @@
<string name="enter_your_suggestion_please">Enter your suggestion please</string> <string name="enter_your_suggestion_please">Enter your suggestion please</string>
<string name="within_500_characters">Within 500 characters</string> <string name="within_500_characters">Within 500 characters</string>
<string name="thanks_for_your_feedback">Thanks for your feedback</string> <string name="thanks_for_your_feedback">Thanks for your feedback</string>
<string name="thank_you_for_your_nsupport">Thank you for your\nsupport!</string>
<string name="cancel">CANCEL</string>
<string name="rate">RATE</string>
</resources> </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