User:Magick777/Opportunistic Power Saving

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)
          • 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
    • no sense in triggering on device unlock, wait until needed
    • check for blockers
      • don't change anything if we're already in the target radio mode
      • don't change anything if we're already using WiFi
      • don't change anything if we're on a voice call
    • trigger on events that may require a data connection i.e.
      • launch new application (via hildon desktop)
        • browser
        • SIP client
        • maps
      • open Modest e-mail account