diff --git a/Android.bp b/Android.bp
index 1fd8e8b..08288f8 100644
--- a/Android.bp
+++ b/Android.bp
@@ -32,6 +32,6 @@
         proguard_flags_files: ["proguard.flags"],
     },
 
-    sdk_version: "current",
+    sdk_version: "system_current",
     min_sdk_version: "21",
 }
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index e0814c1..c9dc980 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -53,6 +53,7 @@
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
     <!-- Required in P to run Service.startForeground() -->
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
+    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
 
     <uses-feature
         android:name="android.hardware.telephony"
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 6d206b6..43ade96 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -768,7 +768,7 @@
         final boolean deletedOrSplit = requestCode == REQUEST_CODE_CONTACT_EDITOR_ACTIVITY &&
                 (resultCode == ContactDeletionInteraction.RESULT_CODE_DELETED ||
                 resultCode == ContactEditorActivity.RESULT_CODE_SPLIT);
-        setResult(resultCode, data);
+        setResult(resultCode);
         if (deletedOrSplit) {
             finish();
         } else if (requestCode == REQUEST_CODE_CONTACT_SELECTION_ACTIVITY &&
diff --git a/src/com/android/contacts/util/ImplicitIntentsUtil.java b/src/com/android/contacts/util/ImplicitIntentsUtil.java
index 0d00519..a1ab896 100644
--- a/src/com/android/contacts/util/ImplicitIntentsUtil.java
+++ b/src/com/android/contacts/util/ImplicitIntentsUtil.java
@@ -102,29 +102,10 @@
      */
     public static void startQuickContact(Activity activity, Uri contactLookupUri,
             int previousScreenType) {
-        startQuickContact(activity, contactLookupUri, previousScreenType, /* requestCode */ -1);
-    }
-
-    /**
-     * Starts QuickContact for result with the default mode and specified previous screen type.
-     */
-    public static void startQuickContactForResult(Activity activity, Uri contactLookupUri,
-            int previousScreenType, int requestCode) {
-        startQuickContact(activity, contactLookupUri, previousScreenType, requestCode);
-    }
-
-    private static void startQuickContact(Activity activity, Uri contactLookupUri,
-            int previousScreenType, int requestCode) {
         final Intent intent = ImplicitIntentsUtil.composeQuickContactIntent(
                 activity, contactLookupUri, previousScreenType);
 
-        // We only start "for result" if specifically requested.
-        if (requestCode >= 0) {
-            intent.setPackage(activity.getPackageName());
-            activity.startActivityForResult(intent, requestCode);
-        } else {
-            startActivityInApp(activity, intent);
-        }
+        startActivityInApp(activity, intent);
     }
 
     /**
diff --git a/src/com/android/contacts/vcard/ImportVCardActivity.java b/src/com/android/contacts/vcard/ImportVCardActivity.java
index 2c69cdf..38367c4 100644
--- a/src/com/android/contacts/vcard/ImportVCardActivity.java
+++ b/src/com/android/contacts/vcard/ImportVCardActivity.java
@@ -546,6 +546,9 @@
     protected void onCreate(Bundle bundle) {
         super.onCreate(bundle);
 
+        getWindow().addSystemFlags(android.view.WindowManager.LayoutParams
+            .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
         Uri sourceUri = getIntent().getData();
 
         // Reading uris from non-storage needs the permission granted from the source intent,
diff --git a/src/com/android/contacts/vcard/SelectAccountActivity.java b/src/com/android/contacts/vcard/SelectAccountActivity.java
index ac5b3eb..eb13e50 100644
--- a/src/com/android/contacts/vcard/SelectAccountActivity.java
+++ b/src/com/android/contacts/vcard/SelectAccountActivity.java
@@ -52,6 +52,9 @@
     protected void onCreate(Bundle bundle) {
         super.onCreate(bundle);
 
+        getWindow().addSystemFlags(android.view.WindowManager.LayoutParams
+            .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
         // There's three possibilities:
         // - more than one accounts -> ask the user
         // - just one account -> use the account without asking the user
