Лучший способ комбинировать целые флаги с использованием Kotlin?

В java мы регулярно объединяем флаги через | оператор.

например

getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN ); 

Кажется, я не могу найти эквивалентного оператора в Котлине. Кто-нибудь знает удобный способ комбинировать целые флаги в Котлине?

Просто используйте or :

 getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN ); 

Это может быть немного запутанным. Вы можете создать небольшую вспомогательную функцию расширения (или что-то еще), чтобы сделать ее более читаемой:

 infix fun Int.with(x: Int) = this.or(x) getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE with View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION with View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN );