Draft: Contacts selection enhancements
Description
import merge request from AOSP gerrit, addresses e/backlog#7469 (closed)
It wasn't merged in AOSP because the author did introduce BSD licensed code with its own copyright header without a clear boundary as e.g. libraries can do. In small parts the new code is refactored Apache licensed code.
By AOSP convention. New files should go with the AOSP copyright header and Apache License.
While BSD licensed code can be used in Apache licensed projects, the difficulty isn't the extra Linux Foundation copyright header or different license, but especially a contribution that mixes license terms on a by-line basis where no completely new source file is introduced. That makes it hard to track which source code lines / functions have what license. Small parts of newly introduced lines are in fact code refactors. Where this happens though, both license terms are in the file header.
As downstream project, /e/ doesn't have to adhere to the convention of AOSP. By including both copyright headers and adhering to both license terms, my solution is to name the commit ref, function names (where substantially new code was introduced) and filename in the license NOTICE and its html representation for binary distribution.
Tests
no tests done yet, marking MR as draft until having done so.