196cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar/* 296cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * Copyright (C) 2017 The Android Open Source Project 396cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * 496cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * Licensed under the Apache License, Version 2.0 (the "License"); 596cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * you may not use this file except in compliance with the License. 696cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * You may obtain a copy of the License at 796cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * 896cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * http://www.apache.org/licenses/LICENSE-2.0 996cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * 1096cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * Unless required by applicable law or agreed to in writing, software 1196cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * distributed under the License is distributed on an "AS IS" BASIS, 1296cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1396cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * See the License for the specific language governing permissions and 1496cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar * limitations under the License. 1596cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar */ 1696cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar 17bdc4c86d3dff74f6634a38e2f7b316b0e823a2c8Alan Viverettepackage androidx.room.integration.testapp.vo; 1896cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar 1996cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyarpublic class Coordinates { 2096cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar public double lat; 2196cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar public double lng; 2296cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar 2396cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar @Override 2496cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar public boolean equals(Object o) { 2596cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar if (this == o) return true; 2696cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar if (o == null || getClass() != o.getClass()) return false; 2796cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar 2896cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar Coordinates that = (Coordinates) o; 2996cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar 3096cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar if (Double.compare(that.lat, lat) != 0) return false; 3196cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar return Double.compare(that.lng, lng) == 0; 3296cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar } 3396cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar 3496cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar @Override 3596cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar public int hashCode() { 3696cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar int result; 3796cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar long temp; 3896cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar temp = Double.doubleToLongBits(lat); 3996cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar result = (int) (temp ^ (temp >>> 32)); 4096cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar temp = Double.doubleToLongBits(lng); 4196cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar result = 31 * result + (int) (temp ^ (temp >>> 32)); 4296cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar return result; 4396cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar } 4496cc740203eaa752fc85ca7ca722a8de550ae88cYigit Boyar} 45