package i2p.bote.android.intro; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; import i2p.bote.android.BoteActivityBase; import i2p.bote.android.R; import i2p.bote.android.config.SetPasswordActivity; import i2p.bote.android.identities.EditIdentityActivity; public class SetupActivity extends BoteActivityBase { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_toolbar); // Set the action bar Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar); setSupportActionBar(toolbar); // If a user has chosen to enter the setup wizard, don't let them // accidentally exit it early. getSupportActionBar().setDisplayHomeAsUpEnabled(false); getSupportActionBar().setHomeButtonEnabled(false); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new SetPasswordFragment()) .commit(); } } @Override public void onBackPressed() { // If a user has chosen to enter the setup wizard, don't let them // accidentally exit it early. Toast.makeText(this, R.string.please_finish_setup, Toast.LENGTH_SHORT).show(); } /** * Set password. */ public static class SetPasswordFragment extends Fragment { private static final int SET_PASSWORD = 1; public SetPasswordFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_setup_set_password, container, false); rootView.findViewById(R.id.button_set_password).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent i = new Intent(getActivity(), SetPasswordActivity.class); startActivityForResult(i, SET_PASSWORD); } }); rootView.findViewById(R.id.button_skip).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { nextPage(); } }); return rootView; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == SET_PASSWORD) { if (resultCode == RESULT_OK) { nextPage(); } } else { super.onActivityResult(requestCode, resultCode, data); } } private void nextPage() { getFragmentManager().beginTransaction() .replace(R.id.container, new CreateIdentityFragment()) .commit(); } } /** * Create identity. */ public static class CreateIdentityFragment extends Fragment { private static final int CREATE_IDENTITY = 1; public CreateIdentityFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_setup_create_identity, container, false); rootView.findViewById(R.id.button_set_password).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent i = new Intent(getActivity(), EditIdentityActivity.class); startActivityForResult(i, CREATE_IDENTITY); } }); rootView.findViewById(R.id.button_skip).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { nextPage(); } }); return rootView; } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CREATE_IDENTITY) { if (resultCode == RESULT_OK) { nextPage(); } } else { super.onActivityResult(requestCode, resultCode, data); } } private void nextPage() { getFragmentManager().beginTransaction() .replace(R.id.container, new SetupFinishedFragment()) .commit(); } } /** * Setup finished. */ public static class SetupFinishedFragment extends Fragment { public SetupFinishedFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_setup_finished, container, false); rootView.findViewById(R.id.button_finish).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getActivity().setResult(RESULT_OK); getActivity().finish(); } }); return rootView; } } }