package eu.hellek.viajafacil.android;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
/*
* Activity that lists the user's accounts so that he can select which one he wants to use to log in (to view or store his favorites)
*/
public class AccountListActivity extends ListActivity {
protected AccountManager accountManager;
protected Intent intent;
private Account[] accounts;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
accountManager = AccountManager.get(getApplicationContext());
accounts = accountManager.getAccountsByType("com.google");
String[] names = new String[accounts.length];
for(int i = 0; i < accounts.length; i++) {
names[i] = accounts[i].name;
}
this.setListAdapter(new ArrayAdapter<Object>(this, R.layout.accounts_row, names));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Account account = accounts[position];
final SharedPreferences preferences = getSharedPreferences(ViajaFacilActivity.PREFS_ACCOUNT_PREFS, Activity.MODE_PRIVATE);
preferences.edit().putString(ViajaFacilActivity.PREFS_ACCOUNT_NAME, account.toString()).commit();
Intent intent = new Intent(this, ViajaFacilActivity.class);
intent.putExtra("account", account);
setResult(RESULT_OK, intent);
finish();
}
}