Memory debugging overlay for L3.

Change-Id: Id26e9dcf23017abaffed4015166d57e21e751e6c
diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java
index fb49d93..3ac64e7 100644
--- a/src/com/android/launcher3/LauncherAppState.java
+++ b/src/com/android/launcher3/LauncherAppState.java
@@ -36,9 +36,9 @@
     private static float sScreenDensity;
     private static int sLongPressTimeout = 300;
     private static final String sSharedPreferencesKey = "com.android.launcher3.prefs";
-    WeakReference<LauncherProvider> mLauncherProvider;
+    private long mUptime;
 
-    private static LauncherAppState INSTANCE;
+    WeakReference<LauncherProvider> mLauncherProvider;
 
     private static final LauncherAppState INSTANCE = new LauncherAppState();
 
@@ -59,6 +59,8 @@
     private void initialize(Context context) {
         mContext = context;
 
+        mUptime = System.currentTimeMillis();
+
         // set sIsScreenXLarge and sScreenDensity *before* creating icon cache
         sIsScreenLarge = context.getResources().getBoolean(R.bool.is_large_screen);
         sScreenDensity = context.getResources().getDisplayMetrics().density;
@@ -132,7 +134,7 @@
         return mWidgetPreviewCacheDb;
     }
 
-   void setLauncherProvider(LauncherProvider provider) {
+    void setLauncherProvider(LauncherProvider provider) {
         mLauncherProvider = new WeakReference<LauncherProvider>(provider);
     }
 
@@ -140,6 +142,13 @@
         return mLauncherProvider.get();
     }
 
+    /**
+     * @return Milliseconds since the application state was created.
+     */
+    public long getUptime() {
+        return System.currentTimeMillis() - mUptime;
+    }
+
     public static String getSharedPreferencesKey() {
         return sSharedPreferencesKey;
     }