diff options
Diffstat (limited to 'src/com/android/settings/accounts/SyncSettings.java')
-rw-r--r-- | src/com/android/settings/accounts/SyncSettings.java | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/src/com/android/settings/accounts/SyncSettings.java b/src/com/android/settings/accounts/SyncSettings.java deleted file mode 100644 index 3248113..0000000 --- a/src/com/android/settings/accounts/SyncSettings.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.accounts; - -import android.accounts.Account; -import android.accounts.AccountManager; -import android.accounts.OnAccountsUpdateListener; -import android.app.Activity; -import android.app.ActivityManager; -import android.content.ContentResolver; -import android.content.Intent; -import android.graphics.drawable.Drawable; -import android.os.Bundle; -import android.preference.CheckBoxPreference; -import android.preference.Preference; -import android.preference.Preference.OnPreferenceChangeListener; -import android.preference.PreferenceScreen; -import android.util.Log; - -import com.android.settings.AccountPreference; -import com.android.settings.DialogCreatable; -import com.android.settings.R; - -import java.util.ArrayList; - -public class SyncSettings extends AccountPreferenceBase - implements OnAccountsUpdateListener, DialogCreatable { - - private static final String KEY_SYNC_SWITCH = "sync_switch"; - - private String[] mAuthorities; - - private SettingsDialogFragment mDialogFragment; - private CheckBoxPreference mAutoSyncPreference; - - @Override - public void onCreate(Bundle icicle) { - super.onCreate(icicle); - - addPreferencesFromResource(R.xml.sync_settings); - mAutoSyncPreference = - (CheckBoxPreference) getPreferenceScreen().findPreference(KEY_SYNC_SWITCH); - mAutoSyncPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - if (ActivityManager.isUserAMonkey()) { - Log.d("SyncSettings", "ignoring monkey's attempt to flip sync state"); - } else { - ContentResolver.setMasterSyncAutomatically((Boolean) newValue); - } - return true; - } - }); - - setHasOptionsMenu(true); - } - - @Override - public void onStart() { - super.onStart(); - Activity activity = getActivity(); - AccountManager.get(activity).addOnAccountsUpdatedListener(this, null, true); - } - - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - - final Activity activity = getActivity(); - mAutoSyncPreference.setChecked(ContentResolver.getMasterSyncAutomatically()); - mAuthorities = activity.getIntent().getStringArrayExtra(AUTHORITIES_FILTER_KEY); - - updateAuthDescriptions(); - } - - @Override - public void onStop() { - super.onStop(); - final Activity activity = getActivity(); - AccountManager.get(activity).removeOnAccountsUpdatedListener(this); - } - - @Override - public boolean onPreferenceTreeClick(PreferenceScreen preferences, Preference preference) { - if (preference instanceof AccountPreference) { - startAccountSettings((AccountPreference) preference); - } else { - return false; - } - return true; - } - - private void startAccountSettings(AccountPreference acctPref) { - Intent intent = new Intent("android.settings.ACCOUNT_SYNC_SETTINGS"); - intent.putExtra(AccountSyncSettings.ACCOUNT_KEY, acctPref.getAccount()); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(intent); - finish(); - } - - @Override - public void showDialog(int dialogId) { - if (mDialogFragment != null) { - Log.e(TAG, "Old dialog fragment not null!"); - } - mDialogFragment = new SettingsDialogFragment(this, dialogId); - mDialogFragment.show(getActivity().getFragmentManager(), Integer.toString(dialogId)); - } - - private void removeAccountPreferences() { - PreferenceScreen parent = getPreferenceScreen(); - for (int i = 0; i < parent.getPreferenceCount(); ) { - if (parent.getPreference(i) instanceof AccountPreference) { - parent.removePreference(parent.getPreference(i)); - } else { - i++; - } - } - } - - @Override - public void onAccountsUpdated(Account[] accounts) { - if (getActivity() == null) return; - - removeAccountPreferences(); - for (int i = 0, n = accounts.length; i < n; i++) { - final Account account = accounts[i]; - final ArrayList<String> auths = getAuthoritiesForAccountType(account.type); - - boolean showAccount = true; - if (mAuthorities != null && auths != null) { - showAccount = false; - for (String requestedAuthority : mAuthorities) { - if (auths.contains(requestedAuthority)) { - showAccount = true; - break; - } - } - } - - if (showAccount) { - final Drawable icon = getDrawableForType(account.type); - final AccountPreference preference = - new AccountPreference(getActivity(), account, icon, auths, true); - getPreferenceScreen().addPreference(preference); - preference.setSummary(getLabelForType(account.type)); - } - } - onSyncStateUpdated(); - } - - @Override - protected void onAuthDescriptionsUpdated() { - // Update account icons for all account preference items - for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) { - Preference pref = getPreferenceScreen().getPreference(i); - if (pref instanceof AccountPreference) { - AccountPreference accPref = (AccountPreference) - getPreferenceScreen().getPreference(i); - accPref.setIcon(getDrawableForType(accPref.getAccount().type)); - accPref.setSummary(getLabelForType(accPref.getAccount().type)); - } - } - } -} |