ダークテーマの一部の配色を微妙に変更。リファクタ

This commit is contained in:
tateisu 2019-01-21 08:00:59 +09:00
parent 07cb256979
commit 0939f524bc
13 changed files with 64 additions and 79 deletions

View File

@ -39,6 +39,8 @@ import okhttp3.MediaType
import okhttp3.MultipartBody
import okhttp3.RequestBody
import okio.BufferedSink
import org.jetbrains.anko.backgroundColor
import org.jetbrains.anko.textColor
import org.json.JSONObject
import java.io.*
@ -208,10 +210,7 @@ class ActAccountSetting
addAttachment(
requestCode,
it.uri,
if(it.mimeType?.isNotEmpty() == true)
it.mimeType
else
contentResolver.getType(it.uri)
it.mimeType?.notEmpty() ?: contentResolver.getType(it.uri)
)
}
}
@ -451,15 +450,10 @@ class ActAccountSetting
private fun showAcctColor() {
val ac = AcctColor.load(full_acct)
val nickname = ac.nickname
tvUserCustom.text = if(nickname?.isNotEmpty() == true) nickname else full_acct
tvUserCustom.setTextColor(
if(ac.color_fg != 0) ac.color_fg else getAttributeColor(
this,
R.attr.colorTimeSmall
)
)
tvUserCustom.setBackgroundColor(ac.color_bg)
tvUserCustom.backgroundColor = ac.color_bg
tvUserCustom.text = ac.nickname?.notEmpty() ?: full_acct
tvUserCustom.textColor = ac.color_fg.notZero()
?: getAttributeColor(this, R.attr.colorTimeSmall)
}
private fun saveUIToData() {
@ -1179,8 +1173,6 @@ class ActAccountSetting
updateCredential("note", EmojiDecoder.decodeShortCode(sv))
}
private fun sendLocked(willLocked : Boolean) {
updateCredential("locked", willLocked)
}

View File

@ -23,6 +23,7 @@ import jp.juggler.subwaytooter.table.AcctColor
import jp.juggler.subwaytooter.table.SavedAccount
import jp.juggler.util.*
import org.apache.commons.io.IOUtils
import org.jetbrains.anko.backgroundColor
import org.jetbrains.anko.backgroundDrawable
import org.jetbrains.anko.textColor
import java.io.File
@ -685,23 +686,13 @@ class ActAppSettingChild : AppCompatActivity()
private fun showColumnSample() {
flColumnBackground ?: return
var c = when {
color_column_bg != 0 -> color_column_bg
else -> 0
}
flColumnBackground !!.setBackgroundColor(c)
flColumnBackground?.backgroundColor = color_column_bg // may 0
c = when {
color_column_acct != 0 -> color_column_acct
else -> getAttributeColor(this, R.attr.colorTimeSmall)
}
tvSampleAcct !!.setTextColor(c)
tvSampleAcct?.textColor = color_column_acct.notZero()
?: getAttributeColor(this, R.attr.colorTimeSmall)
c = when {
color_column_text != 0 -> color_column_text
else -> getAttributeColor(this, R.attr.colorContentText)
}
tvSampleContent !!.setTextColor(c)
tvSampleContent?.textColor = color_column_text.notZero()
?: getAttributeColor(this, R.attr.colorContentText)
}
@ -972,11 +963,11 @@ class ActAppSettingChild : AppCompatActivity()
}
override fun onColorSelected(dialogId : Int, @ColorInt colorSelected : Int) {
val colorOpaque = colorSelected or Color.BLACK
val colorAlpha = colorSelected.notZero() ?: 0x01000000
when(dialogId) {
COLOR_DIALOG_ID_FOOTER_BUTTON_BG -> {
@ -1076,8 +1067,12 @@ class ActAppSettingChild : AppCompatActivity()
private fun showFooterColor() {
ivFooterToot ?: return
val colorBg = footer_button_bg_color.notZero() ?: getAttributeColor(this, R.attr.colorStatusButtonsPopupBg)
val colorRipple = footer_button_fg_color.notZero() ?: getAttributeColor(this, R.attr.colorRippleEffect)
val colorBg = footer_button_bg_color.notZero() ?: getAttributeColor(
this,
R.attr.colorStatusButtonsPopupBg
)
val colorRipple =
footer_button_fg_color.notZero() ?: getAttributeColor(this, R.attr.colorRippleEffect)
ivFooterToot?.backgroundDrawable = getAdaptiveRippleDrawable(colorBg, colorRipple)
ivFooterMenu?.backgroundDrawable = getAdaptiveRippleDrawable(colorBg, colorRipple)
@ -1093,7 +1088,8 @@ class ActAppSettingChild : AppCompatActivity()
?: getAttributeColor(this, R.attr.colorColumnStripBackground)
)
val c = footer_tab_divider_color.notZero() ?: getAttributeColor(this, R.attr.colorImageButton)
val c =
footer_tab_divider_color.notZero() ?: getAttributeColor(this, R.attr.colorImageButton)
vFooterDivider1?.setBackgroundColor(c)
vFooterDivider2?.setBackgroundColor(c)

View File

@ -100,11 +100,10 @@ class ActKeywordFilter
if(filter_id != null ) {
startLoading()
} else {
val sv = intent.getStringExtra(EXTRA_INITIAL_PHRASE)
if(sv?.isNotEmpty() == true) {
etPhrase.setText(sv)
}
tvExpire.setText(R.string.filter_expire_unlimited)
etPhrase.setText(
intent.getStringExtra(EXTRA_INITIAL_PHRASE).notEmpty()
?: getString(R.string.filter_expire_unlimited)
)
}
} else {
val iv = savedInstanceState.getInt(STATE_EXPIRE_SPINNER, - 1)

View File

@ -1205,7 +1205,8 @@ class ActMain : AppCompatActivity()
internal fun initUI() {
setContentView(R.layout.act_main)
MyClickableSpan.defaultLinkColor = Pref.ipLinkColor(pref)
MyClickableSpan.defaultLinkColor = Pref.ipLinkColor(pref).notZero()
?: getAttributeColor(this, R.attr.colorLink)
Column.reloadDefaultColor(this, pref)

View File

@ -17,10 +17,9 @@ import android.widget.TextView
import com.jrummyapps.android.colorpicker.ColorPickerDialog
import com.jrummyapps.android.colorpicker.ColorPickerDialogListener
import jp.juggler.subwaytooter.table.AcctColor
import jp.juggler.util.getAttributeColor
import jp.juggler.util.hideKeyboard
import jp.juggler.util.mayUri
import jp.juggler.util.notZero
import jp.juggler.util.*
import org.jetbrains.anko.backgroundColor
import org.jetbrains.anko.textColor
class ActNickname : AppCompatActivity(), View.OnClickListener, ColorPickerDialogListener {
@ -173,9 +172,9 @@ class ActNickname : AppCompatActivity(), View.OnClickListener, ColorPickerDialog
private fun show() {
val s = etNickname.text.toString().trim { it <= ' ' }
tvPreview.text = if(s.isNotEmpty()) s else acct
tvPreview.setTextColor(color_fg.notZero() ?: getAttributeColor(this, R.attr.colorTimeSmall))
tvPreview.setBackgroundColor(color_bg)
tvPreview.text = s.notEmpty() ?: acct
tvPreview.textColor = color_fg.notZero() ?: getAttributeColor(this, R.attr.colorTimeSmall)
tvPreview.backgroundColor = color_bg
}
override fun onClick(v : View) {

View File

@ -1450,17 +1450,11 @@ internal class ItemViewHolder(
if(status.conversationSummary?.unread == true) {
if(sb.isNotEmpty()) sb.append('\u200B')
val color = if(MyClickableSpan.defaultLinkColor != 0) {
MyClickableSpan.defaultLinkColor
} else {
getAttributeColor(activity, R.attr.colorLink)
}
sb.appendColorShadeIcon(
activity,
R.drawable.ic_unread,
"unread",
color = color
color = MyClickableSpan.defaultLinkColor
)
}
}

View File

@ -666,7 +666,7 @@ class TootApiClient(
val instance = result.caption // same to instance
// クライアントIDがアプリ上に保存されているか
val client_name = if(clientNameArg.isNotEmpty()) clientNameArg else DEFAULT_CLIENT_NAME
val client_name = clientNameArg.notEmpty() ?: DEFAULT_CLIENT_NAME
val client_info = ClientInfo.load(instance, client_name)
// スコープ一覧を取得する
@ -743,7 +743,7 @@ class TootApiClient(
val result = TootApiResult.makeWithCaption(instance)
if(result.error != null) return result
val instance = result.caption // same to instance
val client_name = if(clientNameArg.isNotEmpty()) clientNameArg else DEFAULT_CLIENT_NAME
val client_name = clientNameArg.notEmpty() ?: DEFAULT_CLIENT_NAME
@Suppress("UNUSED_VARIABLE")
val client_info = ClientInfo.load(instance, client_name)
@ -938,7 +938,7 @@ class TootApiClient(
val instance = result.caption // same to instance
// クライアントIDがアプリ上に保存されているか
val client_name = if(clientNameArg.isNotEmpty()) clientNameArg else DEFAULT_CLIENT_NAME
val client_name = clientNameArg.notEmpty() ?: DEFAULT_CLIENT_NAME
var client_info = ClientInfo.load(instance, client_name)
// スコープ一覧を取得する

View File

@ -7,6 +7,7 @@ import android.view.View
import java.lang.ref.WeakReference
import jp.juggler.subwaytooter.table.AcctColor
import jp.juggler.util.notZero
typealias MyClickableSpanClickCallback = (widget : View, span : MyClickableSpan)->Unit
@ -43,12 +44,8 @@ class MyClickableSpan(
override fun updateDrawState(ds : TextPaint) {
super.updateDrawState(ds)
if(color_bg != 0) ds.bgColor = color_bg
if(color_fg != 0){
ds.color = color_fg
}else if( defaultLinkColor != 0){
ds.color = defaultLinkColor
}
ds.color = color_fg.notZero() ?: defaultLinkColor
}
}

View File

@ -7,9 +7,14 @@ fun <T : Comparable<T>> clipRange(min : T, max : T, src : T) =
if(src < min) min else if(src > max) max else src
////////////////////////////////////////////////////////////////////
// zero to null
fun Int.notZero() :Int? = if(this!=0) this else null
// usage: number.notZero() ?: fallback
// equivalent: if(this != 0 ) this else null
fun Int.notZero() : Int? = if(this != 0) this else null
fun Long.notZero() : Long? = if(this != 0L) this else null
fun Float.notZero() : Float? = if(this != 0f) this else null
fun Double.notZero() : Double? = if(this != .0) this else null
////////////////////////////////////////////////////////////////////
// long

View File

@ -136,6 +136,10 @@ inline fun <S : CharSequence, Z : Any?> S?.letNotEmpty(block : (S) -> Z?) : Z? =
null
}
// usage: str.notEmpty() ?: fallback
// equivalent: if(this.isNotEmpty() ) this else null
fun <S : CharSequence> S.notEmpty() :S? = if( this.isNotEmpty() ) this else null
////////////////////////////////////////////////////////////////////
// string

View File

@ -43,7 +43,7 @@
<!-- 日時の表記 #888888 -->
<attr name="colorTimeSmall" format="color"/>
<!-- 日時の表記 #888888 -->
<!-- 本文テキスト -->
<attr name="colorContentText" format="color"/>
<attr name="colorRefreshErrorBg" format="color"/>

View File

@ -60,12 +60,12 @@
<color name="Dark_colorThumbnailBackground">#20ffffff</color>
<color name="Dark_colorColumnListItemText">#66FFFFFF</color>
<color name="Dark_colorTimeSmall">#ff888888</color>
<color name="Dark_colorContentText">#ffdddddd</color>
<color name="Dark_colorTimeSmall">#BBBBBB</color>
<color name="Dark_colorContentText">#dddddd</color>
<color name="Dark_colorRefreshErrorBg">#8333</color>
<color name="Dark_colorColumnHeaderAcct">#66FFFFFF</color>
<color name="Dark_colorColumnHeaderPageNumber">#66FFFFFF</color>
<color name="Dark_colorColumnHeaderAcct">#e4e4e4</color>
<color name="Dark_colorColumnHeaderPageNumber">#e4e4e4</color>
<color name="Dark_colorSettingDivider">#66FFFFFF</color><!-- ダイアログ背景が#424242なので、それより明るくないといけない -->
<color name="Dark_colorColumnHeaderName">#e4e4e4</color>
<color name="Dark_colorVectorDrawable">#e4e4e4</color>
@ -74,8 +74,7 @@
<color name="Dark_colorAccent">#ccFFFFFF</color>
<color name="Dark_colorRippleEffect">#999</color>
<color name="Dark_colorRippleEffect">#777</color>
<color name="Dark_colorColumnListDragHandleBackground">#80444444</color>
<color name="Dark_list_item_bg_pressed_dragged">#AA444444</color>
@ -86,8 +85,8 @@
<color name="Dark_colorPrimary">#333</color>
<color name="Dark_color_column_header">#333</color>
<color name="Dark_colorStatusButtonsPopupBg">#333</color>
<color name="Dark_colorButtonBgCw">#666</color>
<color name="Dark_colorStatusButtonsPopupBg">#424242</color>
<color name="Dark_colorButtonBgCw">#5b5b5b</color>
<color name="Dark_colorReplyBackground">#333</color>
@ -105,7 +104,7 @@
<!-- 以下は白テーマでも黒テーマでもだいたい同じ -->
<color name="Dark_colorButtonSelected">#ff000080</color>
<color name="Dark_colorLink">#00a2ff</color>
<color name="Dark_colorImageButtonAccent">#ff0088ff</color>
<color name="Dark_colorImageButtonAccent">#00a2ff</color>
<color name="Dark_colorShowMediaBackground">#222</color>
<color name="Dark_colorShowMediaText">#ccFFFFFF</color>
<color name="Dark_colorColumnListDeleteBackground">#FF0000</color>

View File

@ -74,8 +74,7 @@
<item name="colorRippleEffect">@color/Dark_colorRippleEffect</item>
<item name="colorButtonSelected">@color/Dark_colorButtonSelected</item>
<item name="colorReplyBackground">@color/Dark_colorReplyBackground</item>
<item name="colorColumnListDeleteBackground">@color/Dark_colorColumnListDeleteBackground
</item>
<item name="colorColumnListDeleteBackground">@color/Dark_colorColumnListDeleteBackground</item>
<item name="colorColumnListDeleteText">@color/Dark_colorColumnListDeleteText</item>
<item name="colorColumnListDragHandleBackground">
@color/Dark_colorColumnListDragHandleBackground