tree f34855af5e43762c0e74dc461141fb98bec44ad2
parent a7230e4033f8a4cf40316e5eaf94061600f8d3da
author Jakub Pawlowski <jpawlowski@google.com> 1539593464 -0700
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 1539593464 +0000

Update git submodules

* Update platform/external/libbrillo from branch 'master'
  to cfd1fbb90d869daf1bf222db1936b35940cba5e9
  - Uprev libchrome to r576279 (1/many)
    
    Test: compilation
    Change-Id: If75092008dcca5dfbb1683072f03cb1e5fa2e62f
    Merged-In: If75092008dcca5dfbb1683072f03cb1e5fa2e62f
    

* Update platform/external/libchrome from branch 'master'
  to e280f12834190c543be1ad4fddf6a642f65b998a
  - Uprev libchrome to r576279 (1/many)
    
    This patch brings the latest and greatest features of libchrome to
    android. It contains ~2600 patches.
    Reason for uprev: libbluetooth want to use some of the most recent
    features avaliable.
    
    Test: libchrome_test
    Change-Id: Iccdec267948daab29e6328694f4c7d2f71ea26ca
    Merged-In: Iccdec267948daab29e6328694f4c7d2f71ea26ca
    

* Update platform/superproject from branch 'master'
  to e036f0ddd602070f27252a1e10e0bcc8243f60bd
  - Update git submodules
    
    * Update external/libbrillo from branch 'master'
      to cfd1fbb90d869daf1bf222db1936b35940cba5e9
      - Uprev libchrome to r576279 (1/many)
        
        Test: compilation
        Change-Id: If75092008dcca5dfbb1683072f03cb1e5fa2e62f
        Merged-In: If75092008dcca5dfbb1683072f03cb1e5fa2e62f
        
    
    * Update external/libchrome from branch 'master'
      to e280f12834190c543be1ad4fddf6a642f65b998a
      - Uprev libchrome to r576279 (1/many)
        
        This patch brings the latest and greatest features of libchrome to
        android. It contains ~2600 patches.
        Reason for uprev: libbluetooth want to use some of the most recent
        features avaliable.
        
        Test: libchrome_test
        Change-Id: Iccdec267948daab29e6328694f4c7d2f71ea26ca
        Merged-In: Iccdec267948daab29e6328694f4c7d2f71ea26ca
        
    
    * Update system/bt from branch 'master'
      to 67f5f3725b661a6aac8d8956460411638a16bcab
      - Uprev libchrome to r576279 (1/multiple)
        
        This patch brings the latest and greatest features of libchrome to
        android. It contains ~2600 patches.
        Reason for uprev: libbluetooth want to use some of the most recent
        features avaliable.
        
        Test: libchrome_test
        Change-Id: I5f8d5931b404767d3b86cb3bd8df2a05dd67a768
        Merged-In: I5f8d5931b404767d3b86cb3bd8df2a05dd67a768
        
    
    * Update system/update_engine from branch 'master'
      to 7e1dcf75585d3202ec218d7413d9a5023c44710f
      - Uprev libchrome to r576279 (1/multiple)
        
        * StatisticsRecorder no longer need call to Initialize()
        * tracked_objects::Location -> base::Location
        * base::*ToString replaced with base::NumberToString
        
        Test: compilation
        Change-Id: I5f912bd15f7cb26df3edc1ad7f4479122ffb6d7a
        Merged-In: I5f912bd15f7cb26df3edc1ad7f4479122ffb6d7a
        

* Update platform/system/bt from branch 'master'
  to 67f5f3725b661a6aac8d8956460411638a16bcab
  - Uprev libchrome to r576279 (1/multiple)
    
    This patch brings the latest and greatest features of libchrome to
    android. It contains ~2600 patches.
    Reason for uprev: libbluetooth want to use some of the most recent
    features avaliable.
    
    Test: libchrome_test
    Change-Id: I5f8d5931b404767d3b86cb3bd8df2a05dd67a768
    Merged-In: I5f8d5931b404767d3b86cb3bd8df2a05dd67a768
    

* Update platform/system/update_engine from branch 'master'
  to 7e1dcf75585d3202ec218d7413d9a5023c44710f
  - Uprev libchrome to r576279 (1/multiple)
    
    * StatisticsRecorder no longer need call to Initialize()
    * tracked_objects::Location -> base::Location
    * base::*ToString replaced with base::NumberToString
    
    Test: compilation
    Change-Id: I5f912bd15f7cb26df3edc1ad7f4479122ffb6d7a
    Merged-In: I5f912bd15f7cb26df3edc1ad7f4479122ffb6d7a
    