Amortize data usage using TrafficStats on Android.

This CL adds a DataUseAmortizer interface to the data_usage component,
and makes the DataUseAggregator use it to amortize data usage byte
counts on supported platforms.

This CL also adds an implementation of the DataUseAmortizer based on
TrafficStats for Android.

[email protected],[email protected]
BUG=518051

Review URL: https://codereview.chromium.org/1390993005

Cr-Commit-Position: refs/heads/master@{#359198}
diff --git a/components/data_usage.gypi b/components/data_usage.gypi
index ba77b57..6fcef19 100644
--- a/components/data_usage.gypi
+++ b/components/data_usage.gypi
@@ -16,8 +16,29 @@
         'data_usage/core/data_use.h',
         'data_usage/core/data_use_aggregator.cc',
         'data_usage/core/data_use_aggregator.h',
+        'data_usage/core/data_use_amortizer.h',
         'data_usage/core/data_use_annotator.h',
       ]
     },
-  ]
+  ],
+  'conditions': [
+    ['OS=="android"', {
+      'targets': [
+        {
+          'target_name': 'data_usage_android',
+          'type': 'static_library',
+          'dependencies': [
+            ':data_usage_core',
+            '../base/base.gyp:base',
+            '../net/net.gyp:net',
+            '../url/url.gyp:url_lib',
+          ],
+          'sources': [
+            'data_usage/android/traffic_stats_amortizer.cc',
+            'data_usage/android/traffic_stats_amortizer.h',
+          ]
+        },
+      ]
+    }],  # OS=="android"
+  ],
 }