Allow DISABLE_ALL_APPS to be set using a system property.

 - Moving the property to LauncherAppState
 - The property is only read on dogfood builds.

The property can be set using setprop or /data/local.prop

Change-Id: I14c7354efb12edb93f97e81687a6f920cc634e9a
diff --git a/src/com/android/launcher3/BuildInfo.java b/src/com/android/launcher3/BuildInfo.java
new file mode 100644
index 0000000..b49ee0d
--- /dev/null
+++ b/src/com/android/launcher3/BuildInfo.java
@@ -0,0 +1,32 @@
+package com.android.launcher3;
+
+import android.text.TextUtils;
+import android.util.Log;
+
+public class BuildInfo {
+    private static final boolean DBG = false;
+    private static final String TAG = "BuildInfo";
+
+    public boolean isDogfoodBuild() {
+        return false;
+    }
+
+    public static BuildInfo loadByName(String className) {
+        if (TextUtils.isEmpty(className)) return new BuildInfo();
+
+        if (DBG) Log.d(TAG, "Loading BuildInfo: " + className);
+        try {
+            Class<?> cls = Class.forName(className);
+            return (BuildInfo) cls.newInstance();
+        } catch (ClassNotFoundException e) {
+            Log.e(TAG, "Bad BuildInfo class", e);
+        } catch (InstantiationException e) {
+            Log.e(TAG, "Bad BuildInfo class", e);
+        } catch (IllegalAccessException e) {
+            Log.e(TAG, "Bad BuildInfo class", e);
+        } catch (ClassCastException e) {
+            Log.e(TAG, "Bad BuildInfo class", e);
+        }
+        return new BuildInfo();
+    }
+}