summaryrefslogtreecommitdiffstats
path: root/src/com/android/calendar/CalendarSettingsActivity.java
diff options
context:
space:
mode:
authorErik <roboerik@android.com>2010-09-15 18:59:04 -0700
committerErik <roboerik@android.com>2010-09-21 13:47:09 -0700
commit6b858fc6f8afad95a075595016c5c22547924886 (patch)
tree5d99912b5667c5ca5800cb060d2f1f4e34de1c36 /src/com/android/calendar/CalendarSettingsActivity.java
parent57e0bf4285419d9aca9d1949fd46889f852c0d09 (diff)
downloadandroid_packages_apps_Calendar-6b858fc6f8afad95a075595016c5c22547924886.tar.gz
android_packages_apps_Calendar-6b858fc6f8afad95a075595016c5c22547924886.tar.bz2
android_packages_apps_Calendar-6b858fc6f8afad95a075595016c5c22547924886.zip
Moves per calendar sync settings into Settings
This makes calendar sync settings show up on a per account basis in the Calendar Settings activity and also displays a message to the user if the account is not being auto-synced. Change-Id: I2326922f518ae3bc8d1db70ae5c1d5b07b251ca3
Diffstat (limited to 'src/com/android/calendar/CalendarSettingsActivity.java')
-rw-r--r--src/com/android/calendar/CalendarSettingsActivity.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/com/android/calendar/CalendarSettingsActivity.java b/src/com/android/calendar/CalendarSettingsActivity.java
index 8851bf24..24ad2931 100644
--- a/src/com/android/calendar/CalendarSettingsActivity.java
+++ b/src/com/android/calendar/CalendarSettingsActivity.java
@@ -16,7 +16,13 @@
package com.android.calendar;
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.content.ContentResolver;
+import android.os.Bundle;
import android.preference.PreferenceActivity;
+import android.provider.Calendar;
+import android.provider.Calendar.Calendars;
import java.util.List;
@@ -24,5 +30,23 @@ public class CalendarSettingsActivity extends PreferenceActivity {
@Override
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.calendar_settings_headers, target);
+ Account[] accounts = AccountManager.get(this).getAccounts();
+ if (accounts != null) {
+ int length = accounts.length;
+ for (int i = 0; i < length; i++) {
+ Account acct = accounts[i];
+ if (ContentResolver.getIsSyncable(acct, Calendar.AUTHORITY) > 0) {
+ Header accountHeader = new Header();
+ accountHeader.title = acct.name;
+ accountHeader.fragment =
+ "com.android.calendar.selectcalendars.SelectCalendarsSyncFragment";
+ Bundle args = new Bundle();
+ args.putString(Calendars.ACCOUNT_NAME, acct.name);
+ args.putString(Calendars.ACCOUNT_TYPE, acct.type);
+ accountHeader.fragmentArguments = args;
+ target.add(1, accountHeader);
+ }
+ }
+ }
}
-} \ No newline at end of file
+}