Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@ class SystemBarBackgroundCallbacks(private val viewThemeUtilsProvider: Provider<
decorView.foreground = SystemBarsBackgroundDrawable(decorView, statusBarColor, actionBarColor)
}

@JvmStatic
fun colorStatusBar(activity: Activity, @ColorInt color: Int) {
(activity.window?.decorView?.foreground as? SystemBarsBackgroundDrawable)?.setStatusBarColor(color)
}

@ColorInt
private fun statusBarColor(activity: Activity, @ColorInt actionBarColor: Int): Int {
if (activity is ToolbarActivity && activity.isHomeSearchToolbarVisible) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ class SystemBarsBackgroundDrawable(
invalidateSelf()
}

fun setStatusBarColor(@ColorInt statusBarColor: Int) {
setColors(statusBarColor, navigationBarPaint.color)
}

override fun draw(canvas: Canvas) {
val insets = ViewCompat.getRootWindowInsets(decorView) ?: return
drawStatusBar(canvas, insets.getInsets(WindowInsetsCompat.Type.statusBars()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
import com.nextcloud.client.editimage.EditImageActivity;
import com.nextcloud.client.jobs.BackgroundJobManager;
import com.nextcloud.client.network.ClientFactory;
import com.nextcloud.client.systembars.SystemBarBackgroundCallbacks;
import com.nextcloud.client.utils.Throttler;
import com.nextcloud.common.NextcloudClient;
import com.nextcloud.ui.fileactions.FileAction;
Expand Down Expand Up @@ -905,6 +906,7 @@ public boolean onCreateActionMode(ActionMode mode, Menu menu) {
//set actionMode color
int statusBarColor = ContextCompat.getColor(requireContext(), R.color.action_mode_background);
viewThemeUtils.platform.colorStatusBar(requireActivity(), statusBarColor);
SystemBarBackgroundCallbacks.colorStatusBar(requireActivity(), statusBarColor);

// hide FAB in multi selection mode
setFabVisible(false);
Expand Down Expand Up @@ -982,6 +984,7 @@ public void onDestroyActionMode(ActionMode mode) {
final var activity = getActivity();
if (activity != null) {
viewThemeUtils.platform.resetStatusBar(activity);
SystemBarBackgroundCallbacks.apply(activity, viewThemeUtils);
}

final var adapter = getCommonAdapter();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import android.widget.AbsListView
import androidx.core.content.ContextCompat
import androidx.drawerlayout.widget.DrawerLayout
import androidx.fragment.app.FragmentActivity
import com.nextcloud.client.systembars.SystemBarBackgroundCallbacks
import com.owncloud.android.R
import com.owncloud.android.datamodel.OCFile
import com.owncloud.android.ui.adapter.GalleryAdapter
Expand Down Expand Up @@ -79,10 +80,9 @@ internal class AlbumItemsMultiChoiceModeListener(
inflatePlaceholderMenu(menu)
mode.invalidate()

viewThemeUtils.platform.colorStatusBar(
activity,
ContextCompat.getColor(activity, R.color.action_mode_background)
)
val statusBarColor = ContextCompat.getColor(activity, R.color.action_mode_background)
viewThemeUtils.platform.colorStatusBar(activity, statusBarColor)
SystemBarBackgroundCallbacks.colorStatusBar(activity, statusBarColor)

adapter?.setMultiSelect(true)
onSelectionModeChanged(true)
Expand Down Expand Up @@ -114,6 +114,7 @@ internal class AlbumItemsMultiChoiceModeListener(
activeActionMode = null

viewThemeUtils.platform.resetStatusBar(activity)
SystemBarBackgroundCallbacks.apply(activity, viewThemeUtils)

adapter?.setMultiSelect(false)
adapter?.clearCheckedItems()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import com.nextcloud.client.di.Injectable
import com.nextcloud.client.network.ClientFactory
import com.nextcloud.client.network.ConnectivityService
import com.nextcloud.client.preferences.AppPreferences
import com.nextcloud.client.systembars.SystemBarBackgroundCallbacks
import com.nextcloud.client.utils.Throttler
import com.nextcloud.ui.sort.SortOrderUi
import com.nextcloud.ui.trashbinFileActions.TrashbinFileActionsBottomSheet
Expand Down Expand Up @@ -560,10 +561,9 @@ class TrashbinFragment :
mode.invalidate()

if (activity != null) {
viewThemeUtils.platform.colorStatusBar(
activity,
ContextCompat.getColor(activity, R.color.action_mode_background)
)
val statusBarColor = ContextCompat.getColor(activity, R.color.action_mode_background)
viewThemeUtils.platform.colorStatusBar(activity, statusBarColor)
SystemBarBackgroundCallbacks.colorStatusBar(activity, statusBarColor)
}

adapter?.setMultiSelect(true)
Expand Down Expand Up @@ -619,6 +619,7 @@ class TrashbinFragment :

if (activity != null) {
viewThemeUtils.platform.resetStatusBar(activity)
SystemBarBackgroundCallbacks.apply(activity, viewThemeUtils)
}

adapter?.setMultiSelect(false)
Expand Down
Loading