X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/32b09ab78ffd18a5a07752982883813ccecfb80d..7c2174d09e376ecc5ebd9a510a66dc7582b173f9:/src/eu/alefzero/owncloud/ui/activity/AccountSelectActivity.java diff --git a/src/eu/alefzero/owncloud/ui/activity/AccountSelectActivity.java b/src/eu/alefzero/owncloud/ui/activity/AccountSelectActivity.java index cc3cc61e..482780ed 100644 --- a/src/eu/alefzero/owncloud/ui/activity/AccountSelectActivity.java +++ b/src/eu/alefzero/owncloud/ui/activity/AccountSelectActivity.java @@ -36,139 +36,146 @@ import eu.alefzero.owncloud.authenticator.AccountAuthenticator; import eu.alefzero.owncloud.AccountUtils; import eu.alefzero.owncloud.R; -public class AccountSelectActivity extends SherlockListActivity - implements AccountManagerCallback { - - private final Handler mHandler = new Handler(); - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - ActionBar action_bar = getSupportActionBar(); - action_bar.setDisplayShowTitleEnabled(true); - action_bar.setDisplayHomeAsUpEnabled(false); - } - - @Override - protected void onResume() { - super.onResume(); - populateAccountList(); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getSherlock().getMenuInflater(); - inflater.inflate(eu.alefzero.owncloud.R.menu.account_picker, menu); - return true; - } - - @Override - public void onCreateContextMenu(ContextMenu menu, View v, - ContextMenuInfo menuInfo) { - getMenuInflater().inflate(R.menu.account_picker_long_click, menu); - super.onCreateContextMenu(menu, v, menuInfo); - } - - @Override - protected void onListItemClick(ListView l, View v, int position, long id) { - String accountName = ((TextView)v.findViewById(android.R.id.text1)).getText().toString(); - AccountUtils.setCurrentOwnCloudAccount(this, accountName); - Intent i = new Intent(this, FileDisplayActivity.class); - startActivity(i); - finish(); - } - - @Override - public boolean onMenuItemSelected(int featureId, MenuItem item) { - if (item.getItemId() == R.id.createAccount) { - Intent intent = new Intent(android.provider.Settings.ACTION_ADD_ACCOUNT); - intent.putExtra("authorities", - new String[] { AccountAuthenticator.AUTH_TOKEN_TYPE }); - startActivity(intent); - return true; +public class AccountSelectActivity extends SherlockListActivity implements + AccountManagerCallback { + + private final Handler mHandler = new Handler(); + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + ActionBar action_bar = getSupportActionBar(); + action_bar.setDisplayShowTitleEnabled(true); + action_bar.setDisplayHomeAsUpEnabled(false); } - return false; - } - - @Override - public boolean onContextItemSelected(android.view.MenuItem item) { - AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); - int index = info.position; - HashMap map = (HashMap)getListAdapter().getItem(index); - String accountName = map.get("NAME"); - AccountManager am = (AccountManager)getSystemService(ACCOUNT_SERVICE); - Account accounts[] = am.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); - for (Account a : accounts) { - if (a.name.equals(accountName)) { - am.removeAccount(a, this, mHandler); - } + + @Override + protected void onResume() { + super.onResume(); + populateAccountList(); } - - return false; - } - - - private void populateAccountList() { - AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE); - Account accounts[] = am.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); - LinkedList< HashMap> ll = new LinkedList>(); - for (Account a : accounts) { - HashMap h = new HashMap(); - h.put("NAME", a.name); - h.put("VER", "ownCloud version: " + am.getUserData(a, AccountAuthenticator.KEY_OC_VERSION)); - ll.add(h); + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getSherlock().getMenuInflater(); + inflater.inflate(eu.alefzero.owncloud.R.menu.account_picker, menu); + return true; } - - setListAdapter(new AccountCheckedSimpleAdepter(this, - ll, - android.R.layout.simple_list_item_single_choice, - new String[]{"NAME"}, - new int[]{android.R.id.text1})); - registerForContextMenu(getListView()); - } - - @Override - public void run(AccountManagerFuture future) { - if (future.isDone()) { - Account a = AccountUtils.getCurrentOwnCloudAccount(this); - String accountName = ""; - if (a == null) { - Account[] accounts = AccountManager.get(this).getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); - if (accounts.length != 0) - accountName = accounts[0].name; + + @Override + public void onCreateContextMenu(ContextMenu menu, View v, + ContextMenuInfo menuInfo) { + getMenuInflater().inflate(R.menu.account_picker_long_click, menu); + super.onCreateContextMenu(menu, v, menuInfo); + } + + @Override + protected void onListItemClick(ListView l, View v, int position, long id) { + String accountName = ((TextView) v.findViewById(android.R.id.text1)) + .getText().toString(); AccountUtils.setCurrentOwnCloudAccount(this, accountName); - } - populateAccountList(); + Intent i = new Intent(this, FileDisplayActivity.class); + i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + startActivity(i); + finish(); + } + + @Override + public boolean onMenuItemSelected(int featureId, MenuItem item) { + if (item.getItemId() == R.id.createAccount) { + Intent intent = new Intent( + android.provider.Settings.ACTION_ADD_ACCOUNT); + intent.putExtra("authorities", + new String[] { AccountAuthenticator.AUTH_TOKEN_TYPE }); + startActivity(intent); + return true; + } + return false; + } + + @Override + public boolean onContextItemSelected(android.view.MenuItem item) { + AdapterContextMenuInfo info = (AdapterContextMenuInfo) item + .getMenuInfo(); + int index = info.position; + HashMap map = (HashMap) getListAdapter() + .getItem(index); + String accountName = map.get("NAME"); + AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE); + Account accounts[] = am + .getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); + for (Account a : accounts) { + if (a.name.equals(accountName)) { + am.removeAccount(a, this, mHandler); + } + } + + return false; } - } - - private class AccountCheckedSimpleAdepter extends SimpleAdapter { - private Account mCurrentAccount; - private List> mPrivateData; - - public AccountCheckedSimpleAdepter(Context context, - List> data, - int resource, - String[] from, - int[] to) { - super(context, data, resource, from, to); - mCurrentAccount = AccountUtils.getCurrentOwnCloudAccount(AccountSelectActivity.this); - mPrivateData = data; + + private void populateAccountList() { + AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE); + Account accounts[] = am + .getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); + LinkedList> ll = new LinkedList>(); + for (Account a : accounts) { + HashMap h = new HashMap(); + h.put("NAME", a.name); + h.put("VER", + "ownCloud version: " + + am.getUserData(a, + AccountAuthenticator.KEY_OC_VERSION)); + ll.add(h); + } + + setListAdapter(new AccountCheckedSimpleAdepter(this, ll, + android.R.layout.simple_list_item_single_choice, + new String[] { "NAME" }, new int[] { android.R.id.text1 })); + registerForContextMenu(getListView()); } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - View v = super.getView(position, convertView, parent); - CheckedTextView ctv = (CheckedTextView) v.findViewById(android.R.id.text1); - if (mPrivateData.get(position).get("NAME").equals(mCurrentAccount.name)) { - ctv.setChecked(true); + + @Override + public void run(AccountManagerFuture future) { + if (future.isDone()) { + Account a = AccountUtils.getCurrentOwnCloudAccount(this); + String accountName = ""; + if (a == null) { + Account[] accounts = AccountManager.get(this) + .getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); + if (accounts.length != 0) + accountName = accounts[0].name; + AccountUtils.setCurrentOwnCloudAccount(this, accountName); + } + populateAccountList(); + } } - return v; - } - - - } -} + private class AccountCheckedSimpleAdepter extends SimpleAdapter { + private Account mCurrentAccount; + private List> mPrivateData; + public AccountCheckedSimpleAdepter(Context context, + List> data, int resource, + String[] from, int[] to) { + super(context, data, resource, from, to); + mCurrentAccount = AccountUtils + .getCurrentOwnCloudAccount(AccountSelectActivity.this); + mPrivateData = data; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + View v = super.getView(position, convertView, parent); + CheckedTextView ctv = (CheckedTextView) v + .findViewById(android.R.id.text1); + if (mPrivateData.get(position).get("NAME") + .equals(mCurrentAccount.name)) { + ctv.setChecked(true); + } + return v; + } + + } + +}