summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2015-02-27 14:45:01 -0800
committerYorke Lee <yorkelee@google.com>2015-06-26 16:03:54 -0700
commit9d3ef78a405f4831a54f70be6cdb20aa297a85a1 (patch)
treeca7568eb9a94df2f6df87cb7d80c83164152b9dd
parent55ffc99d32b3c52494a5840116a5d12cbcef679c (diff)
downloadInCallUI-9d3ef78a405f4831a54f70be6cdb20aa297a85a1.tar.gz
Don't hide InCallActivity from recents
Show InCallActivity in recents (only during an active call) Bug: 17411752 Change-Id: I2c69c517f7278df78454bf69fce93880bc00997a
-rw-r--r--src/com/android/incallui/InCallActivity.java13
-rw-r--r--src/com/android/incallui/InCallPresenter.java6
2 files changed, 16 insertions, 3 deletions
diff --git a/src/com/android/incallui/InCallActivity.java b/src/com/android/incallui/InCallActivity.java
index b4824fb5..acb11b5a 100644
--- a/src/com/android/incallui/InCallActivity.java
+++ b/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/src/com/android/incallui/InCallPresenter.java b/src/com/android/incallui/InCallPresenter.java
index 458f950a..de69a66e 100644
--- a/src/com/android/incallui/InCallPresenter.java
+++ b/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) {