1. 09 Apr, 2015 1 commit
  2. 08 Apr, 2015 1 commit
    • Elliott Hughes's avatar
      Enable printf format argument checking. · 018ed31c
      Elliott Hughes authored
      The original attempt missed the fact that Print is a member function,
      so the first argument is the implicit 'this'.
      
      Change-Id: I963b668c5432804c767f0a2e3ef7dea5978a1218
      018ed31c
  3. 23 May, 2014 1 commit
    • Doug Zongker's avatar
      disable async reboot during package installation · c704e06c
      Doug Zongker authored
      The default recovery UI will reboot the device when the power key is
      pressed 7 times in a row, regardless of what recovery is doing.
      Disable this feature during package installation, to minimize the
      chance of corrupting the device due to a mid-install reboot.  (Debug
      packages can explicitly request that the feature be reenabled.)
      
      Change-Id: I20f3ec240ecd344615d452005ff26d8dd7775acf
      c704e06c
  4. 11 Mar, 2014 1 commit
    • Doug Zongker's avatar
      allow CheckKey to request mounting /system · 4db31d20
      Doug Zongker authored
      Also provide a default implementation of CheckKey that's reasonable
      for many devices (those that have power and volume keys).
      
      Change-Id: Icf6c7746ebd866152d402059dbd27fd16bd51ff8
      4db31d20
  5. 26 Nov, 2013 1 commit
    • Doug Zongker's avatar
      add the functions for multi-stage packages to updater · c87bab10
      Doug Zongker authored
      In order to support multi-stage recovery packages, we add the
      set_stage() and get_stage() functions, which store a short string
      somewhere it can be accessed across invocations of recovery.  We also
      add reboot_now() which updater can invoke to immediately reboot the
      device, without doing normal recovery cleanup.  (It can also choose
      whether to boot off the boot or recovery partition.)
      
      If the stage string is of the form "#/#", recovery's UI will be
      augmented with a simple indicator of what stage you're in, so it
      doesn't look like a reboot loop.
      
      Change-Id: I62f7ff0bc802b549c9bcf3cc154a6bad99f94603
      c87bab10
  6. 17 Sep, 2013 1 commit
  7. 12 Sep, 2013 1 commit
  8. 04 Sep, 2013 1 commit
    • Doug Zongker's avatar
      allow CheckKey to request mounting /system · 9e805d6c
      Doug Zongker authored
      Also provide a default implementation of CheckKey that's reasonable
      for many devices (those that have power and volume keys).
      
      Change-Id: Icf6c7746ebd866152d402059dbd27fd16bd51ff8
      9e805d6c
  9. 31 Jul, 2013 1 commit
    • Doug Zongker's avatar
      notify about pending long press · c0441d17
      Doug Zongker authored
      Recovery changes:
      
      - add a method to the UI class that is called when a key is held down
        long enough to be a "long press" (but before it is released).
        Device-specific subclasses can override this to indicate a long
        press.
      
      - do color selection for ScreenRecoveryUI's menu-and-log drawing
        function.  Subclasses can override this to customize the colors they
        use for various elements.
      
      - Include the value of ro.build.display.id in the menu headers, so you
        can see on the screen what version of recovery you are running.
      
      Change-Id: I426a6daf892b9011638e2035aebfa2831d4f596d
      c0441d17
  10. 17 Dec, 2012 1 commit
    • Doug Zongker's avatar
      add NextCheckKeyIsLong() and EnqueueKey() methods · bb01d0c1
      Doug Zongker authored
      NextCheckKeyIsLong() is called right before each call to CheckKey() to
      tell the implementation if the key is a long-press or not.  (To be
      used on devices with few buttons.)  It's done as a separate method
      (rather than a parameter to CheckKey) to not break existing recovery
      UI implementations.
      
      EnqueueKey() can be called from CheckKey() to put arbitrary code codes
      in the synchronous queue (to be processed by HandleMenuKey).
      
      Change-Id: If8a83d66efe0bbc9e2dc178e5ebe12acd216324b
      bb01d0c1
  11. 18 Sep, 2012 2 commits
    • Doug Zongker's avatar
      localization for recovery messages · ea6b2a7a
      Doug Zongker authored
      Add images of text for all locales we support.  Make the progress bar
      fill the correct way for RTL languages.  (Flip the direction the
      spinner turns, too, just for good measure.)
      
      Bug: 7064142
      Change-Id: I5dddb26e02ee5275c57c4dc4a03c6d68432ac7ba
      ea6b2a7a
    • Doug Zongker's avatar
      localization for recovery messages · 5fa8c239
      Doug Zongker authored
      Add images of text for all locales we support.  Make the progress bar
      fill the correct way for RTL languages.  (Flip the direction the
      spinner turns, too, just for good measure.)
      
      Bug: 7064142
      Change-Id: I5dddb26e02ee5275c57c4dc4a03c6d68432ac7ba
      5fa8c239
  12. 23 Aug, 2012 1 commit
    • Doug Zongker's avatar
      add simple text to recovery UI · 02ec6b88
      Doug Zongker authored
      - recovery takes a --locale argument, which will be passed by the main
        system
      
      - the locale is saved in cache, in case the --locale argument is
        missing (eg, when recovery is started from fastboot)
      
      - we include images that have prerendered text for many locales
      
      - we split the background states into four (installing update,
        erasing, no command, error) so that appropriate text can be shown.
      
      Change-Id: I731b8108e83d5ccc09a4aacfc1dbf7e86b397aaf
      02ec6b88
  13. 18 Jan, 2012 2 commits
  14. 04 Nov, 2011 1 commit
    • Doug Zongker's avatar
      move key processing to RecoveryUI · 32a0a47a
      Doug Zongker authored
      Move the key for handling keys from ScreenRecoveryUI to RecoveryUI, so
      it can be used by devices without screens.  Remove the UIParameters
      struct and replace it with some new member variables in
      ScreenRecoveryUI.
      
      Change-Id: I70094ecbc4acbf76ce44d5b5ec2036c36bdc3414
      32a0a47a
  15. 01 Nov, 2011 1 commit
    • Doug Zongker's avatar
      move key processing to RecoveryUI · a4e88e45
      Doug Zongker authored
      Move the key for handling keys from ScreenRecoveryUI to RecoveryUI, so
      it can be used by devices without screens.  Remove the UIParameters
      struct and replace it with some new member variables in
      ScreenRecoveryUI.
      
      Change-Id: I4c0e659edcbedc0b9e86ed261ae4dbb3c6097414
      a4e88e45
  16. 31 Oct, 2011 4 commits
    • Doug Zongker's avatar
      C++ class for device-specific code · daefc1d4
      Doug Zongker authored
      Replace the device-specific functions with a class.  Move some of the
      key handling (for log visibility toggling and rebooting) into the UI
      class.  Fix up the key handling so there is less crosstalk between the
      immediate keys and the queued keys (an increasing annoyance on
      button-limited devices).
      
      Change-Id: I698f6fd21c67a1e55429312a0484b6c393cad46f
      daefc1d4
    • Doug Zongker's avatar
      refactor ui functions into a class · 211aebc4
      Doug Zongker authored
      Move all the functions in ui.c to be members of a ScreenRecoveryUI
      class, which is a subclass of an abstract RecoveryUI class.  Recovery
      then creates a global singleton instance of this class and then invoke
      the methods to drive the UI.  We use this to allow substitution of a
      different RecoveryUI implementation for devices with radically
      different form factors (eg, that don't have a screen).
      
      Change-Id: I76bdd34eca506149f4cc07685df6a4890473f3d9
      211aebc4
    • Doug Zongker's avatar
      C++ class for device-specific code · 7d0542f2
      Doug Zongker authored
      Replace the device-specific functions with a class.  Move some of the
      key handling (for log visibility toggling and rebooting) into the UI
      class.  Fix up the key handling so there is less crosstalk between the
      immediate keys and the queued keys (an increasing annoyance on
      button-limited devices).
      
      Change-Id: I8bdea6505da7974631bf3d9ac3ee308f8c0f76e1
      7d0542f2
    • Doug Zongker's avatar
      turn recovery into a C++ binary · 28ce47cf
      Doug Zongker authored
      Change-Id: I423a23581048d451d53eef46e5f5eac485b77555
      28ce47cf
  17. 28 Oct, 2011 1 commit
  18. 12 Apr, 2011 1 commit
    • Doug Zongker's avatar
      save a last_install file with the result of the last package install attempt · 469243e5
      Doug Zongker authored
      When installing a package, create /cache/recovery/last_install, which
      contains the filename of the package and a 1 or 0 for success or
      failure.
      
      Also, don't mount ext4 and vfat filesystems as read-only (on devices
      where /cache is ext4, we need it to be read-write).
      
      Change-Id: I0cf2a1921bbd65e06343aa74e2006577fac77c2c
      469243e5
  19. 01 Mar, 2011 1 commit
    • Doug Zongker's avatar
      make recovery UI images more general; allow for installation animation · 6809c51f
      Doug Zongker authored
      Change some of the UI parameters (# of indeterminate progress bar
      frames, fps, etc.) from #defined constants to variables that can be
      set by the device-specific recovery_ui code (via a new function).
      
      Support overlaying different images on top of the base installation
      icon to animate it.  Make the FPS control more accurate.
      
      Change-Id: I9268b389b7ea6b3ed9e0c7eae37baf4272e60edd
      6809c51f
  20. 25 Feb, 2011 2 commits
  21. 17 Feb, 2011 1 commit
  22. 25 Jan, 2011 1 commit
    • Doug Zongker's avatar
      make recovery reboot after 2 minutes of no activity · 5cae445e
      Doug Zongker authored
      If recovery sits for 2 minutes in prompt_and_wait(), and you've never
      turned the screen on via the magic keypress, go ahead and reboot.  (We
      used to assume that the user could pull the battery to get out of this
      state, but on devices with nonremovable batteries...)
      
      If you've ever enabled display of the log/menu since recovery started,
      we assume you know what you're doing and will stay in recovery until
      you choose to reboot.
      
      Bug: 3387873
      Bug: 3387274
      Change-Id: I041621e5db132df9a925e6808845a7c45e1b427a
      5cae445e
  23. 21 Sep, 2010 2 commits
    • Doug Zongker's avatar
      remove the notion of "root path"; support mixed flash types · cc8cd3f3
      Doug Zongker authored
      Remove the wacky notion of "roots" and "root paths" (those things that
      look like "FOO:some/path" instead of just "/foo/some/path").  Let each
      device specify its own table of available partitions and how to mount
      them (needed for devices that use both MTD/yaffs2 and EMMC/ext4
      partitions).
      
      (Cherrypicked from gingerbread w/slight edits.)
      
      Change-Id: I2479ce76b13e73f1d12035c89386c3a82b3edf51
      cc8cd3f3
    • Doug Zongker's avatar
      remove the notion of "root path"; support mixed flash types (do not merge) · d4208f9f
      Doug Zongker authored
      Remove the wacky notion of "roots" and "root paths" (those things that
      look like "FOO:some/path" instead of just "/foo/some/path").  Let each
      device specify its own table of available partitions and how to mount
      them (needed for devices that use both MTD/yaffs2 and EMMC/ext4
      partitions).
      
      Change-Id: I18b0a572a71c5e087e0b7ae11b1774388339bfd1
      d4208f9f
  24. 15 Sep, 2010 2 commits
    • Doug Zongker's avatar
      support for ext4/EMMC filesystems in updater binary · 56c5105b
      Doug Zongker authored
      Make the mount and format functions take extra parameters describing
      the filesystem type and add support for mounting and formatting ext4
      filesystems on EMMC.
      
      Change recovery to consistently use stdout for status messages instead
      of mixing stdout and stderr.
      56c5105b
    • Doug Zongker's avatar
      (cherry-pick) support installing any .zip file on the sdcard · 8674a726
      Doug Zongker authored
      Replaces the "install sdcard:update zip" menu option with one that
      displays a menu of zip files (and subdirs) on the sdcard and lets you
      pick which one to install.
      
      Change-Id: Icff541525f2fdfc8939a91af626ecc386ac9dd07
      8674a726
  25. 03 Sep, 2010 1 commit
  26. 01 Jul, 2010 1 commit
    • Doug Zongker's avatar
      support for ext4/EMMC filesystems in updater binary · 3d177d05
      Doug Zongker authored
      Make the mount and format functions take extra parameters describing
      the filesystem type and add support for mounting and formatting ext4
      filesystems on EMMC.
      
      Change recovery to consistently use stdout for status messages instead
      of mixing stdout and stderr.
      3d177d05
  27. 24 Jun, 2010 1 commit
  28. 08 Apr, 2010 1 commit
    • Doug Zongker's avatar
      support installing any .zip file on the sdcard · be598881
      Doug Zongker authored
      Replaces the "install sdcard:update zip" menu option with one that
      displays a menu of zip files (and subdirs) on the sdcard and lets you
      pick which one to install.
      
      Change-Id: I85c94c0e9bc8e05ca52031fc29ca2624c2695ced
      be598881
  29. 03 Feb, 2010 1 commit
    • Doug Zongker's avatar
      bump updater API version to 3; deprecate firmware update command · e08991e0
      Doug Zongker authored
      Remove support for the HTC-specific "firmware" update command and the
      corresponding edify function write_firmware_update().  This
      functionality is now done by an edify extension library that lives in
      vendor/htc.
      
      Change-Id: I80858951ff10ed8dfff98aefb796bef009e05efb
      e08991e0
  30. 13 Nov, 2009 1 commit
  31. 20 Sep, 2009 1 commit
    • Doug Zongker's avatar
      reduce fraction of progress bar for verification · fd8fb0c4
      Doug Zongker authored
      Reduce the fraction of the progress bar used for package verification
      from 50% to 25%:
        - verification is faster than before due to sha1 improvements
        - in eclair we're now verifying the compressed data rather than
          decompressing it
        - incremental packages (which is what most installs use) write more
          data than is contained in the package.
      fd8fb0c4
  32. 18 Jun, 2009 1 commit
    • Doug Zongker's avatar
      let the "firmware" command take the file straight from the package · fb2e3af3
      Doug Zongker authored
      To do a firmware-install-on-reboot, the update binary tells recovery
      what file to install before rebooting.  Let this file be specified as
      "PACKAGE:<foo>" to indicate taking the file out of the OTA package,
      avoiding an extra copy to /tmp.  Bump the API version number to
      reflect this change.
      fb2e3af3