For anyone messing around with the Doze settings i did some tests this morning. here's what i found
I was watching ADB this morning trying to understand Doze mode a little more , it does seem that setting the " sensing " and "locating " to 0 doesn't turn them off ,
Firstly here's an image of how it should look like the phone goes into doze mode; settings here are settings - sensing / location set to 0 , inactive time was set to 5 seconds . the device is flat , non moving on a table
Ok now lets see what happens with the same settings ; settings - sensing / location set to 0 , inactive time was set to 5 seconds / but this time i'm moving the device as soon as i turned the screen off
Notice how we don't see " anymotion detector " or " location " on this screen shot ( even after a 1min of the screen being off ) , we also don't see the device idle changed, so at the moment my phone is NOT dozeing. I was moving the phone around for about a minute and nothing happened , so it is still sensing motion even if its set to 0
Just as a test i kept the settings the same, i did the same thing, started moving the device as soon as the screen went off , then after some time i set it down , here's what happened
So here you can see the device did nothing while i was moving it around, as soon as i set it down all the Doze stuff kicked in...
So yeah , having a low inactive time / still moving around , isn't going to be great for battery life. i assume if you have a low " inactive time " , lets say 5 seconds , then if you're moving around it's going to try and do the " sensing" part every 5 seconds, which will fail as it'll see you're moving.
Looks like the only way to not have the " sensing " and " location " is to use the " adb shell dumpsys deviceidle force-idle " command. but you'll have to use something like tasker to activate that command after a certain period of time after screen off
EDIT- i wasn't right about the " force idle " check below ;
So testing out " force-idle " i believe this is what greenify uses for " aggressive doze "
This is what force-idle looks like when its flat on a table
So we forced idle, then i'm using the step command to push it to its next step, so that way we can know the previous step it was just in
This is working as it should. it switches between idle ( doze) and idle maintenance ( receive notifications, do tasks )
From this we can see we are correctly in Doze mode.
Now this time i did the same force idle command, but i'm going to move the device while doing it ( simulate walking )
So this time it was a different story , even with the force-idle command if there's movement its not going to go straight into idle without a thought
So it stands to reason that if you're someone that moves around a lot, trains, walking etc, then having Doze try and kick in quickly or when moving is probably going to hurt your battery life rather than improve it ( unless we can find a way to truly disable the " sensing " and " locating " parts of Doze)
I'm no expert but that's what it looks like from the data i've got.
so to conclude - it seems sensing and location can't be deactivated rigth now ... the only issue i can see is people who are out walking and moving all day (if they set their inactive time to say 1min) ,
After that inactive time runs out the device is going to start the doze procedure, which won't work because they are moving, it'll then restart that 1 min inactive timer and the process will continue over and over , so you'll end up with a tonne more wakelocks and no battery gain
Which in that case i think it might be better with a longer inactive time ( i.e like googles default 1 hour ) , it's also probably still a good idea to make sensing / location timeouts much lower so that it's not running for ages