Projects >> openxc-android >>198c32eaf65878c2c26045399e012c150f0563f5

Chunk
Conflicting content
import com.openxc.measurements.EngineSpeed;
import com.openxc.measurements.SteeringWheelAngle;
<<<<<<< HEAD
import com.openxc.measurements.MeasurementInterface;
=======
>>>>>>> b6bba3696d4acbb50065475950c1e927a596a2f7
import com.openxc.measurements.Measurement;
import com.openxc.measurements.VehicleSpeed;
import com.openxc.measurements.TurnSignalStatus;
Solution content
import com.openxc.measurements.EngineSpeed;
import com.openxc.measurements.SteeringWheelAngle;
import com.openxc.measurements.Measurement;
import com.openxc.measurements.VehicleSpeed;
import com.openxc.measurements.TurnSignalStatus;
File
BoundVehicleManagerTest.java
Developer's decision
Version 2
Kind of conflict
Import
Chunk
Conflicting content
 * A Measurement has at least a value and an age, and optionally a range of
 * valid values.
 */
<<<<<<< HEAD
public class Measurement implements MeasurementInterface {
    private AgingData mValue;
    private AgingData mEvent;
    private Range mRange;
    private static BiMap>
            sMeasurementIdToClass;

    static {
        sMeasurementIdToClass = HashBiMap.create();
    }

    private static void cacheMeasurementId(
            Class measurementType)
            throws UnrecognizedMeasurementTypeException {
        String measurementId;
        try {
            measurementId = (String) measurementType.getField("ID").get(
                    measurementType);
            sMeasurementIdToClass.put(measurementId, measurementType);
        } catch(NoSuchFieldException e) {
            throw new UnrecognizedMeasurementTypeException(
                    measurementType + " doesn't have an ID field", e);
        } catch(IllegalAccessException e) {
            throw new UnrecognizedMeasurementTypeException(
                    measurementType + " has an inaccessible ID", e);
        }
    }

    public static String getIdForClass(
            Class measurementType)
            throws UnrecognizedMeasurementTypeException {
        if(!sMeasurementIdToClass.inverse().containsKey(measurementType)) {
            System.out.println("caching " + measurementType);
            cacheMeasurementId(measurementType);
        }
        return sMeasurementIdToClass.inverse().get(measurementType);
    }

    public static String getIdForClass(String measurementTypeName)
            throws UnrecognizedMeasurementTypeException {
        try {
            Class measurementType =
                (Class)
                Class.forName(measurementTypeName);
            return getIdForClass((Class)
                    Class.forName(measurementTypeName));
        } catch(ClassNotFoundException e) {
            throw new UnrecognizedMeasurementTypeException(
                    "Measurement with class name " +
                    measurementTypeName + " not recognized", e);
        }
    }

    public static Class
            getClassForId(String measurementId)
            throws UnrecognizedMeasurementTypeException {
        Class result =
                sMeasurementIdToClass.get(measurementId);
        if(result == null) {
            throw new UnrecognizedMeasurementTypeException(
                    "Didn't have a measurement with ID " + measurementId +
                    " cached");
        }
        return result;
=======
public interface Measurement {
    public interface Listener {
        public void receive(Measurement measurement);
>>>>>>> b6bba3696d4acbb50065475950c1e927a596a2f7
    }

    /**
Solution content
 * A Measurement has at least a value and an age, and optionally a range of
 * valid values.
 */
public interface Measurement {
    public interface Listener {
        public void receive(Measurement measurement);
    }

    /**
File
Measurement.java
Developer's decision
Version 2
Kind of conflict
Attribute
Class signature
If statement
Interface signature
Method declaration
Method interface
Method invocation
Method signature
Return statement
Static initializer
Variable
Chunk
Conflicting content
        return mName;
    }

<<<<<<< HEAD
    @Override
    public Double getValue() {
        Double value = super.getValue();
        if(value != null && value.isNaN()) {
            value = null;
        }
        return value;
    }

    @Override
    public Double getEvent() {
        Double event = super.getEvent();
        if(event != null && event.isNaN()) {
            event = null;
        }
        return event;
=======
    public Object getValue() {
        return mValue;
    }

    public boolean hasEvent() {
        return getEvent() != null;
>>>>>>> b6bba3696d4acbb50065475950c1e927a596a2f7
    }

    public Object getEvent() {
Solution content
        return mName;
    }

    public Object getValue() {
        return mValue;
    }

    public boolean hasEvent() {
        return getEvent() != null;
    }

    public Object getEvent() {
File
RawMeasurement.java
Developer's decision
Version 2
Kind of conflict
Annotation
If statement
Method declaration
Method invocation
Method signature
Return statement
Variable
Chunk
Conflicting content
import com.openxc.DataPipeline;

<<<<<<< HEAD
import com.openxc.measurements.UnrecognizedMeasurementTypeException;

import com.openxc.remote.VehicleServiceListenerInterface;
=======
import com.openxc.remote.VehicleServiceListener;
>>>>>>> b6bba3696d4acbb50065475950c1e927a596a2f7

import com.openxc.sinks.MockedLocationSink;
import com.openxc.sinks.RemoteCallbackSink;
Solution content
import com.openxc.DataPipeline;

import com.openxc.measurements.UnrecognizedMeasurementTypeException;

import com.openxc.remote.VehicleServiceListener;

import com.openxc.sinks.MockedLocationSink;
import com.openxc.sinks.RemoteCallbackSink;
File
VehicleService.java
Developer's decision
Combination
Kind of conflict
Import
Chunk
Conflicting content
            public void set(String measurementClass,
                return mPipeline.get(measurementId);
            }

<<<<<<< HEAD
            // TODO should set use a CommandInterface instead of Measurement?
                    RawMeasurement measurement) {
                try {
                    mController.set(Measurement.getIdForClass(measurementClass),
                            measurement);
                } catch(UnrecognizedMeasurementTypeException e) {
                    Log.w(TAG, "Unable to set new measurement value", e);
                }
            }

            public void receive(String measurementId,
                    RawMeasurement measurement) {
                mApplicationSource.handleMessage(measurementId, measurement);
            }

            public void register(VehicleServiceListenerInterface listener) {
=======
            public void receive(RawMeasurement measurement) {
                mApplicationSource.handleMessage(measurement);
            }

            public void register(
                    VehicleServiceListener listener) {
>>>>>>> b6bba3696d4acbb50065475950c1e927a596a2f7
                Log.i(TAG, "Adding listener " + listener);
                mNotifier.register(listener);
            }
Solution content
                return mPipeline.get(measurementId);
            }

            // TODO should set use a CommandInterface instead of Measurement?
            public void set(String measurementClass,
                    RawMeasurement measurement) {
                try {
                    mController.set(Measurement.getIdForClass(measurementClass),
                            measurement);
                } catch(UnrecognizedMeasurementTypeException e) {
                    Log.w(TAG, "Unable to set new measurement value", e);
                }
            }

            public void receive(RawMeasurement measurement) {
                mApplicationSource.handleMessage(measurement);
            }

            public void register(
                    VehicleServiceListener listener) {
                Log.i(TAG, "Adding listener " + listener);
                mNotifier.register(listener);
            }
File
VehicleService.java
Developer's decision
Combination
Kind of conflict
Comment
Method declaration
Method signature
Chunk
Conflicting content
<<<<<<< HEAD
                mNotifier.register(listener);
            }
            public void unregister(VehicleServiceListenerInterface listener) {
=======
            public void unregister(
                    VehicleServiceListener listener) {
>>>>>>> b6bba3696d4acbb50065475950c1e927a596a2f7
                Log.i(TAG, "Removing listener " + listener);
                mNotifier.unregister(listener);
            }
Solution content
                mNotifier.register(listener);
            }

            public void unregister(VehicleServiceListener listener) {
                Log.i(TAG, "Removing listener " + listener);
                mNotifier.unregister(listener);
            }
File
VehicleService.java
Developer's decision
Version 2
Kind of conflict
Method signature
Chunk
Conflicting content
 * cause a pop-up dialog that the user must dismiss before the data source will
 * become active.
 */
<<<<<<< HEAD
public class UsbVehicleDataSource extends JsonVehicleDataSource
        implements Runnable, VehicleController {
=======
public class UsbVehicleDataSource extends ContextualVehicleDataSource
        implements Runnable {
>>>>>>> b6bba3696d4acbb50065475950c1e927a596a2f7
    private static final String TAG = "UsbVehicleDataSource";
    private static final int ENDPOINT_COUNT = 2;
    public static final String ACTION_USB_PERMISSION =
Solution content
 * cause a pop-up dialog that the user must dismiss before the data source will
 * become active.
 */
public class UsbVehicleDataSource extends ContextualVehicleDataSource
        implements Runnable, VehicleController {
    private static final String TAG = "UsbVehicleDataSource";
    private static final int ENDPOINT_COUNT = 2;
    public static final String ACTION_USB_PERMISSION =
File
UsbVehicleDataSource.java
Developer's decision
Combination
Kind of conflict
Class signature