Fix for bug #3325868 (add accounts should not use the settings activity as part of its flow)

- suppress non needed AccountSyncSettingsInAddAccount class

Change-Id: I27ba9ea2d45a5e2c9ec1d2ed6033f6d68e100a3f
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 3a76a9d..91353bc 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1050,20 +1050,6 @@
                 android:resource="@id/sync_settings" />
         </activity>
 
-        <activity android:name="Settings$AccountSyncSettingsInAddAccountActivity"
-            android:label="@string/account_sync_settings_title"
-            android:theme="@android:style/Theme.Holo">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <action android:name="android.settings.ACCOUNT_SYNC_SETTINGS_ADD_ACCOUNT" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.accounts.AccountSyncSettingsInAddAccount" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/sync_settings" />
-        </activity>
-
         <activity android:name="com.android.settings.accounts.AddAccountSettings"
             android:theme="@android:style/Theme.Translucent.NoTitleBar"
             android:label="@string/header_add_an_account">
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java
index b782ed8..298f1b6 100644
--- a/src/com/android/settings/accounts/AccountSyncSettings.java
+++ b/src/com/android/settings/accounts/AccountSyncSettings.java
@@ -81,8 +81,6 @@
     private ArrayList<SyncStateCheckBoxPreference> mCheckBoxes =
                 new ArrayList<SyncStateCheckBoxPreference>();
     private ArrayList<String> mInvisibleAdapters = Lists.newArrayList();
-    // Tell if we will use the current SyncManager data or just the User input
-    protected boolean mUseSyncManagerFeedsState = true;
 
     @Override
     public Dialog onCreateDialog(final int id) {
@@ -264,7 +262,7 @@
 
     @Override
     public boolean onPreferenceTreeClick(PreferenceScreen preferences, Preference preference) {
-        if (preference instanceof SyncStateCheckBoxPreference && mUseSyncManagerFeedsState) {
+        if (preference instanceof SyncStateCheckBoxPreference) {
             SyncStateCheckBoxPreference syncPref = (SyncStateCheckBoxPreference) preference;
             String authority = syncPref.getAuthority();
             Account account = syncPref.getAccount();
@@ -345,10 +343,10 @@
     @Override
     protected void onSyncStateUpdated() {
         if (!isResumed()) return;
-        setFeedsState(mUseSyncManagerFeedsState);
+        setFeedsState();
     }
 
-    private void setFeedsState(boolean useSyncManager) {
+    private void setFeedsState() {
         // iterate over all the preferences, setting the state properly for each
         Date date = new Date();
         List<SyncInfo> currentSyncs = ContentResolver.getCurrentSyncs();
@@ -367,53 +365,49 @@
             String authority = syncPref.getAuthority();
             Account account = syncPref.getAccount();
 
-            if (useSyncManager) {
-                SyncStatusInfo status = ContentResolver.getSyncStatus(account, authority);
-                boolean syncEnabled = ContentResolver.getSyncAutomatically(account, authority);
-                boolean authorityIsPending = status == null ? false : status.pending;
-                boolean initialSync = status == null ? false : status.initialize;
+            SyncStatusInfo status = ContentResolver.getSyncStatus(account, authority);
+            boolean syncEnabled = ContentResolver.getSyncAutomatically(account, authority);
+            boolean authorityIsPending = status == null ? false : status.pending;
+            boolean initialSync = status == null ? false : status.initialize;
 
-                boolean activelySyncing = isSyncing(currentSyncs, account, authority);
-                boolean lastSyncFailed = status != null
-                        && status.lastFailureTime != 0
-                        && status.getLastFailureMesgAsInt(0)
-                           != ContentResolver.SYNC_ERROR_SYNC_ALREADY_IN_PROGRESS;
-                if (!syncEnabled) lastSyncFailed = false;
-                if (lastSyncFailed && !activelySyncing && !authorityIsPending) {
-                    syncIsFailing = true;
-                }
-                if (Log.isLoggable(TAG, Log.VERBOSE)) {
-                    Log.d(TAG, "Update sync status: " + account + " " + authority +
-                            " active = " + activelySyncing + " pend =" +  authorityIsPending);
-                }
-
-                final long successEndTime = (status == null) ? 0 : status.lastSuccessTime;
-                if (successEndTime != 0) {
-                    date.setTime(successEndTime);
-                    final String timeString = mDateFormat.format(date) + " "
-                            + mTimeFormat.format(date);
-                    syncPref.setSummary(timeString);
-                } else {
-                    syncPref.setSummary("");
-                }
-                int syncState = ContentResolver.getIsSyncable(account, authority);
-
-                syncPref.setActive(activelySyncing && (syncState >= 0) &&
-                        !initialSync);
-                syncPref.setPending(authorityIsPending && (syncState >= 0) &&
-                        !initialSync);
-
-                syncPref.setFailed(lastSyncFailed);
-                ConnectivityManager connManager =
-                    (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
-                final boolean masterSyncAutomatically = ContentResolver.getMasterSyncAutomatically();
-                final boolean backgroundDataEnabled = connManager.getBackgroundDataSetting();
-                final boolean oneTimeSyncMode = !masterSyncAutomatically || !backgroundDataEnabled;
-                syncPref.setOneTimeSyncMode(oneTimeSyncMode);
-                syncPref.setChecked(oneTimeSyncMode || syncEnabled);
-            } else {
-                syncPref.setChecked(true);
+            boolean activelySyncing = isSyncing(currentSyncs, account, authority);
+            boolean lastSyncFailed = status != null
+                    && status.lastFailureTime != 0
+                    && status.getLastFailureMesgAsInt(0)
+                       != ContentResolver.SYNC_ERROR_SYNC_ALREADY_IN_PROGRESS;
+            if (!syncEnabled) lastSyncFailed = false;
+            if (lastSyncFailed && !activelySyncing && !authorityIsPending) {
+                syncIsFailing = true;
             }
+            if (Log.isLoggable(TAG, Log.VERBOSE)) {
+                Log.d(TAG, "Update sync status: " + account + " " + authority +
+                        " active = " + activelySyncing + " pend =" +  authorityIsPending);
+            }
+
+            final long successEndTime = (status == null) ? 0 : status.lastSuccessTime;
+            if (successEndTime != 0) {
+                date.setTime(successEndTime);
+                final String timeString = mDateFormat.format(date) + " "
+                        + mTimeFormat.format(date);
+                syncPref.setSummary(timeString);
+            } else {
+                syncPref.setSummary("");
+            }
+            int syncState = ContentResolver.getIsSyncable(account, authority);
+
+            syncPref.setActive(activelySyncing && (syncState >= 0) &&
+                    !initialSync);
+            syncPref.setPending(authorityIsPending && (syncState >= 0) &&
+                    !initialSync);
+
+            syncPref.setFailed(lastSyncFailed);
+            ConnectivityManager connManager =
+                (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
+            final boolean masterSyncAutomatically = ContentResolver.getMasterSyncAutomatically();
+            final boolean backgroundDataEnabled = connManager.getBackgroundDataSetting();
+            final boolean oneTimeSyncMode = !masterSyncAutomatically || !backgroundDataEnabled;
+            syncPref.setOneTimeSyncMode(oneTimeSyncMode);
+            syncPref.setChecked(oneTimeSyncMode || syncEnabled);
         }
         mErrorInfoView.setVisibility(syncIsFailing ? View.VISIBLE : View.GONE);
         getActivity().invalidateOptionsMenu();
diff --git a/src/com/android/settings/accounts/AccountSyncSettingsInAddAccount.java b/src/com/android/settings/accounts/AccountSyncSettingsInAddAccount.java
deleted file mode 100644
index 5b3af83..0000000
--- a/src/com/android/settings/accounts/AccountSyncSettingsInAddAccount.java
+++ /dev/null
@@ -1,60 +0,0 @@
-
-package com.android.settings.accounts;
-
-import android.accounts.Account;
-import android.content.ContentResolver;
-import android.preference.Preference;
-import com.android.settings.R;
-
-import android.view.Menu;
-import android.view.View;
-import android.view.View.OnClickListener;
-
-/**
- * This is AccountSyncSettings with 'remove account' button always gone and 
- * a wizard-like button bar to complete the activity.
- */
-public class AccountSyncSettingsInAddAccount extends AccountSyncSettings 
-        implements OnClickListener {
-    private View mFinishArea;
-    private View mFinishButton;
-
-    @Override
-    protected void initializeUi(final View rootView) {
-        super.initializeUi(rootView);
-
-        mFinishArea = (View) rootView.findViewById(R.id.finish_button_area);
-        mFinishArea.setVisibility(View.VISIBLE);
-        mFinishButton = (View) rootView.findViewById(R.id.finish_button);
-        mFinishButton.setOnClickListener(this);
-
-        mUseSyncManagerFeedsState = false;
-    }
-
-    @Override
-    public void onPrepareOptionsMenu(Menu menu) {
-        super.onPrepareOptionsMenu(menu);
-        // Remove the "remove account" menu item
-        menu.findItem(MENU_REMOVE_ACCOUNT_ID).setVisible(false);
-    }
-
-    public void onClick(View v) {
-        applySyncSettingsToSyncManager();
-        finish();
-    }
-
-    private void applySyncSettingsToSyncManager() {
-        for (int i = 0, count = getPreferenceScreen().getPreferenceCount(); i < count; i++) {
-            Preference pref = getPreferenceScreen().getPreference(i);
-            if (! (pref instanceof SyncStateCheckBoxPreference)) {
-                continue;
-            }
-            SyncStateCheckBoxPreference syncPref = (SyncStateCheckBoxPreference) pref;
-
-            String authority = syncPref.getAuthority();
-            Account account = syncPref.getAccount();
-
-            ContentResolver.setSyncAutomatically(account, authority, syncPref.isChecked());
-        }
-    }
-}