summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/MainActivity.java
diff options
context:
space:
mode:
authorFup Duck <fupduck@sacknagel.com>2017-12-19 17:37:57 +0100
committerFup Duck <fupduck@sacknagel.com>2017-12-19 17:37:57 +0100
commit4f7200c55032d17c9bdbdb30cfd83dc757c63fe7 (patch)
tree20281c98ed4d32024e43d08034d7ffdf1100f906 /app/src/main/java/se/leap/bitmaskclient/MainActivity.java
parent19a621a29e81929fac065afd36a498645401c345 (diff)
adjust Fragments
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/MainActivity.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/MainActivity.java46
1 files changed, 37 insertions, 9 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java
index 8cd6357c..2f07f162 100644
--- a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java
+++ b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java
@@ -2,9 +2,12 @@ package se.leap.bitmaskclient;
import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
@@ -14,11 +17,17 @@ import android.view.ViewGroup;
import android.support.v4.widget.DrawerLayout;
import se.leap.bitmaskclient.fragments.LogFragment;
+import se.leap.bitmaskclient.userstatus.SessionDialog;
public class MainActivity extends AppCompatActivity
implements NavigationDrawerFragment.NavigationDrawerCallbacks {
+ private static Provider provider = new Provider();
+ private static FragmentManagerEnhanced fragmentManager;
+ private SharedPreferences preferences;
+
+
/**
* Fragment managing the behaviors, interactions and presentation of the navigation drawer.
*/
@@ -40,42 +49,52 @@ public class MainActivity extends AppCompatActivity
getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
mTitle = getTitle();
+ fragmentManager = new FragmentManagerEnhanced(getSupportFragmentManager());
+ preferences = getSharedPreferences(Constants.SHARED_PREFERENCES, MODE_PRIVATE);
// Set up the drawer.
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer,
(DrawerLayout) findViewById(R.id.drawer_layout));
+
}
@Override
public void onNavigationDrawerItemSelected(int position) {
// update the main content by replacing fragments
FragmentManager fragmentManager = getSupportFragmentManager();
- Fragment fragment;
+ Fragment fragment = null;
switch (position) {
case 1:
+ // TODO STOP VPN
+ // if (provider.hasEIP()) eip_fragment.stopEipIfPossible();
+ preferences.edit().clear().apply();
+ startActivityForResult(new Intent(this, ConfigurationWizard.class), Constants.REQUEST_CODE_SWITCH_PROVIDER);
+ break;
case 2:
- fragment = PlaceholderFragment.newInstance();
+ fragment = new LogFragment();
break;
default:
- fragment = new LogFragment();
+ fragment = new VpnFragment();
break;
}
- fragmentManager.beginTransaction()
- .replace(R.id.container, fragment)
- .commit();
+ if (fragment != null) {
+ fragmentManager.beginTransaction()
+ .replace(R.id.container, fragment)
+ .commit();
+ }
onSectionAttached(position);
}
public void onSectionAttached(int number) {
switch (number) {
case 1:
- mTitle = getString(R.string.title_section2);
+ mTitle = getString(R.string.switch_provider_menu_option);
break;
case 2:
- mTitle = getString(R.string.title_section3);
+ mTitle = getString(R.string.log_fragment_title);
break;
default:
- mTitle = getString(R.string.log_fragment_title);
+ mTitle = getString(R.string.vpn_fragment_title);
break;
}
restoreActionBar();
@@ -118,4 +137,13 @@ public class MainActivity extends AppCompatActivity
}
}
+ public static void sessionDialog(Bundle resultData) {
+ try {
+ FragmentTransaction transaction = fragmentManager.removePreviousFragment(SessionDialog.TAG);
+ SessionDialog.getInstance(provider, resultData).show(transaction, SessionDialog.TAG);
+ } catch (IllegalStateException e) {
+ e.printStackTrace();
+ }
+ }
+
}