summaryrefslogtreecommitdiff
path: root/src/com/android/loganalysis/item
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/loganalysis/item')
-rw-r--r--src/com/android/loganalysis/item/AppVersionItem.java53
-rw-r--r--src/com/android/loganalysis/item/DumpsysItem.java25
-rw-r--r--src/com/android/loganalysis/item/DumpsysPackageStatsItem.java40
3 files changed, 110 insertions, 8 deletions
diff --git a/src/com/android/loganalysis/item/AppVersionItem.java b/src/com/android/loganalysis/item/AppVersionItem.java
new file mode 100644
index 0000000..5c144f2
--- /dev/null
+++ b/src/com/android/loganalysis/item/AppVersionItem.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2017 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 com.android.loganalysis.item;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** An {@link IItem} used to store an app's version code and name. */
+public class AppVersionItem extends GenericItem {
+
+ /** Constants for JSON output */
+ public static final String VERSION_CODE = "VERSION_CODE";
+
+ public static final String VERSION_NAME = "VERSION_NAME";
+
+ private static final Set<String> ATTRIBUTES =
+ new HashSet<String>(Arrays.asList(VERSION_CODE, VERSION_NAME));
+
+ /**
+ * The constructor for {@link AppVersionItem}
+ *
+ * @param versionCode the version code
+ * @param versionName the version name
+ */
+ public AppVersionItem(int versionCode, String versionName) {
+ super(ATTRIBUTES);
+
+ setAttribute(VERSION_CODE, versionCode);
+ setAttribute(VERSION_NAME, versionName);
+ }
+
+ public int getVersionCode() {
+ return (Integer) getAttribute(VERSION_CODE);
+ }
+
+ public String getVersionName() {
+ return (String) getAttribute(VERSION_NAME);
+ }
+}
diff --git a/src/com/android/loganalysis/item/DumpsysItem.java b/src/com/android/loganalysis/item/DumpsysItem.java
index 7f219bf..b66a82c 100644
--- a/src/com/android/loganalysis/item/DumpsysItem.java
+++ b/src/com/android/loganalysis/item/DumpsysItem.java
@@ -27,12 +27,15 @@ public class DumpsysItem extends GenericItem {
/** Constant for JSON output */
private static final String BATTERY_STATS = "BATTERY_STATS";
/** Constant for JSON output */
+ private static final String PACKAGE_STATS = "PACKAGE_STATS";
+ /** Constant for JSON output */
private static final String PROC_STATS = "PROC_STATS";
/** Constant for JSON output */
private static final String WIFI_STATS = "WIFI_STATS";
- private static final Set<String> ATTRIBUTES = new HashSet<String>(Arrays.asList(
- BATTERY_STATS, PROC_STATS, WIFI_STATS));
+ private static final Set<String> ATTRIBUTES =
+ new HashSet<String>(
+ Arrays.asList(BATTERY_STATS, PACKAGE_STATS, PROC_STATS, WIFI_STATS));
/**
* The constructor for {@link DumpsysItem}.
@@ -48,9 +51,12 @@ public class DumpsysItem extends GenericItem {
setAttribute(BATTERY_STATS, batteryStats);
}
- /**
- * Set the {@link DumpsysProcStatsItem} of the bugreport.
- */
+ /** Set the {@link DumpsysPackageStatsItem} of the bugreport. */
+ public void setPackageStats(DumpsysPackageStatsItem packageStats) {
+ setAttribute(PACKAGE_STATS, packageStats);
+ }
+
+ /** Set the {@link DumpsysProcStatsItem} of the bugreport. */
public void setProcStats(DumpsysProcStatsItem procStats) {
setAttribute(PROC_STATS, procStats);
}
@@ -69,9 +75,12 @@ public class DumpsysItem extends GenericItem {
return (DumpsysBatteryStatsItem) getAttribute(BATTERY_STATS);
}
- /**
- * Get the {@link DumpsysProcStatsItem} of the bugreport.
- */
+ /** Get the {@link DumpsysPackageStatsItem} of the bugreport. */
+ public DumpsysPackageStatsItem getPackageStats() {
+ return (DumpsysPackageStatsItem) getAttribute(PACKAGE_STATS);
+ }
+
+ /** Get the {@link DumpsysProcStatsItem} of the bugreport. */
public DumpsysProcStatsItem getProcStats() {
return (DumpsysProcStatsItem) getAttribute(PROC_STATS);
}
diff --git a/src/com/android/loganalysis/item/DumpsysPackageStatsItem.java b/src/com/android/loganalysis/item/DumpsysPackageStatsItem.java
new file mode 100644
index 0000000..14c4073
--- /dev/null
+++ b/src/com/android/loganalysis/item/DumpsysPackageStatsItem.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2017 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 com.android.loganalysis.item;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+/** An {@link IItem} used to store apps and their version codes and names. */
+public class DumpsysPackageStatsItem extends GenericMapItem<AppVersionItem> {
+ private static final long serialVersionUID = 1L;
+
+ /** Constant for JSON output */
+ public static final String APP_VERSIONS = "APP_VERSIONS";
+
+ /** {@inheritDoc} */
+ @Override
+ public JSONObject toJson() {
+ JSONObject object = new JSONObject();
+ try {
+ object.put(APP_VERSIONS, super.toJson());
+ } catch (JSONException e) {
+ // Ignore
+ }
+ return object;
+ }
+}