X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/fffa77e2115c03dfad403b0f9106736256b7c10b..673c884752392d27023b0d69385d3d884092070c:/src/com/owncloud/android/ui/activity/AccountSelectActivity.java diff --git a/src/com/owncloud/android/ui/activity/AccountSelectActivity.java b/src/com/owncloud/android/ui/activity/AccountSelectActivity.java index 1a1cd51b..64effc43 100644 --- a/src/com/owncloud/android/ui/activity/AccountSelectActivity.java +++ b/src/com/owncloud/android/ui/activity/AccountSelectActivity.java @@ -110,8 +110,11 @@ public class AccountSelectActivity extends SherlockListActivity implements @Override public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getSherlock().getMenuInflater(); - inflater.inflate(R.menu.account_picker, menu); + // Show Create Account if Multiaccount is enabled + if (getResources().getBoolean(R.bool.multiaccount_support)) { + MenuInflater inflater = getSherlock().getMenuInflater(); + inflater.inflate(R.menu.account_picker, menu); + } return true; } @@ -133,11 +136,19 @@ public class AccountSelectActivity extends SherlockListActivity implements @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { if (item.getItemId() == R.id.createAccount) { - Intent intent = new Intent( + /*Intent intent = new Intent( android.provider.Settings.ACTION_ADD_ACCOUNT); intent.putExtra("authorities", new String[] { AccountAuthenticator.AUTHORITY }); - startActivity(intent); + startActivity(intent);*/ + AccountManager am = AccountManager.get(getApplicationContext()); + am.addAccount(AccountAuthenticator.ACCOUNT_TYPE, + null, + null, + null, + this, + null, + null); return true; } return false; @@ -183,25 +194,54 @@ public class AccountSelectActivity extends SherlockListActivity implements return true; } + @Override + public void onContentChanged() { + // TODO Auto-generated method stub + super.onContentChanged(); + AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE); + if (am.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE).length == 0) { + // Show create account screen + am.addAccount(AccountAuthenticator.ACCOUNT_TYPE, + null, + null, + null, + this, + null, + null); + } + } + 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); + if (am.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE).length == 0) { + // Show create account screen if there isn't any account + am.addAccount(AccountAuthenticator.ACCOUNT_TYPE, + null, + null, + null, + this, + null, + null); } + else { + 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()); + 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