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 explicitly needed
    • trigger on events that will require a data connection i.e.
      • launch browser, SIP client, maps
      • open e-mail account
      • launch other data heavy application
    • but test the following
      • 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