package by.fksis.schedule.app;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.EditText;
import by.fksis.schedule.API;
import by.fksis.schedule.R;
import com.WazaBe.HoloEverywhere.AlertDialog;
import com.WazaBe.HoloEverywhere.FontLoader;
import com.WazaBe.HoloEverywhere.sherlock.SActivity;
import com.danikula.aibolit.Aibolit;
import com.danikula.aibolit.annotation.InjectView;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
public class LoginActivity extends SActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
View view = FontLoader.inflate(this, R.layout.fragment_login);
Aibolit.doInjections(this, view);
new AlertDialog.Builder(this)
.setView(view)
.setPositiveButton(R.string.log_in, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
doLogin(username.getText().toString(), accessKey.getText().toString());
}
})
.setNeutralButton(R.string.scan_code, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
new IntentIntegrator(LoginActivity.this).initiateScan();
}
})
.show();
API.loadCredentials(this);
if (API.credentialsPresent())
username.setText(API.getUsername());
}
private void doLogin(String username, String accessKey) {
API.updateCredentials(this, username, accessKey);
startActivity(new Intent(this, MainActivity.class));
finish();
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null) {
String contents = scanResult.getContents();
String username = contents.split(":")[0];
String key = contents.split(":")[1];
doLogin(username, key);
}
}
@InjectView(R.id.username)
private EditText username;
@InjectView(R.id.access_key)
private EditText accessKey;
}