summaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2014-10-16 18:41:57 +0200
committerParménides GV <parmegv@sdf.org>2014-10-16 18:41:57 +0200
commit575bc1293070bfa90ed3ba0f558e564b1fc2c9e7 (patch)
tree2b069ea22604ea8be8d424a9f098f7ae1d760d51 /app/src/main
parent5e1d89482034c94f22547a12298bdf956761c0ba (diff)
A bit of refactoring for ConfigurationWizard.
Fix a typo in the debug source of ProviderAPI.
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/Dashboard.java25
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java51
2 files changed, 59 insertions, 17 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/Dashboard.java b/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
index 286d88c3..d80755aa 100644
--- a/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
+++ b/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
@@ -21,13 +21,14 @@ import org.json.JSONObject;
import se.leap.bitmaskclient.R;
import se.leap.bitmaskclient.ProviderAPIResultReceiver.Receiver;
+import se.leap.bitmaskclient.FragmentManagerEnhanced;
import se.leap.bitmaskclient.SignUpDialog;
+
import de.blinkt.openvpn.activities.LogWindow;
+
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DialogFragment;
-import android.app.Fragment;
-import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.DialogInterface;
@@ -78,6 +79,7 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
private boolean authed_eip = false;
public ProviderAPIResultReceiver providerAPI_result_receiver;
+ private FragmentManagerEnhanced fragment_manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -90,6 +92,7 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
mProgressBar = (ProgressBar) findViewById(R.id.eipProgress);
preferences = getSharedPreferences(SHARED_PREFERENCES, MODE_PRIVATE);
+ fragment_manager = new FragmentManagerEnhanced(getFragmentManager());
handleVersion();
authed_eip = preferences.getBoolean(EIP.AUTHED_EIP, false);
@@ -194,7 +197,6 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
mProgressBar = (ProgressBar) findViewById(R.id.eipProgress);
- FragmentManager fragMan = getFragmentManager();
if ( provider.hasEIP()){
eipFragment = new EipServiceFragment();
if (hide_and_turn_on_eip) {
@@ -203,7 +205,7 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
arguments.putBoolean(EipServiceFragment.START_ON_BOOT, true);
eipFragment.setArguments(arguments);
}
- fragMan.beginTransaction().replace(R.id.servicesCollection, eipFragment, EipServiceFragment.TAG).commit();
+ fragment_manager.replace(R.id.servicesCollection, eipFragment, EipServiceFragment.TAG);
if (hide_and_turn_on_eip) {
onBackPressed();
@@ -293,23 +295,12 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
command.putExtra(ProviderAPI.RECEIVER_KEY, providerAPI_result_receiver);
return command;
}
-
- private FragmentTransaction removePreviousFragment(String tag) {
- FragmentTransaction transaction = getFragmentManager().beginTransaction();
- Fragment previous_fragment = getFragmentManager().findFragmentByTag(tag);
- if (previous_fragment != null) {
- transaction.remove(previous_fragment);
- }
- transaction.addToBackStack(null);
-
- return transaction;
- }
/**
* Shows the log in dialog.
*/
public void logInDialog(Bundle resultData) {
- FragmentTransaction transaction = removePreviousFragment(LogInDialog.TAG);
+ FragmentTransaction transaction = fragment_manager.removePreviousFragment(LogInDialog.TAG);
DialogFragment newFragment = LogInDialog.newInstance();
if(resultData != null && !resultData.isEmpty())
@@ -363,7 +354,7 @@ public class Dashboard extends Activity implements LogInDialog.LogInDialogInterf
* Shows the sign up dialog.
*/
public void signUpDialog(Bundle resultData) {
- FragmentTransaction transaction = removePreviousFragment(SignUpDialog.TAG);
+ FragmentTransaction transaction = fragment_manager.removePreviousFragment(SignUpDialog.TAG);
DialogFragment newFragment = SignUpDialog.newInstance();
if(resultData != null && !resultData.isEmpty()) {
diff --git a/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java b/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java
new file mode 100644
index 00000000..c4844be9
--- /dev/null
+++ b/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2013 LEAP Encryption Access Project and contributers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package se.leap.bitmaskclient;
+
+import android.app.Fragment;
+import android.app.FragmentManager;
+import android.app.FragmentTransaction;
+
+public class FragmentManagerEnhanced {
+
+ private FragmentManager generic_fragment_manager;
+
+ public FragmentManagerEnhanced(FragmentManager generic_fragment_manager) {
+ this.generic_fragment_manager = generic_fragment_manager;
+ }
+
+ public FragmentTransaction removePreviousFragment(String tag) {
+ FragmentTransaction transaction = generic_fragment_manager.beginTransaction();
+ Fragment previous_fragment = generic_fragment_manager.findFragmentByTag(tag);
+ if (previous_fragment != null) {
+ transaction.remove(previous_fragment);
+ }
+ transaction.addToBackStack(null);
+
+ return transaction;
+ }
+
+ public void replace(int containerViewId, Fragment fragment, String tag) {
+ FragmentTransaction transaction = generic_fragment_manager.beginTransaction();
+
+ transaction.replace(containerViewId, fragment, tag).commit();
+ }
+
+ public Fragment findFragmentByTag(String tag) {
+ return generic_fragment_manager.findFragmentByTag(tag);
+ }
+}