Prevent NPE with FragmentManager not being initialized
This commit is contained in:
@@ -1,25 +1,9 @@
|
|||||||
package i2p.bote.android.config;
|
package i2p.bote.android.config;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.security.GeneralSecurityException;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import i2p.bote.I2PBote;
|
|
||||||
import i2p.bote.android.R;
|
|
||||||
import i2p.bote.android.util.BoteHelper;
|
|
||||||
import i2p.bote.android.util.EditPictureFragment;
|
|
||||||
import i2p.bote.android.util.RobustAsyncTask;
|
|
||||||
import i2p.bote.android.util.TaskFragment;
|
|
||||||
import i2p.bote.StatusListener;
|
|
||||||
import i2p.bote.crypto.CryptoFactory;
|
|
||||||
import i2p.bote.crypto.CryptoImplementation;
|
|
||||||
import i2p.bote.email.EmailIdentity;
|
|
||||||
import i2p.bote.fileencryption.PasswordException;
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.FragmentManager;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
@@ -33,6 +17,22 @@ import android.widget.EditText;
|
|||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.security.GeneralSecurityException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import i2p.bote.I2PBote;
|
||||||
|
import i2p.bote.StatusListener;
|
||||||
|
import i2p.bote.android.R;
|
||||||
|
import i2p.bote.android.util.BoteHelper;
|
||||||
|
import i2p.bote.android.util.EditPictureFragment;
|
||||||
|
import i2p.bote.android.util.RobustAsyncTask;
|
||||||
|
import i2p.bote.android.util.TaskFragment;
|
||||||
|
import i2p.bote.crypto.CryptoFactory;
|
||||||
|
import i2p.bote.crypto.CryptoImplementation;
|
||||||
|
import i2p.bote.email.EmailIdentity;
|
||||||
|
import i2p.bote.fileencryption.PasswordException;
|
||||||
|
|
||||||
public class EditIdentityFragment extends EditPictureFragment {
|
public class EditIdentityFragment extends EditPictureFragment {
|
||||||
private Callbacks mCallbacks = sDummyCallbacks;
|
private Callbacks mCallbacks = sDummyCallbacks;
|
||||||
|
|
||||||
@@ -68,7 +68,6 @@ public class EditIdentityFragment extends EditPictureFragment {
|
|||||||
static final int DEFAULT_CRYPTO_IMPL = 2;
|
static final int DEFAULT_CRYPTO_IMPL = 2;
|
||||||
|
|
||||||
private String mKey;
|
private String mKey;
|
||||||
private FragmentManager mFM;
|
|
||||||
MenuItem mSave;
|
MenuItem mSave;
|
||||||
EditText mNameField;
|
EditText mNameField;
|
||||||
EditText mDescField;
|
EditText mDescField;
|
||||||
@@ -90,8 +89,7 @@ public class EditIdentityFragment extends EditPictureFragment {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
|
|
||||||
mFM = getFragmentManager();
|
IdentityWaiterFrag f = (IdentityWaiterFrag) getFragmentManager().findFragmentByTag(IDENTITY_WAITER_TAG);
|
||||||
IdentityWaiterFrag f = (IdentityWaiterFrag) mFM.findFragmentByTag(IDENTITY_WAITER_TAG);
|
|
||||||
if (f != null)
|
if (f != null)
|
||||||
f.setTargetFragment(this, IDENTITY_WAITER);
|
f.setTargetFragment(this, IDENTITY_WAITER);
|
||||||
}
|
}
|
||||||
@@ -151,7 +149,7 @@ public class EditIdentityFragment extends EditPictureFragment {
|
|||||||
inflater.inflate(R.menu.edit_identity, menu);
|
inflater.inflate(R.menu.edit_identity, menu);
|
||||||
mSave = menu.findItem(R.id.action_save_identity);
|
mSave = menu.findItem(R.id.action_save_identity);
|
||||||
|
|
||||||
IdentityWaiterFrag f = (IdentityWaiterFrag) mFM.findFragmentByTag(IDENTITY_WAITER_TAG);
|
IdentityWaiterFrag f = (IdentityWaiterFrag) getFragmentManager().findFragmentByTag(IDENTITY_WAITER_TAG);
|
||||||
if (f != null)
|
if (f != null)
|
||||||
setInterfaceEnabled(false);
|
setInterfaceEnabled(false);
|
||||||
}
|
}
|
||||||
@@ -187,7 +185,7 @@ public class EditIdentityFragment extends EditPictureFragment {
|
|||||||
setDefault);
|
setDefault);
|
||||||
f.setTask(new IdentityWaiter());
|
f.setTask(new IdentityWaiter());
|
||||||
f.setTargetFragment(EditIdentityFragment.this, IDENTITY_WAITER);
|
f.setTargetFragment(EditIdentityFragment.this, IDENTITY_WAITER);
|
||||||
mFM.beginTransaction()
|
getFragmentManager().beginTransaction()
|
||||||
.replace(R.id.identity_waiter_frag, f, IDENTITY_WAITER_TAG)
|
.replace(R.id.identity_waiter_frag, f, IDENTITY_WAITER_TAG)
|
||||||
.commit();
|
.commit();
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -1,16 +1,10 @@
|
|||||||
package i2p.bote.android.config;
|
package i2p.bote.android.config;
|
||||||
|
|
||||||
import i2p.bote.I2PBote;
|
|
||||||
import i2p.bote.android.R;
|
|
||||||
import i2p.bote.android.util.RobustAsyncTask;
|
|
||||||
import i2p.bote.android.util.TaskFragment;
|
|
||||||
import i2p.bote.StatusListener;
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import android.support.v4.app.FragmentManager;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
@@ -21,6 +15,12 @@ import android.view.inputmethod.InputMethodManager;
|
|||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import i2p.bote.I2PBote;
|
||||||
|
import i2p.bote.StatusListener;
|
||||||
|
import i2p.bote.android.R;
|
||||||
|
import i2p.bote.android.util.RobustAsyncTask;
|
||||||
|
import i2p.bote.android.util.TaskFragment;
|
||||||
|
|
||||||
public class SetPasswordFragment extends Fragment {
|
public class SetPasswordFragment extends Fragment {
|
||||||
private Callbacks mCallbacks = sDummyCallbacks;
|
private Callbacks mCallbacks = sDummyCallbacks;
|
||||||
|
|
||||||
@@ -51,7 +51,6 @@ public class SetPasswordFragment extends Fragment {
|
|||||||
// instance of this fragment after rotation.
|
// instance of this fragment after rotation.
|
||||||
static final String PASSWORD_WAITER_TAG = "passwordWaiterTask";
|
static final String PASSWORD_WAITER_TAG = "passwordWaiterTask";
|
||||||
|
|
||||||
private FragmentManager mFM;
|
|
||||||
MenuItem mSave;
|
MenuItem mSave;
|
||||||
EditText mOldField;
|
EditText mOldField;
|
||||||
EditText mNewField;
|
EditText mNewField;
|
||||||
@@ -63,8 +62,7 @@ public class SetPasswordFragment extends Fragment {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
|
|
||||||
mFM = getFragmentManager();
|
PasswordWaiterFrag f = (PasswordWaiterFrag) getFragmentManager().findFragmentByTag(PASSWORD_WAITER_TAG);
|
||||||
PasswordWaiterFrag f = (PasswordWaiterFrag) mFM.findFragmentByTag(PASSWORD_WAITER_TAG);
|
|
||||||
if (f != null)
|
if (f != null)
|
||||||
f.setTargetFragment(this, PASSWORD_WAITER);
|
f.setTargetFragment(this, PASSWORD_WAITER);
|
||||||
}
|
}
|
||||||
@@ -91,7 +89,7 @@ public class SetPasswordFragment extends Fragment {
|
|||||||
mSave = menu.findItem(R.id.action_set_password);
|
mSave = menu.findItem(R.id.action_set_password);
|
||||||
|
|
||||||
// If task is running, disable the save button.
|
// If task is running, disable the save button.
|
||||||
PasswordWaiterFrag f = (PasswordWaiterFrag) mFM.findFragmentByTag(PASSWORD_WAITER_TAG);
|
PasswordWaiterFrag f = (PasswordWaiterFrag) getFragmentManager().findFragmentByTag(PASSWORD_WAITER_TAG);
|
||||||
if (f != null)
|
if (f != null)
|
||||||
setInterfaceEnabled(false);
|
setInterfaceEnabled(false);
|
||||||
}
|
}
|
||||||
@@ -113,7 +111,7 @@ public class SetPasswordFragment extends Fragment {
|
|||||||
PasswordWaiterFrag f = PasswordWaiterFrag.newInstance(oldPassword, newPassword, confirmNewPassword);
|
PasswordWaiterFrag f = PasswordWaiterFrag.newInstance(oldPassword, newPassword, confirmNewPassword);
|
||||||
f.setTask(new PasswordWaiter());
|
f.setTask(new PasswordWaiter());
|
||||||
f.setTargetFragment(SetPasswordFragment.this, PASSWORD_WAITER);
|
f.setTargetFragment(SetPasswordFragment.this, PASSWORD_WAITER);
|
||||||
mFM.beginTransaction()
|
getFragmentManager().beginTransaction()
|
||||||
.replace(R.id.password_waiter_frag, f, PASSWORD_WAITER_TAG)
|
.replace(R.id.password_waiter_frag, f, PASSWORD_WAITER_TAG)
|
||||||
.commit();
|
.commit();
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user