User:Magick777/Opportunistic Power Saving

(Design goals)
(Design goals)
Line 7: Line 7:
* Switch to GSM mode opportunistically when all seems to be quiet
* Switch to GSM mode opportunistically when all seems to be quiet
** trigger on phone locked
** trigger on phone locked
-
** check for blockers
+
** then check for blockers, most common first
-
*** don't change anything if we're on a call
+
*** don't change anything if we're on charge and not saving battery
-
*** don't change anything if we're in the target radio mode
+
*** don't change anything if we're on a GSM call
-
*** don't change anything if the user may still want 3G
+
*** don't change anything if we're in the desired radio mode
-
*** don't change if we have blocker applications, connections or traffic
+
*** don't change anything if we have blocker applications or connections
-
**** blocker applications or traffic don't apply if we're on WiFi
+
**** blockers don't apply if we're on WiFi
**** if we're on 3G then the known blockers should be
**** if we're on 3G then the known blockers should be
***** location-daemon (process running)
***** location-daemon (process running)
-
** cooling off period during which a device unlock cancels radio switch
+
*** don't change anything if the user didn't want the phone to lock anyway
-
** perform final sanity checks
+
**** cooling off period during which device unlock cancels radio switch
 +
** perform any final sanity checks
*** recheck that we're still not on a call after our cooling off period
*** recheck that we're still not on a call after our cooling off period
** then make the switch to GSM mode
** then make the switch to GSM mode

Revision as of 23:39, 19 July 2010

Opportunistic Power Saving

Maintain phone in GSM mode by default when on battery

Design goals

  • Switch to GSM mode opportunistically when all seems to be quiet
    • trigger on phone locked
    • then check for blockers, most common first
      • don't change anything if we're on charge and not saving battery
      • don't change anything if we're on a GSM call
      • don't change anything if we're in the desired radio mode
      • don't change anything if we have blocker applications or connections
        • blockers don't apply if we're on WiFi
        • if we're on 3G then the known blockers should be
          • location-daemon (process running)
      • don't change anything if the user didn't want the phone to lock anyway
        • cooling off period during which device unlock cancels radio switch
    • perform any final sanity checks
      • recheck that we're still not on a call after our cooling off period
    • then make the switch to GSM mode


  • Switch automatically to 3G or dual mode when something requires it
    • trigger on events that are likely to require a data connection
      • launch browser
      • open e-mail account
      • launch other application
    • but test the following
      • don't change anything if we're on a voice call
      • don't change anything if we're already using WiFi
      • don't change anything if we're already in the target radio mode