Loading README.md +1 −1 Original line number Diff line number Diff line ### mebitek Etar Fork * #### current features - view task on day, week and month view - view task on day, week, month and agenda view  # Etar Calendar Loading app/src/main/java/com/android/calendar/AllInOneActivity.java +43 −1 Original line number Diff line number Diff line Loading @@ -214,6 +214,10 @@ public class AllInOneActivity extends AbstractCalendarActivity implements EventH private MenuItem mSearchMenu; private MenuItem mControlsMenu; private MenuItem mViewSettings; private MenuItem mViewAgendaEvents; private MenuItem mViewAgendaTasks; private Menu mOptionsMenu; private QueryHandler mHandler; private final Runnable mHomeTimeUpdater = new Runnable() { Loading Loading @@ -930,6 +934,18 @@ public class AllInOneActivity extends AbstractCalendarActivity implements EventH } } protected void updateViewAgentaSwitchVisibility() { boolean viewAgendaSwitchVisible = mController.getViewType() == ViewType.AGENDA; if (mViewAgendaTasks != null) { mViewAgendaTasks.setVisible(viewAgendaSwitchVisible); mViewAgendaTasks.setEnabled(viewAgendaSwitchVisible); } if (mViewAgendaEvents != null) { mViewAgendaEvents.setVisible(viewAgendaSwitchVisible && !mViewAgendaTasks.isVisible()); mViewAgendaEvents.setEnabled(viewAgendaSwitchVisible); } } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); Loading Loading @@ -974,6 +990,10 @@ public class AllInOneActivity extends AbstractCalendarActivity implements EventH mViewSettings = menu.findItem(R.id.action_view_settings); updateViewSettingsVisiblility(); mViewAgendaEvents = menu.findItem(R.id.action_view_agenda_events); mViewAgendaTasks = menu.findItem(R.id.action_view_agenda_tasks); updateViewAgentaSwitchVisibility(); MenuItem menuItem = menu.findItem(R.id.action_today); Loading Loading @@ -1072,6 +1092,27 @@ public class AllInOneActivity extends AbstractCalendarActivity implements EventH startActivity(intent); } else if (itemId == R.id.action_info) { checkAndRequestDisablingDoze(); } else if (itemId == R.id.action_view_agenda_tasks || itemId == R.id.action_view_agenda_events) { FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); long millis = Utils.timeFromIntentInMillis(getIntent()); AgendaFragment frag = new AgendaFragment(millis, false); if (itemId == R.id.action_view_agenda_tasks) { frag.isTask = true; mOptionsMenu.findItem(R.id.action_view_agenda_events).setVisible(true); } else if (itemId == R.id.action_view_agenda_events) { frag.isTask = false; mOptionsMenu.findItem(R.id.action_view_agenda_tasks).setVisible(true); } item.setVisible(false); transaction.replace(R.id.main_pane, frag); mController.registerEventHandler(R.id.main_pane, (EventHandler) frag); transaction.commit(); return false; } else { return mExtensions.handleItemSelected(item, this); } Loading Loading @@ -1446,6 +1487,7 @@ public class AllInOneActivity extends AbstractCalendarActivity implements EventH } } updateViewSettingsVisiblility(); updateViewAgentaSwitchVisibility(); displayTime = event.selectedTime != null ? event.selectedTime.toMillis() : event.startTime.toMillis(); if (!mIsTabletConfig) { Loading app/src/main/java/com/android/calendar/agenda/AgendaAdapter.java +7 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import com.android.calendar.DynamicTheme; import com.android.calendar.Utils; import com.android.calendarcommon2.Time; import java.util.Calendar; import java.util.Formatter; import java.util.Locale; import java.util.TimeZone; Loading Loading @@ -178,6 +179,12 @@ public class AgendaAdapter extends ResourceCursorAdapter { // When long begin = cursor.getLong(AgendaWindowAdapter.INDEX_BEGIN); long end = cursor.getLong(AgendaWindowAdapter.INDEX_END); if (begin == 0) { Calendar instance = Calendar.getInstance(); instance.setTimeInMillis(end); instance.add(Calendar.MINUTE, -30); begin = instance.getTimeInMillis(); } String eventTz = cursor.getString(AgendaWindowAdapter.INDEX_TIME_ZONE); int flags = 0; String whenString; Loading app/src/main/java/com/android/calendar/agenda/AgendaByDayAdapter.java +19 −12 Original line number Diff line number Diff line Loading @@ -32,11 +32,7 @@ import com.android.calendar.Utils; import com.android.calendar.agenda.AgendaWindowAdapter.DayAdapterInfo; import com.android.calendarcommon2.Time; import java.util.ArrayList; import java.util.Formatter; import java.util.Iterator; import java.util.LinkedList; import java.util.Locale; import java.util.*; import ws.xsoh.etar.R; Loading Loading @@ -299,10 +295,25 @@ public class AgendaByDayAdapter extends BaseAdapter { LinkedList<MultipleDayInfo> multipleDayList = new LinkedList<MultipleDayInfo>(); for (int position = 0; cursor.moveToNext(); position++) { int startDay = cursor.getInt(AgendaWindowAdapter.INDEX_START_DAY); int startDay; int endDay; long startTime; long endTime; if (dayAdapterInfo.isTask) { long endMills = cursor.getLong(AgendaWindowAdapter.INDEX_END); startDay = Time.getJulianDay(endMills, new Time().getGmtOffset()); endDay = Time.getJulianDay(endMills, new Time().getGmtOffset()); endTime = endMills; Calendar instance = Calendar.getInstance(); instance.add(Calendar.MINUTE, -30); startTime = instance.getTimeInMillis(); } else { startDay = cursor.getInt(AgendaWindowAdapter.INDEX_START_DAY); endDay = cursor.getInt(AgendaWindowAdapter.INDEX_END_DAY); startTime = cursor.getLong(AgendaWindowAdapter.INDEX_BEGIN); endTime = cursor.getLong(AgendaWindowAdapter.INDEX_END); } long id = cursor.getLong(AgendaWindowAdapter.INDEX_EVENT_ID); long startTime = cursor.getLong(AgendaWindowAdapter.INDEX_BEGIN); long endTime = cursor.getLong(AgendaWindowAdapter.INDEX_END); long instanceId = cursor.getLong(AgendaWindowAdapter.INDEX_INSTANCE_ID); boolean allDay = cursor.getInt(AgendaWindowAdapter.INDEX_ALL_DAY) != 0; if (allDay) { Loading Loading @@ -365,10 +376,6 @@ public class AgendaByDayAdapter extends BaseAdapter { prevStartDay = startDay; } // If this event spans multiple days, then add it to the multipleDay // list. int endDay = cursor.getInt(AgendaWindowAdapter.INDEX_END_DAY); // Skip over the days outside of the adapter's range endDay = Math.min(endDay, dayAdapterInfo.end); if (endDay > startDay) { Loading app/src/main/java/com/android/calendar/agenda/AgendaFragment.java +12 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,8 @@ public class AgendaFragment extends Fragment implements CalendarController.Event private long mLastHandledEventId = -1; private Time mLastHandledEventTime = null; public boolean isTask = false; public AgendaFragment() { this(0, false); } Loading Loading @@ -166,10 +168,12 @@ public class AgendaFragment extends Fragment implements CalendarController.Event lv.setAdapter(a); if (a instanceof HeaderViewListAdapter) { mAdapter = (AgendaWindowAdapter) ((HeaderViewListAdapter)a).getWrappedAdapter(); mAdapter.isTask = isTask; lv.setIndexer(mAdapter); lv.setHeaderHeightListener(mAdapter); } else if (a instanceof AgendaWindowAdapter) { mAdapter = (AgendaWindowAdapter)a; mAdapter.isTask = isTask; lv.setIndexer(mAdapter); lv.setHeaderHeightListener(mAdapter); } else { Loading Loading @@ -214,6 +218,13 @@ public class AgendaFragment extends Fragment implements CalendarController.Event getActivity()); boolean hideDeclined = prefs.getBoolean( GeneralPreferences.KEY_HIDE_DECLINED, false); AgendaWindowAdapter.AgendaItem item = mAgendaListView.getFirstVisibleAgendaItem(); if (item!=null && item.isTask) { Time t = new Time(mTimeZone); t.set(item.end); mController.setTime(item.end); mTime.set(t.toMillis()); } mAgendaListView.setHideDeclinedEvents(hideDeclined); if (mLastHandledEventId != -1) { Loading Loading @@ -457,6 +468,7 @@ public class AgendaFragment extends Fragment implements CalendarController.Event Time t = new Time(mTimeZone); t.setJulianDay(mJulianDayOnTop); mController.setTime(t.toMillis()); mTime.set(t.toMillis()); // Cannot sent a message that eventually may change the layout of the views // so instead post a runnable that will run when the layout is done if (!mIsTabletConfig) { Loading Loading
README.md +1 −1 Original line number Diff line number Diff line ### mebitek Etar Fork * #### current features - view task on day, week and month view - view task on day, week, month and agenda view  # Etar Calendar Loading
app/src/main/java/com/android/calendar/AllInOneActivity.java +43 −1 Original line number Diff line number Diff line Loading @@ -214,6 +214,10 @@ public class AllInOneActivity extends AbstractCalendarActivity implements EventH private MenuItem mSearchMenu; private MenuItem mControlsMenu; private MenuItem mViewSettings; private MenuItem mViewAgendaEvents; private MenuItem mViewAgendaTasks; private Menu mOptionsMenu; private QueryHandler mHandler; private final Runnable mHomeTimeUpdater = new Runnable() { Loading Loading @@ -930,6 +934,18 @@ public class AllInOneActivity extends AbstractCalendarActivity implements EventH } } protected void updateViewAgentaSwitchVisibility() { boolean viewAgendaSwitchVisible = mController.getViewType() == ViewType.AGENDA; if (mViewAgendaTasks != null) { mViewAgendaTasks.setVisible(viewAgendaSwitchVisible); mViewAgendaTasks.setEnabled(viewAgendaSwitchVisible); } if (mViewAgendaEvents != null) { mViewAgendaEvents.setVisible(viewAgendaSwitchVisible && !mViewAgendaTasks.isVisible()); mViewAgendaEvents.setEnabled(viewAgendaSwitchVisible); } } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); Loading Loading @@ -974,6 +990,10 @@ public class AllInOneActivity extends AbstractCalendarActivity implements EventH mViewSettings = menu.findItem(R.id.action_view_settings); updateViewSettingsVisiblility(); mViewAgendaEvents = menu.findItem(R.id.action_view_agenda_events); mViewAgendaTasks = menu.findItem(R.id.action_view_agenda_tasks); updateViewAgentaSwitchVisibility(); MenuItem menuItem = menu.findItem(R.id.action_today); Loading Loading @@ -1072,6 +1092,27 @@ public class AllInOneActivity extends AbstractCalendarActivity implements EventH startActivity(intent); } else if (itemId == R.id.action_info) { checkAndRequestDisablingDoze(); } else if (itemId == R.id.action_view_agenda_tasks || itemId == R.id.action_view_agenda_events) { FragmentManager manager = getFragmentManager(); FragmentTransaction transaction = manager.beginTransaction(); long millis = Utils.timeFromIntentInMillis(getIntent()); AgendaFragment frag = new AgendaFragment(millis, false); if (itemId == R.id.action_view_agenda_tasks) { frag.isTask = true; mOptionsMenu.findItem(R.id.action_view_agenda_events).setVisible(true); } else if (itemId == R.id.action_view_agenda_events) { frag.isTask = false; mOptionsMenu.findItem(R.id.action_view_agenda_tasks).setVisible(true); } item.setVisible(false); transaction.replace(R.id.main_pane, frag); mController.registerEventHandler(R.id.main_pane, (EventHandler) frag); transaction.commit(); return false; } else { return mExtensions.handleItemSelected(item, this); } Loading Loading @@ -1446,6 +1487,7 @@ public class AllInOneActivity extends AbstractCalendarActivity implements EventH } } updateViewSettingsVisiblility(); updateViewAgentaSwitchVisibility(); displayTime = event.selectedTime != null ? event.selectedTime.toMillis() : event.startTime.toMillis(); if (!mIsTabletConfig) { Loading
app/src/main/java/com/android/calendar/agenda/AgendaAdapter.java +7 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import com.android.calendar.DynamicTheme; import com.android.calendar.Utils; import com.android.calendarcommon2.Time; import java.util.Calendar; import java.util.Formatter; import java.util.Locale; import java.util.TimeZone; Loading Loading @@ -178,6 +179,12 @@ public class AgendaAdapter extends ResourceCursorAdapter { // When long begin = cursor.getLong(AgendaWindowAdapter.INDEX_BEGIN); long end = cursor.getLong(AgendaWindowAdapter.INDEX_END); if (begin == 0) { Calendar instance = Calendar.getInstance(); instance.setTimeInMillis(end); instance.add(Calendar.MINUTE, -30); begin = instance.getTimeInMillis(); } String eventTz = cursor.getString(AgendaWindowAdapter.INDEX_TIME_ZONE); int flags = 0; String whenString; Loading
app/src/main/java/com/android/calendar/agenda/AgendaByDayAdapter.java +19 −12 Original line number Diff line number Diff line Loading @@ -32,11 +32,7 @@ import com.android.calendar.Utils; import com.android.calendar.agenda.AgendaWindowAdapter.DayAdapterInfo; import com.android.calendarcommon2.Time; import java.util.ArrayList; import java.util.Formatter; import java.util.Iterator; import java.util.LinkedList; import java.util.Locale; import java.util.*; import ws.xsoh.etar.R; Loading Loading @@ -299,10 +295,25 @@ public class AgendaByDayAdapter extends BaseAdapter { LinkedList<MultipleDayInfo> multipleDayList = new LinkedList<MultipleDayInfo>(); for (int position = 0; cursor.moveToNext(); position++) { int startDay = cursor.getInt(AgendaWindowAdapter.INDEX_START_DAY); int startDay; int endDay; long startTime; long endTime; if (dayAdapterInfo.isTask) { long endMills = cursor.getLong(AgendaWindowAdapter.INDEX_END); startDay = Time.getJulianDay(endMills, new Time().getGmtOffset()); endDay = Time.getJulianDay(endMills, new Time().getGmtOffset()); endTime = endMills; Calendar instance = Calendar.getInstance(); instance.add(Calendar.MINUTE, -30); startTime = instance.getTimeInMillis(); } else { startDay = cursor.getInt(AgendaWindowAdapter.INDEX_START_DAY); endDay = cursor.getInt(AgendaWindowAdapter.INDEX_END_DAY); startTime = cursor.getLong(AgendaWindowAdapter.INDEX_BEGIN); endTime = cursor.getLong(AgendaWindowAdapter.INDEX_END); } long id = cursor.getLong(AgendaWindowAdapter.INDEX_EVENT_ID); long startTime = cursor.getLong(AgendaWindowAdapter.INDEX_BEGIN); long endTime = cursor.getLong(AgendaWindowAdapter.INDEX_END); long instanceId = cursor.getLong(AgendaWindowAdapter.INDEX_INSTANCE_ID); boolean allDay = cursor.getInt(AgendaWindowAdapter.INDEX_ALL_DAY) != 0; if (allDay) { Loading Loading @@ -365,10 +376,6 @@ public class AgendaByDayAdapter extends BaseAdapter { prevStartDay = startDay; } // If this event spans multiple days, then add it to the multipleDay // list. int endDay = cursor.getInt(AgendaWindowAdapter.INDEX_END_DAY); // Skip over the days outside of the adapter's range endDay = Math.min(endDay, dayAdapterInfo.end); if (endDay > startDay) { Loading
app/src/main/java/com/android/calendar/agenda/AgendaFragment.java +12 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,8 @@ public class AgendaFragment extends Fragment implements CalendarController.Event private long mLastHandledEventId = -1; private Time mLastHandledEventTime = null; public boolean isTask = false; public AgendaFragment() { this(0, false); } Loading Loading @@ -166,10 +168,12 @@ public class AgendaFragment extends Fragment implements CalendarController.Event lv.setAdapter(a); if (a instanceof HeaderViewListAdapter) { mAdapter = (AgendaWindowAdapter) ((HeaderViewListAdapter)a).getWrappedAdapter(); mAdapter.isTask = isTask; lv.setIndexer(mAdapter); lv.setHeaderHeightListener(mAdapter); } else if (a instanceof AgendaWindowAdapter) { mAdapter = (AgendaWindowAdapter)a; mAdapter.isTask = isTask; lv.setIndexer(mAdapter); lv.setHeaderHeightListener(mAdapter); } else { Loading Loading @@ -214,6 +218,13 @@ public class AgendaFragment extends Fragment implements CalendarController.Event getActivity()); boolean hideDeclined = prefs.getBoolean( GeneralPreferences.KEY_HIDE_DECLINED, false); AgendaWindowAdapter.AgendaItem item = mAgendaListView.getFirstVisibleAgendaItem(); if (item!=null && item.isTask) { Time t = new Time(mTimeZone); t.set(item.end); mController.setTime(item.end); mTime.set(t.toMillis()); } mAgendaListView.setHideDeclinedEvents(hideDeclined); if (mLastHandledEventId != -1) { Loading Loading @@ -457,6 +468,7 @@ public class AgendaFragment extends Fragment implements CalendarController.Event Time t = new Time(mTimeZone); t.setJulianDay(mJulianDayOnTop); mController.setTime(t.toMillis()); mTime.set(t.toMillis()); // Cannot sent a message that eventually may change the layout of the views // so instead post a runnable that will run when the layout is done if (!mIsTabletConfig) { Loading