Skip to content

Commit 9f951ea

Browse files
authored
Merge pull request #126 from esensar/fix/status-bar-icon-colors
Properly update status bar icon colors when opening all apps and widgets drawers
2 parents 1c0a559 + 92decdd commit 9f951ea

File tree

1 file changed

+11
-0
lines changed
  • app/src/main/kotlin/com/simplemobiletools/launcher/activities

1 file changed

+11
-0
lines changed

app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,10 @@ class MainActivity : SimpleActivity(), FlingListener {
482482
binding.homeScreenGrid.root.fragmentExpanded()
483483
binding.homeScreenGrid.root.hideResizeLines()
484484
fragment.root.performAccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS, null)
485+
486+
Handler(Looper.getMainLooper()).postDelayed({
487+
updateStatusBarIcons()
488+
}, ANIMATION_DURATION)
485489
}
486490

487491
private fun hideFragment(fragment: ViewBinding) {
@@ -493,6 +497,7 @@ class MainActivity : SimpleActivity(), FlingListener {
493497

494498
window.navigationBarColor = Color.TRANSPARENT
495499
binding.homeScreenGrid.root.fragmentCollapsed()
500+
updateStatusBarIcons(Color.TRANSPARENT)
496501
Handler(Looper.getMainLooper()).postDelayed({
497502
if (fragment is AllAppsFragmentBinding) {
498503
fragment.allAppsGrid.scrollToPosition(0)
@@ -540,6 +545,7 @@ class MainActivity : SimpleActivity(), FlingListener {
540545
binding.allAppsFragment.allAppsGrid.scrollToPosition(0)
541546
binding.allAppsFragment.root.touchDownY = -1
542547
binding.homeScreenGrid.root.fragmentCollapsed()
548+
updateStatusBarIcons(Color.TRANSPARENT)
543549
}
544550
if (delayed) {
545551
Handler(Looper.getMainLooper()).postDelayed(close, APP_DRAWER_CLOSE_DELAY)
@@ -556,6 +562,7 @@ class MainActivity : SimpleActivity(), FlingListener {
556562
binding.widgetsFragment.widgetsList.scrollToPosition(0)
557563
binding.widgetsFragment.root.touchDownY = -1
558564
binding.homeScreenGrid.root.fragmentCollapsed()
565+
updateStatusBarIcons(Color.TRANSPARENT)
559566
}
560567
if (delayed) {
561568
Handler(Looper.getMainLooper()).postDelayed(close, APP_DRAWER_CLOSE_DELAY)
@@ -1036,6 +1043,10 @@ class MainActivity : SimpleActivity(), FlingListener {
10361043
}
10371044
}
10381045

1046+
private fun updateStatusBarIcons(backgroundColor: Int = getProperBackgroundColor()) {
1047+
WindowCompat.getInsetsController(window, binding.root).isAppearanceLightStatusBars = backgroundColor.getContrastColor() == DARK_GREY
1048+
}
1049+
10391050
// taken from https://gist.github.com/maxjvh/a6ab15cbba9c82a5065d
10401051
private fun calculateAverageColor(bitmap: Bitmap): Int {
10411052
var red = 0

0 commit comments

Comments
 (0)