User:Magick777/Opportunistic Power Saving

(Design goals)
(Design goals)
Line 14: Line 14:
**** blockers 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
+
***** location-daemon active (GPS in use, therefore mapping)
-
***** SIP call
+
***** SIP / Skype / GTalk calls (VoIP in use)
-
***** Skype call
+
-
***** Google Talk call
+
*** don't change anything if the user didn't want the phone to lock anyway
*** 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
**** cooling off period during which device unlock cancels radio switch

Revision as of 23:42, 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 active (GPS in use, therefore mapping)
          • SIP / Skype / GTalk calls (VoIP in use)
      • 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