Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3de053fb authored by Dan Sandler's avatar Dan Sandler Committed by The Android Automerger
Browse files

DateTimeView: don't assume you have an ApplicationContext.

Bug: 22840771
Change-Id: I3be6369936f90e9ce4e61a59ea81b0d3408a0f99
parent 7c5375d9
Loading
Loading
Loading
Loading
+7 −3
Original line number Original line Diff line number Diff line
@@ -25,7 +25,6 @@ import android.os.Handler;
import android.text.format.Time;
import android.text.format.Time;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.util.Log;
import android.util.Log;
import android.widget.TextView;
import android.widget.RemoteViews.RemoteView;
import android.widget.RemoteViews.RemoteView;


import java.text.DateFormat;
import java.text.DateFormat;
@@ -228,14 +227,14 @@ public class DateTimeView extends TextView {
            final boolean register = mAttachedViews.isEmpty();
            final boolean register = mAttachedViews.isEmpty();
            mAttachedViews.add(v);
            mAttachedViews.add(v);
            if (register) {
            if (register) {
                register(v.getContext().getApplicationContext());
                register(getApplicationContextIfAvailable(v.getContext()));
            }
            }
        }
        }


        public void removeView(DateTimeView v) {
        public void removeView(DateTimeView v) {
            mAttachedViews.remove(v);
            mAttachedViews.remove(v);
            if (mAttachedViews.isEmpty()) {
            if (mAttachedViews.isEmpty()) {
                unregister(v.getContext().getApplicationContext());
                unregister(getApplicationContextIfAvailable(v.getContext()));
            }
            }
        }
        }


@@ -258,6 +257,11 @@ public class DateTimeView extends TextView {
            return result;
            return result;
        }
        }


        static final Context getApplicationContextIfAvailable(Context context) {
            final Context ac = context.getApplicationContext();
            return ac != null ? ac : context;
        }

        void register(Context context) {
        void register(Context context) {
            final IntentFilter filter = new IntentFilter();
            final IntentFilter filter = new IntentFilter();
            filter.addAction(Intent.ACTION_TIME_TICK);
            filter.addAction(Intent.ACTION_TIME_TICK);