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

Commit 6cf5eb06 authored by Daniel Sandler's avatar Daniel Sandler Committed by Android Git Automerger
Browse files

am 3f677b1b: Merge "Fix periodically disappearing status icons." into gingerbread

Merge commit '3f677b1b' into gingerbread-plus-aosp

* commit '3f677b1b':
  Fix periodically disappearing status icons.
parents 3a59ddc6 3f677b1b
Loading
Loading
Loading
Loading
+17 −17
Original line number Diff line number Diff line
@@ -817,7 +817,8 @@ public class StatusBarService extends Service implements CommandQueue.Callbacks

    void performCollapse() {
        if (SPEW) Slog.d(TAG, "performCollapse: mExpanded=" + mExpanded
                + " mExpandedVisible=" + mExpandedVisible);
                + " mExpandedVisible=" + mExpandedVisible
                + " mTicking=" + mTicking);

        if (!mExpandedVisible) {
            return;
@@ -832,7 +833,9 @@ public class StatusBarService extends Service implements CommandQueue.Callbacks
        if ((mDisabled & StatusBarManager.DISABLE_NOTIFICATION_ICONS) == 0) {
            setNotificationIconVisibility(true, com.android.internal.R.anim.fade_in);
        }
        if (mDateView.getVisibility() == View.VISIBLE) {
            setDateViewVisibility(false, com.android.internal.R.anim.fade_out);
        }

        if (!mExpanded) {
            return;
@@ -1147,6 +1150,7 @@ public class StatusBarService extends Service implements CommandQueue.Callbacks

        @Override
        void tickerStarting() {
            if (SPEW) Slog.d(TAG, "tickerStarting");
            mTicking = true;
            mIcons.setVisibility(View.GONE);
            mTickerView.setVisibility(View.VISIBLE);
@@ -1159,38 +1163,30 @@ public class StatusBarService extends Service implements CommandQueue.Callbacks

        @Override
        void tickerDone() {
            if (SPEW) Slog.d(TAG, "tickerDone");
            mTicking = false;
            mIcons.setVisibility(View.VISIBLE);
            mTickerView.setVisibility(View.GONE);
            mIcons.startAnimation(loadAnim(com.android.internal.R.anim.push_down_in, null));
            mTickerView.startAnimation(loadAnim(com.android.internal.R.anim.push_down_out,
                        mTickingDoneListener));
            mTickerView.startAnimation(loadAnim(com.android.internal.R.anim.push_down_out, null));
            if (mExpandedVisible) {
                setDateViewVisibility(true, com.android.internal.R.anim.push_down_in);
            }
        }

        void tickerHalting() {
            if (SPEW) Slog.d(TAG, "tickerHalting");
            mTicking = false;
            mIcons.setVisibility(View.VISIBLE);
            mTickerView.setVisibility(View.GONE);
            mIcons.startAnimation(loadAnim(com.android.internal.R.anim.fade_in, null));
            mTickerView.startAnimation(loadAnim(com.android.internal.R.anim.fade_out,
                        mTickingDoneListener));
            mTickerView.startAnimation(loadAnim(com.android.internal.R.anim.fade_out, null));
            if (mExpandedVisible) {
                setDateViewVisibility(true, com.android.internal.R.anim.fade_in);
            }
        }
    }

    Animation.AnimationListener mTickingDoneListener = new Animation.AnimationListener() {;
        public void onAnimationEnd(Animation animation) {
            mTicking = false;
        }
        public void onAnimationRepeat(Animation animation) {
        }
        public void onAnimationStart(Animation animation) {
        }
    };

    private Animation loadAnim(int id, Animation.AnimationListener listener) {
        Animation anim = AnimationUtils.loadAnimation(StatusBarService.this, id);
        if (listener != null) {
@@ -1373,7 +1369,8 @@ public class StatusBarService extends Service implements CommandQueue.Callbacks
    void updateExpandedViewPos(int expandedPosition) {
        if (SPEW) {
            Slog.d(TAG, "updateExpandedViewPos before expandedPosition=" + expandedPosition
                    + " mTrackingParams.y=" + mTrackingParams.y
                    + " mTrackingParams.y=" 
                    + ((mTrackingParams == null) ? "???" : mTrackingParams.y)
                    + " mTrackingPosition=" + mTrackingPosition);
        }

@@ -1518,6 +1515,9 @@ public class StatusBarService extends Service implements CommandQueue.Callbacks
                }
            }
        } else if ((diff & StatusBarManager.DISABLE_NOTIFICATION_TICKER) != 0) {
            Slog.d(TAG, "DISABLE_NOTIFICATION_TICKER: "
                + (((net & StatusBarManager.DISABLE_NOTIFICATION_TICKER) != 0)
                    ? "yes" : "no"));
            if (mTicking && (net & StatusBarManager.DISABLE_NOTIFICATION_TICKER) != 0) {
                mTicker.halt();
            }
+14 −0
Original line number Diff line number Diff line
@@ -633,6 +633,20 @@ public class NotificationTestList extends TestActivity
            }
        },

        new Test("Ticker") {
            public void run() {
                Notification not = new Notification(
                    R.drawable.app_gmail, 
                    "New mail from joeo@example.com, on the topic of very long ticker texts",
                    System.currentTimeMillis());
                not.setLatestEventInfo(NotificationTestList.this,
                    "A new message awaits",
                    "The contents are very interesting and important",
                    makeIntent());
                mNM.notify(1, not);
            }
        },

        new Test("Crash") {
            public void run()
            {