)]}' { "log": [ { "commit": "c704e06ce596bd0a6de66b10b108aee95535468a", "tree": "3005b89333b7500aaa78e0867e377eac2f0280ab", "parents": [ "ffb557d351776bed40818fa77afaa743d9e34a34" ], "author": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Fri May 23 08:40:35 2014 -0700" }, "committer": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Fri May 23 08:52:31 2014 -0700" }, "message": "disable async reboot during package installation\n\nThe default recovery UI will reboot the device when the power key is\npressed 7 times in a row, regardless of what recovery is doing.\nDisable this feature during package installation, to minimize the\nchance of corrupting the device due to a mid-install reboot. (Debug\npackages can explicitly request that the feature be reenabled.)\n\nChange-Id: I20f3ec240ecd344615d452005ff26d8dd7775acf\n" }, { "commit": "a766c34f86ddecbdc61634eb582a2ebce8253dc5", "tree": "62944cf1db7b74fbd93a065e402367cc87ea9ac1", "parents": [ "9fb676aa924b2ad1c1f2f8f44734b1ecd9f909dc", "d327c63af691a36fbf53866a3ae7ad27a43ebe3b" ], "author": { "name": "Doug Zongker", "email": "dougz@google.com", "time": "Mon Dec 02 23:30:51 2013 +0000" }, "committer": { "name": "Android Git Automerger", "email": "android-git-automerger@android.com", "time": "Mon Dec 02 23:30:51 2013 +0000" }, "message": "am d327c63a: am c87bab10: add the functions for multi-stage packages to updater\n\n* commit \u0027d327c63af691a36fbf53866a3ae7ad27a43ebe3b\u0027:\n add the functions for multi-stage packages to updater\n" }, { "commit": "c87bab101893e8322b49d7c8600e3367b20ab50a", "tree": "7fb05cb6389b181776b4ae818e2c0883dd1a9a79", "parents": [ "c64e76c75088b951f61a7f7bacf8af6eccd2ccfa" ], "author": { "name": "Doug Zongker", "email": "dougz@google.com", "time": "Mon Nov 25 13:53:25 2013 -0800" }, "committer": { "name": "Doug Zongker", "email": "dougz@google.com", "time": "Tue Nov 26 15:46:57 2013 -0800" }, "message": "add the functions for multi-stage packages to updater\n\nIn order to support multi-stage recovery packages, we add the\nset_stage() and get_stage() functions, which store a short string\nsomewhere it can be accessed across invocations of recovery. We also\nadd reboot_now() which updater can invoke to immediately reboot the\ndevice, without doing normal recovery cleanup. (It can also choose\nwhether to boot off the boot or recovery partition.)\n\nIf the stage string is of the form \"#/#\", recovery\u0027s UI will be\naugmented with a simple indicator of what stage you\u0027re in, so it\ndoesn\u0027t look like a reboot loop.\n\nChange-Id: I62f7ff0bc802b549c9bcf3cc154a6bad99f94603\n" }, { "commit": "a5ef19fabd10428ccff2055455ef1a55dfdc5fa0", "tree": "01344df30924781bb0d658a44503fd7997f2b3b4", "parents": [ "be96809d181f587255176add2aa298adaaec69e4" ], "author": { "name": "Todd Poynor", "email": "toddpoynor@google.com", "time": "Tue Sep 17 13:39:10 2013 -0700" }, "committer": { "name": "Todd Poynor", "email": "toddpoynor@google.com", "time": "Tue Sep 17 21:58:52 2013 +0000" }, "message": "recovery: fix epoll events type to uint32_t\n\nChange-Id: I5db9987102201c18821acb45d1f824e9865a1451\n" }, { "commit": "e7265df3523d27c9f59829c858de256cf063da26", "tree": "a55c3842e61ef49f749f86a9a4b9b317b1418100", "parents": [ "1fc89d4c84e512b484d82d971d997bdb0aef40e2" ], "author": { "name": "Todd Poynor", "email": "toddpoynor@google.com", "time": "Tue Sep 10 16:53:12 2013 -0700" }, "committer": { "name": "Todd Poynor", "email": "toddpoynor@google.com", "time": "Thu Sep 12 12:42:33 2013 -0700" }, "message": "recovery: ui changes for ev_*() switch to epoll\n\nConvert callback events parameter to unsigned int.\n\nChange-Id: Ife0e983f307c07bf4aca807d70574aeb20c460cd\n" }, { "commit": "9e805d6ca0101f6bfc458e5c1e9b48fecb495a72", "tree": "245f36ae41f95e64faca59401ff6ccc0394d9c76", "parents": [ "e428f624653bd0b6f66e8d4c95f54f6e90fc6218" ], "author": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Wed Sep 04 13:44:38 2013 -0700" }, "committer": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Wed Sep 04 15:02:29 2013 -0700" }, "message": "allow CheckKey to request mounting /system\n\nAlso provide a default implementation of CheckKey that\u0027s reasonable\nfor many devices (those that have power and volume keys).\n\nChange-Id: Icf6c7746ebd866152d402059dbd27fd16bd51ff8\n" }, { "commit": "c0441d171914e59941ec4f815ae0aabf56d6504f", "tree": "2382931433409feae532e7a7fb4ac05016336196", "parents": [ "3c3ee3bc33d35cf3939f57f6c649459280b57827" ], "author": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Wed Jul 31 11:28:24 2013 -0700" }, "committer": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Wed Jul 31 11:35:12 2013 -0700" }, "message": "notify about pending long press\n\nRecovery changes:\n\n- add a method to the UI class that is called when a key is held down\n long enough to be a \"long press\" (but before it is released).\n Device-specific subclasses can override this to indicate a long\n press.\n\n- do color selection for ScreenRecoveryUI\u0027s menu-and-log drawing\n function. Subclasses can override this to customize the colors they\n use for various elements.\n\n- Include the value of ro.build.display.id in the menu headers, so you\n can see on the screen what version of recovery you are running.\n\nChange-Id: I426a6daf892b9011638e2035aebfa2831d4f596d\n" }, { "commit": "bb01d0c12b29e6ff4a9169c21c95408e7eb882c5", "tree": "cb8243d9d034d18d84b66e7ece1435b1069cf2af", "parents": [ "aa0dbb25a0ae51a8e53018fe05bf59164d9804cb" ], "author": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Mon Dec 17 10:52:58 2012 -0800" }, "committer": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Mon Dec 17 10:52:58 2012 -0800" }, "message": "add NextCheckKeyIsLong() and EnqueueKey() methods\n\nNextCheckKeyIsLong() is called right before each call to CheckKey() to\ntell the implementation if the key is a long-press or not. (To be\nused on devices with few buttons.) It\u0027s done as a separate method\n(rather than a parameter to CheckKey) to not break existing recovery\nUI implementations.\n\nEnqueueKey() can be called from CheckKey() to put arbitrary code codes\nin the synchronous queue (to be processed by HandleMenuKey).\n\nChange-Id: If8a83d66efe0bbc9e2dc178e5ebe12acd216324b\n" }, { "commit": "5fa8c23911759a9e81af0e7fb5eb431277b8e9a6", "tree": "6990ad74371795a16ac1670bb21ca2f8e6aeb6bd", "parents": [ "52eeea4fa59c15ecb09c32b8e05653f4e55f5188" ], "author": { "name": "Doug Zongker", "email": "dougz@google.com", "time": "Tue Sep 18 12:37:02 2012 -0700" }, "committer": { "name": "Doug Zongker", "email": "dougz@google.com", "time": "Tue Sep 18 12:37:02 2012 -0700" }, "message": "localization for recovery messages\n\nAdd images of text for all locales we support. Make the progress bar\nfill the correct way for RTL languages. (Flip the direction the\nspinner turns, too, just for good measure.)\n\nBug: 7064142\nChange-Id: I5dddb26e02ee5275c57c4dc4a03c6d68432ac7ba\n" }, { "commit": "02ec6b88ed4e6cf40cc257572b07c7277b7b6341", "tree": "2aa6f95cb875d258f62a5342ec2bb1ad0093e3bd", "parents": [ "a3ccba6d314cb29b02d1dbda9a71427b11da936d" ], "author": { "name": "Doug Zongker", "email": "dougz@google.com", "time": "Wed Aug 22 17:26:40 2012 -0700" }, "committer": { "name": "Doug Zongker", "email": "dougz@google.com", "time": "Wed Aug 22 17:26:40 2012 -0700" }, "message": "add simple text to recovery UI\n\n- recovery takes a --locale argument, which will be passed by the main\n system\n\n- the locale is saved in cache, in case the --locale argument is\n missing (eg, when recovery is started from fastboot)\n\n- we include images that have prerendered text for many locales\n\n- we split the background states into four (installing update,\n erasing, no command, error) so that appropriate text can be shown.\n\nChange-Id: I731b8108e83d5ccc09a4aacfc1dbf7e86b397aaf\n" }, { "commit": "48b5b0737c127a049bf16f9c69926c4da8668112", "tree": "92e4aeda2e0db36e09be25eef8d239983411309f", "parents": [ "6639248d02ce544538eea83488c1ed4a3b46a7fc" ], "author": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Wed Jan 18 13:46:26 2012 -0800" }, "committer": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Wed Jan 18 15:15:39 2012 -0800" }, "message": "allow recovery UI to ignore certain keypresses\n\nChange-Id: Id182bb95ffcc475c5acabb29b413e422302ae7f2\n" }, { "commit": "32a0a47a596509792fde8cdbf8b4b0705708b2be", "tree": "55406d412c0a355dc4bdcc3fc0f2136a68af77d3", "parents": [ "daefc1d442fb421606680feb9aeb59c133f4c427" ], "author": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Tue Nov 01 11:00:20 2011 -0700" }, "committer": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Fri Nov 04 14:09:48 2011 -0700" }, "message": "move key processing to RecoveryUI\n\nMove the key for handling keys from ScreenRecoveryUI to RecoveryUI, so\nit can be used by devices without screens. Remove the UIParameters\nstruct and replace it with some new member variables in\nScreenRecoveryUI.\n\nChange-Id: I70094ecbc4acbf76ce44d5b5ec2036c36bdc3414\n" }, { "commit": "daefc1d442fb421606680feb9aeb59c133f4c427", "tree": "71b64ebdd66540aca7a523c73a47626ca519d039", "parents": [ "b88aea8a89f9d3344022cdfe895397baac6c05e7" ], "author": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Mon Oct 31 09:34:15 2011 -0700" }, "committer": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Mon Oct 31 15:51:07 2011 -0700" }, "message": "C++ class for device-specific code\n\nReplace the device-specific functions with a class. Move some of the\nkey handling (for log visibility toggling and rebooting) into the UI\nclass. Fix up the key handling so there is less crosstalk between the\nimmediate keys and the queued keys (an increasing annoyance on\nbutton-limited devices).\n\nChange-Id: I698f6fd21c67a1e55429312a0484b6c393cad46f\n" }, { "commit": "211aebc4e09ce7ca37003be4f01c83111cf0bb49", "tree": "395aa8bc2d1d0412a52d42a3bb2d75a54f96685c", "parents": [ "0890a0ce8ecc47afb1f892dcd770e8dc519add14" ], "author": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Fri Oct 28 15:13:10 2011 -0700" }, "committer": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Mon Oct 31 14:15:02 2011 -0700" }, "message": "refactor ui functions into a class\n\nMove all the functions in ui.c to be members of a ScreenRecoveryUI\nclass, which is a subclass of an abstract RecoveryUI class. Recovery\nthen creates a global singleton instance of this class and then invoke\nthe methods to drive the UI. We use this to allow substitution of a\ndifferent RecoveryUI implementation for devices with radically\ndifferent form factors (eg, that don\u0027t have a screen).\n\nChange-Id: I76bdd34eca506149f4cc07685df6a4890473f3d9\n" }, { "commit": "28ce47cfa6919518a8c298088bf08b03bb374c0f", "tree": "0c429bcc8f4a1935f3be97d87ebdc2f4434ee887", "parents": [ "d0181b8fcdac761afec252151a8bfda116916e96" ], "author": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Fri Oct 28 10:33:05 2011 -0700" }, "committer": { "name": "Doug Zongker", "email": "dougz@android.com", "time": "Mon Oct 31 10:24:09 2011 -0700" }, "message": "turn recovery into a C++ binary\n\nChange-Id: I423a23581048d451d53eef46e5f5eac485b77555\n" } ] }