TrackMetrics: Fix volume computation

Average volume should be weighted based on active time
not total lifetime.

Improve the numerical accuracy of average volume using
West's algorithm.

Remove unneeded variables.

Test: youtube, play/pause, adb shell dumpsys media.metrics
Bug: 233409482
Change-Id: I9fadb7287bd0bccbf5c74aad5a07eab277303d02
diff --git a/services/audioflinger/TrackBase.h b/services/audioflinger/TrackBase.h
index 2677ab3..20bfbb0 100644
--- a/services/audioflinger/TrackBase.h
+++ b/services/audioflinger/TrackBase.h
@@ -397,6 +397,8 @@
     int64_t             mLogStartFrames = 0;    // Timestamp frames at start()
     double              mLogLatencyMs = 0.;     // Track the last log latency
 
+    bool                mLogForceVolumeUpdate = true; // force volume update to TrackMetrics.
+
     TrackMetrics        mTrackMetrics;
 
     bool                mServerLatencySupported = false;