)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"9d03bc66ca0b44489e1682921590cf68ea40eced","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"83eb4806_52801ae3","updated":"2024-12-16 11:04:59.000000000","message":"Verified on pyxis","commit_id":"f4ede164795efad9e8bfeaabb3797664959460a3"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"368c6e36ed4fa6403208fdaf211cbcda9e9d8b7f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d9ea79e3_4f6f3303","updated":"2024-12-18 11:24:00.000000000","message":"Common remapping property verified on Pyxis","commit_id":"24b5aa19c1e1e078abdeb33e94ad00421f705994"},{"author":{"_account_id":21290,"name":"Arian","email":"arian.kulmer@web.de","username":"ArianK16a","avatars":[{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"72498ae130c4c4904f9b04c400912fdfe2a98eed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4f224445_d81ba4c1","updated":"2024-12-20 12:43:58.000000000","message":"I don\u0027t really like that the mapping must be total, a partial mapping would make much more sense (for example something like this: \"1:4,6:3\" would remap id 1 to 4 and 6 to 3 while leaving others untouched).\nBut i guess that is infeasible if you want to patch the proprietary camera hal instead of listening for the property.","commit_id":"1c50887b367a99912f3d9eabf25bc37ae33562f2"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3d109682358ee9f2586bb8dc5bfabaf053d00d86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e9eeec3a_3912ff2a","in_reply_to":"4f224445_d81ba4c1","updated":"2024-12-20 15:05:05.000000000","message":"The value is provided by HAL... If it is partial (I didn\u0027t see any case till now) then identity is used for the rest...\n\nE.g. Number of cameras is 8 and property value is \"0 1 20 16\" then camera IDs are mapped like this: 0-\u003e0, 1-\u003e1, 2-\u003e20, 3-\u003e16, 4-\u003e4, 5-\u003e5, 6-\u003e6, 7-\u003e7","commit_id":"1c50887b367a99912f3d9eabf25bc37ae33562f2"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"96070531b4c6e39a38029bd3c812b0990ba9363d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f46835dd_35eda2bb","updated":"2025-01-02 16:19:05.000000000","message":"@bgcngm@gmail.com ping","commit_id":"af895f1160213181a3ea5ec227c7ea153520f108"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c5d8fda13b28c5a665dac26ac40713ff3a6ba14a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b6e39d19_58c9cb14","updated":"2024-12-30 18:33:09.000000000","message":"Ping... any other changes requested or is there anything preventing this to be merged?","commit_id":"af895f1160213181a3ea5ec227c7ea153520f108"},{"author":{"_account_id":21290,"name":"Arian","email":"arian.kulmer@web.de","username":"ArianK16a","avatars":[{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"242bedd8e81f792dfaa088470bd1858753782a48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"15428d8b_1e9bea70","in_reply_to":"38fd64db_0fc2b42e","updated":"2024-12-30 19:21:28.000000000","message":"no","commit_id":"af895f1160213181a3ea5ec227c7ea153520f108"},{"author":{"_account_id":25732,"name":"Sebastiano Barezzi","email":"seba@sebaubuntu.dev","username":"SebaUbuntu","avatars":[{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"🌐, 🎤, 📷, 🖼️, 🎵, 👑"},"change_message_id":"4b286a8125ecb4caa2b45ceef8c08447981995a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"38fd64db_0fc2b42e","in_reply_to":"52a58b48_fe51231a","updated":"2024-12-30 19:20:44.000000000","message":"Do we really want to fork the entire provider for a 50 lines diff?","commit_id":"af895f1160213181a3ea5ec227c7ea153520f108"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"cf2dff7cef0c19cf1591e580ca93ffe8e7a5fffb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f0659888_8a7a71ca","in_reply_to":"52a58b48_fe51231a","updated":"2024-12-30 19:21:51.000000000","message":"I\u0027m not sure if this is only Xiaomi specific... maybe other vendors also use some kind of camera IDs remapping.","commit_id":"af895f1160213181a3ea5ec227c7ea153520f108"},{"author":{"_account_id":13648,"name":"Bruno Martins","email":"bgcngm@gmail.com","username":"bgcngm","avatars":[{"url":"https://www.gravatar.com/avatar/3d939ee28d51d14e76de3a4510b309ce.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/3d939ee28d51d14e76de3a4510b309ce.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/3d939ee28d51d14e76de3a4510b309ce.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/3d939ee28d51d14e76de3a4510b309ce.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"55af65fac4aaf6718a653eae1acbb22bba957bb0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"52a58b48_fe51231a","in_reply_to":"b6e39d19_58c9cb14","updated":"2024-12-30 18:49:16.000000000","message":"Considering that this all started because of Xiaomi, I am wondering if couldn\u0027t this be forked to hw/xiaomi. Note that hw/samsung also contains modified camera provider service.","commit_id":"af895f1160213181a3ea5ec227c7ea153520f108"}],"camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp":[{"author":{"_account_id":25732,"name":"Sebastiano Barezzi","email":"seba@sebaubuntu.dev","username":"SebaUbuntu","avatars":[{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"🌐, 🎤, 📷, 🖼️, 🎵, 👑"},"change_message_id":"b0aa5a0213eb71a9ebf7071d3b037b762057eb94","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"a15b5bcb_03eadbe3","line":37,"updated":"2024-12-16 15:36:30.000000000","message":"Can\u0027t we just agree on a common property key instead of setting a custom one (and related Soong hooks)? Would make the patch smaller","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"afeb895b6581004f3c39023171d89210b3281a8a","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"8bca162b_0bcdf767","line":37,"in_reply_to":"25160b63_cde35ae3","updated":"2024-12-16 18:37:30.000000000","message":"Agree... other thoughts from anybody else?","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a8ff34834c3fc0123091eea04958b27188d5af33","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"bb35b5b7_c3ddbcb3","line":37,"in_reply_to":"32aa8243_9805208e","updated":"2024-12-16 16:13:13.000000000","message":"Exactly, 2 reasons:\n1. to be vendor agnostic\n2. to be opt-in to avoid potential issues with other devices","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e95da70ae10bb1d27195f6f43018847741ef5f1c","unresolved":false,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"4e58c7fb_d20bc04d","line":37,"in_reply_to":"32f132cc_90e67161","updated":"2024-12-18 11:19:45.000000000","message":"OK","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":25732,"name":"Sebastiano Barezzi","email":"seba@sebaubuntu.dev","username":"SebaUbuntu","avatars":[{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"🌐, 🎤, 📷, 🖼️, 🎵, 👑"},"change_message_id":"3dcc999eb64c598d528f6ac3fb498a390e71da9b","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"25160b63_cde35ae3","line":37,"in_reply_to":"34634b52_39f81880","updated":"2024-12-16 17:23:14.000000000","message":"I\u0027d avoid persist props, so `vendor.camera.remapid` or `vendor.camera.remapids` is fine","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":25732,"name":"Sebastiano Barezzi","email":"seba@sebaubuntu.dev","username":"SebaUbuntu","avatars":[{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"🌐, 🎤, 📷, 🖼️, 🎵, 👑"},"change_message_id":"77509cd321741e69bba0301879ec97272dbc863f","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"e4bc516f_4ee62b5d","line":37,"in_reply_to":"510a5350_57092e18","updated":"2024-12-16 17:03:39.000000000","message":"Property observer is nice, no patching involved","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"96ccaa6f6f71f91da4a3035b92f849cc6f03d137","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"34634b52_39f81880","line":37,"in_reply_to":"510a5350_57092e18","updated":"2024-12-16 17:03:47.000000000","message":"```\non property:...\n```\nwill not work, because the time between setting and reading of the property is very small.\n\nPatching of the HAL will work of course, we can go this way, if is it common consensus.\n\nThe question is: What should be the common name?\n\nIMHO, something prefixed with persist.vendor.camera. or vendor.camera. to avoid issues with selinux labels AND the name should be also reasonably short to avoid issue with patching blob where the HAL specific property name would be shorter than the common one.\n\nMy suggestion: vendor.camera.remapid","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0df534b263a93e32ea99c9fff2bebff881093aa1","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"d80df396_b1571c59","line":37,"in_reply_to":"8bca162b_0bcdf767","updated":"2024-12-18 10:27:38.000000000","message":"Seba, `vendor.camera.remapids` needs to be labelled as `u:object_r:vendor_camera_prop:s0`.\n\nShould I put it into `android_device_lineage_sepolicy/common/vendor/property_contexts` ?","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":32245,"name":"0xCAFEBABE","email":"me.cafebabe@gmail.com","username":"me-cafebabe","avatars":[{"url":"https://www.gravatar.com/avatar/579a599284aa0f2454acf08453b0f261.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/579a599284aa0f2454acf08453b0f261.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/579a599284aa0f2454acf08453b0f261.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/579a599284aa0f2454acf08453b0f261.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"nya~"},"change_message_id":"cb56292e8709421c3c433d843a33e58924eaaa7e","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"32aa8243_9805208e","line":37,"in_reply_to":"a15b5bcb_03eadbe3","updated":"2024-12-16 16:06:41.000000000","message":"Cera, [16 Dec 2024 20:12:35]\nLook at the pyxis change... The property name is OEM defined...\nI don\u0027t want to hardwire Xiaomi specific change to hardware_interfaces\n\nCera, [16 Dec 2024 20:13:03]\nAnd also it allows to opt-out by not defining it","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":21290,"name":"Arian","email":"arian.kulmer@web.de","username":"ArianK16a","avatars":[{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"b3930376696dfd3cb2dae68aac33b9b480ed79e3","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"fbbb5664_6727f6e4","line":37,"in_reply_to":"bb35b5b7_c3ddbcb3","updated":"2024-12-16 16:17:35.000000000","message":"That\u0027s not a problem, you can patch the camera libraries to use a different property or add the 2 lines to sync the two props to your init scripts. I agree that it\u0027s not worth the Soong complexity to let the name of the property be variable. A common name makes it consistent between devices.","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":25732,"name":"Sebastiano Barezzi","email":"seba@sebaubuntu.dev","username":"SebaUbuntu","avatars":[{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/69c46a8345ae75b24d8966f7cea1a88f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"🌐, 🎤, 📷, 🖼️, 🎵, 👑"},"change_message_id":"a323315944dbeed416c8dcffa342d5c10090a543","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"32f132cc_90e67161","line":37,"in_reply_to":"d80df396_b1571c59","updated":"2024-12-18 11:06:47.000000000","message":"Yes","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":21290,"name":"Arian","email":"arian.kulmer@web.de","username":"ArianK16a","avatars":[{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"603faa897e1d64d96814316bfc7bfb6f279a8854","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"510a5350_57092e18","line":37,"in_reply_to":"ea550e92_cfda86ba","updated":"2024-12-16 16:40:10.000000000","message":"You can try this:\n`on property:vendor.camera.xy\u003d*\n   setprop cool_new_prop ${vendor.camera.xy}`\n   \nPatching your hal or just setting the property from your vendor.prop might be even simpler.","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c1b14827844f3023d8dbaaf90e008611d86c887f","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef TARGET_CAMERA_IDS_REMAP_PROPERTY"},{"line_number":37,"context_line":"#define TARGET_CAMERA_IDS_REMAP_PROPERTY \"\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"namespace android {"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"ea550e92_cfda86ba","line":37,"in_reply_to":"fbbb5664_6727f6e4","updated":"2024-12-16 16:36:14.000000000","message":"And are you able to properly synchronize? IMHO not. Flow is following:\n\n1. android.hardware.camera.provider@2.4-service loads android.hardware.camera.provider@2.4-legacy.so and call LegacyCameraProviderImpl_2_4::initialize()\n2. During LegacyCameraProviderImpl_2_4::initialize() the camera.qcom.default.so is loaded\n3. During load the camera.qcom.default.so sets the property\n4. After load camera.qcom.default.so LegacyCameraProviderImpl_2_4::initialize() gets the property value and use it\n\nIMHO you will not be able to sync HAL reliable specific property to common one between steps 3 and 4.\n\nYou can do either:\n1. to have specific soong variable like TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED\n2. to have device specific function hook like libudfpshandler but this would also require soong change\n3. synchronization point between steps 3 and 4 -\u003e busy-loop that would wait for common remap property to be set... this affects all devices because all of them have to set it at least to empty value\n\nIMHO the option 1 is the most simple.","commit_id":"44a761bcea57adaac847000801b18eca34e7d3d8"},{"author":{"_account_id":21290,"name":"Arian","email":"arian.kulmer@web.de","username":"ArianK16a","avatars":[{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0f1d48b32638233e5b339d04b6983ec4db9141ee","unresolved":true,"context_lines":[{"line_number":33,"context_line":"#include \u003cstring.h\u003e"},{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef CAMERA_REMAP_IDS_PROPERTY"},{"line_number":37,"context_line":"#define CAMERA_REMAP_IDS_PROPERTY \"vendor.camera.remapids\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":4,"id":"28e8bdbb_af815dc8","line":36,"updated":"2024-12-18 11:32:47.000000000","message":"remove this?","commit_id":"24b5aa19c1e1e078abdeb33e94ad00421f705994"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"84301b0ef8d0fcafb2b905152c3cd3aa629b828d","unresolved":true,"context_lines":[{"line_number":33,"context_line":"#include \u003cstring.h\u003e"},{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef CAMERA_REMAP_IDS_PROPERTY"},{"line_number":37,"context_line":"#define CAMERA_REMAP_IDS_PROPERTY \"vendor.camera.remapids\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":4,"id":"2fe00dbb_03d01ba5","line":36,"in_reply_to":"28e8bdbb_af815dc8","updated":"2024-12-18 11:45:12.000000000","message":"I\u0027m using base::ParseInt","commit_id":"24b5aa19c1e1e078abdeb33e94ad00421f705994"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"aaec11037f07df78c7043bedb01df568eaf757f5","unresolved":true,"context_lines":[{"line_number":33,"context_line":"#include \u003cstring.h\u003e"},{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef CAMERA_REMAP_IDS_PROPERTY"},{"line_number":37,"context_line":"#define CAMERA_REMAP_IDS_PROPERTY \"vendor.camera.remapids\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":4,"id":"51738928_186cc3e4","line":36,"in_reply_to":"2fe00dbb_03d01ba5","updated":"2024-12-18 11:48:42.000000000","message":"sorry... bad line 🙂\n\nyes we can remove this","commit_id":"24b5aa19c1e1e078abdeb33e94ad00421f705994"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"161b8ff83572e7283cbf4e191f84a871f9707932","unresolved":false,"context_lines":[{"line_number":33,"context_line":"#include \u003cstring.h\u003e"},{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#ifndef CAMERA_REMAP_IDS_PROPERTY"},{"line_number":37,"context_line":"#define CAMERA_REMAP_IDS_PROPERTY \"vendor.camera.remapids\""},{"line_number":38,"context_line":"#endif"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":4,"id":"35ab3f9a_5af5c5b0","line":36,"in_reply_to":"51738928_186cc3e4","updated":"2024-12-18 12:46:50.000000000","message":"Removed","commit_id":"24b5aa19c1e1e078abdeb33e94ad00421f705994"},{"author":{"_account_id":21290,"name":"Arian","email":"arian.kulmer@web.de","username":"ArianK16a","avatars":[{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"72498ae130c4c4904f9b04c400912fdfe2a98eed","unresolved":true,"context_lines":[{"line_number":279,"context_line":"    // Return if property for remap is not defined or is empty"},{"line_number":280,"context_line":"    std::string remapProp \u003d base::GetProperty(CAMERA_REMAP_IDS_PROPERTY, \"\");"},{"line_number":281,"context_line":"    if (remapProp.empty()) {"},{"line_number":282,"context_line":"        ALOGI(\"%s: camera IDs remapping property \u0027%s\u0027 is empty\", __func__,"},{"line_number":283,"context_line":"              CAMERA_REMAP_IDS_PROPERTY);"},{"line_number":284,"context_line":"        return cameraIdMap;"},{"line_number":285,"context_line":"    }"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"c8a35dea_a3ec6371","line":282,"range":{"start_line":282,"start_character":8,"end_line":282,"end_character":13},"updated":"2024-12-20 12:43:58.000000000","message":"```suggestion\n        ALOGD(\"%s: camera IDs remapping property \u0027%s\u0027 is empty\", __func__,\n```\nThis should be at most debug logging imo.","commit_id":"1c50887b367a99912f3d9eabf25bc37ae33562f2"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"964ec3208669b820dab9b0904e02e669c2119b21","unresolved":false,"context_lines":[{"line_number":279,"context_line":"    // Return if property for remap is not defined or is empty"},{"line_number":280,"context_line":"    std::string remapProp \u003d base::GetProperty(CAMERA_REMAP_IDS_PROPERTY, \"\");"},{"line_number":281,"context_line":"    if (remapProp.empty()) {"},{"line_number":282,"context_line":"        ALOGI(\"%s: camera IDs remapping property \u0027%s\u0027 is empty\", __func__,"},{"line_number":283,"context_line":"              CAMERA_REMAP_IDS_PROPERTY);"},{"line_number":284,"context_line":"        return cameraIdMap;"},{"line_number":285,"context_line":"    }"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"d758caa0_fdf6b32c","line":282,"range":{"start_line":282,"start_character":8,"end_line":282,"end_character":13},"in_reply_to":"c8a35dea_a3ec6371","updated":"2024-12-20 14:58:07.000000000","message":"Agree. Thx.","commit_id":"1c50887b367a99912f3d9eabf25bc37ae33562f2"},{"author":{"_account_id":21290,"name":"Arian","email":"arian.kulmer@web.de","username":"ArianK16a","avatars":[{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/5fb921ba0d8167f4a9239e07f970970f.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"72498ae130c4c4904f9b04c400912fdfe2a98eed","unresolved":true,"context_lines":[{"line_number":291,"context_line":"        int mappedId;"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        // Replace n-th camera ID in the map if it is defined"},{"line_number":294,"context_line":"        if (n \u003c idRemap.size() \u0026\u0026 base::ParseInt(idRemap[n], \u0026mappedId, n))"},{"line_number":295,"context_line":"            cameraIdMap[n] \u003d mappedId;"},{"line_number":296,"context_line":"    }"},{"line_number":297,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":5,"id":"08d9cc28_90f07b1b","line":294,"range":{"start_line":294,"start_character":12,"end_line":294,"end_character":73},"updated":"2024-12-20 12:43:58.000000000","message":"```suggestion\n        if (n \u003c idRemap.size() \u0026\u0026 base::ParseInt(idRemap[n], \u0026mappedId))\n```\nWhy did you add n as the minimum value? Is that necessary? i.e. why shouldn\u0027t one be able to map 0-\u003e4 and 4-\u003e0?","commit_id":"1c50887b367a99912f3d9eabf25bc37ae33562f2"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"964ec3208669b820dab9b0904e02e669c2119b21","unresolved":false,"context_lines":[{"line_number":291,"context_line":"        int mappedId;"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        // Replace n-th camera ID in the map if it is defined"},{"line_number":294,"context_line":"        if (n \u003c idRemap.size() \u0026\u0026 base::ParseInt(idRemap[n], \u0026mappedId, n))"},{"line_number":295,"context_line":"            cameraIdMap[n] \u003d mappedId;"},{"line_number":296,"context_line":"    }"},{"line_number":297,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":5,"id":"676b676b_d4181d7e","line":294,"range":{"start_line":294,"start_character":12,"end_line":294,"end_character":73},"in_reply_to":"08d9cc28_90f07b1b","updated":"2024-12-20 14:58:07.000000000","message":"I\u0027m sorry, this is mistake... You are right of course. Forcing \u0027n\u0027 as minimum was not intentional.","commit_id":"1c50887b367a99912f3d9eabf25bc37ae33562f2"},{"author":{"_account_id":26313,"name":"Андрей","display_name":"rtx4d","email":"rtx4d@aospa.co","username":"rtx4d","avatars":[{"url":"https://www.gravatar.com/avatar/6828c13e62146e375e1c34c2905361f9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/6828c13e62146e375e1c34c2905361f9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/6828c13e62146e375e1c34c2905361f9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/6828c13e62146e375e1c34c2905361f9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"my sdm845 collection"},"change_message_id":"87a0385f2c02726287f9c2622e36b60cfd480e50","unresolved":true,"context_lines":[{"line_number":33,"context_line":"#include \u003cstring.h\u003e"},{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#define CAMERA_REMAP_IDS_PROPERTY \"vendor.camera.remapids\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"namespace android {"},{"line_number":39,"context_line":"namespace hardware {"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3bad7195_67491275","line":36,"range":{"start_line":36,"start_character":35,"end_line":36,"end_character":57},"updated":"2025-01-03 16:12:38.000000000","message":"perseus uses a shorter prop by default(camera.xiaomi.remapid), so it won\u0027t be possible to use the new one due to the 1-bit shift.\nI tested the camera with vendor.camera.remapid, and it works fine.","commit_id":"af895f1160213181a3ea5ec227c7ea153520f108"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5234ff9fba60764792749c1cf5ecc29fd3a90bcb","unresolved":false,"context_lines":[{"line_number":33,"context_line":"#include \u003cstring.h\u003e"},{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#define CAMERA_REMAP_IDS_PROPERTY \"vendor.camera.remapids\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"namespace android {"},{"line_number":39,"context_line":"namespace hardware {"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"7690bb70_486a79d5","line":36,"range":{"start_line":36,"start_character":35,"end_line":36,"end_character":57},"in_reply_to":"2c65cf73_ce28f939","updated":"2025-01-05 12:56:00.000000000","message":"Acknowledged","commit_id":"af895f1160213181a3ea5ec227c7ea153520f108"},{"author":{"_account_id":30475,"name":"Ivan Večeřa","display_name":"Ivan Vecera","email":"ivan@cera.cz","username":"cera","avatars":[{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/da8db8cec9d0fdfbb111cdc5d4c64379.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"99e2c85872ee732c6161a338a2b1652f55bc17f8","unresolved":true,"context_lines":[{"line_number":33,"context_line":"#include \u003cstring.h\u003e"},{"line_number":34,"context_line":"#include \u003cutils/Trace.h\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"#define CAMERA_REMAP_IDS_PROPERTY \"vendor.camera.remapids\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"namespace android {"},{"line_number":39,"context_line":"namespace hardware {"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"2c65cf73_ce28f939","line":36,"range":{"start_line":36,"start_character":35,"end_line":36,"end_character":57},"in_reply_to":"3bad7195_67491275","updated":"2025-01-05 12:55:13.000000000","message":"OK, lets use `vendor.camera.remapid`","commit_id":"af895f1160213181a3ea5ec227c7ea153520f108"},{"author":{"_account_id":11883,"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":"66615ddc82886aa495173ec080cb6b96bbe08513","unresolved":true,"context_lines":[{"line_number":354,"context_line":"        int i \u003d cameraIdMap[n];"},{"line_number":355,"context_line":"        mLegacyCameras.insert(i);"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        if (n !\u003d i)"},{"line_number":358,"context_line":"            ALOGI(\"%s: Camera %d ID remapped to %d\", __func__, n, i);"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        struct camera_info info;"},{"line_number":361,"context_line":"        auto rc \u003d mModule-\u003egetCameraInfo(i, \u0026info);"},{"line_number":362,"context_line":"        if (rc !\u003d NO_ERROR) {"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"b388b9e3_487b0575","line":359,"range":{"start_line":357,"start_character":0,"end_line":359,"end_character":0},"updated":"2025-01-06 13:07:09.000000000","message":"```suggestion\n        if (n !\u003d i) {\n            ALOGI(\"%s: Camera %d ID remapped to %d\", __func__, n, i);\n        }\n\n```","commit_id":"6a9c2a9d6d5a612227636edb05ce37f2ed56bc0d"},{"author":{"_account_id":11883,"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":"3737039d8c652f5b8d09e917015f731f203685ac","unresolved":false,"context_lines":[{"line_number":354,"context_line":"        int i \u003d cameraIdMap[n];"},{"line_number":355,"context_line":"        mLegacyCameras.insert(i);"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        if (n !\u003d i)"},{"line_number":358,"context_line":"            ALOGI(\"%s: Camera %d ID remapped to %d\", __func__, n, i);"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        struct camera_info info;"},{"line_number":361,"context_line":"        auto rc \u003d mModule-\u003egetCameraInfo(i, \u0026info);"},{"line_number":362,"context_line":"        if (rc !\u003d NO_ERROR) {"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"2d4f319c_e6437bd0","line":359,"range":{"start_line":357,"start_character":0,"end_line":359,"end_character":0},"in_reply_to":"b388b9e3_487b0575","updated":"2025-01-06 13:10:46.000000000","message":"Fix applied.","commit_id":"6a9c2a9d6d5a612227636edb05ce37f2ed56bc0d"}]}
