am 05ee74dc: Log memory consumption at end of onCreate (Camera2). Bug: 13280671

* commit '05ee74dcf3b1c8e65229f43441d282fcf89744a6':
  Log memory consumption at end of onCreate (Camera2). Bug: 13280671
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java
index dcd582c..52c584c 100644
--- a/src/com/android/camera/CameraActivity.java
+++ b/src/com/android/camera/CameraActivity.java
@@ -79,6 +79,7 @@
 import com.android.camera.app.CameraServices;
 import com.android.camera.app.LocationManager;
 import com.android.camera.app.MemoryManager;
+import com.android.camera.app.MemoryQuery;
 import com.android.camera.app.ModuleManagerImpl;
 import com.android.camera.app.OrientationManager;
 import com.android.camera.app.OrientationManagerImpl;
@@ -1322,7 +1323,14 @@
             mFeedbackHelper = new FeedbackHelper(mAppContext);
         }
         mMemoryManager = getServices().getMemoryManager();
-        HashMap memoryData = mMemoryManager.queryMemory();
+
+        AsyncTask.THREAD_POOL_EXECUTOR.execute(new Runnable() {
+            public void run() {
+                HashMap memoryData = mMemoryManager.queryMemory();
+                UsageStatistics.instance().reportMemoryConsumed(memoryData,
+                        MemoryQuery.REPORT_LABEL_LAUNCH);
+            }
+        });
     }
 
     /**
diff --git a/src/com/android/camera/app/MemoryQuery.java b/src/com/android/camera/app/MemoryQuery.java
index 3628907..ba41243 100644
--- a/src/com/android/camera/app/MemoryQuery.java
+++ b/src/com/android/camera/app/MemoryQuery.java
@@ -33,6 +33,23 @@
     private final long BYTES_IN_KILOBYTE = 1024;
     private final long BYTES_IN_MEGABYTE = BYTES_IN_KILOBYTE * BYTES_IN_KILOBYTE;
 
+    public static final String KEY_TIMESTAMP = "timestamp";
+    public static final String KEY_MEMORY_AVAILABLE = "availMem";
+    public static final String KEY_TOTAL_MEMORY = "totalMem";
+    public static final String KEY_TOTAL_PSS = "totalPSS";
+    public static final String KEY_NATIVE_PSS = "nativePSS";
+    public static final String KEY_DALVIK_PSS = "dalvikPSS";
+    public static final String KEY_OTHER_PSS = "otherPSS";
+    public static final String KEY_THRESHOLD = "threshold";
+    public static final String KEY_LOW_MEMORY = "lowMemory";
+    public static final String KEY_LAST_TRIM_LEVEL = "lastTrimLevel";
+    public static final String KEY_TOTAL_PRIVATE_DIRTY = "totalPrivateDirty";
+    public static final String KEY_TOTAL_SHARED_DIRTY = "totalSharedDirty";
+    public static final String KEY_MEMORY_CLASS = "memoryClass";
+    public static final String KEY_LARGE_MEMORY_CLASS = "largeMemoryClass";
+
+    public static final String REPORT_LABEL_LAUNCH = "launch";
+
     private ActivityManager mActivityManager;
 
     public MemoryQuery(ActivityManager activityManager) {
@@ -85,20 +102,20 @@
         }
 
         HashMap outputData = new HashMap();
-        outputData.put("timestamp", new Long(timestamp));
-        outputData.put("availMem", new Long(availMem));
-        outputData.put("totalMem", new Long(totalMem));
-        outputData.put("totalPSS", new Long(totalPSS));
-        outputData.put("lastTrimLevel", new Integer(info.lastTrimLevel));
-        outputData.put("totalPrivateDirty", new Long(totalPrivateDirty));
-        outputData.put("totalSharedDirty", new Long(totalSharedDirty));
-        outputData.put("memoryClass", new Long(memoryClass));
-        outputData.put("largeMemoryClass", new Long(largeMemoryClass));
-        outputData.put("nativePSS", new Long(nativePSS));
-        outputData.put("dalvikPSS", new Long(dalvikPSS));
-        outputData.put("otherPSS", new Long(otherPSS));
-        outputData.put("threshold", new Long(threshold));
-        outputData.put("lowMemory", new Boolean(lowMemory));
+        outputData.put(KEY_TIMESTAMP, new Long(timestamp));
+        outputData.put(KEY_MEMORY_AVAILABLE, new Long(availMem));
+        outputData.put(KEY_TOTAL_MEMORY, new Long(totalMem));
+        outputData.put(KEY_TOTAL_PSS, new Long(totalPSS));
+        outputData.put(KEY_LAST_TRIM_LEVEL, new Integer(info.lastTrimLevel));
+        outputData.put(KEY_TOTAL_PRIVATE_DIRTY, new Long(totalPrivateDirty));
+        outputData.put(KEY_TOTAL_SHARED_DIRTY, new Long(totalSharedDirty));
+        outputData.put(KEY_MEMORY_CLASS, new Long(memoryClass));
+        outputData.put(KEY_LARGE_MEMORY_CLASS, new Long(largeMemoryClass));
+        outputData.put(KEY_NATIVE_PSS, new Long(nativePSS));
+        outputData.put(KEY_DALVIK_PSS, new Long(dalvikPSS));
+        outputData.put(KEY_OTHER_PSS, new Long(otherPSS));
+        outputData.put(KEY_THRESHOLD, new Long(threshold));
+        outputData.put(KEY_LOW_MEMORY, new Boolean(lowMemory));
 
         Log.d(TAG, String.format("timestamp=%d, availMem=%d, totalMem=%d, totalPSS=%d, " +
                 "lastTrimLevel=%d, largeMemoryClass=%d, nativePSS=%d, dalvikPSS=%d, otherPSS=%d," +
diff --git a/src_pd/com/android/camera/util/UsageStatistics.java b/src_pd/com/android/camera/util/UsageStatistics.java
index bb4e5cc..2598b0e 100644
--- a/src_pd/com/android/camera/util/UsageStatistics.java
+++ b/src_pd/com/android/camera/util/UsageStatistics.java
@@ -20,6 +20,8 @@
 import android.content.Context;
 import com.android.camera.exif.ExifInterface;
 
+import java.util.HashMap;
+
 public class UsageStatistics {
     private static UsageStatistics sInstance;
 
@@ -55,4 +57,7 @@
 
     public void controlUsed(int control) {
     }
+
+    public void reportMemoryConsumed(HashMap memoryData, String reportType) {
+    }
 }