{"push_id":782710010,"size":53,"distinct_size":53,"ref":"refs/heads/stable/cm-12.1-YOG4P","head":"ee2dad447fd1c2519d4a94defa4e1c6b46e256b3","before":"d10a028bacc865d517487cb3be21f5883954a8fd","commits":[{"sha":"8f9cafaffa5c21d43ee9e9dece1df3199b012b15","author":{"email":"9dbf48df23fe5b24e83890f645bd08cc702772dd@google.com","name":"Wale Ogunwale"},"message":"Lockdown AM.getRunningAppProcesses API with permission.REAL_GET_TASKS\n\n* Applications must now have ...permission.REAL_GET_TASKS to\nbe able to get process information for all applications.\n* Only the process information for the calling application will be\nreturned if the app doesn't have the permission.\n* Privilages apps will temporarily be able to get process information\nfor all applications if they don't have the new permission, but have\ndeprecated ...permission.GET_TASKS.\n\nCYNGNOS-446\nBug: 20034603\nChange-Id: I67ae9491f65d2280adb6a81593693d499714a216\n(cherry picked from commit 9dbaa54f6834e013a63f18bd51ace554de811d80)\n(cherry picked from commit 8113df186787d7bf948af8e57d76868f9cb89f19)","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/8f9cafaffa5c21d43ee9e9dece1df3199b012b15"},{"sha":"f3de2deef705d020b29b289a1ad1551008d19d56","author":{"email":"d4e7430f1534a12df46cedd1ac369935436dbb94@cyngn.com","name":"Ricardo Cerqueira"},"message":"PBD: Apply the same emmc discard logic as ext4_utils\n\nIf we have SECURE_DISCARD disabled (currently only affects ext4_utils)\ndon't invoke BLKSECDISCARD for FRP, either. Slow flash is slow.\n\nAddresses CYNGNOS-729\n\nChange-Id: I05f1c945aa4d6b441c6b55dd438cf06d12bd0548\n(cherry picked from commit a9521fe4e1bd6ce9040f2aedc84b5ffa20c67360)","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/f3de2deef705d020b29b289a1ad1551008d19d56"},{"sha":"789c8a38d0c6e95ba101af232858ca40e41cbc40","author":{"email":"7fb1af48ad3f9a487e1291e1f9cb0d9f90b4f222@htc.com","name":"louis_chang"},"message":"[ActivityManager] Bring up Service if not schedule to restart\n\nSymptom:\nIn some scenario, the Service process will be killed due to\n\"remove task\" while updating oomadj. And it may results to\nDeadObjectException while notify client to schedule unbind\nService in removeConnectionLocked().\n\nIn that case, the Service was failed to scheduled restart\n(because the Service was removed from app.services in\nserviceDoneExecutingLocked() since finishing=true).\n\nThe Service will unable to bring up afterward if\nrestartDelay > 0, which the Service has been scheduled to\nrestart before.\n\nSolution:\nBring up Service if it was not in the restarting list\n\nChange-Id: I28b023f0ce36e496bd6b0c69fe71121a083be83b\n(cherry picked from commit 4fd268b88b631811de7f3826d48a04eaa2a2a9d3)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/789c8a38d0c6e95ba101af232858ca40e41cbc40"},{"sha":"817064c558a1912c9165eb4efe653ba87f258445","author":{"email":"bcf2a12f5fb4cb64652629761e1723bc54670029@codeaurora.org","name":"Sashidhar Ganiga"},"message":"frameworks/base: synchronize surface control object access.\n\nProtect surface control object access with lock to avoid\nsynchronization issues.\n\nCRs-Fixed: 854205\nChange-Id: I497d4533a88e5665159aa5d728ed392d2d5c5e32\n(cherry picked from commit 26b733d95d3f00b3507fc102cb177927d09a0279)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/817064c558a1912c9165eb4efe653ba87f258445"},{"sha":"c9b1e01686866b3b758f515e6ae4a42eecab8f03","author":{"email":"292887e14ab3ac1a8c5241e4b7e800905a1e03d4@sonymobile.com","name":"Henrik Baard"},"message":"Remove memory leak in PersistentDataBlockService jni\n\nWhen calling the methods\n com_android_server_PersistentDataBlockService_getBlockDeviceSize()\n com_android_server_PersistentDataBlockService_wipe()\nmemory is leaked because string created by\n GetStringUTFChars() is not released.\n\nUse ScopedUtfChars instead to ensure that memory is released.\n\nChange-Id: I880a6d66a4824778b411b858774b8ffa009c1e17\n(cherry picked from commit 213331fa925c2ddad8dcfaba9fd97970c012f7c8)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/c9b1e01686866b3b758f515e6ae4a42eecab8f03"},{"sha":"cb811b6c1fbab941c96e561c420edcca460de580","author":{"email":"e57ed7557f2fe36fe37d6f66ff34953b4c55145a@codeaurora.org","name":"Kun Liang"},"message":"AppOps: fix delete ops wrongly matched issue\n\nDelete operation is wrongly matched to write operation.\n\nChange-Id: I293707b2403e19e42ba10401e450d8e782e1bebc\n(cherry picked from commit 4b7417d458c85d61406d784ef17b0feafa509b3e)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/cb811b6c1fbab941c96e561c420edcca460de580"},{"sha":"3e701439265358b37c49ac3d0ea5a12904d482e2","author":{"email":"33f927344e079e00d3fa45d8833b04e735223eec@ruesga.com","name":"Jorge Ruesga"},"message":"qs: initialize day temperature in livedisplay tile\n\nInitialize the day temperature on LiveDisplay load. Otherwise, the first time if the day and\noff values are the same, the day option is still displayed.\n\nChange-Id: If3fb9dbae95e67e54bb41ae6cc58d3be38f1e732\nSigned-off-by: Jorge Ruesga <jorge@ruesga.com>\n(cherry picked from commit 393f27e98a62a212cf67e187ac5c837b7f87aa78)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/3e701439265358b37c49ac3d0ea5a12904d482e2"},{"sha":"d76cd8f4cd71777a05b8849a3739350ecb0613c2","author":{"email":"2c4256676acc36e079a3fd9141786c2938cdfa49@cyngn.com","name":"d34d"},"message":"Close cursor after getting supported components.\n\nChange-Id: I501ff52da7158561d759e4301f47a7665b5f6d3d\n(cherry picked from commit 6525773c45466c442be8b9f6f7d635bee17fd3c2)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/d76cd8f4cd71777a05b8849a3739350ecb0613c2"},{"sha":"ef353d40175ca5e38a3e1ff95628b917d09b24ac","author":{"email":"9ce5770b3bb4b2a1d59be2d97e34379cd192299f@cyngn.com","name":"Steve Kondik"},"message":"alarmmanager: Add sanity checking for elapsed_realtime alarms\n\n * Try to protect against DoS by detecting if an alarm is scheduled far\n   in the past and exponentially backing off.\n\nChange-Id: I1b9e0d7b1230dd50c7ac50aaa2765820d444135e\n(cherry picked from commit 8a649c189eddf1707d7e055bd99ee7242b2a96f6)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/ef353d40175ca5e38a3e1ff95628b917d09b24ac"},{"sha":"1452ca881839eb6a389b092783245f681ecaf465","author":{"email":"2da963d6cae9c0407286d40124f43339e0307c8a@intel.com","name":"jshe32X"},"message":"Avoid AsyncTask ThreadPool leak in RecentTaskLoaser\n\nIn MTBF test, if “Press KEYCODE_HOME” is simulated quickly and frequently,\nThreadPool overflow would be triggered, which would crash systemui.\n\nWhen pressing hardware KEYCODE_HOME on the phone repeatedly, upon key down,\nsystemui will preload recent task list; upon key up, it will cancel the\nrequest for preloading. During preloading, two AsyncTasks (mTaskLoader\nand mThumbnailLoader) will be started. Both of them will use\nexecuteOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR) to run.\n\nCancel predloading means we don't need mTaskLoader and mThumbnailLoader\nany more, so we'd better use cancel(true) to interrupt these two AsyncTasks\nand catch this InterruptedException to return directly.\n\nIf we use cancel(false) it won't interrupt these two AsyncTasks and\nmThumbnailLoader may be blocked in blocking queue \"tasksWaitingForThumbnails\"\nwhcih will cause ThreadPool overflow.\nThere is situation that mThumbnailLoader’s thread runs before mTaskLoader’s.\nJust at this moment, cancelPreloadingRecentTasksList tries to cancel\nboth mTaskLoader and mThumbnailLoader. Then mTaskLoader was cancelled\ndirectly as it didn't start, mThumbnailLoader could not stop and blocks\non \"tasksWaitingForThumbnails\" forever. At last, many AsyncTasks for\nmThumbnailLoader are not cancelled but left in waited state.\n\nChange-Id: I62bef320a62f28a442117f7d2c8160ea49e1a1fe\nSigned-off-by: jshe32X<jianchunx.shen@intel.com>\nSigned-off-by: Guobin Zhang<guobin.zhang@intel.com>\n(cherry picked from commit af6d9b98ad481344375346db6c606d9bf8b70caf)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/1452ca881839eb6a389b092783245f681ecaf465"},{"sha":"d0a2a8cbea7d0fe5aacf962d01225c8113aadc55","author":{"email":"2c4256676acc36e079a3fd9141786c2938cdfa49@cyngn.com","name":"d34d"},"message":"Only clear icon cache when theme/icon pack applied\n\nIcon cache would get cleared on boot when applying the user's theme\nat startup which can negatively impact launchers when they are loading\nicons.  Icon cache should persist as long as that icon pack is applied.\n\nChange-Id: I248e08cdc87a31c1718cbc53aed49891056300cc\n(cherry picked from commit 845f38c6b8fd1b92c273931c8646a9a8c9329388)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/d0a2a8cbea7d0fe5aacf962d01225c8113aadc55"},{"sha":"aaa85c17477163b72ecf29f3a63dd11bc8ea151b","author":{"email":"085868db2d6ba2a7f6d5f0d0ec84f03858489acc@codeaurora.org","name":"ywen"},"message":"Fix a GL error leak issue\n\nglFinish() dequeues a native buffer, and it fails when\nthe bufeer has been abandoned, this is ok and will not\ncasue the app crash\n\nGL_OUT_OF_MEMORY is generated in this case, and it is\nnot reset until glGetError called. This is happened in\nbuild layer function, glGetError is called after glTexImg2d,\nand get GL_OUT_OF_MEMORY, then this function return as OOM,\nand app crash\n\nFix it by adding GLUtils::dumpGLErrors after glFinish\n\nChange-Id: I8803a726b6f609c4a2f8a6aa6bb7ff7064808932\n(cherry picked from commit 290b5fb3b630b738dfb05cc0ba0eade1696e4ac1)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/aaa85c17477163b72ecf29f3a63dd11bc8ea151b"},{"sha":"89c650b77639aa8a4d80cc24eeb8c85ed9143961","author":{"email":"4e99814dd7006daebc3b73480ad913fe088c4d03@codeaurora.org","name":"Qiang Chen"},"message":"Fix StrictMode violation during getDefaultApn()\n\nmove database read from main thread\nto message handling thread\n\nChange-Id: I018cd93d097d3b1752660b39ffb65dae61d41eb5\nCRs-fixed: 837171\n(cherry picked from commit 3badde0166094540a71ac3ff7c6437068a32d7f1)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/89c650b77639aa8a4d80cc24eeb8c85ed9143961"},{"sha":"4aae7797990bb2e4480c8079610eb87e4ca4a1d9","author":{"email":"b0dfeb3108846113dedbbe58672972c075a809fc@sonymobile.com","name":"Snild Dolkow"},"message":"Avoid ANR loop because of queued-up ANR runnables\n\nWhen a persistent app is killed, it will be restarted immediately. If\nthis app had ANR:d, there may be a bunch of runnables with its\nProcessRecord queued up. Since the new process will have the same\nProcessRecord (but a different PID), ActivityManager will consider it\nto have ANR:d before it has even attached.\n\nThis will check that the ProcessRecord's current PID is equal to the\nPID when we posted the ANR.\n\nChange-Id: I2a5d7db2f587eceefa4cc5388f10133ca707c2be\n(cherry picked from commit 80f14acecbdd9dd6d5c54a3b3b1a2ee74c98d5d1)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/4aae7797990bb2e4480c8079610eb87e4ca4a1d9"},{"sha":"c21ae325480e1e4829ac271e3f85dd9e7c8ab378","author":{"email":"9ce5770b3bb4b2a1d59be2d97e34379cd192299f@cyngn.com","name":"Steve Kondik"},"message":"themes: Fix strictmode warnings\n\n * Use access() in the native layer instead of constructing a File\n   object, as this will open the file and trigger a strictmode\n   warning any time we hit this code path.\n\nChange-Id: I0ee93e84c4b6d4937fc1ab08975e1a4c10a80295\n(cherry picked from commit 4a9b471e542135b5abe322ef9c87e33ce9bcfbf3)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/c21ae325480e1e4829ac271e3f85dd9e7c8ab378"},{"sha":"b511322165d23ca676ff78eb54ed841fd7c220c3","author":{"email":"c16a2fdaca616937a5f6de5ca6e87e7768786b3c@htc.com","name":"Charles Tsai"},"message":"Use isolated thread to perform onStart()\n\nisUsbMassStorageConnected() may take longer time to return.\nIt causes system UI get ANR.\nUse an isolated thread to avoid blocking.\n\nChange-Id: Ib4e4aeca2511a7378e7766f9e5217ded5841db93\n(cherry picked from commit 4587c32ab8a1c8e2169e4f93491a8c927216a6ab)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/b511322165d23ca676ff78eb54ed841fd7c220c3"},{"sha":"d68357713a90dc9704063356bf19ef3a904bb9a8","author":{"email":"4e7e9913f73b4cc1bfc1f36047c7ce9e401f3e64@imgtec.com","name":"Christian Poetzsch"},"message":"Barrier only messages shouldn't prevent the idle handlers from running\n\nIf the queue just consists of barrier messages the idle handlers will\nnot been executed, cause mMessages isn't null. Barrier messages aren't\nreal messages and shouldn't be included in this test. They are an\ninternal feature of the message queue and they just happen to be\nimplemented as normal messages without a target.\n\nThis fix checks if the queue only consists of barrier messages and if so\n(or the queue is empty) it executes the idle handler callbacks. If the\nqueue consists of a barrier messages followed by any normal messages the\nold behaviour still applies.\n\nThe bug can be seen if somebody calls Instrumentation.waitForIdleSync()\nand the application changes the layout on every frame, like in\nandroid.app.cts.ProgressDialogTest -- testShow3 on certain platforms.\nThe progress bar in indeterminate mode repaints the spinning circle on\nevery frame. This seems to trigger scheduleTraversals() in ViewRootImpl,\nwhich itself inserts a barrier into the message queue.\n\nOther people noticed this as well as seen here:\nhttps://code.google.com/p/android/issues/detail?id=82046\n\nI could repo this using the test case from the bug report on a Nexus 5.\nChanging the testShow3 CTS test so that there is a Thread.sleep(3000);\nright before mInstrumentation.waitForIdleSync(); also reproduce it on a\nNexus 5.\n\nIt is also worth to mention that this really depends on the type of\nanimation. Removing the minimum sdk version from the test application,\nswitches the animation to the old version of the spinning circle. This\nseems to include lesser frames and therefore doesn't trigger this bug.\n\nChange-Id: I2dfe97ed92ab19e9f488014e8f591f17ac40c76c\nSigned-off-by: Christian Poetzsch <christian.potzsch@imgtec.com>\n(cherry picked from commit b1d1b1a4f90e90a7eb96e4ddcc3ef8787a0e00d0)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/d68357713a90dc9704063356bf19ef3a904bb9a8"},{"sha":"1e7f69b098fe6b4a741fe7b474b37dec3340be94","author":{"email":"8a10c02fc2125da5899ccfd270e287418177ccba@codeaurora.org","name":"spooja"},"message":"frameworks/base: Fix ContentService JNI leaks\n\n- A list of ObserverCall(s) is created by ContentService as\n  it notifies changes to the registered content observers.\n  Clear observer after use.\n\n- If same Observer and same URI are registered, the callback\n  functions are called multiple times when data identified by\n  a given content URI changes. It makes system slow and it\n  cause ANR sometimes. And when run\n  unregisterContentObserver(), just one deleted but others\n  are remained in mObservers. So add prevent code to avoid\n  to duplicated registration of Observers\n\nCRs-Fixed: 868634\n\nChange-Id: I5906f581f4beaed04af09e5b9e3999f67d94f1fc\n(cherry picked from commit 48eda689edc18babfc906d90442cc8c568b141d7)\nTicket: CYNGNOS-751","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/1e7f69b098fe6b4a741fe7b474b37dec3340be94"},{"sha":"a1a1a9c1407212d7c49c44343778e14257a32342","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@cyngn.com","name":"Roman Birg"},"message":"Revert \"Barrier only messages shouldn't prevent the idle handlers from running\"\n\n\nTicket: CYNGNOS-760\nThis reverts commit d68357713a90dc9704063356bf19ef3a904bb9a8.\n\nChange-Id: I8449d9862dea6685074d1fbc273114746bbacd74","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/a1a1a9c1407212d7c49c44343778e14257a32342"},{"sha":"4bed829b5721cf5768123d3c4be3fca9df5c5ec5","author":{"email":"d4e7430f1534a12df46cedd1ac369935436dbb94@cyngn.com","name":"Ricardo Cerqueira"},"message":"SignalStrength: Allow for custom signal buckets in LTE\n\nSTRICT levels are too low, LENIENT levels are too high. Let us\nuse something in between...\n\nTo make things more fun, getAlternateLteLevel() used yet another\nset of values. Subsume all of this functionality into a main\ngetLteLevel() function that uses whatever the device has configured\nas the signal limits, and wrap the old methods around it in\ncase we additionally need to force RSRP for all cases. getLteLevel()\nwithout arguments and getAlternateLteLevel() retain the same\nfunctionality.\n\nRENDANG-471\nChange-Id: I134774ed471e1805eac95cfbf8af957378fd8293\n(cherry picked from commit 7e9570dd1cc6ca2761cd2046b7c4b6f8487bafa5)","distinct":true,"url":"https://api.github.com/repos/leadpoizon/android_frameworks_base/commits/4bed829b5721cf5768123d3c4be3fca9df5c5ec5"}]}