Add UMA metric to track the time elapsed since a WebAPK was last launched

This CL also:
Adds a new SharedPreferences property "has_been_launched" to track whether the
WebAPK/Webapp has been launched from the home screen.

BUG=730201
Test=WebApkIntegrationTest.*, WebappModeTest.*

Review-Url: https://codereview.chromium.org/2930553002
Cr-Commit-Position: refs/heads/master@{#483485}
diff --git a/base/android/record_histogram.cc b/base/android/record_histogram.cc
index 1a207a18..0561986 100644
--- a/base/android/record_histogram.cc
+++ b/base/android/record_histogram.cc
@@ -315,6 +315,20 @@
   return samples->GetCount(static_cast<int>(sample));
 }
 
+jint GetHistogramTotalCountForTesting(
+    JNIEnv* env,
+    const JavaParamRef<jclass>& clazz,
+    const JavaParamRef<jstring>& histogram_name) {
+  HistogramBase* histogram = StatisticsRecorder::FindHistogram(
+      android::ConvertJavaStringToUTF8(env, histogram_name));
+  if (histogram == nullptr) {
+    // No samples have been recorded for this histogram.
+    return 0;
+  }
+
+  return histogram->SnapshotSamples()->TotalCount();
+}
+
 bool RegisterRecordHistogram(JNIEnv* env) {
   return RegisterNativesImpl(env);
 }