summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/MainActivity.java
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2018-05-12 01:58:20 +0200
committercyBerta <cyberta@riseup.net>2018-05-12 01:58:20 +0200
commit974a1d28fce969489c0cd4a401f1b51ce0b9cd94 (patch)
tree17b9c90bed8b3cbb02a56be5b84675f8094e30f0 /app/src/main/java/se/leap/bitmaskclient/MainActivity.java
parentc5f445fabcbfa6f045aa5f3e5341909468259aed (diff)
parent5122945a6860caeb46359540ae2a1382f8aab415 (diff)
Merge branch 'master' into #8889_revise_NavigationDrawer
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/MainActivity.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/MainActivity.java24
1 files changed, 21 insertions, 3 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java
index 19294618..d9917799 100644
--- a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java
+++ b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java
@@ -113,7 +113,7 @@ public class MainActivity extends AppCompatActivity implements Observer {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
+ setContentView(R.layout.a_main);
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
mainActivityBroadcastReceiver = new MainActivityBroadcastReceiver();
@@ -141,6 +141,22 @@ public class MainActivity extends AppCompatActivity implements Observer {
}
@Override
+ public void onBackPressed() {
+ FragmentManagerEnhanced fragmentManagerEnhanced = new FragmentManagerEnhanced(getSupportFragmentManager());
+ if (fragmentManagerEnhanced.findFragmentByTag(EipFragment.TAG) == null) {
+ Fragment fragment = new EipFragment();
+ Bundle bundle = new Bundle();
+ bundle.putParcelable(PROVIDER_KEY, provider);
+ fragment.setArguments(bundle);
+ fragmentManagerEnhanced.beginTransaction()
+ .replace(R.id.container, fragment, EipFragment.TAG)
+ .commit();
+ } else {
+ super.onBackPressed();
+ }
+ }
+
+ @Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
@@ -152,10 +168,12 @@ public class MainActivity extends AppCompatActivity implements Observer {
return;
}
+ String fragmentTag = null;
Fragment fragment = null;
switch (intent.getAction()) {
case ACTION_SHOW_VPN_FRAGMENT:
fragment = new EipFragment();
+ fragmentTag = EipFragment.TAG;
Bundle bundle = new Bundle();
if (intent.hasExtra(ASK_TO_CANCEL_VPN)) {
bundle.putBoolean(ASK_TO_CANCEL_VPN, true);
@@ -175,7 +193,7 @@ public class MainActivity extends AppCompatActivity implements Observer {
if (fragment != null) {
new FragmentManagerEnhanced(getSupportFragmentManager()).beginTransaction()
- .replace(R.id.container, fragment)
+ .replace(R.id.container, fragment, fragmentTag)
.commit();
}
}
@@ -214,7 +232,7 @@ public class MainActivity extends AppCompatActivity implements Observer {
arguments.putParcelable(PROVIDER_KEY, provider);
fragment.setArguments(arguments);
new FragmentManagerEnhanced(getSupportFragmentManager()).beginTransaction()
- .replace(R.id.container, fragment)
+ .replace(R.id.container, fragment, EipFragment.TAG)
.commit();
}