ソースを参照

Trigger synchronization when current account is changed; remove redundant accounts list in preferences

David A. Velasco 13 年 前
コミット
c0645e6832

+ 1 - 1
AndroidManifest.xml

@@ -18,7 +18,7 @@
  -->
 <manifest package="eu.alefzero.owncloud"
     android:versionCode="1"
-    android:versionName="0.1.158B" xmlns:android="http://schemas.android.com/apk/res/android">
+    android:versionName="0.1.159B" xmlns:android="http://schemas.android.com/apk/res/android">
 
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
     <uses-permission android:name="android.permission.USE_CREDENTIALS" />

+ 2 - 2
res/xml/preferences.xml

@@ -2,11 +2,11 @@
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
 	<PreferenceCategory android:title="@string/prefs_category_general">
     
-    <ListPreference
+    <!-- ListPreference
         android:key="select_oc_account"
         android:title="@string/prefs_select_oc_account"
         android:summary="@string/prefs_summary_select_oc_account" 
-        />
+        / -->
     <Preference android:title="Manage accounts" android:key="manage_account" />
     <CheckBoxPreference android:title="ownCloud App PIN" android:key="set_pincode" 
                         android:summary="Protect your ownCloud client"/>

+ 7 - 0
src/eu/alefzero/owncloud/ui/activity/AccountSelectActivity.java

@@ -9,6 +9,7 @@ import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.accounts.AccountManagerCallback;
 import android.accounts.AccountManagerFuture;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -75,6 +76,12 @@ public class AccountSelectActivity extends SherlockListActivity implements
         String accountName = ((TextView) v.findViewById(android.R.id.text1))
                 .getText().toString();
         AccountUtils.setCurrentOwnCloudAccount(this, accountName);
+
+        // trigger synchronization when current account is changed
+        Bundle bundle = new Bundle();
+        bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
+        ContentResolver.requestSync(AccountUtils.getCurrentOwnCloudAccount(this), "org.owncloud", bundle);
+        
         Intent i = new Intent(this, FileDisplayActivity.class);
         i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
         startActivity(i);

+ 7 - 13
src/eu/alefzero/owncloud/ui/activity/Preferences.java

@@ -31,15 +31,10 @@ import android.preference.PreferenceManager;
 import android.preference.Preference.OnPreferenceChangeListener;
 import android.preference.Preference.OnPreferenceClickListener;
 import android.util.Log;
-import android.view.ContextMenu;
-import android.view.ContextMenu.ContextMenuInfo;
-import android.view.View;
-import android.widget.AdapterView.AdapterContextMenuInfo;
 
 import com.actionbarsherlock.app.ActionBar;
 import com.actionbarsherlock.app.SherlockPreferenceActivity;
 import com.actionbarsherlock.view.Menu;
-import com.actionbarsherlock.view.MenuInflater;
 import com.actionbarsherlock.view.MenuItem;
 
 import eu.alefzero.owncloud.AccountUtils;
@@ -47,7 +42,6 @@ import eu.alefzero.owncloud.OwnCloudSession;
 import eu.alefzero.owncloud.R;
 import eu.alefzero.owncloud.authenticator.AccountAuthenticator;
 import eu.alefzero.owncloud.db.DbHandler;
-import eu.alefzero.owncloud.syncadapter.FileSyncAdapter;
 
 /**
  * An Activity that allows the user to change the application's settings.
@@ -62,8 +56,8 @@ public class Preferences extends SherlockPreferenceActivity implements
     private final int mEditSession = 48;
     private DbHandler mDbHandler;
     private Vector<OwnCloudSession> mSessions;
-    private Account[] mAccounts;
-    private ListPreference mAccountList;
+    //private Account[] mAccounts;
+    //private ListPreference mAccountList;
     private ListPreference mTrackingUpdateInterval;
     private CheckBoxPreference mDeviceTracking;
     private CheckBoxPreference pCode;
@@ -75,7 +69,7 @@ public class Preferences extends SherlockPreferenceActivity implements
         mDbHandler = new DbHandler(getBaseContext());
         mSessions = new Vector<OwnCloudSession>();
         addPreferencesFromResource(R.xml.preferences);
-        populateAccountList();
+        //populateAccountList();
         ActionBar actionBar = getSherlock().getActionBar();
         actionBar.setDisplayHomeAsUpEnabled(true);
         Preference p = findPreference("manage_account");
@@ -129,7 +123,7 @@ public class Preferences extends SherlockPreferenceActivity implements
 
     /**
      * Populates the account selector
-     */
+     *-/
     private void populateAccountList() {
         AccountManager accMan = AccountManager.get(this);
         mAccounts = accMan.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE);
@@ -151,7 +145,7 @@ public class Preferences extends SherlockPreferenceActivity implements
 
         mAccountList.setEntries(accNames);
         mAccountList.setEntryValues(accNames);
-    }
+    }*/
 
     
     
@@ -216,12 +210,12 @@ public class Preferences extends SherlockPreferenceActivity implements
      */
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         // Update current account summary
-        if (preference.equals(mAccountList)) {
+        /*if (preference.equals(mAccountList)) {
             mAccountList.setSummary(newValue.toString());
         }
 
         // Update tracking interval summary
-        else if (preference.equals(mTrackingUpdateInterval)) {
+        else*/ if (preference.equals(mTrackingUpdateInterval)) {
             String trackingSummary = getResources().getString(
                     R.string.prefs_trackmydevice_interval_summary);
             trackingSummary = String.format(trackingSummary,