Skip to content
Snippets Groups Projects
Commit 9b4b4693 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

release-request-64fc473b-7e45-48f5-b2f7-3c916e338608-for-git_pi-release-424973...

release-request-64fc473b-7e45-48f5-b2f7-3c916e338608-for-git_pi-release-4249735 snap-temp-L34700000089732387

Change-Id: Ib15e2b07c6fd4a8f9ca66a7b71164fdd502e3374
parents 93890505 7f1f0357
No related branches found
No related tags found
No related merge requests found
......@@ -19,6 +19,8 @@ package com.android.loganalysis.item;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.Map;
/** 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;
......@@ -31,7 +33,11 @@ public class DumpsysPackageStatsItem extends GenericMapItem<AppVersionItem> {
public JSONObject toJson() {
JSONObject object = new JSONObject();
try {
object.put(APP_VERSIONS, super.toJson());
JSONObject appVersions = new JSONObject();
for (Map.Entry<String, AppVersionItem> entry : entrySet()) {
appVersions.put(entry.getKey(), entry.getValue().toJson());
}
object.put(APP_VERSIONS, appVersions);
} catch (JSONException e) {
// Ignore
}
......
/*
* 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 junit.framework.TestCase;
import org.json.JSONException;
import org.json.JSONObject;
/** Unit test for {@link DumpsysPackageStatsItem}. */
public class DumpsysPackageStatsItemTest extends TestCase {
/** Test that {@link DumpsysPackageStatsItem#toJson()} returns correctly. */
public void testToJson() throws JSONException {
DumpsysPackageStatsItem item = new DumpsysPackageStatsItem();
item.put("com.google.android.calculator", new AppVersionItem(73000302, "7.3 (3821978)"));
item.put(
"com.google.android.googlequicksearchbox",
new AppVersionItem(300734793, "6.16.35.26.arm64"));
// Convert to JSON string and back again
JSONObject output = new JSONObject(item.toJson().toString());
assertTrue(output.has(DumpsysPackageStatsItem.APP_VERSIONS));
JSONObject appVersionsJson = output.getJSONObject(DumpsysPackageStatsItem.APP_VERSIONS);
assertEquals(2, appVersionsJson.length());
final JSONObject calcAppVersionJson =
appVersionsJson.getJSONObject("com.google.android.calculator");
assertEquals(73000302, calcAppVersionJson.getInt(AppVersionItem.VERSION_CODE));
assertEquals("7.3 (3821978)", calcAppVersionJson.getString(AppVersionItem.VERSION_NAME));
final JSONObject gsaAppVersionJson =
appVersionsJson.getJSONObject("com.google.android.googlequicksearchbox");
assertEquals(300734793, gsaAppVersionJson.getInt(AppVersionItem.VERSION_CODE));
assertEquals("6.16.35.26.arm64", gsaAppVersionJson.getString(AppVersionItem.VERSION_NAME));
}
}
......@@ -15,8 +15,8 @@
*/
package com.android.loganalysis.parser;
import com.android.loganalysis.item.DumpsysPackageStatsItem;
import com.android.loganalysis.item.AppVersionItem;
import com.android.loganalysis.item.DumpsysPackageStatsItem;
import junit.framework.TestCase;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment