{"push_id":637135560,"size":16,"distinct_size":16,"ref":"refs/heads/lp4","head":"a54b06cfbc38e0b611ff6c34bd6031e4c85b85c6","before":"0a4a2c0b42ff2ff7353f609c20c5e209c17d88a3","commits":[{"sha":"4b8c32c842a959b311a8f48db51d40eb3b1bda8d","author":{"email":"c21d2b0fb0f00753629cf5bfb27bd52cd3b39662@google.com","name":"Andreas Gampe"},"message":"Frameworks/base: Fix request removal in VoiceInteractionSession\n\nFix and simplify removeRequest.\n\nBug: 19797138\nChange-Id: I0eca877e3109c9f39cebd4c888f166ce334fcc0e","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/4b8c32c842a959b311a8f48db51d40eb3b1bda8d"},{"sha":"e6f320f551b4f99783742e5f11415ccf5dec410c","author":{"email":"254b97c9023ee3f28d29a29199880b404c323aaf@gmail.com","name":"liquid0624"},"message":"frameworks: squash of leak & race fixes\n\ncommit 5c837244a550308a6b8fadf95275d50f6bf3b202\nAuthor: Daniel 2 Olofsson <daniel2.olofsson@sonymobile.com>\nDate:   Mon Jun 10 14:49:14 2013 +0200\n\n    Fixed race condition in Spinner.DialogPopup on null reference.\n\n    NullPointerException is triggered when DialogPopup is\n    dismissed due to object mPopup being null when not showing.\n    Race condition is triggered when dialog is dismissed before\n    touch event to dismiss dialog has been processed properly.\n\n    Fixed by adding a null check prior to accessing mPopup object.\n\n    Change-Id: I3c4fe9c279d92a7103fb4f68189d1d42beedc606\n\ncommit 4950d85c29bed35c0874858d094d5a0f628f1e54\nAuthor: Pawel Augustyn <pawel.augustyn@sonymobile.com>\nDate:   Mon Jul 16 11:23:54 2012 +0200\n\n    Fix for native leaks in YuvToJpegEncoder.cpp\n\n    Objects allocated by Get<object>ArrayElements function,\n    should be released. Add a fix to release this objects\n    in error cases.\n\n    Change-Id: Idf834523d93bb2dfd6b872e3b2179b7f1bba38f3\n\ncommit 463ac945502552ab0c06ae00c987d3c400161fe3\nAuthor: Michal Szynkaruk <michal.szynkaruk@sonymobile.com>\nDate:   Wed Jun 26 11:28:36 2013 +0200\n\n    Fix for MemoryLeak in InputMethodService\n\n    Problem: when onConfigrationChanged is called many times,\n    mInsetsComputer is added many times to the list.\n    Solution: check before if specific listener is already\n    in the arraylist.\n\n    Change-Id: Ic730395120d6dc8585628c142b2e161c42317f30\n\ncommit 5167ab57b2a1dbee38a5303e4b490a04b9dff950\nAuthor: Pavan Kumar S <pavan.kumar.s@intel.com>\nDate:   Fri Aug 3 12:03:01 2012 +0530\n\n    [BatteryStatsImpl] Avoid memory corruption due to Parcel Recycling\n\n    While processing batterystatsfile, in present code there is a race where a parcel\n    might be recycled while it is being written to disk in another thread.\n\n    The write process is done in 2 steps:\n    - write into a Parcel (memory block)\n    - then write this Parcel to disk using Journaled API.\n    The Journaled API ensures robustness against file-system issues due to power cut.\n    The writing is done in batch using a thread running commitPendingDataToDisk().\n    This function writes the parcel to disk but this parcel is a global variable\n    initialized by writeLocked(). If the writing takes too long time and two write\n    threads are launched, the parcel is freed by the second writeLocked() call;\n    which could cause the memory corruption.\n\n    Hence, change global Parcel variable by a Parcel parameter to commitPendingDataToDisk()\n    and only this function will be allowed to recycle the parcel.\n\n    Change-Id: Ie86ee0a66434b7107264c79f68411196c7505a34\n    Signed-off-by: Pavan Kumar S <pavan.kumar.s@intel.com>\n    Author: Pavan Kumar S <pavan.kumar.s@intel.com>\n    Signed-off-by: Shuo Gao <shuo.gao@intel.com>\n    Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>\n    Signed-off-by: Jack Ren <jack.ren@intel.com>\n    Author-tracking-BZ: 47466 19426\n\ncommit ab625310c19573caf5cdcf4c6ef573bbfbc8a26b\nAuthor: Vairavan Srinivasan <vairav@codeaurora.org>\nDate:   Mon Jun 6 13:42:54 2011 -0700\n\n    frameworks/base: Fix for the race in Wallpaperservice\n\n    Wallpaperservice has a race among message handler of\n    DO_DETACH and service's onDestroy. In certain cases,\n    the engine kept track in mActiveEngines is removed by\n    message handler of DO_DETACH and service's onDestroy\n    doesn't get a entry in mActivieEngines and isn't able\n    to invoke detach. This keeps the broadcast receiver,\n    mReceiver active and is unregistered by the framework\n    and a corresponding leak is reported.\n\n      Later, the message handler of DO_DETACH continues\n    and invokes detach on mEngine, which attempts to\n    unregister mReceiver and framework throws an exception\n    \"Receiver not registered: android.service.wallpaper.\n    WallpaperService$Engine$1@40874580\" and causes the\n    framework to reboot.\n\n      In case of system_server, WindownManagerPolicy and\n    android.server.ServerThread contest for access of\n    shared members, mActiveEngines and mEgine. Fix is to\n    protect the critical section via synchronized block.\n\n    Change-Id: Ice79cb8344fb54bcc6e9f76f4b143daac2608d7b\n\n    Conflicts:\n    \tcore/java/android/service/wallpaper/WallpaperService.java\n\nChange-Id: Ib24d04673c5fff21533f7f00456df658cdbc6288\n\nConflicts:\n\tcore/java/android/service/wallpaper/WallpaperService.java\n\nConflicts:\n\tcore/java/com/android/internal/os/BatteryStatsImpl.java\n\tcore/jni/android/graphics/YuvToJpegEncoder.cpp","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/e6f320f551b4f99783742e5f11415ccf5dec410c"},{"sha":"dab73d5e36c889fc78a006366f7892f0a7a66f45","author":{"email":"c1091660afaa5681c4ffbc68ec952005d4204441@sonymobile.com","name":"Daniel 2 Olofsson"},"message":"Fix to crash when clicking text link without view activity\n\nA generated quick link to telephone number gets clicked and\ncrashes if corresponding activity doesn't exist in device.\nIt attempts to open up an activity to view content which will\nin turn generate an uncaught ActivityNotFoundException.\nSolved by catching exception when launching activity for the\nspecified content.\n\nChange-Id: I47364519f1eceb5b978b29382107deae1891c7da","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/dab73d5e36c889fc78a006366f7892f0a7a66f45"},{"sha":"31a01c5d72a9651f787b917fb2cdde3163b6260e","author":{"email":"c21d2b0fb0f00753629cf5bfb27bd52cd3b39662@google.com","name":"Andreas Gampe"},"message":"Frameworks/base: Fix trivial equals implementation\n\nThe comparator's equal implementation doesn't satisfy the constraints\nof an equals method, namely being reflexive. Use the standard Object\nimplementation instead.\n\nBug: 19797138\nChange-Id: I74f888e99533e1945aab7ab10fe8ee3ded6388f4","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/31a01c5d72a9651f787b917fb2cdde3163b6260e"},{"sha":"af4da1d388ca1fbdd6d7b6a296bcfe2b26f72622","author":{"email":"1d82eec1f711b943eef0e7ebf61127079ae6771c@curious-creature.com","name":"Romain Guy"},"message":"Prevent possible memory leak in SpanSet\n\nIf SpanSet.init() is called several times in a row with different\nvalues, it is possible to change \"numberOfSpans\" in a way that\nwill prevent SpanSet.recycle() from nulling out all the spans.\n\nThis can lead to memory leaks of large objects through spans\nreferences. User @piwai reported this leak:\n\n     com.squareup.marketfont.MarketSpan\n     `-[1] of array android.text.style.CharacterStyle[]\n       `-spans of object android.text.SpanSet\n         `-mCharacterStyleSpanSet of object android.text.TextLine\n           `-[1] of array android.text.TextLine[]\n             `-sCached of class android.text.TextLine\n\nThe MarketSpan instance is kept alive through a recycled TextLine\nwhich itself contains a SpanSet.\n\nChange-Id: Idfb2233ca16895dbe735c312662eaf0b4a2ecd65","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/af4da1d388ca1fbdd6d7b6a296bcfe2b26f72622"},{"sha":"c291b316b8c26d8b60fa991dcbb3d72b932ea088","author":{"email":"a6e5c915e1099e6e1d75274634ed0fb987afce03@gmail.com","name":"Kyrylo Mikos"},"message":"Fix ellipsizing of emoji symbols in StatisLayout.\n\nChange-Id: Ia057053a7dd6e5a256499f6bded99872581de18e","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/c291b316b8c26d8b60fa991dcbb3d72b932ea088"},{"sha":"d60f663f25994aea9e51f1d440010f884875c214","author":{"email":"c21d2b0fb0f00753629cf5bfb27bd52cd3b39662@google.com","name":"Andreas Gampe"},"message":"Frameworks/base: Add removeAll for ArraySet\n\nAdd a simple ArraySet.removeAll(ArraySet) method. This avoids two\nallocations, a MapCollections helper and an Iterator object, over\nthe removeAll(Collection) code.\n\nKeySetManagerService heavily calls removeAll during boot (about 9K\ntimes in AOSP). This reduces GC stress and optimizes the removal\n(about half the time the removed collection has only one element).\nThe removal method in KeySetManagerService is also done under a lock,\nso that it gates parallelization efforts in PackageManagerService.\n\nBug: 19498314\nChange-Id: Ib0e483adfd09831cd66ab19a820ebf6544a2b66f","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/d60f663f25994aea9e51f1d440010f884875c214"},{"sha":"ff896d1d3dca7aac044bb1a70bec96807da26712","author":{"email":"f1f8667db13e02d63e57947edf3fdfaa80cd9a11@gmail.com","name":"Young-Ho Cha"},"message":"check ntpserver as empty string instead of null\n\nmServer cannot set null, because string from resource always returns\nnon-null charsequence\n\nChange-Id: I8d6a6fdbc34267ee361e7bd20719887268161870\nSigned-off-by: Young-Ho Cha <ganadist@gmail.com>","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/ff896d1d3dca7aac044bb1a70bec96807da26712"},{"sha":"9a0f183d519fecd05ecb0082477a5d76d88bb9cf","author":{"email":"c21d2b0fb0f00753629cf5bfb27bd52cd3b39662@google.com","name":"Andreas Gampe"},"message":"Frameworks/base: Use || instead of |\n\nNothing wrong with | in this case, but || is canonical.\n\nBug: 19797138\nChange-Id: I5f145736a5470f7cde06efce9a217d86eda2135f","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/9a0f183d519fecd05ecb0082477a5d76d88bb9cf"},{"sha":"d35b9e66eb4b525c6b24df8658528a2b56da86d4","author":{"email":"c21d2b0fb0f00753629cf5bfb27bd52cd3b39662@google.com","name":"Andreas Gampe"},"message":"Frameworks/base: Fix a comparison\n\nChange-Id: I80d62869920e77110c95f20369ec2631c75f6ed4","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/d35b9e66eb4b525c6b24df8658528a2b56da86d4"},{"sha":"009199c5992a38a4f18eb9135fd446ccc977a5f0","author":{"email":"dc703bbaf465f2202d8fcabb6ec0c4144cd5927e@sonymobile.com","name":"Mikael Gullstrand"},"message":"Call startInput on return from sleep mode\n\nOne manifestation of the problem was that input string disappeared when\nreturning from sleep mode. When editing a TextView with an IME in\nlandscape orientation, the text would disappear when returning from\nsleep mode. The InputMethodManager would be deactivated when the screen\nwas put into sleep mode as well as the input connection. However when\nreturning from sleep mode the InputMethodManager was activated, but the\ninput connection would not be activated again.\n\nThe solution is to check focus of the InputMethodManager\nwhich will create a new active input connection to use.\n\nThe change is however not specific to this one problem but fundamentally\naddresses the issue of lack of startInput on return from sleep mode.\n\nChange-Id: I95d05110bc1cf310fad23ea1bcbc5890f642d1fc","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/009199c5992a38a4f18eb9135fd446ccc977a5f0"},{"sha":"badbbecd9a65e4086140eb4a026a6462c97fda67","author":{"email":"c32846a9d4488796e93c8e06aa61e53d10073960@gmail.com","name":"namagi"},"message":"Fix Javadoc link for getModifierBehavior()\n\nChange-Id: I571db5147a081fcd7190483ba9e7a45b46db224d","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/badbbecd9a65e4086140eb4a026a6462c97fda67"},{"sha":"0cf284a3cf05f9dbf336da8630a63e0f4ad47326","author":{"email":"338da36b0b88a09286ade72059277a2652c85f05@googlemail.com","name":"Lars Greiss"},"message":"fb: volume rocker control (wake up)\n\nChange-Id: I60f5f88e32a129afda80f5b0f4f41cb0a322b691\n\nConflicts:\n\tcore/java/android/provider/Settings.java","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/0cf284a3cf05f9dbf336da8630a63e0f4ad47326"},{"sha":"7502fdd7295b8f250ddd3923d2199428ede5a43b","author":{"email":"5a953b41e7c6a45037091dd5a4bb8527940ed2aa@lge.com","name":"Dohyun Lee"},"message":"Avert duplicating translation in drawing a background drawable\n\nWhen bounds of a background drawable of a view is set then\nthe drawable is translated into its left and top position\ntwice by:\n\n 1. mBackgroundRenderNode.setLeftTopRightBottom() when\n    creating or updaing the display list for the drawable.\n\n 2. OpenGLRenderer during actual rendering. For example,\n    the translation is done by loadTranslate() call to a\n    model view matrix in setupDrawModelView() for drawing\n    a simple colored rectangle.\n\nThis patch removes the translation described in step 1\nabove since all works for the translation of a background\ndrawable is done by OpenGLRenderer appropriately.\n\nChange-Id: I9b8549b36215d567a5f43e1bb7bd02243a2377d1\nSigned-off-by: Dohyun Lee <dohyun.lee@lge.com>","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/7502fdd7295b8f250ddd3923d2199428ede5a43b"},{"sha":"ca674a6d335a26769e1355d5d79e6cfb93ee1fb7","author":{"email":"bcf2a12f5fb4cb64652629761e1723bc54670029@codeaurora.org","name":"Shasidhar Ganiga"},"message":"Fix for half blank screen during App resume\n\nActivity handling config changes is launched and\nrotated to landscape mode. Device is suspended\n(power key press) and then rotated to potrait mode\nand resumed(power screen press to screen on). Now\nwhen keyguard is unlocked the Activity UI is\ncorrupted for some time before recovering. Some\ndevices we see  half blank screen, on Nexus we see\nHalf of the UI is corrupted( tried with chrome app)\n\nThe root cause for the issue is that when the device\nin landscape the activity layout is set to landscape.\nNow after suspending the device and changing the\norientation to potrait this activity relayout and draw\nto potrait is not done since mStopped is true(behind\nthe keyguard view). The change in gerrit overrides\nthis condition and we dont see the issue.\nSigned-off-by: Shasidhar Ganiga <sganig@codeaurora.org>\n\nChange-Id: Ifdf8d1ff4ac523da652b5d192217c7cf4918eadf","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/ca674a6d335a26769e1355d5d79e6cfb93ee1fb7"},{"sha":"a54b06cfbc38e0b611ff6c34bd6031e4c85b85c6","author":{"email":"25b15a7bccf53d5a188f6bf82e4a8014ed9730e7@gmail.com","name":"Danesh M"},"message":"Camera : allow camera to use power key as shutter\n\nProvides a way for an app to take control of the power key.\nUsed by the camera to make the power key control the shutter.\n\nChange-Id: I85a1e1761199f4604672be42a3a5005227f5451a\n(cherry picked from commit 15661444ae1faea831218f0c936b756de2f0698b)\n\nConflicts:\n\tcore/java/android/view/WindowManager.java\n\tcore/res/res/values/cm_strings.xml\n\nFix typo in @hide annotation for PRIVATE_FLAG_PREVENT_POWER_KEY\n\nChange-Id: I19622ffe177553cd5a80022e76a54f8e16e49cac","distinct":true,"url":"https://api.github.com/repos/liquid0624/android_frameworks_base/commits/a54b06cfbc38e0b611ff6c34bd6031e4c85b85c6"}]}