メディアビューア画面のステータスバーとナビゲーションバーの色は常に暗くする。Android 8未満では単に端末デフォルトの色になる
This commit is contained in:
parent
0fcae5ab12
commit
3f9cbd3145
|
@ -38,7 +38,7 @@ class ActAbout : AppCompatActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
setContentView(R.layout.act_about)
|
||||
App1.initEdgeToEdge(this)
|
||||
|
||||
|
@ -89,17 +89,17 @@ class ActAbout : AppCompatActivity() {
|
|||
val margin_top = (0.5f + density * 8).toInt()
|
||||
val padding = (0.5f + density * 8).toInt()
|
||||
|
||||
for( pair in contributors){
|
||||
ll.addView(Button(this).apply{
|
||||
for(pair in contributors) {
|
||||
ll.addView(Button(this).apply {
|
||||
val acct = pair.first
|
||||
val works = pair.second
|
||||
|
||||
|
||||
//
|
||||
layoutParams = LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT,
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT
|
||||
).apply{
|
||||
if( ll.childCount != 0 ) topMargin = margin_top
|
||||
).apply {
|
||||
if(ll.childCount != 0) topMargin = margin_top
|
||||
}
|
||||
//
|
||||
setBackgroundResource(R.drawable.btn_bg_transparent)
|
||||
|
|
|
@ -163,7 +163,7 @@ class ActAccountSetting
|
|||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
this.pref = App1.pref
|
||||
|
||||
initUI()
|
||||
|
|
|
@ -44,7 +44,7 @@ class ActAppSetting : AppCompatActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
|
||||
setContentView(R.layout.act_app_setting)
|
||||
App1.initEdgeToEdge(this)
|
||||
|
|
|
@ -324,7 +324,7 @@ class ActAppSettingChild : AppCompatActivity()
|
|||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
|
||||
pref = Pref.pref(this)
|
||||
|
||||
|
@ -412,15 +412,19 @@ class ActAppSettingChild : AppCompatActivity()
|
|||
, getString(R.string.theme_dark)
|
||||
)
|
||||
|
||||
val resizeList = ActPost.resizeConfigList.map{
|
||||
when(it.type){
|
||||
ResizeType.None->getString(R.string.dont_resize)
|
||||
ResizeType.LongSide->getString(R.string.long_side_pixel, it.size)
|
||||
ResizeType.SquarePixel->getString(R.string.resize_square_pixels, it.size*it.size,it.size)
|
||||
val resizeList = ActPost.resizeConfigList.map {
|
||||
when(it.type) {
|
||||
ResizeType.None -> getString(R.string.dont_resize)
|
||||
ResizeType.LongSide -> getString(R.string.long_side_pixel, it.size)
|
||||
ResizeType.SquarePixel -> getString(
|
||||
R.string.resize_square_pixels,
|
||||
it.size * it.size,
|
||||
it.size
|
||||
)
|
||||
}
|
||||
}.toTypedArray()
|
||||
|
||||
spResizeImage = initSpinner(R.id.spResizeImage ,*resizeList )
|
||||
spResizeImage = initSpinner(R.id.spResizeImage, *resizeList)
|
||||
|
||||
spRefreshAfterToot = initSpinner(
|
||||
R.id.spRefreshAfterToot
|
||||
|
@ -566,7 +570,7 @@ class ActAppSettingChild : AppCompatActivity()
|
|||
etMovieSizeMax = findViewById(R.id.etMovieSizeMax)
|
||||
etMovieSizeMax?.addTextChangedListener(this)
|
||||
|
||||
etMediaSizeMaxPixelfed= findViewById(R.id.etMediaSizeMaxPixelfed)
|
||||
etMediaSizeMaxPixelfed = findViewById(R.id.etMediaSizeMaxPixelfed)
|
||||
etMediaSizeMaxPixelfed?.addTextChangedListener(this)
|
||||
|
||||
etRoundRatio = findViewById(R.id.etRoundRatio)
|
||||
|
@ -648,9 +652,7 @@ class ActAppSettingChild : AppCompatActivity()
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private fun initSpinner(@IdRes viewId : Int,vararg captions : String) : Spinner? =
|
||||
private fun initSpinner(@IdRes viewId : Int, vararg captions : String) : Spinner? =
|
||||
findViewById<Spinner>(viewId)?.apply {
|
||||
adapter = ArrayAdapter(
|
||||
this@ActAppSettingChild,
|
||||
|
|
|
@ -90,7 +90,7 @@ class ActColumnCustomize : AppCompatActivity(), View.OnClickListener, ColorPicke
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
initUI()
|
||||
|
||||
app_state = App1.getAppState(this)
|
||||
|
@ -245,7 +245,8 @@ class ActColumnCustomize : AppCompatActivity(), View.OnClickListener, ColorPicke
|
|||
override fun background(client : TootApiClient) : TootApiResult? {
|
||||
try {
|
||||
val backgroundDir = Column.getBackgroundImageDir(this@ActColumnCustomize)
|
||||
val file = File(backgroundDir, "${column.column_id}:${System.currentTimeMillis()}")
|
||||
val file =
|
||||
File(backgroundDir, "${column.column_id}:${System.currentTimeMillis()}")
|
||||
val fileUri = Uri.fromFile(file)
|
||||
|
||||
client.publishApiProgress("loading image from ${uriArg}")
|
||||
|
|
|
@ -47,7 +47,7 @@ class ActColumnList : AppCompatActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
initUI()
|
||||
|
||||
if(savedInstanceState != null) {
|
||||
|
|
|
@ -31,7 +31,7 @@ class ActFavMute : AppCompatActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
initUI()
|
||||
loadData()
|
||||
}
|
||||
|
@ -86,13 +86,16 @@ class ActFavMute : AppCompatActivity() {
|
|||
// mRefreshLayout.setEnabled( false );
|
||||
}
|
||||
|
||||
override fun onItemSwipeEnded(item : ListSwipeItem?, swipedDirection : ListSwipeItem.SwipeDirection?) {
|
||||
override fun onItemSwipeEnded(
|
||||
item : ListSwipeItem?,
|
||||
swipedDirection : ListSwipeItem.SwipeDirection?
|
||||
) {
|
||||
// 操作完了でリフレッシュ許可
|
||||
// mRefreshLayout.setEnabled( USE_SWIPE_REFRESH );
|
||||
|
||||
// 左にスワイプした(右端に青が見えた) なら要素を削除する
|
||||
if(swipedDirection == ListSwipeItem.SwipeDirection.LEFT) {
|
||||
val o = item ?.tag
|
||||
val o = item?.tag
|
||||
if(o is MyItem) {
|
||||
FavMute.delete(o.name)
|
||||
listAdapter.removeItem(listAdapter.getPositionForItem(o))
|
||||
|
@ -127,7 +130,8 @@ class ActFavMute : AppCompatActivity() {
|
|||
internal class MyItem(val id : Long, val name : String)
|
||||
|
||||
// リスト要素のViewHolder
|
||||
internal class MyViewHolder(viewRoot : View) : DragItemAdapter.ViewHolder(viewRoot, R.id.ivDragHandle, false) {
|
||||
internal class MyViewHolder(viewRoot : View) :
|
||||
DragItemAdapter.ViewHolder(viewRoot, R.id.ivDragHandle, false) {
|
||||
|
||||
val tvName : TextView
|
||||
|
||||
|
@ -160,10 +164,12 @@ class ActFavMute : AppCompatActivity() {
|
|||
}
|
||||
|
||||
// ドラッグ操作中のデータ
|
||||
private inner class MyDragItem internal constructor(context : Context, layoutId : Int) : DragItem(context, layoutId) {
|
||||
private inner class MyDragItem internal constructor(context : Context, layoutId : Int) :
|
||||
DragItem(context, layoutId) {
|
||||
|
||||
override fun onBindDragView(clickedView : View, dragView : View) {
|
||||
dragView.findViewById<TextView>(R.id.tvName).text = clickedView.findViewById<TextView>(R.id.tvName).text
|
||||
dragView.findViewById<TextView>(R.id.tvName).text =
|
||||
clickedView.findViewById<TextView>(R.id.tvName).text
|
||||
|
||||
dragView.findViewById<View>(R.id.item_layout).setBackgroundColor(
|
||||
getAttributeColor(this@ActFavMute, R.attr.list_item_bg_pressed_dragged)
|
||||
|
@ -171,7 +177,8 @@ class ActFavMute : AppCompatActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private inner class MyListAdapter internal constructor() : DragItemAdapter<MyItem, MyViewHolder>() {
|
||||
private inner class MyListAdapter internal constructor() :
|
||||
DragItemAdapter<MyItem, MyViewHolder>() {
|
||||
|
||||
init {
|
||||
setHasStableIds(true)
|
||||
|
|
|
@ -70,7 +70,7 @@ class ActHighlightWordEdit
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
initUI()
|
||||
|
||||
item = HighlightWord(
|
||||
|
|
|
@ -44,7 +44,7 @@ class ActHighlightWordList : AppCompatActivity(), View.OnClickListener {
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
initUI()
|
||||
loadData()
|
||||
}
|
||||
|
@ -265,7 +265,7 @@ class ActHighlightWordList : AppCompatActivity(), View.OnClickListener {
|
|||
} catch(ex : Throwable) {
|
||||
throw RuntimeException("can't load data", ex)
|
||||
}
|
||||
|
||||
|
||||
else -> super.onActivityResult(requestCode, resultCode, data)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,12 +32,12 @@ class ActKeywordFilter
|
|||
fun open(
|
||||
activity : Activity,
|
||||
ai : SavedAccount,
|
||||
filter_id : EntityId? =null,
|
||||
filter_id : EntityId? = null,
|
||||
initial_phrase : String? = null
|
||||
) {
|
||||
val intent = Intent(activity, ActKeywordFilter::class.java)
|
||||
intent.putExtra(EXTRA_ACCOUNT_DB_ID, ai.db_id)
|
||||
filter_id?.putTo(intent,EXTRA_FILTER_ID)
|
||||
filter_id?.putTo(intent, EXTRA_FILTER_ID)
|
||||
if(initial_phrase != null) intent.putExtra(EXTRA_INITIAL_PHRASE, initial_phrase)
|
||||
activity.startActivity(intent)
|
||||
}
|
||||
|
@ -80,12 +80,12 @@ class ActKeywordFilter
|
|||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
|
||||
val intent = this.intent
|
||||
|
||||
// filter ID の有無はUIに影響するのでinitUIより先に初期化する
|
||||
this.filter_id = EntityId.from(intent,EXTRA_FILTER_ID)
|
||||
this.filter_id = EntityId.from(intent, EXTRA_FILTER_ID)
|
||||
|
||||
val a = SavedAccount.loadAccount(this, intent.getLongExtra(EXTRA_ACCOUNT_DB_ID, - 1L))
|
||||
if(a == null) {
|
||||
|
@ -97,11 +97,11 @@ class ActKeywordFilter
|
|||
initUI()
|
||||
|
||||
if(savedInstanceState == null) {
|
||||
if(filter_id != null ) {
|
||||
if(filter_id != null) {
|
||||
startLoading()
|
||||
} else {
|
||||
spExpire.setSelection(1)
|
||||
etPhrase.setText( intent.getStringExtra(EXTRA_INITIAL_PHRASE) ?: "" )
|
||||
etPhrase.setText(intent.getStringExtra(EXTRA_INITIAL_PHRASE) ?: "")
|
||||
}
|
||||
} else {
|
||||
val iv = savedInstanceState.getInt(STATE_EXPIRE_SPINNER, - 1)
|
||||
|
@ -116,13 +116,13 @@ class ActKeywordFilter
|
|||
super.onSaveInstanceState(outState)
|
||||
if(! loading) {
|
||||
outState.putInt(STATE_EXPIRE_SPINNER, spExpire.selectedItemPosition)
|
||||
outState.putLong(STATE_EXPIRE_AT,filter_expire)
|
||||
outState.putLong(STATE_EXPIRE_AT, filter_expire)
|
||||
}
|
||||
}
|
||||
|
||||
private fun initUI() {
|
||||
title =
|
||||
getString(if(filter_id ==null ) R.string.keyword_filter_new else R.string.keyword_filter_edit)
|
||||
getString(if(filter_id == null) R.string.keyword_filter_new else R.string.keyword_filter_edit)
|
||||
|
||||
this.density = resources.displayMetrics.density
|
||||
setContentView(R.layout.act_keyword_filter)
|
||||
|
@ -245,19 +245,20 @@ class ActKeywordFilter
|
|||
}
|
||||
|
||||
when(seconds) {
|
||||
|
||||
// dont change
|
||||
- 1 -> {}
|
||||
|
||||
// unlimited
|
||||
0 -> if( filter_expire <= 0L ) {
|
||||
|
||||
// dont change
|
||||
- 1 -> {
|
||||
}
|
||||
|
||||
// unlimited
|
||||
0 -> if(filter_expire <= 0L) {
|
||||
// already unlimited. don't change.
|
||||
} else {
|
||||
// FIXME: currently there is no way to remove expires from existing filter.
|
||||
put("expires_in", Int.MAX_VALUE )
|
||||
put("expires_in", Int.MAX_VALUE)
|
||||
}
|
||||
|
||||
// set seconds
|
||||
|
||||
// set seconds
|
||||
else -> put("expires_in", seconds)
|
||||
}
|
||||
|
||||
|
|
|
@ -393,7 +393,7 @@ class ActMain : AppCompatActivity()
|
|||
log.d("onCreate")
|
||||
super.onCreate(savedInstanceState)
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE)
|
||||
App1.setActivityTheme(this, true)
|
||||
App1.setActivityTheme(this, noActionBar = true)
|
||||
|
||||
handler = Handler()
|
||||
app_state = App1.getAppState(this)
|
||||
|
|
|
@ -188,7 +188,7 @@ class ActMediaViewer : AppCompatActivity(), View.OnClickListener {
|
|||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE)
|
||||
App1.setActivityTheme(this, true, R.style.AppTheme_Dark_NoActionBar)
|
||||
App1.setActivityTheme(this, noActionBar = true, forceDark = true)
|
||||
|
||||
val intent = intent
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ class ActMutedApp : AppCompatActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
initUI()
|
||||
loadData()
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ class ActMutedPseudoAccount : AppCompatActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
initUI()
|
||||
loadData()
|
||||
}
|
||||
|
@ -105,7 +105,7 @@ class ActMutedPseudoAccount : AppCompatActivity() {
|
|||
|
||||
val tmp_list = ArrayList<MyItem>()
|
||||
try {
|
||||
UserRelation.createCursorPseudo().use{ cursor->
|
||||
UserRelation.createCursorPseudo().use { cursor ->
|
||||
val idx_id = cursor.getColumnIndex(UserRelation.COL_ID)
|
||||
val idx_name = cursor.getColumnIndex(UserRelation.COL_WHO_ID)
|
||||
while(cursor.moveToNext()) {
|
||||
|
|
|
@ -28,7 +28,7 @@ class ActMutedWord : AppCompatActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
initUI()
|
||||
loadData()
|
||||
}
|
||||
|
@ -83,13 +83,16 @@ class ActMutedWord : AppCompatActivity() {
|
|||
// mRefreshLayout.setEnabled( false );
|
||||
}
|
||||
|
||||
override fun onItemSwipeEnded(item : ListSwipeItem?, swipedDirection : ListSwipeItem.SwipeDirection?) {
|
||||
override fun onItemSwipeEnded(
|
||||
item : ListSwipeItem?,
|
||||
swipedDirection : ListSwipeItem.SwipeDirection?
|
||||
) {
|
||||
// 操作完了でリフレッシュ許可
|
||||
// mRefreshLayout.setEnabled( USE_SWIPE_REFRESH );
|
||||
|
||||
// 左にスワイプした(右端に青が見えた) なら要素を削除する
|
||||
if(swipedDirection == ListSwipeItem.SwipeDirection.LEFT) {
|
||||
val o = item ?.tag
|
||||
val o = item?.tag
|
||||
if(o is MyItem) {
|
||||
MutedWord.delete(o.name)
|
||||
listAdapter.removeItem(listAdapter.getPositionForItem(o))
|
||||
|
@ -124,7 +127,8 @@ class ActMutedWord : AppCompatActivity() {
|
|||
internal class MyItem(val id : Long, val name : String)
|
||||
|
||||
// リスト要素のViewHolder
|
||||
internal class MyViewHolder(viewRoot : View) : DragItemAdapter.ViewHolder(viewRoot, R.id.ivDragHandle, false) {
|
||||
internal class MyViewHolder(viewRoot : View) :
|
||||
DragItemAdapter.ViewHolder(viewRoot, R.id.ivDragHandle, false) {
|
||||
|
||||
val tvName : TextView
|
||||
|
||||
|
@ -157,10 +161,12 @@ class ActMutedWord : AppCompatActivity() {
|
|||
}
|
||||
|
||||
// ドラッグ操作中のデータ
|
||||
private inner class MyDragItem internal constructor(context : Context, layoutId : Int) : DragItem(context, layoutId) {
|
||||
private inner class MyDragItem internal constructor(context : Context, layoutId : Int) :
|
||||
DragItem(context, layoutId) {
|
||||
|
||||
override fun onBindDragView(clickedView : View, dragView : View) {
|
||||
dragView.findViewById<TextView>(R.id.tvName).text = clickedView.findViewById<TextView>(R.id.tvName).text
|
||||
dragView.findViewById<TextView>(R.id.tvName).text =
|
||||
clickedView.findViewById<TextView>(R.id.tvName).text
|
||||
|
||||
dragView.findViewById<View>(R.id.item_layout).setBackgroundColor(
|
||||
getAttributeColor(this@ActMutedWord, R.attr.list_item_bg_pressed_dragged)
|
||||
|
@ -168,7 +174,8 @@ class ActMutedWord : AppCompatActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private inner class MyListAdapter internal constructor() : DragItemAdapter<MyItem, MyViewHolder>() {
|
||||
private inner class MyListAdapter internal constructor() :
|
||||
DragItemAdapter<MyItem, MyViewHolder>() {
|
||||
|
||||
init {
|
||||
setHasStableIds(true)
|
||||
|
|
|
@ -70,10 +70,10 @@ class ActNickname : AppCompatActivity(), View.OnClickListener, ColorPickerDialog
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
|
||||
val intent = intent
|
||||
this.acct = intent.getStringExtra(EXTRA_ACCT)!!
|
||||
this.acct = intent.getStringExtra(EXTRA_ACCT) !!
|
||||
this.show_notification_sound = intent.getBooleanExtra(EXTRA_SHOW_NOTIFICATION_SOUND, false)
|
||||
|
||||
initUI()
|
||||
|
|
|
@ -13,7 +13,7 @@ class ActOSSLicense : AppCompatActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, true)
|
||||
App1.setActivityTheme(this, noActionBar = true)
|
||||
setContentView(R.layout.act_oss_license)
|
||||
App1.initEdgeToEdge(this)
|
||||
|
||||
|
|
|
@ -590,7 +590,7 @@ class ActPost : AppCompatActivity(),
|
|||
var sv : String?
|
||||
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, true)
|
||||
App1.setActivityTheme(this, noActionBar = true)
|
||||
|
||||
app_state = App1.getAppState(this)
|
||||
pref = app_state.pref
|
||||
|
|
|
@ -75,7 +75,7 @@ class ActText : AppCompatActivity(), View.OnClickListener {
|
|||
|
||||
override fun onCreate(savedInstanceState : Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
App1.setActivityTheme(this, false)
|
||||
App1.setActivityTheme(this)
|
||||
|
||||
val intent = intent
|
||||
|
||||
|
@ -86,7 +86,7 @@ class ActText : AppCompatActivity(), View.OnClickListener {
|
|||
if(savedInstanceState == null) {
|
||||
val sv = intent.getStringExtra(EXTRA_TEXT) ?: ""
|
||||
val content_start = intent.getIntExtra(EXTRA_CONTENT_START, 0)
|
||||
val content_end = intent.getIntExtra(EXTRA_CONTENT_END, sv.length )
|
||||
val content_end = intent.getIntExtra(EXTRA_CONTENT_END, sv.length)
|
||||
etText.setText(sv)
|
||||
|
||||
// Android 9 以降ではフォーカスがないとsetSelectionできない
|
||||
|
|
|
@ -482,21 +482,22 @@ class App1 : Application() {
|
|||
|
||||
fun setActivityTheme(
|
||||
activity : Activity,
|
||||
bNoActionBar : Boolean,
|
||||
forceThemeId : Int? = null
|
||||
noActionBar : Boolean = false,
|
||||
forceDark :Boolean = false
|
||||
) {
|
||||
|
||||
prepare(activity.applicationContext)
|
||||
|
||||
val theme_idx = Pref.ipUiTheme(pref)
|
||||
activity.setTheme(
|
||||
forceThemeId ?: when(theme_idx) {
|
||||
1 -> if(bNoActionBar) R.style.AppTheme_Dark_NoActionBar else R.style.AppTheme_Dark
|
||||
else -> if(bNoActionBar) R.style.AppTheme_Light_NoActionBar else R.style.AppTheme_Light
|
||||
if( forceDark || theme_idx ==1){
|
||||
if(noActionBar) R.style.AppTheme_Dark_NoActionBar else R.style.AppTheme_Dark
|
||||
}else{
|
||||
if(noActionBar) R.style.AppTheme_Light_NoActionBar else R.style.AppTheme_Light
|
||||
}
|
||||
)
|
||||
|
||||
setStatusBarColor(activity)
|
||||
setStatusBarColor(activity,forceDark=forceDark)
|
||||
}
|
||||
|
||||
internal val CACHE_CONTROL = CacheControl.Builder()
|
||||
|
@ -680,18 +681,23 @@ class App1 : Application() {
|
|||
)
|
||||
}
|
||||
|
||||
fun setStatusBarColor(activity : Activity) {
|
||||
fun setStatusBarColor(activity : Activity,forceDark:Boolean=false ) {
|
||||
|
||||
activity.window?.apply {
|
||||
|
||||
// 古い端末ではナビゲーションバーのアイコン色を設定できないため
|
||||
// メディアビューア画面ではステータスバーやナビゲーションバーの色を設定しない…
|
||||
if( forceDark && Build.VERSION.SDK_INT < 26 ) return
|
||||
|
||||
clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
|
||||
clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION)
|
||||
addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
|
||||
|
||||
var c = Pref.ipStatusBarColor(pref).notZero() ?: getAttributeColor(
|
||||
activity,
|
||||
R.attr.colorPrimaryDark
|
||||
)
|
||||
var c = when {
|
||||
forceDark -> Color.BLACK
|
||||
else -> Pref.ipStatusBarColor(pref).notZero()
|
||||
?: getAttributeColor(activity,R.attr.colorPrimaryDark)
|
||||
}
|
||||
statusBarColor = c or Color.BLACK
|
||||
|
||||
if(Build.VERSION.SDK_INT >= 23) {
|
||||
|
@ -705,7 +711,11 @@ class App1 : Application() {
|
|||
}
|
||||
}
|
||||
|
||||
c = Pref.ipNavigationBarColor(pref)
|
||||
c = when {
|
||||
forceDark -> Color.BLACK
|
||||
else -> Pref.ipNavigationBarColor(pref)
|
||||
}
|
||||
|
||||
if(c != 0) {
|
||||
navigationBarColor = c or Color.BLACK
|
||||
|
||||
|
|
Loading…
Reference in New Issue