summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Chan <mchan@android.com>2009-09-28 16:50:46 -0700
committerMichael Chan <mchan@android.com>2009-09-28 17:02:53 -0700
commit79edc4680fcfb37cf73cc50220f16d77cc3aa718 (patch)
treeb283cf92e86ed58296c4cddf8cb008c52b07d77a
parentd6f9451be96d013cd640535cfc14dfc1585bb9b3 (diff)
downloadCalendar-79edc4680fcfb37cf73cc50220f16d77cc3aa718.tar.gz
b/2113463 Fixed Flickering of screen when we move from month view to day view and vice versa
Change-Id: I2f96578f2697225182f85c49efe499337151a039
-rw-r--r--res/layout/contact_item.xml2
-rw-r--r--src/com/android/calendar/AgendaActivity.java8
-rw-r--r--src/com/android/calendar/CalendarActivity.java21
-rw-r--r--src/com/android/calendar/MonthActivity.java22
-rw-r--r--src/com/android/calendar/MonthView.java4
-rw-r--r--src/com/android/calendar/Navigator.java3
-rw-r--r--src/com/android/calendar/WeekActivity.java2
7 files changed, 33 insertions, 29 deletions
diff --git a/res/layout/contact_item.xml b/res/layout/contact_item.xml
index 5aa76f60..b1b55b02 100644
--- a/res/layout/contact_item.xml
+++ b/res/layout/contact_item.xml
@@ -59,7 +59,7 @@
<View
android:id="@+id/separator"
android:layout_width="fill_parent"
- android:layout_height="1dip"
+ android:layout_height="1px"
android:layout_alignParentBottom="true"
android:background="@android:drawable/divider_horizontal_bright" />
diff --git a/src/com/android/calendar/AgendaActivity.java b/src/com/android/calendar/AgendaActivity.java
index 82ec55b4..b4140330 100644
--- a/src/com/android/calendar/AgendaActivity.java
+++ b/src/com/android/calendar/AgendaActivity.java
@@ -81,7 +81,7 @@ public class AgendaActivity extends Activity implements Navigator {
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
-
+
// Eliminate extra GCs during startup by setting the initial heap size to 4MB.
// TODO: We should restore the old heap size once the activity reaches the idle state
VMRuntime.getRuntime().setMinimumHeapSize(INITIAL_HEAP_SIZE);
@@ -127,7 +127,7 @@ public class AgendaActivity extends Activity implements Navigator {
long time = Utils.timeFromIntentInMillis(intent);
if (time > 0) {
mTime.set(time);
- goTo(mTime);
+ goTo(mTime, false);
}
}
@@ -216,10 +216,10 @@ public class AgendaActivity extends Activity implements Navigator {
public void goToToday() {
Time now = new Time();
now.set(System.currentTimeMillis());
- goTo(now);
+ goTo(now, true);
}
- public void goTo(Time time) {
+ public void goTo(Time time, boolean animate) {
mAgendaListView.goTo(time, false);
}
diff --git a/src/com/android/calendar/CalendarActivity.java b/src/com/android/calendar/CalendarActivity.java
index f5b17432..b44d519f 100644
--- a/src/com/android/calendar/CalendarActivity.java
+++ b/src/com/android/calendar/CalendarActivity.java
@@ -130,7 +130,7 @@ public class CalendarActivity extends Activity implements Navigator {
if (timeMillis > 0) {
Time time = new Time();
time.set(timeMillis);
- goTo(time);
+ goTo(time, false);
}
}
@@ -183,15 +183,16 @@ public class CalendarActivity extends Activity implements Navigator {
}
/* Navigator interface methods */
- public void goTo(Time time) {
- CalendarView current = (CalendarView) mViewSwitcher.getCurrentView();
-
- if (current.getSelectedTime().before(time)) {
- mViewSwitcher.setInAnimation(mInAnimationForward);
- mViewSwitcher.setOutAnimation(mOutAnimationForward);
- } else {
- mViewSwitcher.setInAnimation(mInAnimationBackward);
- mViewSwitcher.setOutAnimation(mOutAnimationBackward);
+ public void goTo(Time time, boolean animate) {
+ if (animate) {
+ CalendarView current = (CalendarView) mViewSwitcher.getCurrentView();
+ if (current.getSelectedTime().before(time)) {
+ mViewSwitcher.setInAnimation(mInAnimationForward);
+ mViewSwitcher.setOutAnimation(mOutAnimationForward);
+ } else {
+ mViewSwitcher.setInAnimation(mInAnimationBackward);
+ mViewSwitcher.setOutAnimation(mOutAnimationBackward);
+ }
}
CalendarView next = (CalendarView) mViewSwitcher.getNextView();
diff --git a/src/com/android/calendar/MonthActivity.java b/src/com/android/calendar/MonthActivity.java
index e186875e..7bb80c44 100644
--- a/src/com/android/calendar/MonthActivity.java
+++ b/src/com/android/calendar/MonthActivity.java
@@ -84,7 +84,7 @@ public class MonthActivity extends Activity implements ViewSwitcher.ViewFactory,
}
/* Navigator interface methods */
- public void goTo(Time time) {
+ public void goTo(Time time, boolean animate) {
TextView title = (TextView) findViewById(R.id.title);
title.setText(Utils.formatMonthYear(time));
@@ -97,14 +97,16 @@ public class MonthActivity extends Activity implements ViewSwitcher.ViewFactory,
// two adjacent months.
// This is faster than calling getSelectedTime() because we avoid
// a call to Time#normalize().
- int currentMonth = currentTime.month + currentTime.year * 12;
- int nextMonth = time.month + time.year * 12;
- if (nextMonth < currentMonth) {
- mSwitcher.setInAnimation(mInAnimationPast);
- mSwitcher.setOutAnimation(mOutAnimationPast);
- } else {
- mSwitcher.setInAnimation(mInAnimationFuture);
- mSwitcher.setOutAnimation(mOutAnimationFuture);
+ if (animate) {
+ int currentMonth = currentTime.month + currentTime.year * 12;
+ int nextMonth = time.month + time.year * 12;
+ if (nextMonth < currentMonth) {
+ mSwitcher.setInAnimation(mInAnimationPast);
+ mSwitcher.setOutAnimation(mOutAnimationPast);
+ } else {
+ mSwitcher.setInAnimation(mInAnimationFuture);
+ mSwitcher.setOutAnimation(mOutAnimationFuture);
+ }
}
MonthView next = (MonthView) mSwitcher.getNextView();
@@ -264,7 +266,7 @@ public class MonthActivity extends Activity implements ViewSwitcher.ViewFactory,
if (timeMillis > 0) {
Time time = new Time();
time.set(timeMillis);
- goTo(time);
+ goTo(time, false);
}
}
diff --git a/src/com/android/calendar/MonthView.java b/src/com/android/calendar/MonthView.java
index 311dcfec..13f6abc0 100644
--- a/src/com/android/calendar/MonthView.java
+++ b/src/com/android/calendar/MonthView.java
@@ -302,7 +302,7 @@ public class MonthView extends View implements View.OnCreateContextMenuListener
time.month -= 1;
}
time.normalize(true);
- mParentActivity.goTo(time);
+ mParentActivity.goTo(time, true);
return true;
}
@@ -1346,7 +1346,7 @@ public class MonthView extends View implements View.OnCreateContextMenuListener
if (other != null) {
other.normalize(true /* ignore DST */);
- mNavigator.goTo(other);
+ mNavigator.goTo(other, true);
} else if (redraw) {
mRedrawScreen = true;
invalidate();
diff --git a/src/com/android/calendar/Navigator.java b/src/com/android/calendar/Navigator.java
index e05a6033..c8de34b9 100644
--- a/src/com/android/calendar/Navigator.java
+++ b/src/com/android/calendar/Navigator.java
@@ -28,8 +28,9 @@ public interface Navigator {
/**
* Changes the view to include the given time.
* @param time the desired time to view.
+ * @animate enable animation
*/
- void goTo(Time time);
+ void goTo(Time time, boolean animate);
/**
* Changes the view to include today's date.
diff --git a/src/com/android/calendar/WeekActivity.java b/src/com/android/calendar/WeekActivity.java
index 54bee5d7..43015f63 100644
--- a/src/com/android/calendar/WeekActivity.java
+++ b/src/com/android/calendar/WeekActivity.java
@@ -62,7 +62,7 @@ public class WeekActivity extends CalendarActivity implements ViewSwitcher.ViewF
if (timeMillis > 0) {
Time time = new Time();
time.set(timeMillis);
- goTo(time);
+ goTo(time, false);
}
}