blob: 36838fc3647f9941f86e68ef9adf5e2452c0ee08 [file] [log] [blame]
Yu-Han Yangc8b9ff72018-04-17 00:47:24 -07001package com.android.server.location;
2
3import java.util.Arrays;
4
5/**
6 * Represents a GNSS position mode.
7 */
8public class GnssPositionMode {
9 private final int mode;
10 private final int recurrence;
11 private final int minInterval;
12 private final int preferredAccuracy;
13 private final int preferredTime;
14 private final boolean lowPowerMode;
15
16 public GnssPositionMode(int mode, int recurrence, int minInterval,
17 int preferredAccuracy, int preferredTime, boolean lowPowerMode) {
18 this.mode = mode;
19 this.recurrence = recurrence;
20 this.minInterval = minInterval;
21 this.preferredAccuracy = preferredAccuracy;
22 this.preferredTime = preferredTime;
23 this.lowPowerMode = lowPowerMode;
24 }
25
26 @Override
27 public boolean equals(Object other) {
28 if (other instanceof GnssPositionMode) {
29 GnssPositionMode that = (GnssPositionMode) other;
30 return mode == that.mode && recurrence == that.recurrence
31 && minInterval == that.minInterval
32 && preferredAccuracy == that.preferredAccuracy
33 && preferredTime == that.preferredTime && lowPowerMode == that.lowPowerMode
34 && this.getClass() == that.getClass();
35 }
36
37 return false;
38 }
39
40 @Override
41 public int hashCode() {
42 return Arrays.hashCode(
43 new Object[]{mode, recurrence, minInterval, preferredAccuracy, preferredTime,
44 lowPowerMode, getClass()});
45 }
46}