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 package org.isoron.uhabits.activities
import android.app.* import android.app.Activity
import android.content.res.Configuration.* import android.content.Context
import android.os.Build.VERSION.* import android.content.res.Configuration.UI_MODE_NIGHT_MASK
import androidx.core.content.* import android.content.res.Configuration.UI_MODE_NIGHT_YES
import org.isoron.androidbase.activities.* import android.os.Build.VERSION.SDK_INT
import org.isoron.uhabits.* import androidx.core.content.ContextCompat
import org.isoron.uhabits.core.preferences.* import org.isoron.androidbase.activities.ActivityScope
import org.isoron.uhabits.core.ui.* import org.isoron.uhabits.R
import javax.inject.* import org.isoron.uhabits.core.preferences.Preferences
import org.isoron.uhabits.core.ui.ThemeSwitcher
@ActivityScope @ActivityScope
class AndroidThemeSwitcher class AndroidThemeSwitcher
@ -54,6 +55,14 @@ constructor(
override fun applyLightTheme() { override fun applyLightTheme() {
activity.setTheme(R.style.AppBaseTheme) 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() { override fun applyPureBlackTheme() {
@ -68,4 +77,12 @@ constructor(
else -> R.style.DialogWithTitle 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; package org.isoron.uhabits.activities.settings;
import android.graphics.Color;
import android.os.*; import android.os.*;
import org.isoron.androidbase.activities.*; import org.isoron.androidbase.activities.*;
@ -44,6 +46,8 @@ public class SettingsActivity extends BaseActivity
setContentView(R.layout.settings_activity); setContentView(R.layout.settings_activity);
setupActionBarColor(); setupActionBarColor();
getWindow().setNavigationBarColor((Color.TRANSPARENT));
} }
private void setupActionBarColor() private void setupActionBarColor()
@ -56,4 +60,5 @@ public class SettingsActivity extends BaseActivity
BaseScreen.setupActionBarColor(this, color); BaseScreen.setupActionBarColor(this, color);
} }
} }

Loading…
Cancel
Save