From cab6965b191da02e783bc578ae3921fc0bca019f Mon Sep 17 00:00:00 2001 From: Chris Wren Date: Tue, 29 Oct 2013 13:04:00 -0400 Subject: reduce garbage generation in KeyguardTransportControlView. Bug: 11243508 Change-Id: I8315c27faf935d2465b3ce9e958e6edee00a4d4d --- .../keyguard/KeyguardTransportControlView.java | 23 ++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'packages/Keyguard') diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java index de26efb..8095ecf 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java @@ -92,6 +92,9 @@ public class KeyguardTransportControlView extends FrameLayout { private boolean mUserSeeking; private java.text.DateFormat mFormat; + private Date mTimeElapsed; + private Date mTimeRemaining; + /** * The metadata which should be populated into the view once we've been attached */ @@ -452,15 +455,19 @@ public class KeyguardTransportControlView extends FrameLayout { void updateSeekDisplay() { if (mMetadata != null && mRemoteController != null && mFormat != null) { - final long timeElapsed = mRemoteController.getEstimatedMediaPosition(); - final long duration = mMetadata.duration; - final long remaining = duration - timeElapsed; - - mTransientSeekTimeElapsed.setText(mFormat.format(new Date(timeElapsed))); - mTransientSeekTimeRemaining.setText(mFormat.format(new Date(remaining))); + if (mTimeElapsed == null) { + mTimeElapsed = new Date(); + } + if (mTimeRemaining == null) { + mTimeRemaining = new Date(); + } + mTimeElapsed.setTime(mRemoteController.getEstimatedMediaPosition()); + mTimeRemaining.setTime(mMetadata.duration - mTimeElapsed.getTime()); + mTransientSeekTimeElapsed.setText(mFormat.format(mTimeElapsed)); + mTransientSeekTimeRemaining.setText(mFormat.format(mTimeRemaining)); - if (DEBUG) Log.d(TAG, "updateSeekDisplay timeElapsed=" + timeElapsed + - " duration=" + duration + " remaining=" + remaining); + if (DEBUG) Log.d(TAG, "updateSeekDisplay timeElapsed=" + mTimeElapsed + + " duration=" + mMetadata.duration + " remaining=" + mTimeRemaining); } } -- cgit v1.1