package no.ntnu.item.csv;
import java.io.File;
import no.ntnu.item.csv.credentials.LocalCredentials;
import no.ntnu.item.csv.firststart.FirstStartActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class GetRootCapActivity extends Activity {
public static final String ROOTCAP = "ROOTCAP";
private static final int CONFIGURE = 1;
private static final int PASSWORD_PROMPT = 2;
private static final int ONLINE_PASSWORD_PROMPT = 3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
File storageFile = this.getFileStreamPath(LocalCredentials.save_file);
if (storageFile.exists()) {
Intent intent = new Intent();
intent.setClass(this, PasswordPromptActivity.class);
startActivityForResult(intent, PASSWORD_PROMPT);
} else {
Intent intent = new Intent();
intent.setClass(this, EnterOnlineCredentialsActivity.class);
startActivityForResult(intent, ONLINE_PASSWORD_PROMPT);
}
}
@Override
public void onResume() {
super.onResume();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Intent intent = new Intent();
if (resultCode == RESULT_OK) {
switch (requestCode) {
case ONLINE_PASSWORD_PROMPT:
intent = data;
intent.setClass(this, FirstStartActivity.class);
startActivityForResult(intent, CONFIGURE);
break;
case PASSWORD_PROMPT: {
if (data.getBooleanExtra(PasswordPromptActivity.CONFIGURE,
false)) {
intent.setClass(this, FirstStartActivity.class);
startActivityForResult(intent, CONFIGURE);
} else {
intent.putExtra(ROOTCAP, data.getStringExtra(ROOTCAP));
setResult(RESULT_OK, intent);
finish();
}
break;
}
case CONFIGURE: {
intent.putExtra(ROOTCAP, data.getStringExtra(ROOTCAP));
setResult(RESULT_OK, intent);
finish();
break;
}
}
}
if (resultCode == RESULT_CANCELED) {
switch (requestCode) {
case ONLINE_PASSWORD_PROMPT:
case PASSWORD_PROMPT:
finish();
break;
case CONFIGURE:
File storageFile = this
.getFileStreamPath(LocalCredentials.save_file);
if (storageFile.exists()) {
intent.setClass(this, PasswordPromptActivity.class);
startActivityForResult(intent, PASSWORD_PROMPT);
} else {
finish();
}
break;
}
}
}
}