Commit 16983440 authored by wanglei's avatar wanglei

...需同步到功能...

parent 2d1715ce
...@@ -12,13 +12,35 @@ ...@@ -12,13 +12,35 @@
android:allowBackup="true" android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules" android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules" android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/logo"
android:label="@string/app_name" android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/logo"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.SuperPDFReader" android:theme="@style/Theme.SuperPDFReader"
tools:targetApi="33"> tools:targetApi="33">
<activity
android:name=".activity.SplashActivity"
android:exported="true"
android:launchMode="singleTask"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTask"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity">
</activity>
<activity <activity
android:name=".activity.PdfConvertedActivity" android:name=".activity.PdfConvertedActivity"
android:exported="false" android:exported="false"
...@@ -43,18 +65,7 @@ ...@@ -43,18 +65,7 @@
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTask"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
...@@ -69,8 +80,6 @@ ...@@ -69,8 +80,6 @@
<meta-data <meta-data
android:name="com.facebook.sdk.ApplicationId" android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" /> android:value="@string/facebook_app_id" />
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -46,16 +46,15 @@ class MainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -46,16 +46,15 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
initPage() initPage()
intTab() intTab()
}
override fun onResume() {
super.onResume()
if (checkStorePermission()) { if (checkStorePermission()) {
updateMediaStore() updateMediaStore()
showFloatAction()
} }
} }
fun showFloatAction() {
binding.fab.visibility = View.VISIBLE
}
override fun initListener() { override fun initListener() {
binding.fab.setOnClickListener { binding.fab.setOnClickListener {
......
...@@ -13,7 +13,10 @@ import com.base.superpdfreader.databinding.ActivityImageSelectionBinding ...@@ -13,7 +13,10 @@ import com.base.superpdfreader.databinding.ActivityImageSelectionBinding
import com.base.superpdfreader.helps.BaseActivity import com.base.superpdfreader.helps.BaseActivity
import com.base.superpdfreader.helps.LogEx import com.base.superpdfreader.helps.LogEx
import com.base.superpdfreader.helps.MediaStoreHelp.getMediaImage import com.base.superpdfreader.helps.MediaStoreHelp.getMediaImage
import com.base.superpdfreader.helps.PermissionHelp.checkStorePermission
import com.base.superpdfreader.helps.PermissionHelp.requestStorePermission
import com.base.superpdfreader.utils.BarUtils import com.base.superpdfreader.utils.BarUtils
import com.base.superpdfreader.view.DialogViews.showGerPermission
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import java.io.File import java.io.File
...@@ -45,7 +48,17 @@ class ImageSelectionActivity : BaseActivity<ActivityImageSelectionBinding>() { ...@@ -45,7 +48,17 @@ class ImageSelectionActivity : BaseActivity<ActivityImageSelectionBinding>() {
}) })
binding.rvSelectedImage.adapter = selectedAdapter binding.rvSelectedImage.adapter = selectedAdapter
initData() if (checkStorePermission()) {
initData()
} else {
showGerPermission(null, deny = { finishToMain() }, allow = {
requestStorePermission(launcher, jumpAction = {}, result = { flag ->
if (flag) {
initData()
}
})
})
}
} }
private fun selectedImageRemoveAction(imageBean: ImageBean) { private fun selectedImageRemoveAction(imageBean: ImageBean) {
......
package com.base.superpdfreader.activity
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color
import androidx.lifecycle.lifecycleScope
import com.base.superpdfreader.MainActivity
import com.base.superpdfreader.databinding.ActivitySplashBinding
import com.base.superpdfreader.helps.BaseActivity
import com.base.superpdfreader.utils.BarUtils
import kotlinx.coroutines.Job
import kotlinx.coroutines.channels.BufferOverflow
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.SharedFlow
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.isActive
import kotlinx.coroutines.launch
import kotlin.random.Random
@SuppressLint("CustomSplashScreen")
class SplashActivity : BaseActivity<ActivitySplashBinding>() {
private lateinit var job: Job
private val progress = MutableSharedFlow<Int>()
private val progressFlow: SharedFlow<Int> = progress
override val binding: ActivitySplashBinding by lazy {
ActivitySplashBinding.inflate(layoutInflater)
}
override fun initView() {
BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
lifecycleScope.launch {
progressFlow.collectLatest {
if (it >= 100) {
startActivity(Intent(this@SplashActivity, MainActivity::class.java))
finish()
}
}
}
}
fun startProgress() = lifecycleScope.launch {
while (isActive) {
delay(Random.nextLong(50, 150))
val value = binding.pb.progress + Random.nextInt(3, 5)
binding.pb.setProgress(value, true)
progress.emit(value)
}
}
override fun onResume() {
super.onResume()
job = startProgress()
}
override fun onPause() {
super.onPause()
job.cancel()
}
}
\ No newline at end of file
...@@ -2,6 +2,8 @@ package com.base.superpdfreader.fragment ...@@ -2,6 +2,8 @@ package com.base.superpdfreader.fragment
import android.app.Dialog import android.app.Dialog
import android.net.Uri import android.net.Uri
import android.os.Bundle
import android.view.View
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
...@@ -31,7 +33,6 @@ class DocumentListFragment() : BaseFragment<FragmentDocumentListBinding>() { ...@@ -31,7 +33,6 @@ class DocumentListFragment() : BaseFragment<FragmentDocumentListBinding>() {
FragmentDocumentListBinding.inflate(layoutInflater) FragmentDocumentListBinding.inflate(layoutInflater)
} }
override fun setView() { override fun setView() {
when (UI_MODE) { when (UI_MODE) {
MODE_PDF -> { MODE_PDF -> {
...@@ -69,10 +70,10 @@ class DocumentListFragment() : BaseFragment<FragmentDocumentListBinding>() { ...@@ -69,10 +70,10 @@ class DocumentListFragment() : BaseFragment<FragmentDocumentListBinding>() {
} }
binding.rv.adapter = adapter binding.rv.adapter = adapter
}
if (requireContext().checkStorePermission()) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
initData() super.onViewCreated(view, savedInstanceState)
}
} }
override fun setListener() { override fun setListener() {
...@@ -153,6 +154,9 @@ class DocumentListFragment() : BaseFragment<FragmentDocumentListBinding>() { ...@@ -153,6 +154,9 @@ class DocumentListFragment() : BaseFragment<FragmentDocumentListBinding>() {
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
binding.llPermission.isVisible = !requireContext().checkStorePermission() binding.llPermission.isVisible = !requireContext().checkStorePermission()
if (requireContext().checkStorePermission()) {
initData()
}
} }
companion object { companion object {
......
package com.base.superpdfreader.utils package com.base.superpdfreader.utils
//noinspection SuspiciousImport
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
import android.content.res.Resources import android.content.res.Resources
...@@ -12,7 +11,6 @@ import android.view.Window ...@@ -12,7 +11,6 @@ import android.view.Window
import android.view.WindowManager import android.view.WindowManager
import androidx.annotation.ColorInt import androidx.annotation.ColorInt
object BarUtils { object BarUtils {
......
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<stroke
android:width="1px"
android:color="#FF3835" />
<corners android:radius="6dp" />
</shape>
</item>
<item
android:id="@android:id/progress"
android:bottom="3dp"
android:end="3dp"
android:start="3dp"
android:top="3dp">
<scale android:scaleWidth="100%">
<shape>
<corners android:radius="5dp" />
<solid android:color="#FF3835" />
</shape>
</scale>
</item>
</layer-list>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white"/>
<!-- <item android:drawable="@drawable/splash_bg" />-->
<item
android:top="130dp"
android:gravity="top|center_horizontal">
<bitmap
android:src="@mipmap/qdylogo" />
</item>
</layer-list>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash_bp"
android:gravity="center_horizontal"
android:orientation="vertical">
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="2" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/id_ll_jindu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="49dp"
android:gravity="center_horizontal"
android:orientation="vertical">
<ProgressBar
android:layout_marginTop="5dp"
android:id="@+id/pb"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="15dp"
android:layout_marginHorizontal="32dp"
android:max="100"
android:progressDrawable="@drawable/shape_splash_s"
tools:progress="50" />
<TextView
android:id="@+id/tv_load"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:text="Loading..."
android:textColor="#000000"
android:textSize="15sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_ad_des"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="42dp"
android:text="This process may involve ad."
android:textColor="#000000"
android:textSize="15sp"
tools:ignore="HardcodedText" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
\ 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