Correct some issues with AttributionSource.Builder

1. The constructor that takes an AttributionSource doesn't copy all
   fields.
2. The existence of mBuilderFieldsSet clears all fields copied from the
   previously mentioned constructor leading to an almost blank
   AttributionSource besides UID and fields that have been overridden
   with setField() methods. It is not clear why these field flags were
   introduced anyways.
3. build() always overwrites the token field to sDefaultToken, in the
   copy case we want to preserve the token.

Flag: EXEMPT bug fix
Test: CtsAppOpsTestCases CtsAttributionSourceTestCases
      CtsPermission{,Ui}TestCases
Fixes: 362756144
Change-Id: Ib11cf90f18a769d4821f633bf9e44612f4fae13e
1 file changed