)]}'
{"id":"android_frameworks_base~8668","triplet_id":"android_frameworks_base~tm~I39e1c4b03fe0e60f933f02e253d2d3c4a483146f","project":"android_frameworks_base","branch":"tm","topic":"tm-base-bringup","attention_set":{},"removed_from_attention_set":{"1000000":{"account":{"_account_id":1000000,"name":"Anay Wadhera","email":"anay1018@gmail.com","username":"anayw2001","avatars":[{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"o fuc"},"last_update":"2022-09-23 00:15:58.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I39e1c4b03fe0e60f933f02e253d2d3c4a483146f","subject":"ThemedResourceCache: Replace ArrayMap with HashMap for performance","status":"MERGED","created":"2022-09-22 03:42:05.000000000","updated":"2022-09-23 00:15:58.000000000","submitted":"2022-09-23 00:15:58.000000000","submitter":{"_account_id":1000057,"name":"StatiXOS Gerrit","email":"statixgerrit@gmail.com","username":"statixgerrit","avatars":[{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"8668-tm-base-bringup","meta_rev_id":"b887c3a4e77657a0ba70c77b9068fff3c5c9b387","_number":8668,"virtual_id_number":8668,"owner":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"},"all":[{"value":0,"_account_id":1000057,"name":"StatiXOS Gerrit","email":"statixgerrit@gmail.com","username":"statixgerrit","avatars":[{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"tag":"autogenerated:gerrit:merged","value":2,"date":"2022-09-23 00:15:58.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0},"Verified":{"approved":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"},"all":[{"value":0,"_account_id":1000057,"name":"StatiXOS Gerrit","email":"statixgerrit@gmail.com","username":"statixgerrit","avatars":[{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2022-09-23 00:15:58.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0}},"removable_reviewers":[{"_account_id":1000000,"name":"Anay Wadhera","email":"anay1018@gmail.com","username":"anayw2001","avatars":[{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"o fuc"}],"reviewers":{"REVIEWER":[{"_account_id":1000000,"name":"Anay Wadhera","email":"anay1018@gmail.com","username":"anayw2001","avatars":[{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"o fuc"},{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"},{"_account_id":1000057,"name":"StatiXOS Gerrit","email":"statixgerrit@gmail.com","username":"statixgerrit","avatars":[{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-09-22 03:42:05.000000000","updated_by":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"},"reviewer":{"_account_id":1000000,"name":"Anay Wadhera","email":"anay1018@gmail.com","username":"anayw2001","avatars":[{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c4b5b98827974f96561d68d4b383b221.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"o fuc"},"state":"REVIEWER"},{"updated":"2022-09-23 00:15:58.000000000","updated_by":{"_account_id":1000057,"name":"StatiXOS Gerrit","email":"statixgerrit@gmail.com","username":"statixgerrit","avatars":[{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"reviewer":{"_account_id":1000057,"name":"StatiXOS Gerrit","email":"statixgerrit@gmail.com","username":"statixgerrit","avatars":[{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"state":"REVIEWER"}],"messages":[{"id":"f7258ee45e99a503f9a30e13ef866aa5c2a1537f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"},"date":"2022-09-22 03:42:05.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b01bec7d81e55071d8510f2397f65c592a3876b1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"},"date":"2022-09-23 00:15:54.000000000","message":"Patch Set 2: Patch Set 1 was rebased","accounts_in_message":[],"_revision_number":2},{"id":"009cad632c7ce7b4a34b0d8f069a508ac82d5f47","author":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"},"date":"2022-09-23 00:15:57.000000000","message":"Patch Set 2: Verified+1 Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"b887c3a4e77657a0ba70c77b9068fff3c5c9b387","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000057,"name":"StatiXOS Gerrit","email":"statixgerrit@gmail.com","username":"statixgerrit","avatars":[{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2022-09-23 00:15:58.000000000","message":"Change has been successfully rebased and submitted as f96fa856917dce483b2ef28819ab5458b5270c14","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"f96fa856917dce483b2ef28819ab5458b5270c14","revisions":{"12e399fbdc2d1a43e29da4b09644ca591f0fdd33":{"kind":"REWORK","_number":1,"created":"2022-09-22 03:42:05.000000000","uploader":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"},"ref":"refs/changes/68/8668/1","fetch":{"anonymous http":{"url":"https://github.com/StatiXOS/android_frameworks_base","ref":"refs/changes/68/8668/1","commands":{"Branch":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/1 \u0026\u0026 git checkout -b change-8668 FETCH_HEAD","Checkout":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/1","Reset To":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"6c76b5b3c35093483abc08d0898fa12082d7559e","subject":"Deprioritize important developer notifications","web_links":[{"name":"GitHub","tooltip":"Open in GitWeb","url":"https://github.com/StatiXOS/android_frameworks_base/commit/6c76b5b3c35093483abc08d0898fa12082d7559e"}]}],"author":{"name":"Danny Lin","email":"danny@kdrag0n.dev","date":"2021-03-25 01:56:33.000000000","tz":-420},"committer":{"name":"Sourajit Karmakar","email":"sourajitk@statixos.com","date":"2022-09-21 23:37:28.000000000","tz":-240},"subject":"ThemedResourceCache: Replace ArrayMap with HashMap for performance","message":"ThemedResourceCache: Replace ArrayMap with HashMap for performance\n\nWhen opening and closing activities in Settings, a significant amount of\nCPU time is spent looking up ArrayMap entries, as reported by simpleperf:\n\n0.12%     /system/framework/arm64/boot-framework.oat                                                                                                android.util.ArrayMap.binarySearchHashes\n\nThemedResourceCache is responsible for a significant portion of the time\nspent in ArrayMap lookups:\n\n0.08%     0.08%  /system/framework/arm64/boot-framework.oat                                                                              android.util.ArrayMap.binarySearchHashes\n       |\n       -- android.util.ArrayMap.binarySearchHashes\n          |\n           --50.00%-- android.util.ArrayMap.indexOf\n               |\n               |--36.71%-- android.util.ArrayMap.get\n               |    |--0.87%-- [hit in function]\n               |    |\n               |    |--9.64%-- android.content.res.ThemedResourceCache.getThemedLocked\n               |    |          android.content.res.ThemedResourceCache.get\n               |    |    |\n               |    |    |--77.92%-- android.content.res.DrawableCache.getInstance\n               |    |    |           android.content.res.ResourcesImpl.loadDrawable\n               |    |    |           android.content.res.Resources.loadDrawable\n               |    |    |           android.content.res.TypedArray.getDrawableForDensity\n               |    |    |           android.content.res.Resources.getColor [DEDUPED]\n               |    |    |    |\n               |    |    |    |--62.94%-- android.view.View.\u003cinit\u003e\n               |    |    |    |    |\n               |    |    |    |    |--64.58%-- android.view.ViewGroup.\u003cinit\u003e\n               |    |    |    |    |           android.widget.LinearLayout.\u003cinit\u003e\n               |    |    |    |    |           android.widget.LinearLayout.\u003cinit\u003e\n               |    |    |    |    |           art_quick_invoke_stub\n               |    |    |    |    |           art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)\n               |    |    |    |    |           art::InvokeConstructor(art::ScopedObjectAccessAlreadyRunnable const\u0026, art::ArtMethod*, art::ObjPtr\u003cart::mirror::Object\u003e, _jobject*)\n               |    |    |    |    |           art::Constructor_newInstance0(_JNIEnv*, _jobject*, _jobjectArray*)\n               |    |    |    |    |           art_jni_trampoline\n               |    |    |    |    |           java.lang.reflect.Constructor.newInstance\n               |    |    |    |    |           android.view.LayoutInflater.createView\n               |    |    |    |    |           com.android.internal.policy.PhoneLayoutInflater.onCreateView\n               |    |    |    |    |           android.view.LayoutInflater.onCreateView\n               |    |    |    |    |           android.view.LayoutInflater.onCreateView\n               |    |    |    |    |           android.view.LayoutInflater.createViewFromTag\n               |    |    |    |    |           android.view.LayoutInflater.inflate\n               |    |    |    |    |           android.view.LayoutInflater.inflate\n               |    |    |    |    |\n               |    |    |    |     --35.42%-- android.widget.TextView.\u003cinit\u003e\n               |    |    |    |                android.widget.Button.\u003cinit\u003e\n               |    |    |    |                art_quick_invoke_stub\n               |    |    |    |                art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)\n               |    |    |    |                art::InvokeConstructor(art::ScopedObjectAccessAlreadyRunnable const\u0026, art::ArtMethod*, art::ObjPtr\u003cart::mirror::Object\u003e, _jobject*)\n               |    |    |    |                art::Constructor_newInstance0(_JNIEnv*, _jobject*, _jobjectArray*)\n               |    |    |    |                art_jni_trampoline\n               |    |    |    |                java.lang.reflect.Constructor.newInstance\n               |    |    |    |                android.view.LayoutInflater.createView\n               |    |    |    |                com.android.internal.policy.PhoneLayoutInflater.onCreateView\n               |    |    |    |                android.view.LayoutInflater.onCreateView\n               |    |    |    |                android.view.LayoutInflater.onCreateView\n               |    |    |    |                android.view.LayoutInflater.createViewFromTag\n               |    |    |    |                android.view.LayoutInflater.rInflate\n               |    |    |    |                android.view.LayoutInflater.rInflate\n               |    |    |    |                android.view.LayoutInflater.rInflate\n               |    |    |    |                android.view.LayoutInflater.inflate\n               |    |    |    |                android.view.LayoutInflater.inflate\n               |    |    |    |                android.view.LayoutInflater.inflate\n               |    |    |    |\n               |    |    |     --37.06%-- com.android.internal.widget.ToolbarWidgetWrapper.\u003cinit\u003e\n               |    |    |\n               |    |     --22.08%-- android.content.res.ConfigurationBoundResourceCache.get\n               |    |                android.content.res.ConfigurationBoundResourceCache.getInstance\n               |    |                android.content.res.ResourcesImpl.loadComplexColorFromName\n               |    |                android.content.res.ResourcesImpl.loadColorStateList\n               |    |                android.content.res.Resources.loadColorStateList\n               |    |                android.content.res.TypedArray.getColorStateList\n               |    |                android.widget.TextView.readTextAppearance\n               |    |                android.widget.TextView.setTextAppearance\n               |    |                android.widget.TextView.setTextAppearance\n               |    |                android.widget.Toolbar.setTitle\n               |    |                com.android.wifi.x.com.android.internal.util.StateMachine$SmHandler.handleMessage\n               |    |                android.view.SurfaceControl.copyFrom\n\nEmpirical testing reveals that mThemedEntries usually contains around 14\nentries, at which HashMap is 35% faster than ArrayMap for lookups and\n54% faster [1] for insertions. The increased memory usage should be\nnegligible at this size, so we can safely convert the map to a HashMap\nin order to improve performance in this hotpath.\n\n[1] https://docs.google.com/spreadsheets/d/136UJS2yVlZyPx30KDNgj4AWldkp9xbzIcWkLFj9RGgk/edit\n\nTest: simpleperf record -a; verify that ThemedResourceCache no longer\n      appears under ArrayMap.binarySearchHashes\nChange-Id: I39e1c4b03fe0e60f933f02e253d2d3c4a483146f\nReviewed-on: https://review.statixos.com/c/android_frameworks_base/+/6195\nReviewed-by: Anay Wadhera \u003canay1018@gmail.com\u003e\nTested-by: Anay Wadhera \u003canay1018@gmail.com\u003e\nReviewed-on: https://review.statixos.com/c/android_frameworks_base/+/7159\n","web_links":[{"name":"GitHub","tooltip":"Open in GitWeb","url":"https://github.com/StatiXOS/android_frameworks_base/commit/12e399fbdc2d1a43e29da4b09644ca591f0fdd33"}],"resolve_conflicts_web_links":[{"name":"GitHub","tooltip":"Open in GitWeb","url":"https://github.com/StatiXOS/android_frameworks_base/commit/12e399fbdc2d1a43e29da4b09644ca591f0fdd33"}]},"branch":"refs/heads/tm"},"dbda41ba81ebc5c4c2f9b58993c4fb277460108f":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2022-09-23 00:15:54.000000000","uploader":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"},"ref":"refs/changes/68/8668/2","fetch":{"anonymous http":{"url":"https://github.com/StatiXOS/android_frameworks_base","ref":"refs/changes/68/8668/2","commands":{"Branch":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/2 \u0026\u0026 git checkout -b change-8668 FETCH_HEAD","Checkout":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/2","Reset To":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"655e4cef32890cf005de8c3c85c7a0ce0ec6b5a7","subject":"Deprioritize important developer notifications","web_links":[{"name":"GitHub","tooltip":"Open in GitWeb","url":"https://github.com/StatiXOS/android_frameworks_base/commit/655e4cef32890cf005de8c3c85c7a0ce0ec6b5a7"}]}],"author":{"name":"Danny Lin","email":"danny@kdrag0n.dev","date":"2021-03-25 01:56:33.000000000","tz":-420},"committer":{"name":"Sourajit Karmakar","email":"sourajitk@statixos.com","date":"2022-09-23 00:15:54.000000000","tz":0},"subject":"ThemedResourceCache: Replace ArrayMap with HashMap for performance","message":"ThemedResourceCache: Replace ArrayMap with HashMap for performance\n\nWhen opening and closing activities in Settings, a significant amount of\nCPU time is spent looking up ArrayMap entries, as reported by simpleperf:\n\n0.12%     /system/framework/arm64/boot-framework.oat                                                                                                android.util.ArrayMap.binarySearchHashes\n\nThemedResourceCache is responsible for a significant portion of the time\nspent in ArrayMap lookups:\n\n0.08%     0.08%  /system/framework/arm64/boot-framework.oat                                                                              android.util.ArrayMap.binarySearchHashes\n       |\n       -- android.util.ArrayMap.binarySearchHashes\n          |\n           --50.00%-- android.util.ArrayMap.indexOf\n               |\n               |--36.71%-- android.util.ArrayMap.get\n               |    |--0.87%-- [hit in function]\n               |    |\n               |    |--9.64%-- android.content.res.ThemedResourceCache.getThemedLocked\n               |    |          android.content.res.ThemedResourceCache.get\n               |    |    |\n               |    |    |--77.92%-- android.content.res.DrawableCache.getInstance\n               |    |    |           android.content.res.ResourcesImpl.loadDrawable\n               |    |    |           android.content.res.Resources.loadDrawable\n               |    |    |           android.content.res.TypedArray.getDrawableForDensity\n               |    |    |           android.content.res.Resources.getColor [DEDUPED]\n               |    |    |    |\n               |    |    |    |--62.94%-- android.view.View.\u003cinit\u003e\n               |    |    |    |    |\n               |    |    |    |    |--64.58%-- android.view.ViewGroup.\u003cinit\u003e\n               |    |    |    |    |           android.widget.LinearLayout.\u003cinit\u003e\n               |    |    |    |    |           android.widget.LinearLayout.\u003cinit\u003e\n               |    |    |    |    |           art_quick_invoke_stub\n               |    |    |    |    |           art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)\n               |    |    |    |    |           art::InvokeConstructor(art::ScopedObjectAccessAlreadyRunnable const\u0026, art::ArtMethod*, art::ObjPtr\u003cart::mirror::Object\u003e, _jobject*)\n               |    |    |    |    |           art::Constructor_newInstance0(_JNIEnv*, _jobject*, _jobjectArray*)\n               |    |    |    |    |           art_jni_trampoline\n               |    |    |    |    |           java.lang.reflect.Constructor.newInstance\n               |    |    |    |    |           android.view.LayoutInflater.createView\n               |    |    |    |    |           com.android.internal.policy.PhoneLayoutInflater.onCreateView\n               |    |    |    |    |           android.view.LayoutInflater.onCreateView\n               |    |    |    |    |           android.view.LayoutInflater.onCreateView\n               |    |    |    |    |           android.view.LayoutInflater.createViewFromTag\n               |    |    |    |    |           android.view.LayoutInflater.inflate\n               |    |    |    |    |           android.view.LayoutInflater.inflate\n               |    |    |    |    |\n               |    |    |    |     --35.42%-- android.widget.TextView.\u003cinit\u003e\n               |    |    |    |                android.widget.Button.\u003cinit\u003e\n               |    |    |    |                art_quick_invoke_stub\n               |    |    |    |                art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)\n               |    |    |    |                art::InvokeConstructor(art::ScopedObjectAccessAlreadyRunnable const\u0026, art::ArtMethod*, art::ObjPtr\u003cart::mirror::Object\u003e, _jobject*)\n               |    |    |    |                art::Constructor_newInstance0(_JNIEnv*, _jobject*, _jobjectArray*)\n               |    |    |    |                art_jni_trampoline\n               |    |    |    |                java.lang.reflect.Constructor.newInstance\n               |    |    |    |                android.view.LayoutInflater.createView\n               |    |    |    |                com.android.internal.policy.PhoneLayoutInflater.onCreateView\n               |    |    |    |                android.view.LayoutInflater.onCreateView\n               |    |    |    |                android.view.LayoutInflater.onCreateView\n               |    |    |    |                android.view.LayoutInflater.createViewFromTag\n               |    |    |    |                android.view.LayoutInflater.rInflate\n               |    |    |    |                android.view.LayoutInflater.rInflate\n               |    |    |    |                android.view.LayoutInflater.rInflate\n               |    |    |    |                android.view.LayoutInflater.inflate\n               |    |    |    |                android.view.LayoutInflater.inflate\n               |    |    |    |                android.view.LayoutInflater.inflate\n               |    |    |    |\n               |    |    |     --37.06%-- com.android.internal.widget.ToolbarWidgetWrapper.\u003cinit\u003e\n               |    |    |\n               |    |     --22.08%-- android.content.res.ConfigurationBoundResourceCache.get\n               |    |                android.content.res.ConfigurationBoundResourceCache.getInstance\n               |    |                android.content.res.ResourcesImpl.loadComplexColorFromName\n               |    |                android.content.res.ResourcesImpl.loadColorStateList\n               |    |                android.content.res.Resources.loadColorStateList\n               |    |                android.content.res.TypedArray.getColorStateList\n               |    |                android.widget.TextView.readTextAppearance\n               |    |                android.widget.TextView.setTextAppearance\n               |    |                android.widget.TextView.setTextAppearance\n               |    |                android.widget.Toolbar.setTitle\n               |    |                com.android.wifi.x.com.android.internal.util.StateMachine$SmHandler.handleMessage\n               |    |                android.view.SurfaceControl.copyFrom\n\nEmpirical testing reveals that mThemedEntries usually contains around 14\nentries, at which HashMap is 35% faster than ArrayMap for lookups and\n54% faster [1] for insertions. The increased memory usage should be\nnegligible at this size, so we can safely convert the map to a HashMap\nin order to improve performance in this hotpath.\n\n[1] https://docs.google.com/spreadsheets/d/136UJS2yVlZyPx30KDNgj4AWldkp9xbzIcWkLFj9RGgk/edit\n\nTest: simpleperf record -a; verify that ThemedResourceCache no longer\n      appears under ArrayMap.binarySearchHashes\nChange-Id: I39e1c4b03fe0e60f933f02e253d2d3c4a483146f\nReviewed-on: https://review.statixos.com/c/android_frameworks_base/+/6195\nReviewed-by: Anay Wadhera \u003canay1018@gmail.com\u003e\nTested-by: Anay Wadhera \u003canay1018@gmail.com\u003e\nReviewed-on: https://review.statixos.com/c/android_frameworks_base/+/7159\n","web_links":[{"name":"GitHub","tooltip":"Open in GitWeb","url":"https://github.com/StatiXOS/android_frameworks_base/commit/dbda41ba81ebc5c4c2f9b58993c4fb277460108f"}],"resolve_conflicts_web_links":[{"name":"GitHub","tooltip":"Open in GitWeb","url":"https://github.com/StatiXOS/android_frameworks_base/commit/dbda41ba81ebc5c4c2f9b58993c4fb277460108f"}]},"branch":"refs/heads/tm","description":"Rebase"},"f96fa856917dce483b2ef28819ab5458b5270c14":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2022-09-23 00:15:58.000000000","uploader":{"_account_id":1000057,"name":"StatiXOS Gerrit","email":"statixgerrit@gmail.com","username":"statixgerrit","avatars":[{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ebd886cc6fd2034435497832e0da1e2a.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/68/8668/3","fetch":{"anonymous http":{"url":"https://github.com/StatiXOS/android_frameworks_base","ref":"refs/changes/68/8668/3","commands":{"Branch":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/3 \u0026\u0026 git checkout -b change-8668 FETCH_HEAD","Checkout":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/3","Reset To":"git fetch https://github.com/StatiXOS/android_frameworks_base refs/changes/68/8668/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"655e4cef32890cf005de8c3c85c7a0ce0ec6b5a7","subject":"Deprioritize important developer notifications","web_links":[{"name":"GitHub","tooltip":"Open in GitWeb","url":"https://github.com/StatiXOS/android_frameworks_base/commit/655e4cef32890cf005de8c3c85c7a0ce0ec6b5a7"}]}],"author":{"name":"Danny Lin","email":"danny@kdrag0n.dev","date":"2021-03-25 01:56:33.000000000","tz":-420},"committer":{"name":"StatiXOS Gerrit","email":"statixgerrit@gmail.com","date":"2022-09-23 00:15:58.000000000","tz":0},"subject":"ThemedResourceCache: Replace ArrayMap with HashMap for performance","message":"ThemedResourceCache: Replace ArrayMap with HashMap for performance\n\nWhen opening and closing activities in Settings, a significant amount of\nCPU time is spent looking up ArrayMap entries, as reported by simpleperf:\n\n0.12%     /system/framework/arm64/boot-framework.oat                                                                                                android.util.ArrayMap.binarySearchHashes\n\nThemedResourceCache is responsible for a significant portion of the time\nspent in ArrayMap lookups:\n\n0.08%     0.08%  /system/framework/arm64/boot-framework.oat                                                                              android.util.ArrayMap.binarySearchHashes\n       |\n       -- android.util.ArrayMap.binarySearchHashes\n          |\n           --50.00%-- android.util.ArrayMap.indexOf\n               |\n               |--36.71%-- android.util.ArrayMap.get\n               |    |--0.87%-- [hit in function]\n               |    |\n               |    |--9.64%-- android.content.res.ThemedResourceCache.getThemedLocked\n               |    |          android.content.res.ThemedResourceCache.get\n               |    |    |\n               |    |    |--77.92%-- android.content.res.DrawableCache.getInstance\n               |    |    |           android.content.res.ResourcesImpl.loadDrawable\n               |    |    |           android.content.res.Resources.loadDrawable\n               |    |    |           android.content.res.TypedArray.getDrawableForDensity\n               |    |    |           android.content.res.Resources.getColor [DEDUPED]\n               |    |    |    |\n               |    |    |    |--62.94%-- android.view.View.\u003cinit\u003e\n               |    |    |    |    |\n               |    |    |    |    |--64.58%-- android.view.ViewGroup.\u003cinit\u003e\n               |    |    |    |    |           android.widget.LinearLayout.\u003cinit\u003e\n               |    |    |    |    |           android.widget.LinearLayout.\u003cinit\u003e\n               |    |    |    |    |           art_quick_invoke_stub\n               |    |    |    |    |           art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)\n               |    |    |    |    |           art::InvokeConstructor(art::ScopedObjectAccessAlreadyRunnable const\u0026, art::ArtMethod*, art::ObjPtr\u003cart::mirror::Object\u003e, _jobject*)\n               |    |    |    |    |           art::Constructor_newInstance0(_JNIEnv*, _jobject*, _jobjectArray*)\n               |    |    |    |    |           art_jni_trampoline\n               |    |    |    |    |           java.lang.reflect.Constructor.newInstance\n               |    |    |    |    |           android.view.LayoutInflater.createView\n               |    |    |    |    |           com.android.internal.policy.PhoneLayoutInflater.onCreateView\n               |    |    |    |    |           android.view.LayoutInflater.onCreateView\n               |    |    |    |    |           android.view.LayoutInflater.onCreateView\n               |    |    |    |    |           android.view.LayoutInflater.createViewFromTag\n               |    |    |    |    |           android.view.LayoutInflater.inflate\n               |    |    |    |    |           android.view.LayoutInflater.inflate\n               |    |    |    |    |\n               |    |    |    |     --35.42%-- android.widget.TextView.\u003cinit\u003e\n               |    |    |    |                android.widget.Button.\u003cinit\u003e\n               |    |    |    |                art_quick_invoke_stub\n               |    |    |    |                art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)\n               |    |    |    |                art::InvokeConstructor(art::ScopedObjectAccessAlreadyRunnable const\u0026, art::ArtMethod*, art::ObjPtr\u003cart::mirror::Object\u003e, _jobject*)\n               |    |    |    |                art::Constructor_newInstance0(_JNIEnv*, _jobject*, _jobjectArray*)\n               |    |    |    |                art_jni_trampoline\n               |    |    |    |                java.lang.reflect.Constructor.newInstance\n               |    |    |    |                android.view.LayoutInflater.createView\n               |    |    |    |                com.android.internal.policy.PhoneLayoutInflater.onCreateView\n               |    |    |    |                android.view.LayoutInflater.onCreateView\n               |    |    |    |                android.view.LayoutInflater.onCreateView\n               |    |    |    |                android.view.LayoutInflater.createViewFromTag\n               |    |    |    |                android.view.LayoutInflater.rInflate\n               |    |    |    |                android.view.LayoutInflater.rInflate\n               |    |    |    |                android.view.LayoutInflater.rInflate\n               |    |    |    |                android.view.LayoutInflater.inflate\n               |    |    |    |                android.view.LayoutInflater.inflate\n               |    |    |    |                android.view.LayoutInflater.inflate\n               |    |    |    |\n               |    |    |     --37.06%-- com.android.internal.widget.ToolbarWidgetWrapper.\u003cinit\u003e\n               |    |    |\n               |    |     --22.08%-- android.content.res.ConfigurationBoundResourceCache.get\n               |    |                android.content.res.ConfigurationBoundResourceCache.getInstance\n               |    |                android.content.res.ResourcesImpl.loadComplexColorFromName\n               |    |                android.content.res.ResourcesImpl.loadColorStateList\n               |    |                android.content.res.Resources.loadColorStateList\n               |    |                android.content.res.TypedArray.getColorStateList\n               |    |                android.widget.TextView.readTextAppearance\n               |    |                android.widget.TextView.setTextAppearance\n               |    |                android.widget.TextView.setTextAppearance\n               |    |                android.widget.Toolbar.setTitle\n               |    |                com.android.wifi.x.com.android.internal.util.StateMachine$SmHandler.handleMessage\n               |    |                android.view.SurfaceControl.copyFrom\n\nEmpirical testing reveals that mThemedEntries usually contains around 14\nentries, at which HashMap is 35% faster than ArrayMap for lookups and\n54% faster [1] for insertions. The increased memory usage should be\nnegligible at this size, so we can safely convert the map to a HashMap\nin order to improve performance in this hotpath.\n\n[1] https://docs.google.com/spreadsheets/d/136UJS2yVlZyPx30KDNgj4AWldkp9xbzIcWkLFj9RGgk/edit\n\nTest: simpleperf record -a; verify that ThemedResourceCache no longer\n      appears under ArrayMap.binarySearchHashes\nChange-Id: I39e1c4b03fe0e60f933f02e253d2d3c4a483146f\nReviewed-on: https://review.statixos.com/c/android_frameworks_base/+/6195\nReviewed-by: Anay Wadhera \u003canay1018@gmail.com\u003e\nTested-by: Anay Wadhera \u003canay1018@gmail.com\u003e\nReviewed-on: https://review.statixos.com/c/android_frameworks_base/+/7159\nReviewed-on: https://review.statixos.com/c/android_frameworks_base/+/8668\nReviewed-by: Sourajit Karmakar \u003csourajitk@statixos.com\u003e\nTested-by: Sourajit Karmakar \u003csourajitk@statixos.com\u003e\n","web_links":[{"name":"GitHub","tooltip":"Open in GitWeb","url":"https://github.com/StatiXOS/android_frameworks_base/commit/f96fa856917dce483b2ef28819ab5458b5270c14"}],"resolve_conflicts_web_links":[{"name":"GitHub","tooltip":"Open in GitWeb","url":"https://github.com/StatiXOS/android_frameworks_base/commit/f96fa856917dce483b2ef28819ab5458b5270c14"}]},"branch":"refs/heads/tm"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"}},{"label":"Verified","status":"OK","applied_by":{"_account_id":1000003,"name":"Sourajit Karmakar","email":"sourajit@live.com","username":"Androbots2001","avatars":[{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/1d2394fe600011a4be89c12e278c4222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"status":"heyo, you\u0027re currently reading my bio"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dMAX -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX","-label:Verified\u003dMIN"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX","-label:Code-Review\u003dMIN"],"failing_atoms":[],"atom_explanations":{}}}]}
