カラム背景のアルファ値が低いときに警告を表示する

This commit is contained in:
tateisu 2023-02-12 03:10:00 +09:00
parent b6f30f0097
commit 94462b69bc
4 changed files with 39 additions and 34 deletions

View File

@ -29,10 +29,7 @@ import jp.juggler.util.log.LogCategory
import jp.juggler.util.log.showToast
import jp.juggler.util.log.withCaption
import jp.juggler.util.media.createResizedBitmap
import jp.juggler.util.ui.ActivityResultHandler
import jp.juggler.util.ui.hideKeyboard
import jp.juggler.util.ui.isNotOk
import jp.juggler.util.ui.setNavigationBack
import jp.juggler.util.ui.*
import org.jetbrains.anko.textColor
import java.io.File
import java.io.FileOutputStream
@ -323,14 +320,7 @@ class ActColumnCustomize : AppCompatActivity(), View.OnClickListener, ColorPicke
if (loadingBusy) return
if (!fromUser) return
column.columnBgImageAlpha = progress / PROGRESS_MAX.toFloat()
views.ivColumnBackground.alpha = column.columnBgImageAlpha
views.etAlpha.setText(
String.format(
defaultLocale(this@ActColumnCustomize),
"%.4f",
column.columnBgImageAlpha
)
)
showAlpha(updateText = true, updateSeek = false)
}
})
@ -342,16 +332,13 @@ class ActColumnCustomize : AppCompatActivity(), View.OnClickListener, ColorPicke
override fun afterTextChanged(s: Editable) {
if (loadingBusy) return
try {
var f = NumberFormat.getInstance(defaultLocale(this@ActColumnCustomize))
.parse(views.etAlpha.text.toString())?.toFloat()
if (f != null && !f.isNaN()) {
if (f < 0f) f = 0f
if (f > 1f) f = 1f
column.columnBgImageAlpha = f
views.ivColumnBackground.alpha = column.columnBgImageAlpha
views.sbColumnBackgroundAlpha.progress = (0.5f + f * PROGRESS_MAX).toInt()
showAlpha(updateText = false, updateSeek = true)
}
} catch (ex: Throwable) {
log.e(ex, "alpha parse failed.")
@ -390,21 +377,7 @@ class ActColumnCustomize : AppCompatActivity(), View.OnClickListener, ColorPicke
ViewCompat.setBackground(views.flColumnBackground, null)
}
var alpha = column.columnBgImageAlpha
if (alpha.isNaN()) {
alpha = 1f
column.columnBgImageAlpha = alpha
}
views.ivColumnBackground.alpha = alpha
views.sbColumnBackgroundAlpha.progress = (0.5f + alpha * PROGRESS_MAX).toInt()
views.etAlpha.setText(
String.format(
defaultLocale(this@ActColumnCustomize),
"%.4f",
column.columnBgImageAlpha
)
)
showAlpha(updateText = true, updateSeek = true)
loadImage(views.ivColumnBackground, column.columnBgImage)
@ -415,6 +388,24 @@ class ActColumnCustomize : AppCompatActivity(), View.OnClickListener, ColorPicke
}
}
private fun showAlpha(updateText: Boolean, updateSeek: Boolean) {
var alpha = column.columnBgImageAlpha
if (alpha.isNaN()) {
alpha = 1f
column.columnBgImageAlpha = alpha
}
views.ivColumnBackground.alpha = alpha
val hasAlphaWarning = alpha < 0.3 && column.columnBgImage.isNotEmpty()
views.tvBackgroundError.vg(hasAlphaWarning)?.text =
getString(R.string.image_alpha_too_low)
if (updateText) {
views.etAlpha.setText("%.4f".format(column.columnBgImageAlpha))
}
if (updateSeek) {
views.sbColumnBackgroundAlpha.progress = (0.5f + alpha * PROGRESS_MAX).toInt()
}
}
private fun closeBitmaps() {
try {
views.ivColumnBackground.setImageDrawable(null)

View File

@ -117,7 +117,10 @@
style="@style/setting_row_label"
android:text="@string/column" />
<LinearLayout style="@style/setting_row_form">
<LinearLayout style="@style/setting_row_form"
android:orientation="vertical"
android:layout_marginBottom="6dp"
>
<FrameLayout
android:id="@+id/flColumnBackground"
@ -159,7 +162,6 @@
android:textColor="?attr/colorTextContent" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
<LinearLayout style="@style/setting_row_form">
@ -251,8 +253,18 @@
android:paddingStart="32dp" />
</LinearLayout>
<LinearLayout style="@style/setting_row_form">
<TextView
style="@style/setting_row_form"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tvBackgroundError"
android:visibility="gone"
android:textColor="?attr/colorRegexFilterError"
tools:visibility="visible"
tools:text="error error error error " />
<LinearLayout style="@style/setting_row_form">
<TextView
style="@style/setting_row_label"
android:text="@string/acct_color" />

View File

@ -1258,4 +1258,5 @@
<string name="bug_report">バグ報告</string>
<string name="bug_report_desc">アプリは過去数日間のログを保持していますが、勝手に外部に送信することはありません。ユーザが明示的にログを送信する操作した時だけ参照されます。</string>
<string name="log_save_level_desc">ログの重要度。 この設定より重要度が低いログは収集されません。</string>
<string name="image_alpha_too_low">背景画像のアルファが低すぎます。 画像を見ることができますか?</string>
</resources>

View File

@ -1266,4 +1266,5 @@
<string name="bug_report">Bug report</string>
<string name="bug_report_desc">The app keeps logs for the past few days, but does not send them outside without permission. It is only referenced when the user explicitly sends logs.</string>
<string name="log_save_level_desc">Log severity level. Logs with a severity less than this setting will not be collected.</string>
<string name="image_alpha_too_low">background image alpha is too low. can you view the image?</string>
</resources>