AudioFlinger: do not reset mHwPaused on flush

The hardware pause feature is hidden from the track clients.
Make the current implementation consistent that when mHwPaused
is set it requires a resume() after a flush().

Test: see bug
Bug: 335784313
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:88f1dd08f127ca918a261428aac7928defa156c3)
Merged-In: I4c7db89277a6144b9b78223fa6f899c85adfb3fc
Change-Id: I4c7db89277a6144b9b78223fa6f899c85adfb3fc
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index dc90ef5..0766a0d 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -7101,11 +7101,14 @@
 {
     PlaybackThread::flushHw_l();
     mOutput->flush();
-    mHwPaused = false;
     mFlushPending = false;
     mTimestampVerifier.discontinuity(discontinuityForStandbyOrFlush());
     mTimestamp.clear();
     mMonotonicFrameCounter.onFlush();
+    // We do not reset mHwPaused which is hidden from the Track client.
+    // Note: the client track in Tracks.cpp and AudioTrack.cpp
+    // has a FLUSHED state but the DirectOutputThread does not;
+    // those tracks will continue to show isStopped().
 }
 
 int64_t DirectOutputThread::computeWaitTimeNs_l() const {