diff --git a/utils/emulator/GoldfishParts/Android.mk b/utils/emulator/GoldfishParts/Android.mk
index aa35221..29c3764 100644
--- a/utils/emulator/GoldfishParts/Android.mk
+++ b/utils/emulator/GoldfishParts/Android.mk
@@ -3,7 +3,7 @@
 
 LOCAL_MODULE_TAGS := optional
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := GoldfishParts.save
+LOCAL_PACKAGE_NAME := GoldfishParts
 LOCAL_CERTIFICATE := platform
 LOCAL_AAPT_FLAGS := --auto-add-overlay
 LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
@@ -18,7 +18,7 @@
 
 LOCAL_PROGUARD_ENABLED := disabled
 LOCAL_DEX_PREOPT := false
-LOCAL_SDK_VERSION := system_current
+LOCAL_PRIVATE_PLATFORM_APIS := true
 
 include $(BUILD_PACKAGE)
 
diff --git a/utils/emulator/GoldfishParts/src/org/omnirom/device/KeyHandler.java b/utils/emulator/GoldfishParts/src/org/omnirom/device/KeyHandler.java
index 1a4534e..e6b562a 100644
--- a/utils/emulator/GoldfishParts/src/org/omnirom/device/KeyHandler.java
+++ b/utils/emulator/GoldfishParts/src/org/omnirom/device/KeyHandler.java
@@ -22,7 +22,7 @@
 import android.util.Log;
 import android.view.KeyEvent;
 
-import com.android.internal.os.DeviceKeyHandler;
+import com.android.internal.util.omni.DeviceKeyHandler;
 
 public class KeyHandler implements DeviceKeyHandler {
 
@@ -30,10 +30,9 @@
     private static final boolean DEBUG = true;
 
     public KeyHandler(Context context) {
-    if (DEBUG) Log.i(TAG, "KeyHandler");
+        if (DEBUG) Log.i(TAG, "KeyHandler");
     }
 
-
     @Override
     public boolean handleKeyEvent(KeyEvent event) {
         if (DEBUG) Log.i(TAG, "scanCode=" + event.getScanCode());
@@ -42,26 +41,31 @@
 
     @Override
     public boolean canHandleKeyEvent(KeyEvent event) {
+        if (DEBUG) Log.i(TAG, "canHandleKeyEvent=" + event.getScanCode());
         return false;
     }
 
     @Override
     public boolean isDisabledKeyEvent(KeyEvent event) {
+        if (DEBUG) Log.i(TAG, "isDisabledKeyEvent=" + event.getScanCode());
         return false;
     }
 
     @Override
     public boolean isCameraLaunchEvent(KeyEvent event) {
+        if (DEBUG) Log.i(TAG, "isCameraLaunchEvent=" + event.getScanCode());
         return false;
     }
 
     @Override
     public boolean isWakeEvent(KeyEvent event){
+        if (DEBUG) Log.i(TAG, "isWakeEvent=" + event.getScanCode());
         return false;
     }
 
     @Override
     public Intent isActivityLaunchEvent(KeyEvent event) {
+        if (DEBUG) Log.i(TAG, "isActivityLaunchEvent=" + event.getScanCode());
         return null;
     }
 }
diff --git a/utils/emulator/overlay/frameworks/base/core/res/res/values/config.xml b/utils/emulator/overlay/frameworks/base/core/res/res/values/config.xml
index 3308e4b..d3c48fa 100644
--- a/utils/emulator/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/utils/emulator/overlay/frameworks/base/core/res/res/values/config.xml
@@ -24,4 +24,7 @@
     <!-- Full qualified name of the class that implements
     com.android.internal.os.DeviceKeyHandler interface. -->
     <string name="config_deviceKeyHandlerClass" translatable="false">org.omnirom.device.KeyHandler</string>
+    <!-- make sure you enable this only if your device supports deep slepp
+    with active proximity sensor event listener -->
+    <bool name="config_proxiSensorWakupCheck">false</bool>
 </resources>
diff --git a/utils/emulator/packages.mk b/utils/emulator/packages.mk
index 26ae899..1a29c63 100644
--- a/utils/emulator/packages.mk
+++ b/utils/emulator/packages.mk
@@ -9,10 +9,10 @@
     MusicFX \
     Phonograph \
     MatLog \
-    OmniChange
+    OmniChange \
+    GoldfishParts
 
 #PRODUCT_PACKAGES += \
-    GoldfishParts \
     OpenDelta
 
 # Themes
