Fixing fragment instance restore

This commit is contained in:
Ernir Erlingsson
2016-06-13 23:06:38 +02:00
parent 192ee41600
commit 8a29207bd0
20 changed files with 213 additions and 205 deletions

View File

@@ -13,6 +13,7 @@ import android.widget.TextView;
import android.widget.Toast;
import org.briarproject.R;
import org.briarproject.android.ActivityComponent;
import org.briarproject.android.fragment.BaseFragment;
import org.briarproject.api.FormatException;
import org.briarproject.api.contact.Contact;
@@ -51,19 +52,21 @@ public class IntroductionMessageFragment extends BaseFragment {
@Inject
protected volatile IntroductionManager introductionManager;
public void initBundle(int contactId1, int contactId2) {
public static IntroductionMessageFragment newInstance(int contactId1, int contactId2) {
Bundle args = new Bundle();
args.putInt(CONTACT_ID_1, contactId1);
args.putInt(CONTACT_ID_2, contactId2);
setArguments(args);
IntroductionMessageFragment fragment =
new IntroductionMessageFragment();
fragment.setArguments(args);
return fragment;
}
@Inject
public IntroductionMessageFragment() {
@Override
public void injectFragment(ActivityComponent component) {
component.inject(this);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
@@ -94,6 +97,13 @@ public class IntroductionMessageFragment extends BaseFragment {
ui.text.setVisibility(GONE);
ui.button.setEnabled(false);
return v;
}
@Override
public void onStart() {
super.onStart();
// get contact IDs from fragment arguments
int contactId1 = getArguments().getInt(CONTACT_ID_1, -1);
int contactId2 = getArguments().getInt(CONTACT_ID_2, -1);
@@ -101,11 +111,8 @@ public class IntroductionMessageFragment extends BaseFragment {
throw new java.lang.InstantiationError(
"You need to use newInstance() to instantiate");
}
// get contacts and then show view
prepareToSetUpViews(contactId1, contactId2);
return v;
}
@Override