summaryrefslogtreecommitdiff
path: root/core/java/android/util/StatsManager.java
diff options
context:
space:
mode:
authorDavid Chen <dwchen@google.com>2018-01-31 16:38:13 -0800
committerDavid Chen <dwchen@google.com>2018-01-31 16:52:52 -0800
commit76ce2d6d04e4a22a5d2065cf92eeff4f3fefd4bd (patch)
tree8469f944558ff8ef616dce9e80c03ef3922ca92c /core/java/android/util/StatsManager.java
parentd01ce15111512622e6a9d233a42adcc24c1c4736 (diff)
Implements StatsManager temporary stubs.
Need to use the old API for a bit, so the temporary API will convert the arguments for ConfigKey from String to Long and then call the correct API from statsd. This can be deleted in the future. Test: Test that marlin-eng can build. Change-Id: Iebaf2debc08c749ecaae631201e7d039b916f0ce
Diffstat (limited to 'core/java/android/util/StatsManager.java')
-rw-r--r--core/java/android/util/StatsManager.java44
1 files changed, 39 insertions, 5 deletions
diff --git a/core/java/android/util/StatsManager.java b/core/java/android/util/StatsManager.java
index 687aa8375e01..51fb18a95c4c 100644
--- a/core/java/android/util/StatsManager.java
+++ b/core/java/android/util/StatsManager.java
@@ -60,9 +60,19 @@ public class StatsManager {
*/
@RequiresPermission(Manifest.permission.DUMP)
public boolean addConfiguration(String configKey, byte[] config, String pkg, String cls) {
- // To prevent breakages of dependencies on old API.
-
- return false;
+ synchronized (this) {
+ try {
+ IStatsManager service = getIStatsManagerLocked();
+ if (service == null) {
+ Slog.d(TAG, "Failed to find statsd when adding configuration");
+ return false;
+ }
+ return service.addConfiguration(Long.parseLong(configKey), config, pkg, cls);
+ } catch (RemoteException e) {
+ Slog.d(TAG, "Failed to connect to statsd when adding configuration");
+ return false;
+ }
+ }
}
/**
@@ -99,7 +109,19 @@ public class StatsManager {
@RequiresPermission(Manifest.permission.DUMP)
public boolean removeConfiguration(String configKey) {
// To prevent breakages of old dependencies.
- return false;
+ synchronized (this) {
+ try {
+ IStatsManager service = getIStatsManagerLocked();
+ if (service == null) {
+ Slog.d(TAG, "Failed to find statsd when removing configuration");
+ return false;
+ }
+ return service.removeConfiguration(Long.parseLong(configKey));
+ } catch (RemoteException e) {
+ Slog.d(TAG, "Failed to connect to statsd when removing configuration");
+ return false;
+ }
+ }
}
/**
@@ -132,7 +154,19 @@ public class StatsManager {
public byte[] getData(String configKey) {
// TODO: remove this and all other methods with String-based config keys.
// To prevent build breakages of dependencies.
- return null;
+ synchronized (this) {
+ try {
+ IStatsManager service = getIStatsManagerLocked();
+ if (service == null) {
+ Slog.d(TAG, "Failed to find statsd when getting data");
+ return null;
+ }
+ return service.getData(Long.parseLong(configKey));
+ } catch (RemoteException e) {
+ Slog.d(TAG, "Failed to connecto statsd when getting data");
+ return null;
+ }
+ }
}
/**