Navigation Bar color consistency fixed, for gesture bar as well as 3/2 buttons bar

pull/672/head
Armand Douce 5 years ago
parent c5a8334c63
commit 15696ad813

@ -19,15 +19,16 @@
package org.isoron.uhabits.activities
import android.app.*
import android.content.res.Configuration.*
import android.os.Build.VERSION.*
import androidx.core.content.*
import org.isoron.androidbase.activities.*
import org.isoron.uhabits.*
import org.isoron.uhabits.core.preferences.*
import org.isoron.uhabits.core.ui.*
import javax.inject.*
import android.app.Activity
import android.content.Context
import android.content.res.Configuration.UI_MODE_NIGHT_MASK
import android.content.res.Configuration.UI_MODE_NIGHT_YES
import android.os.Build.VERSION.SDK_INT
import androidx.core.content.ContextCompat
import org.isoron.androidbase.activities.ActivityScope
import org.isoron.uhabits.R
import org.isoron.uhabits.core.preferences.Preferences
import org.isoron.uhabits.core.ui.ThemeSwitcher
@ActivityScope
class AndroidThemeSwitcher
@ -54,6 +55,14 @@ constructor(
override fun applyLightTheme() {
activity.setTheme(R.style.AppBaseTheme)
if(isEdgeToEdgeEnabled(activity.baseContext) == 2) {
activity.window.navigationBarColor =
ContextCompat.getColor(activity, R.color.grey_200)
} else {
activity.window.navigationBarColor =
ContextCompat.getColor(activity, R.color.transparent)
}
}
override fun applyPureBlackTheme() {
@ -68,4 +77,12 @@ constructor(
else -> R.style.DialogWithTitle
}
}
fun isEdgeToEdgeEnabled(context: Context): Int {
val resources = context.resources
val resourceId = resources.getIdentifier("config_navBarInteractionMode", "integer", "android")
return if (resourceId > 0) {
resources.getInteger(resourceId)
} else 0
}
}

@ -19,6 +19,8 @@
package org.isoron.uhabits.activities.settings;
import android.graphics.Color;
import android.os.*;
import org.isoron.androidbase.activities.*;
@ -44,6 +46,8 @@ public class SettingsActivity extends BaseActivity
setContentView(R.layout.settings_activity);
setupActionBarColor();
getWindow().setNavigationBarColor((Color.TRANSPARENT));
}
private void setupActionBarColor()
@ -56,4 +60,5 @@ public class SettingsActivity extends BaseActivity
BaseScreen.setupActionBarColor(this, color);
}
}

Loading…
Cancel
Save