FP2-1530: [ST_2][Monkey] 'com.google.android.talk' crash 71 times
Just fix OOM problem.
Change-Id: I940db00a3d78f30b5083951428a9b76ffdcbcd9a
diff --git a/res/layout/main_clock_frame.xml b/res/layout/main_clock_frame.xml
index 9805a8f..bdc1248 100644
--- a/res/layout/main_clock_frame.xml
+++ b/res/layout/main_clock_frame.xml
@@ -37,7 +37,7 @@
android:hand_hour="@drawable/clock_analog_hour_mipmap"
android:hand_minute="@drawable/clock_analog_minute_mipmap"
android:layout_marginBottom="@dimen/bottom_text_spacing_analog" />
- <TextClock
+ <com.android.deskclock.DigitalClock
android:id="@+id/digital_clock"
android:format12Hour="@string/main_clock_12_hours_format"
android:format24Hour="@string/clock_24_hours_format"
diff --git a/src/com/android/deskclock/ClockFragment.java b/src/com/android/deskclock/ClockFragment.java
index 588ca3e..c68c3b2 100644
--- a/src/com/android/deskclock/ClockFragment.java
+++ b/src/com/android/deskclock/ClockFragment.java
@@ -50,7 +50,10 @@
private final static String TAG = "ClockFragment";
private boolean mButtonsHidden = false;
- private View mDigitalClock, mAnalogClock, mClockFrame, mHairline;
+ private View mClockFrame;
+ private View mHairline;
+ private AnalogClock mAnalogClock;
+ private DigitalClock mDigitalClock;
private WorldClockAdapter mAdapter;
private ListView mList;
private SharedPreferences mPrefs;
@@ -189,8 +192,9 @@
setupFakeOverflowMenuButton(menuButton);
}
- mDigitalClock = mClockFrame.findViewById(R.id.digital_clock);
- mAnalogClock = mClockFrame.findViewById(R.id.analog_clock);
+
+ mDigitalClock = (DigitalClock) mClockFrame.findViewById(R.id.digital_clock);
+ mAnalogClock = (AnalogClock) mClockFrame.findViewById(R.id.analog_clock);
Utils.setTimeFormat((TextClock) (mDigitalClock.findViewById(R.id.digital_clock)),
(int) getResources().getDimension(R.dimen.main_ampm_font_size));
View footerView = inflater.inflate(R.layout.blank_footer_view, mList, false);
@@ -303,4 +307,15 @@
mLeftButton.setVisibility(View.INVISIBLE);
mRightButton.setVisibility(View.INVISIBLE);
}
+
+ @Override
+ public void onDetach() {
+ super.onDetach();
+ if (mDigitalClock != null) {
+ mDigitalClock.onDetachedFromWindow();
+ }
+ if (mAnalogClock != null) {
+ mAnalogClock.onDetachedFromWindow();
+ }
+ }
}
diff --git a/src/com/android/deskclock/DigitalClock.java b/src/com/android/deskclock/DigitalClock.java
new file mode 100644
index 0000000..80439d7
--- /dev/null
+++ b/src/com/android/deskclock/DigitalClock.java
@@ -0,0 +1,24 @@
+package com.android.deskclock;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.TextClock;
+
+public class DigitalClock extends TextClock {
+ public DigitalClock(Context context) {
+ this(context, null);
+ }
+
+ public DigitalClock(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public DigitalClock(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ }
+
+ @Override
+ public void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
+ }
+}