- アプリ設定に「見た目/アイコンの角丸率」を追加
- アプリ設定に「性能/カラム間でViewPoolを共有する」を追加
This commit is contained in:
parent
3bc2a7384d
commit
3edab11faf
|
@ -12,8 +12,8 @@ android {
|
|||
minSdkVersion 21
|
||||
targetSdkVersion 27
|
||||
|
||||
versionCode 205
|
||||
versionName "2.0.5"
|
||||
versionCode 206
|
||||
versionName "2.0.6"
|
||||
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
|
||||
|
|
|
@ -212,7 +212,10 @@ class ActAccountSetting : AppCompatActivity(), View.OnClickListener, CompoundBut
|
|||
}
|
||||
}
|
||||
|
||||
var density: Float = 1f
|
||||
|
||||
private fun initUI() {
|
||||
this.density = resources.displayMetrics.density
|
||||
this.handler = Handler()
|
||||
setContentView(R.layout.act_account_setting)
|
||||
|
||||
|
@ -633,7 +636,13 @@ class ActAccountSetting : AppCompatActivity(), View.OnClickListener, CompoundBut
|
|||
}
|
||||
|
||||
internal fun showProfile(src : TootAccount) {
|
||||
ivProfileAvatar.setImageUrl(App1.pref, 16f, src.avatar_static, src.avatar)
|
||||
|
||||
ivProfileAvatar.setImageUrl(
|
||||
App1.pref,
|
||||
Styler.calcIconRound(ivProfileAvatar.layoutParams),
|
||||
src.avatar_static,
|
||||
src.avatar
|
||||
)
|
||||
ivProfileHeader.setImageUrl(App1.pref, 0f, src.header_static, src.header)
|
||||
|
||||
val display_name = src.display_name
|
||||
|
|
|
@ -118,6 +118,8 @@ class ActAppSetting : AppCompatActivity()
|
|||
private lateinit var etQuoteNameFormat : EditText
|
||||
private lateinit var etAutoCWLines : EditText
|
||||
private lateinit var etMediaSizeMax : EditText
|
||||
private lateinit var etRoundRatio : EditText
|
||||
|
||||
|
||||
private lateinit var tvTimelineFontUrl : TextView
|
||||
private var timeline_font : String? = null
|
||||
|
@ -261,6 +263,9 @@ class ActAppSetting : AppCompatActivity()
|
|||
etMediaSizeMax = findViewById(R.id.etMediaSizeMax)
|
||||
etMediaSizeMax.addTextChangedListener(this)
|
||||
|
||||
etRoundRatio = findViewById(R.id.etRoundRatio)
|
||||
etRoundRatio.addTextChangedListener(this)
|
||||
|
||||
tvTimelineFontSize = findViewById(R.id.tvTimelineFontSize)
|
||||
tvAcctFontSize = findViewById(R.id.tvAcctFontSize)
|
||||
|
||||
|
@ -307,6 +312,7 @@ class ActAppSetting : AppCompatActivity()
|
|||
etAvatarIconSize.setText(Pref.spAvatarIconSize(pref))
|
||||
|
||||
etMediaSizeMax.setText(Pref.spMediaSizeMax(pref))
|
||||
etRoundRatio.setText(Pref.spRoundRatio(pref))
|
||||
|
||||
timeline_font = Pref.spTimelineFont(pref)
|
||||
timeline_font_bold = Pref.spTimelineFontBold(pref)
|
||||
|
@ -350,6 +356,8 @@ class ActAppSetting : AppCompatActivity()
|
|||
.put(Pref.spAutoCWLines, etAutoCWLines.text.toString().trim { it <= ' ' })
|
||||
.put(Pref.spAvatarIconSize, etAvatarIconSize.text.toString().trim { it <= ' ' })
|
||||
.put(Pref.spMediaSizeMax, etMediaSizeMax.text.toString().trim { it <= ' ' })
|
||||
.put(Pref.spRoundRatio, etRoundRatio.text.toString().trim { it <= ' ' })
|
||||
|
||||
.put(Pref.spTimelineFont, timeline_font ?:"")
|
||||
.put(Pref.spTimelineFontBold, timeline_font_bold?:"")
|
||||
|
||||
|
|
|
@ -959,9 +959,7 @@ class ActMain : AppCompatActivity()
|
|||
try {
|
||||
sv = Pref.spAvatarIconSize(pref)
|
||||
val fv = if( sv.isEmpty()) Float.NaN else sv.toFloat()
|
||||
if(fv.isNaN() || fv.isInfinite() || fv < 1f) {
|
||||
// error or bad range
|
||||
} else {
|
||||
if(fv.isFinite() && fv>= 1f ) {
|
||||
icon_size_dp = fv
|
||||
}
|
||||
} catch(ex : Throwable) {
|
||||
|
@ -971,6 +969,27 @@ class ActMain : AppCompatActivity()
|
|||
avatarIconSize = (0.5f + icon_size_dp * density).toInt()
|
||||
}
|
||||
|
||||
run {
|
||||
var round_ratio = 33f
|
||||
try {
|
||||
if( Pref.bpDontRound(pref) ){
|
||||
round_ratio = 0f
|
||||
}else {
|
||||
sv = Pref.spRoundRatio(pref)
|
||||
if(sv.isNotEmpty()) {
|
||||
val fv = sv.toFloat()
|
||||
if(fv.isFinite()) {
|
||||
round_ratio = fv
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch(ex : Throwable) {
|
||||
log.trace(ex)
|
||||
}
|
||||
Styler.round_ratio = clipRange(0f,1f,round_ratio/100f) *0.5f
|
||||
}
|
||||
|
||||
|
||||
llEmpty = findViewById(R.id.llEmpty)
|
||||
|
||||
// // toolbar
|
||||
|
|
|
@ -1005,9 +1005,9 @@ class ActPost : AppCompatActivity(), View.OnClickListener, PostAttachment.Callba
|
|||
val pa = attachment_list[idx]
|
||||
val a = pa.attachment
|
||||
if(pa.status == PostAttachment.STATUS_UPLOADED && a != null) {
|
||||
iv.setImageUrl(pref, 16f, a.preview_url)
|
||||
iv.setImageUrl(pref, Styler.calcIconRound(iv.layoutParams.width), a.preview_url)
|
||||
} else {
|
||||
iv.setImageUrl(pref, 16f, null)
|
||||
iv.setImageUrl(pref, Styler.calcIconRound(iv.layoutParams.width), null)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1635,7 +1635,7 @@ class ActPost : AppCompatActivity(), View.OnClickListener, PostAttachment.Callba
|
|||
decodeEmoji = true
|
||||
|
||||
).decodeHTML(this@ActPost, account, in_reply_to_text)
|
||||
ivReply.setImageUrl(pref, 16f, in_reply_to_image)
|
||||
ivReply.setImageUrl(pref, Styler.calcIconRound(ivReply.layoutParams), in_reply_to_image)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -236,6 +236,7 @@ class App1 : Application() {
|
|||
@SuppressLint("StaticFieldLeak")
|
||||
lateinit var custom_emoji_lister : CustomEmojiLister
|
||||
|
||||
|
||||
fun prepare(app_context : Context) : AppState {
|
||||
var state = appStateX
|
||||
if(state != null) return state
|
||||
|
|
|
@ -190,7 +190,10 @@ class ColumnViewHolder(
|
|||
|
||||
tvLoading = root.findViewById(R.id.tvLoading)
|
||||
listView = root.findViewById(R.id.listView)
|
||||
listView.recycledViewPool = activity.viewPool
|
||||
|
||||
if(Pref.bpShareViewPool(activity.pref)){
|
||||
listView.recycledViewPool = activity.viewPool
|
||||
}
|
||||
|
||||
btnSearch = root.findViewById(R.id.btnSearch)
|
||||
etSearch = root.findViewById(R.id.etSearch)
|
||||
|
|
|
@ -2,6 +2,9 @@ package jp.juggler.subwaytooter
|
|||
|
||||
import android.support.v7.widget.RecyclerView
|
||||
import android.view.ViewGroup
|
||||
import jp.juggler.subwaytooter.api.entity.TootAccount
|
||||
import jp.juggler.subwaytooter.api.entity.TootNotification
|
||||
import jp.juggler.subwaytooter.api.entity.TootStatus
|
||||
|
||||
internal class ItemListAdapter(
|
||||
private val activity : ActMain,
|
||||
|
@ -14,6 +17,7 @@ internal class ItemListAdapter(
|
|||
|
||||
init {
|
||||
this.list = column.list_data
|
||||
setHasStableIds(false)
|
||||
}
|
||||
|
||||
override fun getItemCount() : Int {
|
||||
|
@ -23,6 +27,25 @@ internal class ItemListAdapter(
|
|||
}
|
||||
}
|
||||
|
||||
private fun getItemIdForListIndex(position : Int):Long{
|
||||
val o = list[position]
|
||||
return when(o){
|
||||
is TootAccount -> o.id
|
||||
is TootStatus -> o.id
|
||||
is TootNotification -> o.id
|
||||
else-> 0L
|
||||
}
|
||||
}
|
||||
|
||||
override fun getItemId(position : Int) : Long {
|
||||
val headerType = column.getHeaderType()
|
||||
if( headerType != null){
|
||||
if(position==0) return 0
|
||||
return getItemIdForListIndex(position-1)
|
||||
}
|
||||
return getItemIdForListIndex(position)
|
||||
}
|
||||
|
||||
override fun getItemViewType(position : Int) : Int {
|
||||
val headerType = column.getHeaderType()
|
||||
if( headerType == null || position>0 ) return 0
|
||||
|
@ -97,10 +120,7 @@ internal class ItemListAdapter(
|
|||
// }
|
||||
// return if(position >= 0 && position < column.list_data.size) list[position] else null
|
||||
// }
|
||||
|
||||
override fun getItemId(position : Int) : Long {
|
||||
return 0
|
||||
}
|
||||
|
||||
// override fun hasStableIds():Boolean = false
|
||||
|
||||
|
||||
|
|
|
@ -197,9 +197,9 @@ internal class ItemViewHolder(
|
|||
}
|
||||
|
||||
ivThumbnail.layoutParams.height = activity.avatarIconSize
|
||||
ivThumbnail.layoutParams.width = ivThumbnail.layoutParams.height
|
||||
ivFollow.layoutParams.width = ivThumbnail.layoutParams.width
|
||||
ivBoosted.layoutParams.width = ivFollow.layoutParams.width
|
||||
ivThumbnail.layoutParams.width = activity.avatarIconSize
|
||||
ivFollow.layoutParams.width = activity.avatarIconSize
|
||||
ivBoosted.layoutParams.width = activity.avatarIconSize
|
||||
|
||||
this.content_invalidator = NetworkEmojiInvalidator(activity.handler, tvContent)
|
||||
this.spoiler_invalidator = NetworkEmojiInvalidator(activity.handler, tvContentWarning)
|
||||
|
@ -483,7 +483,7 @@ internal class ItemViewHolder(
|
|||
private fun showAccount(who : TootAccount) {
|
||||
follow_account = who
|
||||
llFollow.visibility = View.VISIBLE
|
||||
ivFollow.setImageUrl(activity.pref, 16f, access_info.supplyBaseUrl(who.avatar_static))
|
||||
ivFollow.setImageUrl(activity.pref, Styler.calcIconRound(ivFollow.layoutParams), access_info.supplyBaseUrl(who.avatar_static))
|
||||
tvFollowerName.text = who.decoded_display_name
|
||||
follow_invalidator.register(who.decoded_display_name)
|
||||
|
||||
|
@ -513,7 +513,7 @@ internal class ItemViewHolder(
|
|||
name_invalidator.register(who.decoded_display_name)
|
||||
ivThumbnail.setImageUrl(
|
||||
activity.pref,
|
||||
16f,
|
||||
Styler.calcIconRound(ivThumbnail.layoutParams),
|
||||
access_info.supplyBaseUrl(who.avatar_static),
|
||||
access_info.supplyBaseUrl(who.avatar)
|
||||
)
|
||||
|
|
|
@ -268,6 +268,12 @@ object Pref {
|
|||
R.id.swForceGap
|
||||
)
|
||||
|
||||
val bpShareViewPool = BooleanPref(
|
||||
"ShareViewPool",
|
||||
true,
|
||||
R.id.swShareViewPool
|
||||
)
|
||||
|
||||
// int
|
||||
|
||||
val ipBackButtonAction = IntPref("back_button_action", 0)
|
||||
|
@ -304,6 +310,7 @@ object Pref {
|
|||
val spStreamListenerConfigData = StringPref("stream_listener_config_data", "")
|
||||
val spMspUserToken = StringPref("mastodon_search_portal_user_token", "")
|
||||
val spEmojiPickerRecent = StringPref("emoji_picker_recent", "")
|
||||
val spRoundRatio = StringPref("round_ratio", "33")
|
||||
|
||||
// long
|
||||
|
||||
|
|
|
@ -249,4 +249,14 @@ object Styler {
|
|||
lp.rightMargin = pad_lr
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ActMainの初期化時に更新される
|
||||
var round_ratio :Float = 0.33f * 0.5f
|
||||
|
||||
fun calcIconRound(wh:Int) =wh.toFloat() * round_ratio
|
||||
|
||||
fun calcIconRound(lp:ViewGroup.LayoutParams)
|
||||
=Math.min(lp.width,lp.height).toFloat() * round_ratio
|
||||
|
||||
}
|
||||
|
|
|
@ -166,7 +166,7 @@ internal class ViewHolderHeaderProfile(
|
|||
|
||||
ivAvatar.setImageUrl(
|
||||
activity.pref,
|
||||
16f,
|
||||
Styler.calcIconRound(ivAvatar.layoutParams),
|
||||
access_info.supplyBaseUrl(who.avatar_static),
|
||||
access_info.supplyBaseUrl(who.avatar)
|
||||
)
|
||||
|
@ -228,7 +228,11 @@ internal class ViewHolderHeaderProfile(
|
|||
moved_caption_invalidator.register(caption)
|
||||
|
||||
ivMoved.layoutParams.width = activity.avatarIconSize
|
||||
ivMoved.setImageUrl(activity.pref, 16f, access_info.supplyBaseUrl(who_moved.avatar_static))
|
||||
ivMoved.setImageUrl(
|
||||
activity.pref,
|
||||
Styler.calcIconRound(ivMoved.layoutParams),
|
||||
access_info.supplyBaseUrl(who_moved.avatar_static)
|
||||
)
|
||||
|
||||
tvMovedName.text = who_moved.decoded_display_name
|
||||
moved_name_invalidator.register(who_moved.decoded_display_name)
|
||||
|
|
|
@ -59,6 +59,7 @@ class DlgListMember(
|
|||
private val adapter : MyListAdapter
|
||||
|
||||
init {
|
||||
val density = activity.resources.displayMetrics.density
|
||||
this.account_list = makeAccountListNonPseudo(activity, null)
|
||||
this.target_user_full_acct = _list_owner.getFullAcct(who)
|
||||
|
||||
|
@ -84,7 +85,7 @@ class DlgListMember(
|
|||
btnListOwner.setOnClickListener(this)
|
||||
view.findViewById<View>(R.id.btnClose).setOnClickListener(this)
|
||||
|
||||
ivUser.setImageUrl(App1.pref, 16f, who.avatar_static, who.avatar)
|
||||
ivUser.setImageUrl(App1.pref, Styler.calcIconRound(ivUser.layoutParams), who.avatar_static, who.avatar)
|
||||
val user_name_invalidator = NetworkEmojiInvalidator(activity.handler, tvUserName)
|
||||
val name = who.decodeDisplayName(activity)
|
||||
tvUserName.text = name
|
||||
|
|
|
@ -1121,5 +1121,8 @@ object Utils {
|
|||
fun getExtraObject(data : Intent?, key : String) : Any? {
|
||||
return data?.extras?.get(key)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
fun <T :Comparable<T>> clipRange( min:T ,max:T ,src:T)
|
||||
= if( src<min) min else if(src>max) max else src
|
||||
|
|
|
@ -42,7 +42,8 @@ class MyNetworkImageView @JvmOverloads constructor(
|
|||
|
||||
internal val log = LogCategory("MyNetworkImageView")
|
||||
|
||||
@SuppressLint("StaticFieldLeak") internal var app_context : Context? = null
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
internal var app_context : Context? = null
|
||||
|
||||
// private const val SQUARE_RATIO_MARGIN = 0.05f
|
||||
// private const val maxLoopCount = GifDrawable.LOOP_FOREVER
|
||||
|
@ -81,7 +82,12 @@ class MyNetworkImageView @JvmOverloads constructor(
|
|||
}
|
||||
|
||||
@JvmOverloads
|
||||
fun setImageUrl(pref : SharedPreferences, r : Float, url : String?, gifUrlArg : String? = null) {
|
||||
fun setImageUrl(
|
||||
pref : SharedPreferences,
|
||||
r : Float,
|
||||
url : String?,
|
||||
gifUrlArg : String? = null
|
||||
) {
|
||||
|
||||
if(app_context == null) {
|
||||
val context = context
|
||||
|
@ -90,8 +96,7 @@ class MyNetworkImageView @JvmOverloads constructor(
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
mCornerRadius = if(Pref.bpDontRound(pref)) 0f else r
|
||||
mCornerRadius = r
|
||||
|
||||
val gif_url = if(Pref.bpEnableGifAnimation(pref)) gifUrlArg else null
|
||||
|
||||
|
@ -193,7 +198,7 @@ class MyNetworkImageView @JvmOverloads constructor(
|
|||
|
||||
if(desiredWidth != Target.SIZE_ORIGINAL && desiredWidth <= 0
|
||||
|| desiredHeight != Target.SIZE_ORIGINAL && desiredHeight <= 0
|
||||
) {
|
||||
) {
|
||||
// desiredWidth,desiredHeight の指定がおかしいと非同期処理中にSimpleTargetが落ちる
|
||||
// おそらくレイアウト後に再度呼び出される
|
||||
return
|
||||
|
@ -292,32 +297,34 @@ class MyNetworkImageView @JvmOverloads constructor(
|
|||
// このViewは別の画像を表示するように指定が変わっていた
|
||||
if(urlLoading != mUrl) return
|
||||
|
||||
afterResourceReady(when {
|
||||
mCornerRadius <= 0f -> {
|
||||
// 角丸でないならそのまま使う
|
||||
resource
|
||||
}
|
||||
|
||||
// GidDrawableを置き換える
|
||||
resource is GifDrawable -> replaceGifDrawable(resource)
|
||||
|
||||
// Glide 4.xから、静止画はBitmapDrawableになった
|
||||
resource is BitmapDrawable -> {
|
||||
val bitmap = resource.bitmap
|
||||
if(bitmap == null) {
|
||||
afterResourceReady(
|
||||
when {
|
||||
mCornerRadius <= 0f -> {
|
||||
// 角丸でないならそのまま使う
|
||||
resource
|
||||
} else {
|
||||
val d = RoundedBitmapDrawableFactory.create(resources, bitmap)
|
||||
d.cornerRadius = mCornerRadius
|
||||
d
|
||||
}
|
||||
}
|
||||
|
||||
else -> {
|
||||
log.d("onResourceReady: drawable class=%s", resource.javaClass)
|
||||
resource
|
||||
}
|
||||
}, transition)
|
||||
// GidDrawableを置き換える
|
||||
resource is GifDrawable -> replaceGifDrawable(resource)
|
||||
|
||||
// Glide 4.xから、静止画はBitmapDrawableになった
|
||||
resource is BitmapDrawable -> {
|
||||
val bitmap = resource.bitmap
|
||||
if(bitmap == null) {
|
||||
resource
|
||||
} else {
|
||||
val d = RoundedBitmapDrawableFactory.create(resources, bitmap)
|
||||
d.cornerRadius = mCornerRadius
|
||||
d
|
||||
}
|
||||
}
|
||||
|
||||
else -> {
|
||||
log.d("onResourceReady: drawable class=%s", resource.javaClass)
|
||||
resource
|
||||
}
|
||||
}, transition
|
||||
)
|
||||
} catch(ex : Throwable) {
|
||||
log.trace(ex)
|
||||
}
|
||||
|
@ -460,17 +467,17 @@ class MyNetworkImageView @JvmOverloads constructor(
|
|||
val w = when(w_mode) {
|
||||
MeasureSpec.EXACTLY -> w_size
|
||||
MeasureSpec.AT_MOST -> w_size
|
||||
MeasureSpec.UNSPECIFIED ->0
|
||||
MeasureSpec.UNSPECIFIED -> 0
|
||||
else -> 0
|
||||
}
|
||||
val h = when(h_mode) {
|
||||
MeasureSpec.EXACTLY -> h_size
|
||||
MeasureSpec.AT_MOST -> h_size
|
||||
MeasureSpec.UNSPECIFIED ->0
|
||||
MeasureSpec.UNSPECIFIED -> 0
|
||||
else -> 0
|
||||
}
|
||||
setMeasuredDimension(w, h)
|
||||
}else{
|
||||
} else {
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -221,6 +221,8 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
|
@ -267,7 +269,6 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
|
@ -316,8 +317,8 @@
|
|||
|
||||
<TextView
|
||||
style="@style/setting_row_label"
|
||||
android:text="@string/media_attachment_max_byte_size"
|
||||
android:labelFor="@+id/etMediaSizeMax"
|
||||
android:text="@string/media_attachment_max_byte_size"
|
||||
/>
|
||||
|
||||
<LinearLayout style="@style/setting_row_form">
|
||||
|
@ -381,10 +382,6 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
|
@ -526,8 +523,6 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
|
@ -593,16 +588,16 @@
|
|||
<!--<View style="@style/setting_divider"/>-->
|
||||
|
||||
<!--<TextView-->
|
||||
<!--style="@style/setting_row_label"-->
|
||||
<!--android:text="@string/disable_fast_scroller"-->
|
||||
<!--/>-->
|
||||
<!--style="@style/setting_row_label"-->
|
||||
<!--android:text="@string/disable_fast_scroller"-->
|
||||
<!--/>-->
|
||||
|
||||
<!--<LinearLayout style="@style/setting_row_form">-->
|
||||
|
||||
<!--<Switch-->
|
||||
<!--android:id="@+id/swDisableFastScroller"-->
|
||||
<!--style="@style/setting_horizontal_stretch"-->
|
||||
<!--/>-->
|
||||
<!--<Switch-->
|
||||
<!--android:id="@+id/swDisableFastScroller"-->
|
||||
<!--style="@style/setting_horizontal_stretch"-->
|
||||
<!--/>-->
|
||||
|
||||
<!--</LinearLayout>-->
|
||||
|
||||
|
@ -642,23 +637,6 @@
|
|||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
style="@style/setting_row_label"
|
||||
android:text="@string/dont_round_avatar"
|
||||
/>
|
||||
|
||||
<LinearLayout style="@style/setting_row_form">
|
||||
|
||||
<Switch
|
||||
android:id="@+id/swDontRound"
|
||||
style="@style/setting_horizontal_stretch"
|
||||
android:gravity="center"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
style="@style/setting_row_label"
|
||||
android:text="@string/enable_gif_animation"
|
||||
|
@ -674,7 +652,6 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
|
@ -746,10 +723,11 @@
|
|||
<View style="@style/setting_divider"/>
|
||||
|
||||
|
||||
|
||||
<TextView
|
||||
style="@style/setting_row_label"
|
||||
android:text="@string/auto_cw"
|
||||
android:labelFor="@+id/etAutoCWLines"
|
||||
android:text="@string/auto_cw"
|
||||
/>
|
||||
|
||||
<LinearLayout style="@style/setting_row_form">
|
||||
|
@ -764,21 +742,21 @@
|
|||
|
||||
<!--<LinearLayout style="@style/setting_row_form">-->
|
||||
|
||||
<!--<TextView-->
|
||||
<!--style="@style/setting_row_label"-->
|
||||
<!--android:text="@string/char_per_lines"-->
|
||||
<!--/>-->
|
||||
<!--<TextView-->
|
||||
<!--style="@style/setting_row_label"-->
|
||||
<!--android:text="@string/char_per_lines"-->
|
||||
<!--/>-->
|
||||
|
||||
<!--</LinearLayout>-->
|
||||
|
||||
<!--<LinearLayout style="@style/setting_row_form">-->
|
||||
|
||||
<!--<EditText-->
|
||||
<!--android:id="@+id/etTimelineFontSize"-->
|
||||
<!--style="@style/setting_horizontal_stretch"-->
|
||||
<!--android:gravity="center"-->
|
||||
<!--android:inputType="numberDecimal"-->
|
||||
<!--/>-->
|
||||
<!--<EditText-->
|
||||
<!--android:id="@+id/etTimelineFontSize"-->
|
||||
<!--style="@style/setting_horizontal_stretch"-->
|
||||
<!--android:gravity="center"-->
|
||||
<!--android:inputType="numberDecimal"-->
|
||||
<!--/>-->
|
||||
|
||||
<!--</LinearLayout>-->
|
||||
|
||||
|
@ -1172,6 +1150,41 @@
|
|||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
style="@style/setting_row_label"
|
||||
android:labelFor="@+id/etRoundRatio"
|
||||
android:text="@string/avatar_icon_round_ratio"
|
||||
/>
|
||||
|
||||
<LinearLayout style="@style/setting_row_form">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/etRoundRatio"
|
||||
style="@style/setting_horizontal_stretch"
|
||||
android:gravity="center"
|
||||
android:inputType="numberDecimal"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
style="@style/setting_row_label"
|
||||
android:text="@string/avatar_icon_dont_round"
|
||||
/>
|
||||
|
||||
<LinearLayout style="@style/setting_row_form">
|
||||
|
||||
<Switch
|
||||
android:id="@+id/swDontRound"
|
||||
style="@style/setting_horizontal_stretch"
|
||||
android:gravity="center"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<!-- =============================================== -->
|
||||
<TextView
|
||||
style="@style/setting_group_header"
|
||||
|
@ -1182,6 +1195,22 @@
|
|||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
style="@style/setting_row_label"
|
||||
android:text="@string/share_view_pool"
|
||||
/>
|
||||
|
||||
<LinearLayout style="@style/setting_row_form">
|
||||
|
||||
<Switch
|
||||
android:id="@+id/swShareViewPool"
|
||||
style="@style/setting_horizontal_stretch"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View style="@style/setting_divider"/>
|
||||
|
||||
<TextView
|
||||
style="@style/setting_row_label"
|
||||
android:text="@string/dont_use_streaming_api"
|
||||
|
|
|
@ -121,7 +121,7 @@
|
|||
<string name="dont_refresh">Ne pas actualiser</string>
|
||||
<string name="dont_refresh_on_activity_resume">Ne pas actualiser à la reprise d\'activité</string>
|
||||
<string name="dont_resize">Conserver les dimensions</string>
|
||||
<string name="dont_round_avatar">Ne pas arrondir les coins de l\'image des avatars \n(redémarrage nécessaire)</string>
|
||||
|
||||
<string name="dont_screen_off">Garder l\'écran allumé quand l\'application est affichée</string>
|
||||
<string name="dont_show_boost">Masquer les partages</string>
|
||||
<string name="dont_show_reply">Masquer les réponses</string>
|
||||
|
@ -474,7 +474,7 @@
|
|||
<string name="profile_unpin">Unpin from profile</string>
|
||||
<string name="profile_pin_progress">Changing pinned status…</string>
|
||||
<string name="length_warning">\"%1$s\" is too long (%2$d/%3$d characters).\nIt is not acceptable in the standard instance, but it may be acceptable in some instances.\nAre you sure?</string>
|
||||
<string name="avatar_icon_size">Avatar icon size (unit:dp. default:48. app restart required)</string>
|
||||
|
||||
<string name="short_acct_local_user">Short acct for local user (app restart required)</string>
|
||||
<string name="loading_notification_title">Loading notification…</string>
|
||||
<string name="error_notification_title">Server Timeout</string>
|
||||
|
@ -602,7 +602,14 @@
|
|||
<string name="always_show_application">Show (via) application name if possible</string>
|
||||
<string name="force_gap_when_refresh">Force put gap when refreshing top</string>
|
||||
|
||||
<!--<string name="abc_action_bar_home_description">Revenir à l\'accueil</string>-->
|
||||
<string name="avatar_icon_size">Avatar icon size (unit:dp. default:48. app restart required)</string>
|
||||
<string name="avatar_icon_round_ratio">Avatar icon round ratio (unit:%. default:33. app restart required)</string>
|
||||
<string name="avatar_icon_dont_round">Don\'t round corner of avatar icon (app restart required)</string>
|
||||
<string name="share_view_pool">Share view pool between columns</string>
|
||||
|
||||
|
||||
|
||||
<!--<string name="abc_action_bar_home_description">Revenir à l\'accueil</string>-->
|
||||
<!--<string name="abc_action_bar_home_description_format">%1$s, %2$s</string>-->
|
||||
<!--<string name="abc_action_bar_home_subtitle_description_format">%1$s, %2$s, %3$s</string>-->
|
||||
<!--<string name="abc_action_bar_up_description">Revenir en haut de la page</string>-->
|
||||
|
|
|
@ -545,7 +545,6 @@
|
|||
|
||||
<string name="visibility">公開範囲</string>
|
||||
|
||||
<string name="dont_round_avatar">ユーザ画像を角丸にしない(アプリ再起動が必要)</string>
|
||||
|
||||
<string name="color_and_background">色と背景</string>
|
||||
|
||||
|
@ -759,7 +758,7 @@
|
|||
<string name="profile_unpin">プロフィールの固定表示を解除</string>
|
||||
<string name="profile_pin_progress">固定表示の変更中…</string>
|
||||
<string name="length_warning">\"%1$s\"が長すぎます(%2$d/%3$d文字).\n標準的なタンスではエラーとなりますが、一部のタンスでは通るかも。\nよろしいですか?</string>
|
||||
<string name="avatar_icon_size">アバターアイコンサイズ(単位:dp. デフォルト:48. アプリ再起動が必要)</string>
|
||||
|
||||
<string name="short_acct_local_user">ローカルユーザのAcct表記を短くする(アプリ再起動が必要)</string>
|
||||
<string name="loading_notification_title">通知の取得中…</string>
|
||||
<string name="error_notification_title">サーバータイムアウト</string>
|
||||
|
@ -886,4 +885,9 @@
|
|||
<string name="always_show_application">アプリ名(via)を可能なら表示する</string>
|
||||
<string name="force_gap_when_refresh">リフレッシュ時に常にギャップを挟む</string>
|
||||
|
||||
<string name="avatar_icon_size">ユーザ画像のサイズ(単位:dp。デフォルト:48。アプリ再起動が必要)</string>
|
||||
<string name="avatar_icon_round_ratio">ユーザ画像の角丸率(単位:%。デフォルト:33。アプリ再起動が必要)</string>
|
||||
<string name="avatar_icon_dont_round">ユーザ画像を角丸にしない(アプリ再起動が必要)</string>
|
||||
<string name="share_view_pool">カラム間でViewPoolを共有する</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -277,7 +277,7 @@
|
|||
<string name="toot">Toot</string>
|
||||
<string name="clear_text">Cleat text</string>
|
||||
<string name="clear_text_and_media">Clear text and media</string>
|
||||
<string name="dont_round_avatar">Don\'t round corner of avatar image (app restart required)</string>
|
||||
|
||||
<string name="menu">Menu</string>
|
||||
<string name="open_in_pseudo_account">Open in emulated account on %1$s</string>
|
||||
|
||||
|
@ -470,7 +470,7 @@
|
|||
<string name="profile_unpin">Unpin from profile</string>
|
||||
<string name="profile_pin_progress">Changing pinned status…</string>
|
||||
<string name="length_warning">\"%1$s\" is too long (%2$d/%3$d characters).\nIt is not acceptable in the standard instance, but it may be acceptable in some instances.\nAre you sure?</string>
|
||||
<string name="avatar_icon_size">Avatar icon size (unit:dp. default:48. app restart required)</string>
|
||||
|
||||
<string name="short_acct_local_user">Short acct for local user (app restart required)</string>
|
||||
<string name="loading_notification_title">Loading notification…</string>
|
||||
<string name="error_notification_title">Server Timeout</string>
|
||||
|
@ -591,4 +591,8 @@
|
|||
<string name="always_show_application">Show (via) application name if possible</string>
|
||||
<string name="force_gap_when_refresh">Force put gap when refreshing top</string>
|
||||
|
||||
<string name="avatar_icon_size">Avatar icon size (unit:dp. default:48. app restart required)</string>
|
||||
<string name="avatar_icon_round_ratio">Avatar icon round ratio (unit:%. default:33. app restart required)</string>
|
||||
<string name="avatar_icon_dont_round">Don\'t round corner of avatar icon (app restart required)</string>
|
||||
<string name="share_view_pool">Share view pool between columns</string>
|
||||
</resources>
|
||||
|
|
Loading…
Reference in New Issue