On some pages users look at the screen for a long time without touching it: a video player, a live call, navigation, a reading page. Keep the screen awake there with wakelock_plus so it doesn't turn off in the middle.
But only on those pages. Don't turn it on in main.dart for the whole app. Users expect their phone to lock itself, for privacy and for battery.
That doesn't work for bottom bar tabs with IndexedStack: they get build once and never dispose, so the wakelock would never turn off. For those, pass the handler a stream that tells if any page needs the wakelock right now.
For example, in my prayer times app the screen stays awake in two places, the "Compass" tab and the "Read" tab inside "Quran" tab. So I combine the bottom bar tab with the inner tab: