Remove Settings from recents after app uninstall

SettingsActivity now calls finishAndRemoveTask
instead of only finish() to prevent blank
recent task from showing in overview.

Test: Visually inspected bug doesn't exist. Wrote
Roboelectric tests

Fixes: 129733119

Change-Id: I5b73c1b611e6eb52bb6665c215276efdc85c19b2
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 3b01b32..b822a83 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -16,6 +16,8 @@
 
 package com.android.settings;
 
+import static com.android.settings.applications.appinfo.AppButtonsPreferenceController.KEY_REMOVE_TASK_WHEN_FINISHING;
+
 import android.app.ActionBar;
 import android.app.ActivityManager;
 import android.content.BroadcastReceiver;
@@ -542,7 +544,12 @@
      */
     public void finishPreferencePanel(int resultCode, Intent resultData) {
         setResult(resultCode, resultData);
-        finish();
+        if (resultData != null &&
+                resultData.getBooleanExtra(KEY_REMOVE_TASK_WHEN_FINISHING, false)) {
+            finishAndRemoveTask();
+        } else {
+            finish();
+        }
     }
 
     /**