OC-2332: rewrite getAvailableRemotePath from UpdateFileOperation, using ExistenceCehe...
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / activity / AccountSelectActivity.java
index a98c38e..b1ff845 100644 (file)
@@ -47,14 +47,14 @@ import com.actionbarsherlock.app.SherlockListActivity;
 import com.actionbarsherlock.view.Menu;
 import com.actionbarsherlock.view.MenuInflater;
 import com.actionbarsherlock.view.MenuItem;
-import com.owncloud.android.authentication.AccountAuthenticator;
 import com.owncloud.android.authentication.AuthenticatorActivity;
 import com.owncloud.android.authentication.AccountUtils;
-import com.owncloud.android.Log_OC;
+import com.owncloud.android.oc_framework.accounts.OwnCloudAccount;
+import com.owncloud.android.utils.Log_OC;
 import com.owncloud.android.MainApp;
-
 import com.owncloud.android.R;
 
+
 public class AccountSelectActivity extends SherlockListActivity implements
         AccountManagerCallback<Boolean> {
 
@@ -95,12 +95,6 @@ public class AccountSelectActivity extends SherlockListActivity implements
                 (mPreviousAccount != null && !mPreviousAccount.equals(current))) {
                 /// the account set as default changed since this activity was created 
             
-                // trigger synchronization
-                ContentResolver.cancelSync(null, MainApp.getAuthTokenType());
-                Bundle bundle = new Bundle();
-                bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
-                ContentResolver.requestSync(AccountUtils.getCurrentOwnCloudAccount(this), MainApp.getAuthTokenType(), bundle);
-                
                 // restart the main activity
                 Intent i = new Intent(this, FileDisplayActivity.class);
                 i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
@@ -111,8 +105,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;
     }
 
@@ -147,7 +144,6 @@ public class AccountSelectActivity extends SherlockListActivity implements
                             this, 
                             null,                        
                             null);
-            
             return true;
         }
         return false;
@@ -197,21 +193,33 @@ public class AccountSelectActivity extends SherlockListActivity implements
         AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
         Account accounts[] = am
                 .getAccountsByType(MainApp.getAccountType());
-        LinkedList<HashMap<String, String>> ll = new LinkedList<HashMap<String, String>>();
-        for (Account a : accounts) {
-            HashMap<String, String> h = new HashMap<String, String>();
-            h.put("NAME", a.name);
-            h.put("VER",
-                    "ownCloud version: "
-                            + am.getUserData(a,
-                                    AccountAuthenticator.KEY_OC_VERSION));
-            ll.add(h);
+        if (am.getAccountsByType(MainApp.getAccountType()).length == 0) {
+            // Show create account screen if there isn't any account
+            am.addAccount(MainApp.getAccountType(), 
+                    null,
+                    null, 
+                    null, 
+                    this, 
+                    null,                        
+                    null);
         }
+        else {
+            LinkedList<HashMap<String, String>> ll = new LinkedList<HashMap<String, String>>();
+            for (Account a : accounts) {
+                HashMap<String, String> h = new HashMap<String, String>();
+                h.put("NAME", a.name);
+                h.put("VER",
+                        "ownCloud version: "
+                                + am.getUserData(a,
+                                        OwnCloudAccount.Constants.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