)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"01f7749ef8bde00b779d86974ea476cd883d3840","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2aecfa1a_5953bbae","updated":"2022-03-23 18:59:29.000000000","message":"Previous discussion: https://gitlab.com/CalyxOS/calyxos/-/issues/406\n\nThis patch could use some cleanup and testing, but at this point if a 5 line change works that\u0027s worth it rather than trying to spend any more hours debugging.","commit_id":"c3595ff3bbd72615b5ef798c04decea59ceae861"},{"author":{"_account_id":1000003,"name":"Torsten Grote","display_name":"Torsten","email":"torsten@calyx.org","username":"grote","avatars":[{"url":"https://www.gravatar.com/avatar/d0957e9a6dfe1c07044bf6278afd82f0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d0957e9a6dfe1c07044bf6278afd82f0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d0957e9a6dfe1c07044bf6278afd82f0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d0957e9a6dfe1c07044bf6278afd82f0.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6987c98c4a11dfbc43264f79e88cbac55df3e50e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d61a521f_db892299","updated":"2023-02-17 14:48:29.000000000","message":"I think with new F-Droid and the Lupin updater, we won\u0027t have any need for this patch.","commit_id":"c87f19a6697f9e6bac9c10d9bc16351ce64a463d"},{"author":{"_account_id":1000021,"name":"Hans-Christoph Steiner","email":"hans@eds.org","username":"eighthave","avatars":[{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"80776e3ef8fb8a25923351c56f4a6f56a960bf32","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"79673b07_64743ede","updated":"2022-03-30 13:11:48.000000000","message":"The code seems fine for the intended purpose. I don\u0027t know how long was spent debugging this, but I can say that changing this kind of change feels quite risky unless it can really be constrained to broadcasting to a single app.  Did anyone ever manage to write a test case that reproduces the issue?  I think that\u0027s a worthwhile thing to put time into.","commit_id":"c87f19a6697f9e6bac9c10d9bc16351ce64a463d"},{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5bcf35d39d666e5a046691f190f6539ff632d316","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a2a22829_dcfe3be6","in_reply_to":"79673b07_64743ede","updated":"2022-03-30 17:22:57.000000000","message":"It is constrained to broadcasting to a single app, that\u0027s why you see the package names in the below comments.\n\nThere hasn\u0027t been a test case no since it\u0027s been sporadic - and we\u0027ve got too many things to do and little time, so for this I\u0027m just trying stuff till it works.","commit_id":"c87f19a6697f9e6bac9c10d9bc16351ce64a463d"}],"services/core/java/com/android/server/pm/PackageManagerService.java":[{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"286612ff9403feb72385639e0b8d44beb3008400","unresolved":true,"context_lines":[{"line_number":6627,"context_line":"                extras.putInt(Intent.EXTRA_UID, res.uid);"},{"line_number":6628,"context_line":"                if (update) {"},{"line_number":6629,"context_line":"                    extras.putBoolean(Intent.EXTRA_REPLACING, true);"},{"line_number":6630,"context_line":"                }"},{"line_number":6631,"context_line":"                extras.putInt(PackageInstaller.EXTRA_DATA_LOADER_TYPE, dataLoaderType);"},{"line_number":6632,"context_line":"                // Send to all running apps."},{"line_number":6633,"context_line":"                final SparseArray\u003cint[]\u003e newBroadcastAllowList;"}],"source_content_type":"text/x-java","patch_set":3,"id":"29e74159_766f865a","line":6630,"updated":"2022-03-23 19:53:53.000000000","message":"Copy pasted from here.","commit_id":"a03652733e1607c395ae414b691581100c00442b"},{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"efdfd2f5edb8d611bc2417cdcb2abf47ba47b7be","unresolved":false,"context_lines":[{"line_number":6627,"context_line":"                extras.putInt(Intent.EXTRA_UID, res.uid);"},{"line_number":6628,"context_line":"                if (update) {"},{"line_number":6629,"context_line":"                    extras.putBoolean(Intent.EXTRA_REPLACING, true);"},{"line_number":6630,"context_line":"                }"},{"line_number":6631,"context_line":"                extras.putInt(PackageInstaller.EXTRA_DATA_LOADER_TYPE, dataLoaderType);"},{"line_number":6632,"context_line":"                // Send to all running apps."},{"line_number":6633,"context_line":"                final SparseArray\u003cint[]\u003e newBroadcastAllowList;"}],"source_content_type":"text/x-java","patch_set":3,"id":"f00f5549_c43528a1","line":6630,"in_reply_to":"29e74159_766f865a","updated":"2023-05-10 13:10:20.000000000","message":"Done","commit_id":"a03652733e1607c395ae414b691581100c00442b"},{"author":{"_account_id":1000034,"name":"Luca Stefani","email":"luca.stefani.ge1@gmail.com","username":"luca020400","avatars":[{"url":"https://www.gravatar.com/avatar/e0d7fe321be897bf85cf3d240cbd3be9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e0d7fe321be897bf85cf3d240cbd3be9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e0d7fe321be897bf85cf3d240cbd3be9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e0d7fe321be897bf85cf3d240cbd3be9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"53fed74b68a713667b3643c58cfe74b8634bb98a","unresolved":true,"context_lines":[{"line_number":6739,"context_line":"                            pkg.getUid(), null);"},{"line_number":6740,"context_line":"                }"},{"line_number":6741,"context_line":"                // Send added for users that don\u0027t see the package for the first time"},{"line_number":6742,"context_line":"                Bundle extras \u003d new Bundle(1);"},{"line_number":6743,"context_line":"                extras.putInt(Intent.EXTRA_UID, res.uid);"},{"line_number":6744,"context_line":"                if (update) {"},{"line_number":6745,"context_line":"                    extras.putBoolean(Intent.EXTRA_REPLACING, true);"}],"source_content_type":"text/x-java","patch_set":3,"id":"84b371d6_4d182ee7","line":6742,"range":{"start_line":6742,"start_character":43,"end_line":6742,"end_character":44},"updated":"2022-03-23 19:51:27.000000000","message":"1?","commit_id":"a03652733e1607c395ae414b691581100c00442b"},{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4e5ae4a9fc6f280c7e90dc60c45f8f59fef24184","unresolved":true,"context_lines":[{"line_number":6739,"context_line":"                            pkg.getUid(), null);"},{"line_number":6740,"context_line":"                }"},{"line_number":6741,"context_line":"                // Send added for users that don\u0027t see the package for the first time"},{"line_number":6742,"context_line":"                Bundle extras \u003d new Bundle(1);"},{"line_number":6743,"context_line":"                extras.putInt(Intent.EXTRA_UID, res.uid);"},{"line_number":6744,"context_line":"                if (update) {"},{"line_number":6745,"context_line":"                    extras.putBoolean(Intent.EXTRA_REPLACING, true);"}],"source_content_type":"text/x-java","patch_set":3,"id":"fb52db64_ab294ed4","line":6742,"range":{"start_line":6742,"start_character":43,"end_line":6742,"end_character":44},"in_reply_to":"84b371d6_4d182ee7","updated":"2022-03-23 19:54:06.000000000","message":"See above.","commit_id":"a03652733e1607c395ae414b691581100c00442b"},{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"efdfd2f5edb8d611bc2417cdcb2abf47ba47b7be","unresolved":false,"context_lines":[{"line_number":6739,"context_line":"                            pkg.getUid(), null);"},{"line_number":6740,"context_line":"                }"},{"line_number":6741,"context_line":"                // Send added for users that don\u0027t see the package for the first time"},{"line_number":6742,"context_line":"                Bundle extras \u003d new Bundle(1);"},{"line_number":6743,"context_line":"                extras.putInt(Intent.EXTRA_UID, res.uid);"},{"line_number":6744,"context_line":"                if (update) {"},{"line_number":6745,"context_line":"                    extras.putBoolean(Intent.EXTRA_REPLACING, true);"}],"source_content_type":"text/x-java","patch_set":3,"id":"9ef6212e_7fc18323","line":6742,"range":{"start_line":6742,"start_character":43,"end_line":6742,"end_character":44},"in_reply_to":"fb52db64_ab294ed4","updated":"2023-05-10 13:10:20.000000000","message":"Done","commit_id":"a03652733e1607c395ae414b691581100c00442b"},{"author":{"_account_id":1000021,"name":"Hans-Christoph Steiner","email":"hans@eds.org","username":"eighthave","avatars":[{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"80776e3ef8fb8a25923351c56f4a6f56a960bf32","unresolved":true,"context_lines":[{"line_number":4078,"context_line":"                // F-Droid gets to see all static libs"},{"line_number":4079,"context_line":"                if (uidPackageName.equals(\"org.fdroid.fdroid\")) {"},{"line_number":4080,"context_line":"                    return false;"},{"line_number":4081,"context_line":"                }"},{"line_number":4082,"context_line":"                PackageSetting uidPs \u003d mSettings.getPackageLPr(uidPackageName);"},{"line_number":4083,"context_line":"                if (uidPs !\u003d null) {"},{"line_number":4084,"context_line":"                    final int index \u003d ArrayUtils.indexOf(uidPs.usesStaticLibraries,"}],"source_content_type":"text/x-java","patch_set":4,"id":"dd169bf9_39dcb2f8","line":4081,"updated":"2022-03-30 13:11:48.000000000","message":"Unless you\u0027re planning on switching to the official upstream binaries, this Package Name needs to be for the Calyx fork","commit_id":"c87f19a6697f9e6bac9c10d9bc16351ce64a463d"},{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5bcf35d39d666e5a046691f190f6539ff632d316","unresolved":false,"context_lines":[{"line_number":4078,"context_line":"                // F-Droid gets to see all static libs"},{"line_number":4079,"context_line":"                if (uidPackageName.equals(\"org.fdroid.fdroid\")) {"},{"line_number":4080,"context_line":"                    return false;"},{"line_number":4081,"context_line":"                }"},{"line_number":4082,"context_line":"                PackageSetting uidPs \u003d mSettings.getPackageLPr(uidPackageName);"},{"line_number":4083,"context_line":"                if (uidPs !\u003d null) {"},{"line_number":4084,"context_line":"                    final int index \u003d ArrayUtils.indexOf(uidPs.usesStaticLibraries,"}],"source_content_type":"text/x-java","patch_set":4,"id":"d7eea749_cc8984bf","line":4081,"in_reply_to":"dd169bf9_39dcb2f8","updated":"2022-03-30 17:22:57.000000000","message":"Rename is still pending. I\u0027ll also make it match system packages only to restrict it further.","commit_id":"c87f19a6697f9e6bac9c10d9bc16351ce64a463d"},{"author":{"_account_id":1000021,"name":"Hans-Christoph Steiner","email":"hans@eds.org","username":"eighthave","avatars":[{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/a0d5f635408dad4360d7866bdf3add41.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"80776e3ef8fb8a25923351c56f4a6f56a960bf32","unresolved":true,"context_lines":[{"line_number":6757,"context_line":"                if (update) {"},{"line_number":6758,"context_line":"                    sendPackageBroadcast(Intent.ACTION_PACKAGE_REPLACED,"},{"line_number":6759,"context_line":"                            packageName, extras, 0 /*flags*/,"},{"line_number":6760,"context_line":"                            \"org.fdroid.fdroid\" /*targetPackage*/, null /*finishedReceiver*/,"},{"line_number":6761,"context_line":"                            updateUserIds, instantUserIds, res.removedInfo.broadcastAllowList,"},{"line_number":6762,"context_line":"                            null);"},{"line_number":6763,"context_line":"                }"}],"source_content_type":"text/x-java","patch_set":4,"id":"e72d7c99_a95ffb6c","line":6760,"updated":"2022-03-30 13:11:48.000000000","message":"Same as above, unless you\u0027re planning on switching to official upstream binaries, this needs to be something different.","commit_id":"c87f19a6697f9e6bac9c10d9bc16351ce64a463d"},{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5bcf35d39d666e5a046691f190f6539ff632d316","unresolved":false,"context_lines":[{"line_number":6757,"context_line":"                if (update) {"},{"line_number":6758,"context_line":"                    sendPackageBroadcast(Intent.ACTION_PACKAGE_REPLACED,"},{"line_number":6759,"context_line":"                            packageName, extras, 0 /*flags*/,"},{"line_number":6760,"context_line":"                            \"org.fdroid.fdroid\" /*targetPackage*/, null /*finishedReceiver*/,"},{"line_number":6761,"context_line":"                            updateUserIds, instantUserIds, res.removedInfo.broadcastAllowList,"},{"line_number":6762,"context_line":"                            null);"},{"line_number":6763,"context_line":"                }"}],"source_content_type":"text/x-java","patch_set":4,"id":"bcb75c24_0811e3af","line":6760,"in_reply_to":"e72d7c99_a95ffb6c","updated":"2022-03-30 17:22:57.000000000","message":"Same.","commit_id":"c87f19a6697f9e6bac9c10d9bc16351ce64a463d"}]}
