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

Commit 1bd13bf6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix divide by zero error in batching"

parents e67ba2a9 8fdfd2b9
Loading
Loading
Loading
Loading
+7 −11
Original line number Diff line number Diff line
@@ -987,21 +987,17 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
            // update client uids
            updateClientUids(mProviderRequest.getWorkSource());

            if (mProviderRequest.getIntervalMillis() <= Integer.MAX_VALUE) {
                mFixInterval = (int) mProviderRequest.getIntervalMillis();
            // check for overflow
            if (mFixInterval != mProviderRequest.getIntervalMillis()) {
            } else {
                Log.w(TAG, "interval overflow: " + mProviderRequest.getIntervalMillis());
                mFixInterval = Integer.MAX_VALUE;
            }
            // requested batch size, or zero to disable batching
            int batchSize;
            try {
                batchSize = mBatchingEnabled ? Math.toIntExact(
                        mProviderRequest.getMaxUpdateDelayMillis() / mFixInterval) : 0;
            } catch (ArithmeticException e) {
                batchSize = Integer.MAX_VALUE;
            }

            // requested batch size, or zero to disable batching
            long batchSize =
                    mBatchingEnabled ? mProviderRequest.getMaxUpdateDelayMillis() / Math.max(
                            mFixInterval, 1) : 0;
            if (batchSize < getBatchSize()) {
                batchSize = 0;
            }