diff --git a/app/src/main/java/jp/juggler/subwaytooter/ColumnViewHolder.kt b/app/src/main/java/jp/juggler/subwaytooter/ColumnViewHolder.kt
index 38faf94b..9367d20b 100644
--- a/app/src/main/java/jp/juggler/subwaytooter/ColumnViewHolder.kt
+++ b/app/src/main/java/jp/juggler/subwaytooter/ColumnViewHolder.kt
@@ -5,6 +5,7 @@ import android.content.Context
import android.graphics.Bitmap
import android.graphics.Color
import android.os.AsyncTask
+import android.support.v4.content.ContextCompat
import android.support.v4.view.ViewCompat
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
@@ -34,6 +35,7 @@ import java.util.regex.Pattern
import com.omadahealth.github.swipyrefreshlayout.library.SwipyRefreshLayout
import com.omadahealth.github.swipyrefreshlayout.library.SwipyRefreshLayoutDirection
+@SuppressLint("ClickableViewAccessibility")
class ColumnViewHolder(
val activity : ActMain,
val viewRoot : View
@@ -341,7 +343,7 @@ class ColumnViewHolder(
btnQuickFilterFollow = viewRoot.findViewById(R.id.btnQuickFilterFollow)
btnQuickFilterReaction = viewRoot.findViewById(R.id.btnQuickFilterReaction)
btnQuickFilterVote = viewRoot.findViewById(R.id.btnQuickFilterVote)
-
+ val llColumnSettingInside : LinearLayout = viewRoot.findViewById(R.id.llColumnSettingInside)
btnQuickFilterAll.setOnClickListener(this)
btnQuickFilterMention.setOnClickListener(this)
@@ -390,6 +392,22 @@ class ColumnViewHolder(
cbEnableSpeech.setOnCheckedChangeListener(this)
cbOldApi.setOnCheckedChangeListener(this)
+ if(Pref.bpMoveNotificationsQuickFilter(activity.pref)){
+ (svQuickFilter.parent as? ViewGroup)?.removeView(svQuickFilter)
+ llColumnSettingInside.addView(svQuickFilter,0)
+
+ svQuickFilter.setOnTouchListener { v, event ->
+ val action = event.action
+ if(action == MotionEvent.ACTION_DOWN){
+ val sv = v as? HorizontalScrollView
+ if(sv != null && sv.getChildAt(0).width > sv.width ){
+ sv.requestDisallowInterceptTouchEvent(true)
+ }
+ }
+ v.onTouchEvent(event)
+ }
+ }
+
initLoadingTextView()
// 入力の追跡
@@ -1456,27 +1474,56 @@ class ColumnViewHolder(
vg(btnQuickFilterFavourite, !column.isMisskey)
- val colorBg = column.getHeaderBackgroundColor()
- val colorFg = column.getHeaderNameColor()
- val colorBgSelected = Color.rgb(
- (Color.red(colorBg) *3 + Color.red(colorFg)) / 4,
- (Color.green(colorBg)*3 + Color.green(colorFg)) / 4,
- (Color.blue(colorBg)*3 + Color.blue(colorFg)) / 4
- )
- svQuickFilter.setBackgroundColor(colorBg)
+ val insideColumnSetting = Pref.bpMoveNotificationsQuickFilter(activity.pref)
- fun showQuickFilterButton(btn : View, iconId : Int, selected : Boolean) {
+ val showQuickFilterButton:(btn : View, iconId : Int, selected : Boolean)->Unit
+
+ if(insideColumnSetting){
+ svQuickFilter.setBackgroundColor(0)
+
+ val colorFg = getAttributeColor(activity,R.attr.colorContentText)
+ val colorBgSelected = colorFg.applyAlphaMultiplier(0.25f)
- ViewCompat.setBackground(
- btn,
- getAdaptiveRippleDrawable(
- if(selected) colorBgSelected else colorBg,
- colorFg
+ showQuickFilterButton = { btn , iconId , selected ->
+ ViewCompat.setBackground(
+ btn,
+ if(selected) {
+ getAdaptiveRippleDrawable(
+ colorBgSelected,
+ colorFg
+ )
+ }else {
+ ContextCompat.getDrawable(activity,R.drawable.btn_bg_transparent)
+ }
)
+ when(btn) {
+ is ImageButton -> setIconDrawableId(activity, btn, iconId, colorFg)
+ is TextView -> btn.textColor = colorFg
+ }
+ }
+ }else {
+ val colorBg = column.getHeaderBackgroundColor()
+ val colorFg = column.getHeaderNameColor()
+ val colorBgSelected = Color.rgb(
+ (Color.red(colorBg) * 3 + Color.red(colorFg)) / 4,
+ (Color.green(colorBg) * 3 + Color.green(colorFg)) / 4,
+ (Color.blue(colorBg) * 3 + Color.blue(colorFg)) / 4
)
- when(btn){
- is ImageButton ->setIconDrawableId(activity,btn,iconId,colorFg)
- is TextView -> btn.textColor = colorFg
+ svQuickFilter.setBackgroundColor(colorBg)
+
+ showQuickFilterButton = { btn , iconId , selected ->
+
+ ViewCompat.setBackground(
+ btn,
+ getAdaptiveRippleDrawable(
+ if(selected) colorBgSelected else colorBg,
+ colorFg
+ )
+ )
+ when(btn) {
+ is ImageButton -> setIconDrawableId(activity, btn, iconId, colorFg)
+ is TextView -> btn.textColor = colorFg
+ }
}
}
diff --git a/app/src/main/java/jp/juggler/subwaytooter/Pref.kt b/app/src/main/java/jp/juggler/subwaytooter/Pref.kt
index 3a676c1f..ecf4b023 100644
--- a/app/src/main/java/jp/juggler/subwaytooter/Pref.kt
+++ b/app/src/main/java/jp/juggler/subwaytooter/Pref.kt
@@ -351,6 +351,11 @@ object Pref {
false,
R.id.swLinksInContextMenu
)
+ val bpMoveNotificationsQuickFilter = BooleanPref(
+ "MoveNotificationsQuickFilter",
+ false,
+ R.id.swMoveNotificationsQuickFilter
+ )
// int
diff --git a/app/src/main/res/layout/act_app_setting_appearance.xml b/app/src/main/res/layout/act_app_setting_appearance.xml
index 3f3f4bcb..87834f43 100644
--- a/app/src/main/res/layout/act_app_setting_appearance.xml
+++ b/app/src/main/res/layout/act_app_setting_appearance.xml
@@ -513,5 +513,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/page_column.xml b/app/src/main/res/layout/page_column.xml
index 3c2ea571..fdd1d1ec 100644
--- a/app/src/main/res/layout/page_column.xml
+++ b/app/src/main/res/layout/page_column.xml
@@ -142,6 +142,7 @@
android:paddingTop="3dp"
android:paddingEnd="12dp"
android:paddingBottom="3dp"
+ android:id="@+id/llColumnSettingInside"
>
All
本文中のリンクをコンテキストメニューに表示する
予約投稿はマストドン2.7.0以降で使えます
+ 通知カラムのクイックフィルタをカラム設定内部に表示する(アプリ再起動が必要)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7a184486..eb74290a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -866,5 +866,6 @@
All
Show links in context menu
Scheduled status requires Mastodon 2.7.0 or later.
+ Show notifications quick filter in column setting (app restart required)
\ No newline at end of file