summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2015-06-29 17:26:09 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-06-29 17:26:09 +0000
commit2f5652047649b04e1068719ccc0de567566cb7c0 (patch)
tree4dd66daaaacb1ab0bd1138bc6257f38a2395a1e7
parentfe754345680aec16f5d6fc77e52e39f363956e86 (diff)
parent23eb4f536b767469a89198f0336e445d6744d43f (diff)
am bcb912f3: Merge "Don\'t hide InCallActivity from recents" into mnc-dev
* commit 'bcb912f3f7bcc792ad64cc1c2cf2df1dcde23603': Don't hide InCallActivity from recents
-rw-r--r--InCallUI/src/com/android/incallui/InCallActivity.java13
-rw-r--r--InCallUI/src/com/android/incallui/InCallPresenter.java6
2 files changed, 16 insertions, 3 deletions
diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java
index b4824fb56..acb11b5a7 100644
--- a/InCallUI/src/com/android/incallui/InCallActivity.java
+++ b/InCallUI/src/com/android/incallui/InCallActivity.java
@@ -24,6 +24,7 @@ import android.app.DialogFragment;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnCancelListener;
@@ -862,4 +863,16 @@ public class InCallActivity extends Activity implements FragmentDisplayManager {
CallList.getInstance().onErrorDialogDismissed();
InCallPresenter.getInstance().onDismissDialog();
}
+
+ public void setExcludeFromRecents(boolean exclude) {
+ ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
+ List<ActivityManager.AppTask> tasks = am.getAppTasks();
+ int taskId = getTaskId();
+ for (int i=0; i<tasks.size(); i++) {
+ ActivityManager.AppTask task = tasks.get(i);
+ if (task.getTaskInfo().id == taskId) {
+ task.setExcludeFromRecents(exclude);
+ }
+ }
+ }
}
diff --git a/InCallUI/src/com/android/incallui/InCallPresenter.java b/InCallUI/src/com/android/incallui/InCallPresenter.java
index 4fd9b9613..84ccc7c55 100644
--- a/InCallUI/src/com/android/incallui/InCallPresenter.java
+++ b/InCallUI/src/com/android/incallui/InCallPresenter.java
@@ -252,6 +252,7 @@ public class InCallPresenter implements CallList.Listener,
final boolean doFinish = (mInCallActivity != null && isActivityStarted());
Log.i(this, "Hide in call UI: " + doFinish);
if (doFinish) {
+ mInCallActivity.setExcludeFromRecents(true);
mInCallActivity.finish();
if (mAccountSelectionCancelled) {
@@ -315,6 +316,7 @@ public class InCallPresenter implements CallList.Listener,
}
mInCallActivity = inCallActivity;
+ mInCallActivity.setExcludeFromRecents(false);
// By the time the UI finally comes up, the call may already be disconnected.
// If that's the case, we may need to show an error dialog.
@@ -1309,9 +1311,7 @@ public class InCallPresenter implements CallList.Listener,
public Intent getInCallIntent(boolean showDialpad, boolean newOutgoingCall) {
final Intent intent = new Intent(Intent.ACTION_MAIN, null);
- intent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
- | Intent.FLAG_ACTIVITY_NO_USER_ACTION
- | Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClass(mContext, InCallActivity.class);
if (showDialpad) {