From 7bd8e6a8f2d0d200fd9a74b55469492cc02de6a4 Mon Sep 17 00:00:00 2001 From: Dan Sandler Date: Thu, 30 Jul 2015 11:46:10 -0400 Subject: DateTimeView: don't assume you have an ApplicationContext. Bug: 22840771 Change-Id: I3be6369936f90e9ce4e61a59ea81b0d3408a0f99 --- core/java/android/widget/DateTimeView.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'core/java/android/widget') 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.os.Handler; 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 @@ public class DateTimeView extends TextView { 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 @@ public class DateTimeView extends TextView { 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); -- cgit v1.1