--- /dev/null
+package com.example.furt.myapplication;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.Toast;
+
+/*possiamo chiavare la mainActiviti in due casi, il primo è aprendo l'applicazione, il secondo è effettuando il
+* logout. nel primo caso viene controllato se sono state memorizzate delle credenziali e nel caso, il login viene
+* efetttuato direttamente. nel caso in cui si effettua il logout o non sono state memorizzate le credenziali,
+* viene data la possibilità di registrarsi o loggarsi, è possibile tramite il menù recuperare la password o aggiornarla
+* una volta effettuato il login viene passato il controllo ad "aggiorna.java"*/
+
+public class mainActivity extends Activity {
+
+ static TextView t;
+ public static final String PREFS_NAME = "MyPrefsFile";
+ private static final String PREF_USERNAME = "username";
+ private static final String PREF_PASSWORD = "password";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_login);
+ t = (TextView) findViewById(R.id.login);
+ SharedPreferences pref = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);//recupero le ultime credenziali valide inserite
+ String username = pref.getString(PREF_USERNAME, null);
+ String password = pref.getString(PREF_PASSWORD, null);
+ String logout=null;
+ Bundle dati=getIntent().getExtras();
+ if(dati!=null)//controllo se la mainActivity è stata chiamata dopo un logout
+ logout=dati.getString("logout");
+ if(logout!=null)
+ {
+ username=null;
+ password=null;
+ }
+
+ if (username == null && password == null) {//viene effettuato solo se ci sono delle credenziali memorizzate e se mainActivity non è stata chiamata da un logout
+ Button b = (Button) findViewById(R.id.logout);
+ b.setOnClickListener(new View.OnClickListener() {//routin di gestione del login
+ @Override
+ public void onClick(View v) {
+ try {
+ EditText txt = (EditText) findViewById(R.id.userId);//recupero username inserito
+ EditText txt2 = (EditText) findViewById(R.id.oldPass);//recupero la password inserita
+ String testo = txt.getText().toString();
+ String testo2 = txt2.getText().toString();
+ if(testo.contains("/") || testo2.contains("/"))//controllo che non siano inseriti valori vietati
+ Toast.makeText(getApplicationContext(),"il carattere '/' non è consentito", Toast.LENGTH_SHORT).show();
+ else if(testo.isEmpty() || testo2.isEmpty())//controllo che tutti i campi siano completati
+ Toast.makeText(getApplicationContext(),"riempi i campi", Toast.LENGTH_SHORT).show();
+ else {//login effettuato con successo
+ String request = serverComunication.connessioneMain("1/" + testo + "/" + testo2);//richiedo il login al server
+ if (!request.contains("error")) {
+ getSharedPreferences(PREFS_NAME, MODE_PRIVATE)//salvo username e password per i prossimi accessi
+ .edit()
+ .putString(PREF_USERNAME, testo)
+ .putString(PREF_PASSWORD, testo2)
+ .commit();
+ Intent i = new Intent(getApplicationContext(), aggiornamento.class);
+ i.putExtra("user", testo);
+ i.putExtra("pass", testo2);
+ i.putExtra("sessionKey", request);
+ i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ getApplicationContext().startActivity(i);//avvio la "aggiornamento.class"
+ }
+ else
+ Toast.makeText(getApplicationContext(),"credenziali errate", Toast.LENGTH_SHORT).show();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ Button b2 = (Button) findViewById(R.id.button2);
+ b2.setOnClickListener(new View.OnClickListener() {//routine di gestione della registrazione
+ @Override
+ public void onClick(View v) {
+
+ EditText txt = (EditText) findViewById(R.id.userId);
+ EditText txt2 = (EditText) findViewById(R.id.oldPass);
+ String testo = txt.getText().toString();
+ String testo2 = txt2.getText().toString();
+ if(testo.isEmpty() || testo2.isEmpty())
+ Toast.makeText(getApplicationContext(),"riempi i campi", Toast.LENGTH_SHORT).show();
+ else {
+ try {
+ serverComunication connect = new serverComunication();
+ String request = connect.connessioneMain("0/" + testo + "/" + testo2);
+ Toast.makeText(getApplicationContext(), request, Toast.LENGTH_SHORT).show();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ });
+ } else {
+ Intent i = new Intent(getApplicationContext(), aggiornamento.class);
+ i.putExtra("user", username);
+ i.putExtra("pass", password);
+ i.putExtra("sessionKey", "000000000");
+ i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ getApplicationContext().startActivity(i);
+ }
+ }
+
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.login_set, menu);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle action bar item clicks here. The action bar will
+ // automatically handle clicks on the Home/Up button, so long
+ // as you specify a parent activity in AndroidManifest.xml.
+ int id = item.getItemId();
+ if(id==R.id.recupera)//routine di gestione di recupero password
+ {
+ EditText txt = (EditText) findViewById(R.id.userId);
+ String testo = txt.getText().toString();
+ if(testo.isEmpty())
+ Toast.makeText(getApplicationContext(),"inserisci l'indirizzo email", Toast.LENGTH_SHORT).show();
+ else {
+ try {
+ serverComunication connect = new serverComunication();
+ String request = connect.connessioneMain("2/" + testo);
+ Toast.makeText(getApplicationContext(), request, Toast.LENGTH_SHORT).show();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ if(id==R.id.reimposta)
+ {
+ Intent i = new Intent(getApplicationContext(), recuperaPass.class);
+ i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ getApplicationContext().startActivity(i);
+ }
+ return super.onOptionsItemSelected(item);
+ }
+}