From d835a9b8f38acf1970acc18ce2030f7d5f7377dd Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Tue, 28 Nov 2017 01:51:19 +0100 Subject: base for sidebar --- .../java/se/leap/bitmaskclient/MainActivity.java | 115 +++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 app/src/main/java/se/leap/bitmaskclient/MainActivity.java (limited to 'app/src/main/java/se/leap/bitmaskclient/MainActivity.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java new file mode 100644 index 00000000..d28d0784 --- /dev/null +++ b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java @@ -0,0 +1,115 @@ +package se.leap.bitmaskclient; + + +import android.content.Context; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.support.v4.widget.DrawerLayout; + +public class MainActivity extends AppCompatActivity + implements NavigationDrawerFragment.NavigationDrawerCallbacks { + + /** + * Fragment managing the behaviors, interactions and presentation of the navigation drawer. + */ + private NavigationDrawerFragment mNavigationDrawerFragment; + + /** + * Used to store the last screen title. For use in {@link #restoreActionBar()}. + */ + private CharSequence mTitle; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + setSupportActionBar((Toolbar) findViewById(R.id.toolbar)); + + mNavigationDrawerFragment = (NavigationDrawerFragment) + getSupportFragmentManager().findFragmentById(R.id.navigation_drawer); + mTitle = getTitle(); + + // 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(); + fragmentManager.beginTransaction() + .replace(R.id.container, PlaceholderFragment.newInstance(position + 1)) + .commit(); + } + + public void onSectionAttached(int number) { + switch (number) { + case 1: + mTitle = getString(R.string.title_section1); + break; + case 2: + mTitle = getString(R.string.title_section2); + break; + case 3: + mTitle = getString(R.string.title_section3); + break; + } + } + + public void restoreActionBar() { + ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setTitle(mTitle); + } + + /** + * A placeholder fragment containing a simple view. + */ + public static class PlaceholderFragment extends Fragment { + /** + * The fragment argument representing the section number for this + * fragment. + */ + private static final String ARG_SECTION_NUMBER = "section_number"; + + public PlaceholderFragment() { + } + + /** + * Returns a new instance of this fragment for the given section + * number. + */ + public static PlaceholderFragment newInstance(int sectionNumber) { + PlaceholderFragment fragment = new PlaceholderFragment(); + Bundle args = new Bundle(); + args.putInt(ARG_SECTION_NUMBER, sectionNumber); + fragment.setArguments(args); + return fragment; + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_main, container, false); + return rootView; + } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + ((MainActivity) context).onSectionAttached( + getArguments().getInt(ARG_SECTION_NUMBER)); + } + } + +} -- cgit v1.2.3 From 08ec840de9657085d9a0baaab54f6b33e16a12d0 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Thu, 14 Dec 2017 21:21:22 +0100 Subject: add LogFragment --- .../java/se/leap/bitmaskclient/MainActivity.java | 44 ++++++++++++---------- 1 file changed, 25 insertions(+), 19 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/MainActivity.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java index d28d0784..ceff8b20 100644 --- a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java @@ -13,6 +13,9 @@ import android.view.View; import android.view.ViewGroup; import android.support.v4.widget.DrawerLayout; +import se.leap.bitmaskclient.fragments.LogFragment; + + public class MainActivity extends AppCompatActivity implements NavigationDrawerFragment.NavigationDrawerCallbacks { @@ -47,41 +50,49 @@ public class MainActivity extends AppCompatActivity public void onNavigationDrawerItemSelected(int position) { // update the main content by replacing fragments FragmentManager fragmentManager = getSupportFragmentManager(); + Fragment fragment; + switch (position) { + case 1: + case 2: + fragment = PlaceholderFragment.newInstance(); + break; + default: + fragment = new LogFragment(); + break; + } fragmentManager.beginTransaction() - .replace(R.id.container, PlaceholderFragment.newInstance(position + 1)) + .replace(R.id.container, fragment) .commit(); + onSectionAttached(position); } public void onSectionAttached(int number) { switch (number) { case 1: - mTitle = getString(R.string.title_section1); - break; - case 2: mTitle = getString(R.string.title_section2); break; - case 3: + case 2: mTitle = getString(R.string.title_section3); break; + default: + mTitle = getString(R.string.title_log_fragment); + break; } + restoreActionBar(); } public void restoreActionBar() { ActionBar actionBar = getSupportActionBar(); - actionBar.setDisplayShowTitleEnabled(true); - actionBar.setTitle(mTitle); + if (actionBar != null) { + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setSubtitle(mTitle); + } } /** * A placeholder fragment containing a simple view. */ public static class PlaceholderFragment extends Fragment { - /** - * The fragment argument representing the section number for this - * fragment. - */ - private static final String ARG_SECTION_NUMBER = "section_number"; - public PlaceholderFragment() { } @@ -89,11 +100,8 @@ public class MainActivity extends AppCompatActivity * Returns a new instance of this fragment for the given section * number. */ - public static PlaceholderFragment newInstance(int sectionNumber) { + public static PlaceholderFragment newInstance() { PlaceholderFragment fragment = new PlaceholderFragment(); - Bundle args = new Bundle(); - args.putInt(ARG_SECTION_NUMBER, sectionNumber); - fragment.setArguments(args); return fragment; } @@ -107,8 +115,6 @@ public class MainActivity extends AppCompatActivity @Override public void onAttach(Context context) { super.onAttach(context); - ((MainActivity) context).onSectionAttached( - getArguments().getInt(ARG_SECTION_NUMBER)); } } -- cgit v1.2.3 From f10380f7d8bc85d8127328a9d9c092bc109bb340 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Thu, 14 Dec 2017 21:41:46 +0100 Subject: add missing files --- app/src/main/java/se/leap/bitmaskclient/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/MainActivity.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java index ceff8b20..8cd6357c 100644 --- a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java @@ -75,7 +75,7 @@ public class MainActivity extends AppCompatActivity mTitle = getString(R.string.title_section3); break; default: - mTitle = getString(R.string.title_log_fragment); + mTitle = getString(R.string.log_fragment_title); break; } restoreActionBar(); -- cgit v1.2.3 From 4f7200c55032d17c9bdbdb30cfd83dc757c63fe7 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Tue, 19 Dec 2017 17:37:57 +0100 Subject: adjust Fragments --- .../java/se/leap/bitmaskclient/MainActivity.java | 46 +++++++++++++++++----- 1 file changed, 37 insertions(+), 9 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/MainActivity.java') 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(); + } + } + } -- cgit v1.2.3 From bd99fc61a2e8217c41b70c6f2ff0df87e7008ea0 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Mon, 8 Jan 2018 15:49:34 +0100 Subject: seperate accountList and settingsList in drawer --- .../java/se/leap/bitmaskclient/MainActivity.java | 57 ++-------------------- 1 file changed, 5 insertions(+), 52 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/MainActivity.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java index 2f07f162..82a193e7 100644 --- a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java @@ -11,17 +11,20 @@ import android.support.v4.app.FragmentTransaction; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.support.v4.widget.DrawerLayout; +import se.leap.bitmaskclient.drawer.NavigationDrawerFragment; import se.leap.bitmaskclient.fragments.LogFragment; import se.leap.bitmaskclient.userstatus.SessionDialog; +import se.leap.bitmaskclient.userstatus.User; +import se.leap.bitmaskclient.userstatus.UserStatusFragment; -public class MainActivity extends AppCompatActivity - implements NavigationDrawerFragment.NavigationDrawerCallbacks { +public class MainActivity extends AppCompatActivity { private static Provider provider = new Provider(); private static FragmentManagerEnhanced fragmentManager; @@ -58,56 +61,6 @@ public class MainActivity extends AppCompatActivity } - @Override - public void onNavigationDrawerItemSelected(int position) { - // update the main content by replacing fragments - FragmentManager fragmentManager = getSupportFragmentManager(); - 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 = new LogFragment(); - break; - default: - fragment = new VpnFragment(); - break; - } - 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.switch_provider_menu_option); - break; - case 2: - mTitle = getString(R.string.log_fragment_title); - break; - default: - mTitle = getString(R.string.vpn_fragment_title); - break; - } - restoreActionBar(); - } - - public void restoreActionBar() { - ActionBar actionBar = getSupportActionBar(); - if (actionBar != null) { - actionBar.setDisplayShowTitleEnabled(true); - actionBar.setSubtitle(mTitle); - } - } - /** * A placeholder fragment containing a simple view. */ -- cgit v1.2.3 From 1690dec51d78a27a6a1f7c83d30b28d1ab432f93 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Sat, 13 Jan 2018 16:53:54 +0100 Subject: static constant imports --- app/src/main/java/se/leap/bitmaskclient/MainActivity.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/MainActivity.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java index 82a193e7..24145864 100644 --- a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java @@ -23,6 +23,8 @@ import se.leap.bitmaskclient.userstatus.SessionDialog; import se.leap.bitmaskclient.userstatus.User; import se.leap.bitmaskclient.userstatus.UserStatusFragment; +import static se.leap.bitmaskclient.Constants.SHARED_PREFERENCES; + public class MainActivity extends AppCompatActivity { @@ -53,7 +55,7 @@ public class MainActivity extends AppCompatActivity { mTitle = getTitle(); fragmentManager = new FragmentManagerEnhanced(getSupportFragmentManager()); - preferences = getSharedPreferences(Constants.SHARED_PREFERENCES, MODE_PRIVATE); + preferences = getSharedPreferences(SHARED_PREFERENCES, MODE_PRIVATE); // Set up the drawer. mNavigationDrawerFragment.setUp( R.id.navigation_drawer, -- cgit v1.2.3 From 1e6e2190befc6c83874152a97a550c765c121e14 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Sat, 13 Jan 2018 17:29:42 +0100 Subject: clean up MainActivity --- .../java/se/leap/bitmaskclient/MainActivity.java | 59 ++-------------------- 1 file changed, 3 insertions(+), 56 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/MainActivity.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java index 24145864..41e496bb 100644 --- a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java @@ -1,47 +1,25 @@ 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.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; -import android.util.Log; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.support.v4.widget.DrawerLayout; import se.leap.bitmaskclient.drawer.NavigationDrawerFragment; -import se.leap.bitmaskclient.fragments.LogFragment; import se.leap.bitmaskclient.userstatus.SessionDialog; -import se.leap.bitmaskclient.userstatus.User; -import se.leap.bitmaskclient.userstatus.UserStatusFragment; - -import static se.leap.bitmaskclient.Constants.SHARED_PREFERENCES; public class MainActivity extends AppCompatActivity { private static Provider provider = new Provider(); private static FragmentManagerEnhanced fragmentManager; - private SharedPreferences preferences; /** * Fragment managing the behaviors, interactions and presentation of the navigation drawer. */ - private NavigationDrawerFragment mNavigationDrawerFragment; - - /** - * Used to store the last screen title. For use in {@link #restoreActionBar()}. - */ - private CharSequence mTitle; @Override protected void onCreate(Bundle savedInstanceState) { @@ -50,48 +28,17 @@ public class MainActivity extends AppCompatActivity { setSupportActionBar((Toolbar) findViewById(R.id.toolbar)); - mNavigationDrawerFragment = (NavigationDrawerFragment) + NavigationDrawerFragment navigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_drawer); - mTitle = getTitle(); fragmentManager = new FragmentManagerEnhanced(getSupportFragmentManager()); - preferences = getSharedPreferences(SHARED_PREFERENCES, MODE_PRIVATE); // Set up the drawer. - mNavigationDrawerFragment.setUp( + navigationDrawerFragment.setUp( R.id.navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout)); } - /** - * A placeholder fragment containing a simple view. - */ - public static class PlaceholderFragment extends Fragment { - public PlaceholderFragment() { - } - - /** - * Returns a new instance of this fragment for the given section - * number. - */ - public static PlaceholderFragment newInstance() { - PlaceholderFragment fragment = new PlaceholderFragment(); - return fragment; - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View rootView = inflater.inflate(R.layout.fragment_main, container, false); - return rootView; - } - - @Override - public void onAttach(Context context) { - super.onAttach(context); - } - } - public static void sessionDialog(Bundle resultData) { try { FragmentTransaction transaction = fragmentManager.removePreviousFragment(SessionDialog.TAG); -- cgit v1.2.3