Skip to content
Snippets Groups Projects
Unverified Commit ea02caf5 authored by akwizgran's avatar akwizgran
Browse files

Don't use FLAG_ACTIVITY_CLEAR_TASK on API < 11.

parent f9aa5a4e
No related branches found
No related tags found
No related merge requests found
...@@ -14,11 +14,13 @@ import org.briarproject.api.db.DatabaseExecutor; ...@@ -14,11 +14,13 @@ import org.briarproject.api.db.DatabaseExecutor;
import org.briarproject.api.lifecycle.LifecycleManager; import org.briarproject.api.lifecycle.LifecycleManager;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.inject.Inject; import javax.inject.Inject;
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION; import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION;
import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP; import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP;
...@@ -101,12 +103,8 @@ public abstract class BriarActivity extends BaseActivity { ...@@ -101,12 +103,8 @@ public abstract class BriarActivity extends BaseActivity {
LOG.warning("Interrupted while waiting for service"); LOG.warning("Interrupted while waiting for service");
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();
} }
if (removeFromRecentApps) startExitActivity();
if(removeFromRecentApps){ else finishAndExit();
ExitActivity.exitAndRemoveFromRecentApps(BriarActivity.this);
} else {
finishAndExit();
}
} }
}.start(); }.start();
} }
...@@ -115,14 +113,27 @@ public abstract class BriarActivity extends BaseActivity { ...@@ -115,14 +113,27 @@ public abstract class BriarActivity extends BaseActivity {
signOut(false); signOut(false);
} }
private void startExitActivity() {
runOnUiThread(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(BriarActivity.this,
ExitActivity.class);
intent.addFlags(FLAG_ACTIVITY_NEW_TASK
| FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
| FLAG_ACTIVITY_NO_ANIMATION);
if (Build.VERSION.SDK_INT >= 11)
intent.addFlags(FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
});
}
private void finishAndExit() { private void finishAndExit() {
runOnUiThread(new Runnable() { runOnUiThread(new Runnable() {
public void run() { public void run() {
if (Build.VERSION.SDK_INT >= 21) { if (Build.VERSION.SDK_INT >= 21) finishAndRemoveTask();
finishAndRemoveTask(); else finish();
} else {
finish();
}
LOG.info("Exiting"); LOG.info("Exiting");
System.exit(0); System.exit(0);
} }
......
package org.briarproject.android.panic; package org.briarproject.android.panic;
import android.content.Intent;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import org.briarproject.android.BaseActivity; import org.briarproject.android.BaseActivity;
public class ExitActivity extends BaseActivity { import java.util.logging.Logger;
@Override public class ExitActivity extends BaseActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= 21) { private static final Logger LOG =
finishAndRemoveTask(); Logger.getLogger(ExitActivity.class.getName());
} else {
finish();
}
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
if (Build.VERSION.SDK_INT >= 21) finishAndRemoveTask();
else finish();
LOG.info("Exiting");
System.exit(0); System.exit(0);
} }
public static void exitAndRemoveFromRecentApps(final BaseActivity activity) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(activity, ExitActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
| Intent.FLAG_ACTIVITY_CLEAR_TASK
| Intent.FLAG_ACTIVITY_NO_ANIMATION);
activity.startActivity(intent);
}
});
}
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment