mirror of https://github.com/MISP/misp-bump
171 lines
4.4 KiB
Java
171 lines
4.4 KiB
Java
package de.overview.wg.its.mispauth.activity;
|
|
|
|
import android.content.DialogInterface;
|
|
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.AlertDialog;
|
|
import android.support.v7.app.AppCompatActivity;
|
|
import android.support.v7.widget.Toolbar;
|
|
import android.util.Log;
|
|
import android.view.View;
|
|
import android.widget.Button;
|
|
import de.overview.wg.its.mispauth.R;
|
|
import de.overview.wg.its.mispauth.auxiliary.OrganisationDialog;
|
|
import de.overview.wg.its.mispauth.auxiliary.PreferenceManager;
|
|
import de.overview.wg.its.mispauth.fragment.ScanQrFragment;
|
|
import de.overview.wg.its.mispauth.fragment.ShowQrFragment;
|
|
import de.overview.wg.its.mispauth.fragment.SyncStartFragment;
|
|
import de.overview.wg.its.mispauth.fragment.UploadFragment;
|
|
import de.overview.wg.its.mispauth.model.Organisation;
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
|
|
public class SyncActivity extends AppCompatActivity {
|
|
|
|
private static final String TAG = "DEBUG";
|
|
|
|
private PreferenceManager preferenceManager;
|
|
|
|
private Button prevButton, nextButton;
|
|
private int partnerChoice = -1;
|
|
private String scannedQrString = "";
|
|
|
|
private int currentFragmentPosition = 0;
|
|
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
setContentView(R.layout.activity_sync);
|
|
|
|
Toolbar toolbar = findViewById(R.id.toolbar);
|
|
setSupportActionBar(toolbar);
|
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
|
|
|
preferenceManager = PreferenceManager.Instance(this);
|
|
|
|
nextButton = findViewById(R.id.nextButton);
|
|
prevButton = findViewById(R.id.backButton);
|
|
|
|
nextButton.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
getFragment(currentFragmentPosition + 1, true);
|
|
}
|
|
});
|
|
prevButton.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
getFragment(currentFragmentPosition - 1, true);
|
|
}
|
|
});
|
|
|
|
getFragment(0, false);
|
|
}
|
|
|
|
private void getFragment(int position, boolean animate) {
|
|
|
|
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
|
|
|
|
if (animate) {
|
|
if (position > currentFragmentPosition) {
|
|
transaction.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_left, R.anim.exit_to_right);
|
|
} else {
|
|
transaction.setCustomAnimations(R.anim.enter_from_left, R.anim.exit_to_right, R.anim.enter_from_right, R.anim.exit_to_left);
|
|
}
|
|
}
|
|
|
|
currentFragmentPosition = position;
|
|
|
|
switch (position) {
|
|
|
|
case 0:
|
|
prevButton.setEnabled(false);
|
|
nextButton.setEnabled(false);
|
|
transaction.replace(R.id.fragmentContainer, new SyncStartFragment());
|
|
break;
|
|
|
|
case 1:
|
|
|
|
prevButton.setEnabled(true);
|
|
|
|
if (partnerChoice == 1) {
|
|
|
|
nextButton.setEnabled(false);
|
|
transaction.replace(R.id.fragmentContainer, new ScanQrFragment(), "FRAGMENT_SCAN");
|
|
|
|
} else {
|
|
|
|
nextButton.setEnabled(true);
|
|
transaction.replace(R.id.fragmentContainer, new ShowQrFragment(), "FRAGMENT_SHOW");
|
|
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if (partnerChoice == 1) {
|
|
|
|
prevButton.setEnabled(true);
|
|
nextButton.setEnabled(true);
|
|
transaction.replace(R.id.fragmentContainer, new ShowQrFragment(), "FRAGMENT_SHOW");
|
|
|
|
} else {
|
|
|
|
prevButton.setEnabled(true);
|
|
nextButton.setEnabled(false);
|
|
|
|
transaction.replace(R.id.fragmentContainer, new ScanQrFragment(), "FRAGMENT_SCAN");
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
|
|
nextButton.setText("Finish");
|
|
nextButton.setEnabled(false);
|
|
|
|
transaction.replace(R.id.fragmentContainer, new UploadFragment());
|
|
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
transaction.commit();
|
|
}
|
|
|
|
public void setPartnerChoice(int choice) {
|
|
|
|
partnerChoice = choice;
|
|
|
|
if (choice != -1) {
|
|
nextButton.setEnabled(true);
|
|
} else {
|
|
nextButton.setEnabled(false);
|
|
}
|
|
}
|
|
|
|
public void setScannedQr(String qr) {
|
|
|
|
final FragmentManager manager = getSupportFragmentManager();
|
|
final ScanQrFragment scanFragment = (ScanQrFragment) manager.findFragmentByTag("FRAGMENT_SCAN");
|
|
|
|
scanFragment.setReadQr(false);
|
|
try {
|
|
OrganisationDialog d = new OrganisationDialog(this);
|
|
Organisation o = new Organisation();
|
|
o.fromJSON(new JSONObject(qr));
|
|
d.createDialog(o);
|
|
|
|
} catch (JSONException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
}
|
|
|
|
public void uploadReady() {
|
|
nextButton.setEnabled(true);
|
|
}
|
|
}
|