Commit 14379bbf authored by wanglei's avatar wanglei

...

parent 8dbbc1f0
......@@ -47,6 +47,7 @@ object ConstObject {
const val SHORTCUT_SPLIT_PDF = "shortcut_split_pdf"
const val SHORTCUT_MERGE_PDF = "shortcut_merge_pdf"
var ifAgreePrivacy = false
get() {
return AppPreferences.getInstance().getBoolean("ifAgreePrivacy", field)
......@@ -106,4 +107,23 @@ object ConstObject {
AppPreferences.getInstance().put("selectFollowLanguage", value, true)
}
//是否第一次启动
var isFirstStart = true
get() {
return AppPreferences.getInstance().getBoolean("isFirstStart", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("isFirstStart", value, true)
}
//主页启动次数
var mainStartTimes = 0
get() {
return AppPreferences.getInstance().getInt("mainStartTimes", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("mainStartTimes", value, true)
}
}
\ No newline at end of file
......@@ -64,7 +64,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
activityLanguage: String,
activityTag: String? = null,
activityChangeCallback: ((language: String) -> Unit)? = null
) {
): Boolean {
LogEx.logDebug(
TAG,
"activityTag=$activityTag " +
......@@ -72,6 +72,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
"changeLanguageSp=$changeLanguageSp " +
"activityLanguage=$activityLanguage"
)
var isRecreate = false
if (appLanguageSp != changeLanguageSp || activityLanguage != changeLanguageSp) {
......@@ -80,9 +81,10 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
appLanguageSp = changeLanguageSp
activityChangeCallback?.invoke(changeLanguageSp)
LogEx.logDebug(TAG, "activityTag=$activityTag recreate")
isRecreate = true
this@BaseActivity.recreate()
}
return isRecreate
}
}
\ No newline at end of file
......@@ -7,6 +7,7 @@ import android.net.Uri
import android.os.Bundle
import android.view.View
import androidx.activity.OnBackPressedCallback
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope
import com.base.pdfviewerscannerwhite.R
......@@ -18,6 +19,7 @@ import com.base.pdfviewerscannerwhite.bean.ConstObject.RECENT_DATA_TYPE
import com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_MERGE_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SCAN_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SPLIT_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.mainStartTimes
import com.base.pdfviewerscannerwhite.bean.DocumentBean
import com.base.pdfviewerscannerwhite.databinding.ActivityMain2Binding
import com.base.pdfviewerscannerwhite.helper.BaseActivity
......@@ -86,7 +88,7 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
override fun onResume() {
super.onResume()
updateAppLanguage(MyApplication.mainLanguage, TAG) {
val isRecreate = updateAppLanguage(MyApplication.mainLanguage, TAG) {
supportFragmentManager.beginTransaction().apply {
remove(documentFragment)
remove(recentFragment)
......@@ -97,6 +99,18 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
MyApplication.mainLanguage = it
}
LogEx.logDebug(TAG, "isRecreate=$isRecreate mainStartTimes=$mainStartTimes")
if (!isRecreate) {
mainStartTimes++
} else {
return
}
if (mainStartTimes == 1) {
binding.flScanGuide.visibility = View.VISIBLE
return
}
if (checkStorePermission() && needRefresh) {
mainPresenter.initAllDocumentData()
} else {
......@@ -233,7 +247,17 @@ class MainActivity : BaseActivity<ActivityMain2Binding>(), MainView {
binding.ivScan.setOnClickListener {
mainPresenter.starGmsScan(this)
}
binding.flScanGuide.setOnClickListener {
binding.flScanGuide.visibility = View.GONE
}
binding.tvTryScan.setOnClickListener {
binding.flScanGuide.visibility = View.GONE
mainPresenter.starGmsScan(this)
}
binding.ivScanGuide.setOnClickListener {
binding.flScanGuide.visibility = View.GONE
mainPresenter.starGmsScan(this)
}
actionIdOperation()
}
......
......@@ -5,12 +5,14 @@ import android.graphics.Color
import android.text.SpannableString
import android.text.SpannableStringBuilder
import android.text.style.ForegroundColorSpan
import androidx.activity.addCallback
import androidx.core.content.ContextCompat
import androidx.core.view.updatePadding
import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.databinding.ActivityPermissionBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.utils.BarUtils
import com.base.pdfviewerscannerwhite.utils.PermissionUtils.requestStoragePermission
class PermissionActivity : BaseActivity<ActivityPermissionBinding>() {
......@@ -43,11 +45,16 @@ class PermissionActivity : BaseActivity<ActivityPermissionBinding>() {
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
finishToMain()
}
binding.tvLater.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.tvAllow.setOnClickListener {
requestStoragePermission(launcher) {
onBackPressedDispatcher.onBackPressed()
}
}
}
......
......@@ -12,9 +12,9 @@ import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.ads.AdmobHelper.initAdmobAd
import com.base.pdfviewerscannerwhite.ads.admob.AdmobOpenUtils
import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.SHORTCUT_SCAN_PDF
import com.base.pdfviewerscannerwhite.bean.ConstObject.haveSelectLanguage
import com.base.pdfviewerscannerwhite.bean.ConstObject.ifAgreePrivacy
import com.base.pdfviewerscannerwhite.bean.ConstObject.isFirstStart
import com.base.pdfviewerscannerwhite.databinding.ActivitySplash2Binding
import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.helper.MyApplication
......@@ -25,7 +25,6 @@ import com.base.pdfviewerscannerwhite.ui.permission.PermissionActivity
import com.base.pdfviewerscannerwhite.ui.set.SetLanguageActivity
import com.base.pdfviewerscannerwhite.utils.BarUtils
import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.utils.ToastUtils.toast
import com.base.pdfviewerscannerwhite.utils.UmpUtils
import com.base.pdfviewerscannerwhite.utils.UmpUtils.requestUMP
import java.util.Calendar
......@@ -176,26 +175,33 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
binding.root.postDelayed({
if (!haveSelectLanguage && ConstObject.changeLanguageSp != Locale.ENGLISH.language) {
startActivity(Intent(this, SetLanguageActivity::class.java))
finish()
return@postDelayed
}
LogEx.logDebug(TAG, "jumpNext actionId=$actionId")
when (actionId) {
else -> {
startActivity(Intent(this, MainActivity::class.java).apply {
putExtra("actionId", actionId)
})
if (isFirstStart) {
firstStartJump()
} else {
LogEx.logDebug(TAG, "jumpNext actionId=$actionId")
when (actionId) {
else -> {
startActivity(Intent(this, MainActivity::class.java).apply {
putExtra("actionId", actionId)
})
}
}
this.intent.extras?.clear()
finish()
}
this.intent.extras?.clear()
finish()
}, 100)
}
private fun firstStartJump() {
isFirstStart = false
if (!haveSelectLanguage && ConstObject.changeLanguageSp != Locale.ENGLISH.language) {
startActivity(Intent(this, SetLanguageActivity::class.java))
} else {
startActivity(Intent(this, PermissionActivity::class.java))
}
finish()
}
}
\ No newline at end of file
......@@ -26,70 +26,6 @@
app:layout_constraintEnd_toEndOf="parent"
tools:ignore="ContentDescription" />
<FrameLayout
android:id="@+id/cl_scan_guide"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/ll_bottom"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_gravity="bottom"
android:background="@drawable/bg_00b8de_tl15_tr15"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/tv_scan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="54dp"
android:text="Scan to PDF"
android:textColor="@color/white"
android:textSize="20sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_scan_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="@string/click_this_button_to_use_the_scanning_feature"
android:textColor="@color/white"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="@id/tv_scan"
app:layout_constraintTop_toBottomOf="@id/tv_scan" />
<TextView
android:layout_width="160dp"
android:layout_height="48dp"
android:background="@drawable/bg_ffffff_10"
android:gravity="center"
android:text="@string/try_using_it"
android:textColor="#00B8DE"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/tv_scan"
app:layout_constraintTop_toBottomOf="@id/tv_scan_tip" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="18dp"
android:src="@mipmap/yindaotu_scan"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/ll_bottom"
......@@ -309,6 +245,74 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<FrameLayout
android:id="@+id/fl_scan_guide"
android:layout_width="match_parent"
android:layout_height="0dp"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@id/fl_banner"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_gravity="bottom"
android:background="@drawable/bg_00b8de_tl15_tr15"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/tv_scan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="54dp"
android:text="Scan to PDF"
android:textColor="@color/white"
android:textSize="20sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_scan_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="@string/click_this_button_to_use_the_scanning_feature"
android:textColor="@color/white"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="@id/tv_scan"
app:layout_constraintTop_toBottomOf="@id/tv_scan" />
<TextView
android:id="@+id/tv_try_scan"
android:layout_width="160dp"
android:layout_height="48dp"
android:background="@drawable/bg_ffffff_10"
android:gravity="center"
android:text="@string/try_using_it"
android:textColor="#00B8DE"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/tv_scan"
app:layout_constraintTop_toBottomOf="@id/tv_scan_tip" />
<ImageView
android:id="@+id/iv_scan_guide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="18dp"
android:src="@mipmap/yindaotu_scan"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>
<FrameLayout
android:id="@+id/fl_banner"
android:layout_width="match_parent"
......
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