summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chris Wren <cwren@android.com> 2018-03-20 18:48:06 +0000
committer android-build-merger <android-build-merger@google.com> 2018-03-20 18:48:06 +0000
commitd1d19804551a7a3cb0242f52e8507a685707ac52 (patch)
tree0deb2e0b99220c9b1d8c2fc614d59c507bcf2518
parent59af29551c912341172e89daf24076cb6cd90dfa (diff)
parent6446ed4a0f551b855474b34d7e6677120af943be (diff)
Merge "support framework logging for slices" into pi-dev
am: 6446ed4a0f Change-Id: Ie848304de218b16ce740b0dfd5701e120c322e36
-rw-r--r--api/current.txt7
-rw-r--r--core/java/android/app/slice/SliceMetrics.java63
2 files changed, 70 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt
index 0fc38228a159..5d6040d99a12 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -7281,6 +7281,13 @@ package android.app.slice {
field public static final java.lang.String SLICE_METADATA_KEY = "android.metadata.SLICE_URI";
}
+ public class SliceMetrics {
+ ctor public SliceMetrics(android.content.Context, android.net.Uri);
+ method public void logHidden();
+ method public void logTouch(android.net.Uri);
+ method public void logVisible();
+ }
+
public abstract class SliceProvider extends android.content.ContentProvider {
ctor public SliceProvider();
method public final int delete(android.net.Uri, java.lang.String, java.lang.String[]);
diff --git a/core/java/android/app/slice/SliceMetrics.java b/core/java/android/app/slice/SliceMetrics.java
new file mode 100644
index 000000000000..a7069bc107d4
--- /dev/null
+++ b/core/java/android/app/slice/SliceMetrics.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.app.slice;
+
+import android.annotation.NonNull;
+import android.content.Context;
+import android.net.Uri;
+
+import com.android.internal.logging.MetricsLogger;
+
+/**
+ * Metrics interface for slices.
+ *
+ * This is called by SliceView, so Slice develoers should
+ * not need to reference this class.
+ *
+ * @see androidx.slice.widget.SliceView
+ */
+public class SliceMetrics {
+
+ private static final String TAG = "SliceMetrics";
+ private MetricsLogger mMetricsLogger;
+
+ /**
+ * An object to be used throughout the life of a slice to register events.
+ */
+ public SliceMetrics(@NonNull Context context, @NonNull Uri uri) {
+ mMetricsLogger = new MetricsLogger();
+ }
+
+ /**
+ * To be called whenever the slice becomes visible to the user.
+ */
+ public void logVisible() {
+ }
+
+ /**
+ * To be called whenever the slice becomes invisible to the user.
+ */
+ public void logHidden() {
+ }
+
+ /**
+ * To be called whenever the use interacts with a slice.
+ *@param subSlice The URI of the sub-slice that is the subject of the interaction.
+ */
+ public void logTouch(@NonNull Uri subSlice) {
+ }
+}