am 7bd8e6a8: DateTimeView: don\'t assume you have an ApplicationContext.
* commit '7bd8e6a8f2d0d200fd9a74b55469492cc02de6a4':
DateTimeView: don't assume you have an ApplicationContext.
diff --git a/core/java/android/widget/DateTimeView.java b/core/java/android/widget/DateTimeView.java
index 0b5824a..dcb2437 100644
--- a/core/java/android/widget/DateTimeView.java
+++ b/core/java/android/widget/DateTimeView.java
@@ -25,7 +25,6 @@
import android.text.format.Time;
import android.util.AttributeSet;
import android.util.Log;
-import android.widget.TextView;
import android.widget.RemoteViews.RemoteView;
import java.text.DateFormat;
@@ -228,14 +227,14 @@
final boolean register = mAttachedViews.isEmpty();
mAttachedViews.add(v);
if (register) {
- register(v.getContext().getApplicationContext());
+ register(getApplicationContextIfAvailable(v.getContext()));
}
}
public void removeView(DateTimeView v) {
mAttachedViews.remove(v);
if (mAttachedViews.isEmpty()) {
- unregister(v.getContext().getApplicationContext());
+ unregister(getApplicationContextIfAvailable(v.getContext()));
}
}
@@ -258,6 +257,11 @@
return result;
}
+ static final Context getApplicationContextIfAvailable(Context context) {
+ final Context ac = context.getApplicationContext();
+ return ac != null ? ac : context;
+ }
+
void register(Context context) {
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_TIME_TICK);