From 76bc6819c79e701845b44533140c5d1f4699f6f7 Mon Sep 17 00:00:00 2001 From: rosuh Date: Sat, 9 Apr 2022 22:02:28 +0800 Subject: [PATCH 1/3] :arrow_up: --- README_zh-CN.md | 2 ++ app/build.gradle.kts | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README_zh-CN.md b/README_zh-CN.md index e2e559b1..4efa43a4 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -4,6 +4,8 @@ GitHub release (latest by date)

+ +

安全、简单、快速地为你的敏感照片添加水印,防止被小人泄露、利用。
diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7af65b77..7b94b0f7 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -81,21 +81,21 @@ dependencies { kapt("com.google.dagger:hilt-compiler:2.40.4") implementation("com.github.bumptech.glide:glide:4.13.1") kapt("com.github.bumptech.glide:compiler:4.13.1") - implementation("org.jetbrains.kotlin:kotlin-stdlib:1.6.10") + implementation("org.jetbrains.kotlin:kotlin-stdlib:1.6.20") implementation("androidx.appcompat:appcompat:1.4.1") implementation("id.zelory:compressor:3.0.1") implementation("com.google.android.material:material:1.6.0-alpha03") implementation("androidx.fragment:fragment-ktx:1.4.0") implementation("androidx.activity:activity-ktx:1.4.0") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.1") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2") implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.4.0") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0") implementation("com.github.skydoves:colorpickerview:2.2.3") implementation("androidx.viewpager2:viewpager2:1.0.0") implementation("androidx.recyclerview:recyclerview:1.2.1") implementation("androidx.constraintlayout:constraintlayout:2.1.3") - implementation("org.jetbrains.kotlin:kotlin-stdlib:1.6.10") + implementation("org.jetbrains.kotlin:kotlin-stdlib:1.6.20") implementation("androidx.exifinterface:exifinterface:1.3.3") implementation("androidx.palette:palette-ktx:1.0.0") From 9d62789dc2807e22d347f47805c1428ea976cdc4 Mon Sep 17 00:00:00 2001 From: rosuh Date: Sat, 9 Apr 2022 22:20:55 +0800 Subject: [PATCH 2/3] :art: [Update] - Let the content to be the first option. --- .../me/rosuh/easywatermark/ui/MainActivity.kt | 24 ++++++++----------- .../easywatermark/ui/widget/LaunchView.kt | 2 +- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/me/rosuh/easywatermark/ui/MainActivity.kt b/app/src/main/java/me/rosuh/easywatermark/ui/MainActivity.kt index 6c66ee00..82b5c71c 100644 --- a/app/src/main/java/me/rosuh/easywatermark/ui/MainActivity.kt +++ b/app/src/main/java/me/rosuh/easywatermark/ui/MainActivity.kt @@ -128,7 +128,7 @@ class MainActivity : AppCompatActivity() { } private val funcAdapter by lazy { - FuncPanelAdapter(ArrayList(styleFunList)).apply { + FuncPanelAdapter(ArrayList(contentFunList)).apply { setHasStableIds(true) } } @@ -547,11 +547,10 @@ class MainActivity : AppCompatActivity() { val adapter = (launchView.rvPanel.adapter as? FuncPanelAdapter) when (tab.position) { 0 -> { - launchView.rvPanel.smoothScrollToPosition(0) - adapter?.also { - it.seNewData(styleFunList, 0) - post { handleFuncItem(it.dataSet[0]) } - } + val curPos = + if (launchView.ivPhoto.config?.markMode == WaterMarkRepository.MarkMode.Text) 0 else 1 + adapter?.seNewData(contentFunList, curPos) + manuallySelectedItem(curPos) } 2 -> { launchView.rvPanel.smoothScrollToPosition(0) @@ -561,10 +560,11 @@ class MainActivity : AppCompatActivity() { } } else -> { - val curPos = - if (launchView.ivPhoto.config?.markMode == WaterMarkRepository.MarkMode.Text) 0 else 1 - adapter?.seNewData(contentFunList, curPos) - manuallySelectedItem(curPos) + launchView.rvPanel.smoothScrollToPosition(0) + adapter?.also { + it.seNewData(styleFunList, 0) + post { handleFuncItem(it.dataSet[0]) } + } } } } @@ -572,10 +572,6 @@ class MainActivity : AppCompatActivity() { override fun onTabUnselected(tab: TabLayout.Tab?) {} override fun onTabReselected(tab: TabLayout.Tab?) { - val adapter = (launchView.rvPanel.adapter as? FuncPanelAdapter) - adapter?.also { - post { handleFuncItem(it.dataSet[0]) } - } } }) } diff --git a/app/src/main/java/me/rosuh/easywatermark/ui/widget/LaunchView.kt b/app/src/main/java/me/rosuh/easywatermark/ui/widget/LaunchView.kt index 8dd2c9d8..11431c9a 100644 --- a/app/src/main/java/me/rosuh/easywatermark/ui/widget/LaunchView.kt +++ b/app/src/main/java/me/rosuh/easywatermark/ui/widget/LaunchView.kt @@ -137,8 +137,8 @@ class LaunchView : CustomViewGroup { it.text = context.getString(R.string.title_layout) } - addTab(styleTab) addTab(contentTab) + addTab(styleTab) addTab(layoutTab) } } From c064d60b0a5a85c81e7b15b46d37f2390a113770 Mon Sep 17 00:00:00 2001 From: rosuh Date: Wed, 4 May 2022 11:59:44 +0800 Subject: [PATCH 3/3] :art: [Update] - Constrain changes to the background color. [Fix] - Cancel full screen mode. --- .../me/rosuh/easywatermark/ui/MainActivity.kt | 56 ++++--------------- .../easywatermark/ui/about/AboutActivity.kt | 4 ++ 2 files changed, 15 insertions(+), 45 deletions(-) diff --git a/app/src/main/java/me/rosuh/easywatermark/ui/MainActivity.kt b/app/src/main/java/me/rosuh/easywatermark/ui/MainActivity.kt index 82b5c71c..d1dbb547 100644 --- a/app/src/main/java/me/rosuh/easywatermark/ui/MainActivity.kt +++ b/app/src/main/java/me/rosuh/easywatermark/ui/MainActivity.kt @@ -7,7 +7,6 @@ import android.content.ClipboardManager import android.content.Context import android.content.Intent import android.content.Intent.ACTION_SEND -import android.content.Intent.ACTION_VIEW import android.content.pm.PackageManager import android.content.res.ColorStateList import android.graphics.Color @@ -26,9 +25,6 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.content.edit -import androidx.core.view.WindowCompat -import androidx.core.view.WindowInsetsCompat -import androidx.core.view.WindowInsetsControllerCompat import androidx.core.view.forEach import androidx.fragment.app.commit import androidx.lifecycle.lifecycleScope @@ -224,34 +220,6 @@ class MainActivity : AppCompatActivity() { if (MyApp.recoveryMode) { return } - if (hasFocus) { - hideSystemUI() - } - } - - private fun hideSystemUI() { - // Enables regular immersive mode. - // For "lean back" mode, remove SYSTEM_UI_FLAG_IMMERSIVE. - // Or for "sticky immersive," replace it with SYSTEM_UI_FLAG_IMMERSIVE_STICKY - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) { - WindowCompat.setDecorFitsSystemWindows(window, false) - WindowInsetsControllerCompat(window, launchView).let { controller -> - controller.hide(WindowInsetsCompat.Type.systemBars()) - controller.systemBarsBehavior = - WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE - } - } else { - window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_IMMERSIVE - // Set the content to appear under the system bars so that the - // content doesn't resize when the system bars hide and show. - or View.SYSTEM_UI_FLAG_LAYOUT_STABLE - or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION - or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - // Hide the nav bar and status bar - or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION - or View.SYSTEM_UI_FLAG_FULLSCREEN) - } - } private fun registerResultCallback() { @@ -391,9 +359,9 @@ class MainActivity : AppCompatActivity() { ) { val c = it.animatedValue as Int if (launchView.isEdit()) { - launchView.rvPanel.setBackgroundColor(it.animatedValue as Int) - setActivityBackground(c) - setStatusBarColor(c, isInEditMode = true) + doApplyBgChanged(c) + } else { + doApplyBgChanged() } } funcAdapter.textColor.toColor(titleTextColor) { @@ -418,8 +386,7 @@ class MainActivity : AppCompatActivity() { @SuppressLint("ClickableViewAccessibility") private fun initView() { - setActivityBackground(ContextCompat.getColor(this, R.color.md_theme_dark_background)) - setStatusBarColor(ContextCompat.getColor(this, R.color.md_theme_dark_background), false) + doApplyBgChanged() // prepare MotionLayout launchView.setListener { onModeChange { _, newMode -> @@ -800,18 +767,17 @@ class MainActivity : AppCompatActivity() { viewModel.clearData() launchView.ivPhoto.reset() bgTransformAnimator?.cancel() - (launchView.background as? ColorDrawable?)?.color?.toColor( - ContextCompat.getColor(this, R.color.md_theme_dark_background) - ) { - val c = it.animatedValue as Int - setActivityBackground(c) - setStatusBarColor(c, isInEditMode = false) - } + doApplyBgChanged() hideDetailPanel() } - private fun setActivityBackground(color: Int) { + private fun doApplyBgChanged(color: Int = ContextCompat.getColor(this, R.color.md_theme_dark_background)) { (launchView.parent as? View?)?.setBackgroundColor(color) + window?.navigationBarColor = Color.TRANSPARENT + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + window?.navigationBarDividerColor = Color.TRANSPARENT + } + setStatusBarColor(color, true) } private fun selectTab(index: Int) { diff --git a/app/src/main/java/me/rosuh/easywatermark/ui/about/AboutActivity.kt b/app/src/main/java/me/rosuh/easywatermark/ui/about/AboutActivity.kt index ccf63e72..58c75a71 100644 --- a/app/src/main/java/me/rosuh/easywatermark/ui/about/AboutActivity.kt +++ b/app/src/main/java/me/rosuh/easywatermark/ui/about/AboutActivity.kt @@ -40,6 +40,10 @@ class AboutActivity : AppCompatActivity() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { window.setDecorFitsSystemWindows(false) } + window?.navigationBarColor = Color.TRANSPARENT + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + window?.navigationBarDividerColor = Color.TRANSPARENT + } } private fun changeStatusBarStyle(color: Int = colorSurface) {