summaryrefslogtreecommitdiff
path: root/src/com/android/calendar/DayFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/calendar/DayFragment.java')
-rw-r--r--src/com/android/calendar/DayFragment.java256
1 files changed, 0 insertions, 256 deletions
diff --git a/src/com/android/calendar/DayFragment.java b/src/com/android/calendar/DayFragment.java
deleted file mode 100644
index a9fb39ed..00000000
--- a/src/com/android/calendar/DayFragment.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (C) 2010 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.calendar;
-
-import com.android.calendar.CalendarController.EventInfo;
-import com.android.calendar.CalendarController.EventType;
-
-import android.app.Fragment;
-import android.content.Context;
-import android.os.Bundle;
-import android.text.format.Time;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.ViewGroup.LayoutParams;
-import android.view.animation.Animation;
-import android.view.animation.AnimationUtils;
-import android.widget.ProgressBar;
-import android.widget.ViewSwitcher;
-import android.widget.ViewSwitcher.ViewFactory;
-
-/**
- * This is the base class for Day and Week Activities.
- */
-public class DayFragment extends Fragment implements CalendarController.EventHandler, ViewFactory {
- /**
- * The view id used for all the views we create. It's OK to have all child
- * views have the same ID. This ID is used to pick which view receives
- * focus when a view hierarchy is saved / restore
- */
- private static final int VIEW_ID = 1;
-
- protected static final String BUNDLE_KEY_RESTORE_TIME = "key_restore_time";
-
- protected ProgressBar mProgressBar;
- protected ViewSwitcher mViewSwitcher;
- protected Animation mInAnimationForward;
- protected Animation mOutAnimationForward;
- protected Animation mInAnimationBackward;
- protected Animation mOutAnimationBackward;
- EventLoader mEventLoader;
-
- Time mSelectedDay = new Time();
-
- private final Runnable mTZUpdater = new Runnable() {
- @Override
- public void run() {
- if (!DayFragment.this.isAdded()) {
- return;
- }
- String tz = Utils.getTimeZone(getActivity(), mTZUpdater);
- mSelectedDay.timezone = tz;
- mSelectedDay.normalize(true);
- }
- };
-
- private int mNumDays;
-
- public DayFragment() {
- mSelectedDay.setToNow();
- }
-
- public DayFragment(long timeMillis, int numOfDays) {
- mNumDays = numOfDays;
- if (timeMillis == 0) {
- mSelectedDay.setToNow();
- } else {
- mSelectedDay.set(timeMillis);
- }
- }
-
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
-
- Context context = getActivity();
-
- mInAnimationForward = AnimationUtils.loadAnimation(context, R.anim.slide_left_in);
- mOutAnimationForward = AnimationUtils.loadAnimation(context, R.anim.slide_left_out);
- mInAnimationBackward = AnimationUtils.loadAnimation(context, R.anim.slide_right_in);
- mOutAnimationBackward = AnimationUtils.loadAnimation(context, R.anim.slide_right_out);
-
- mEventLoader = new EventLoader(context);
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View v = inflater.inflate(R.layout.day_activity, null);
-
- mViewSwitcher = (ViewSwitcher) v.findViewById(R.id.switcher);
- mViewSwitcher.setFactory(this);
- mViewSwitcher.getCurrentView().requestFocus();
- ((DayView) mViewSwitcher.getCurrentView()).updateTitle();
-
- return v;
- }
-
- public View makeView() {
- mTZUpdater.run();
- DayView view = new DayView(getActivity(), CalendarController
- .getInstance(getActivity()), mViewSwitcher, mEventLoader, mNumDays);
- view.setId(VIEW_ID);
- view.setLayoutParams(new ViewSwitcher.LayoutParams(
- LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
- view.setSelected(mSelectedDay, false, false);
- return view;
- }
-
- @Override
- public void onResume() {
- super.onResume();
- mEventLoader.startBackgroundThread();
- mTZUpdater.run();
- eventsChanged();
- DayView view = (DayView) mViewSwitcher.getCurrentView();
- view.handleOnResume();
- view.restartCurrentTimeUpdates();
-
- view = (DayView) mViewSwitcher.getNextView();
- view.handleOnResume();
- view.restartCurrentTimeUpdates();
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- }
-
- @Override
- public void onPause() {
- super.onPause();
- DayView view = (DayView) mViewSwitcher.getCurrentView();
- view.cleanup();
- view = (DayView) mViewSwitcher.getNextView();
- view.cleanup();
- mEventLoader.stopBackgroundThread();
-
- // Stop events cross-fade animation
- view.stopEventsAnimation();
- ((DayView) mViewSwitcher.getNextView()).stopEventsAnimation();
- }
-
- void startProgressSpinner() {
- // start the progress spinner
- mProgressBar.setVisibility(View.VISIBLE);
- }
-
- void stopProgressSpinner() {
- // stop the progress spinner
- mProgressBar.setVisibility(View.GONE);
- }
-
- private void goTo(Time goToTime, boolean ignoreTime, boolean animateToday) {
- if (mViewSwitcher == null) {
- // The view hasn't been set yet. Just save the time and use it later.
- mSelectedDay.set(goToTime);
- return;
- }
-
- DayView currentView = (DayView) mViewSwitcher.getCurrentView();
-
- // How does goTo time compared to what's already displaying?
- int diff = currentView.compareToVisibleTimeRange(goToTime);
-
- if (diff == 0) {
- // In visible range. No need to switch view
- currentView.setSelected(goToTime, ignoreTime, animateToday);
- } else {
- // Figure out which way to animate
- if (diff > 0) {
- mViewSwitcher.setInAnimation(mInAnimationForward);
- mViewSwitcher.setOutAnimation(mOutAnimationForward);
- } else {
- mViewSwitcher.setInAnimation(mInAnimationBackward);
- mViewSwitcher.setOutAnimation(mOutAnimationBackward);
- }
-
- DayView next = (DayView) mViewSwitcher.getNextView();
- if (ignoreTime) {
- next.setFirstVisibleHour(currentView.getFirstVisibleHour());
- }
-
- next.setSelected(goToTime, ignoreTime, animateToday);
- next.reloadEvents();
- mViewSwitcher.showNext();
- next.requestFocus();
- next.updateTitle();
- next.restartCurrentTimeUpdates();
- }
- }
-
- /**
- * Returns the selected time in milliseconds. The milliseconds are measured
- * in UTC milliseconds from the epoch and uniquely specifies any selectable
- * time.
- *
- * @return the selected time in milliseconds
- */
- public long getSelectedTimeInMillis() {
- if (mViewSwitcher == null) {
- return -1;
- }
- DayView view = (DayView) mViewSwitcher.getCurrentView();
- if (view == null) {
- return -1;
- }
- return view.getSelectedTimeInMillis();
- }
-
- public void eventsChanged() {
- if (mViewSwitcher == null) {
- return;
- }
- DayView view = (DayView) mViewSwitcher.getCurrentView();
- view.clearCachedEvents();
- view.reloadEvents();
-
- view = (DayView) mViewSwitcher.getNextView();
- view.clearCachedEvents();
- }
-
- public DayView getNextView() {
- return (DayView) mViewSwitcher.getNextView();
- }
-
- public long getSupportedEventTypes() {
- return EventType.GO_TO | EventType.EVENTS_CHANGED;
- }
-
- public void handleEvent(EventInfo msg) {
- if (msg.eventType == EventType.GO_TO) {
-// TODO support a range of time
-// TODO support event_id
-// TODO support select message
- goTo(msg.selectedTime, (msg.extraLong & CalendarController.EXTRA_GOTO_DATE) != 0,
- (msg.extraLong & CalendarController.EXTRA_GOTO_TODAY) != 0);
- } else if (msg.eventType == EventType.EVENTS_CHANGED) {
- eventsChanged();
- }
- }
-}