Android Open Source - LeBlue Intercepting Le Device






From Project

Back to project page LeBlue.

License

The source code is released under:

Apache License

If you think the Android project LeBlue listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package houtbecke.rs.le.interceptor;
//from w  ww.  j av a 2s .co m
import java.util.UUID;

import houtbecke.rs.le.LeDevice;
import houtbecke.rs.le.LeDeviceListener;

public class InterceptingLeDevice extends BaseIntercepting implements LeDevice {

    final LeDevice leDevice;
    public InterceptingLeDevice(LeDevice leDevice, LeInterceptor leInterceptor) {
        super(leInterceptor);
        this.leDevice = leDevice;
        leInterceptor.iDevices.put(leDevice, this);
    }


    @Override
    public synchronized void addListener(LeDeviceListener listener) {
        synchronized(leInterceptor) {
            InterceptingLeDeviceListener iListener = leInterceptor.getInterceptingLeDeviceListener(listener);
            leDevice.addListener(iListener);
            leInterceptor.listenerAdded(this, iListener);
        }
    }

    @Override
    public synchronized void removeListener(LeDeviceListener listener) {
        synchronized(leInterceptor) {
            leDevice.removeListener(leInterceptor.getInterceptingLeDeviceListener(listener));
            leInterceptor.listenerRemoved(this);
        }
    }

    @Override
    public synchronized boolean checkBleHardwareAvailable() {
        synchronized(leInterceptor) {
            boolean bleHardwareEnabled = leDevice.checkBleHardwareAvailable();
            leInterceptor.checkedBleHardwareAvailable(this, bleHardwareEnabled);
            return bleHardwareEnabled;
        }
    }

    @Override
    public synchronized boolean isBtEnabled() {
        synchronized(leInterceptor) {
            boolean btEnabled = leDevice.isBtEnabled();
            leInterceptor.wasBtEnabled(this, btEnabled);
            return btEnabled;
        }
    }

    @Override
    public synchronized void startScanning() {
        synchronized(leInterceptor) {
            leInterceptor.startedScanning(this);
            leDevice.startScanning();
        }
    }

    @Override
    public synchronized void startScanning(UUID... uuids) {
        synchronized(leInterceptor) {
            leInterceptor.startedScanning(this, uuids);
            leDevice.startScanning(uuids);
        }
    }

    @Override
    public synchronized void stopScanning() {
        synchronized(leInterceptor) {
            leInterceptor.stoppedScanning(this);
            leDevice.stopScanning();
        }
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null) return false;

        while (o instanceof InterceptingLeDevice) {
            o = ((InterceptingLeDevice) o).leDevice;
        }
        return o instanceof LeDevice && o.equals(leDevice);
    }

    @Override
    public int hashCode() {
        return leDevice.hashCode();
    }
}




Java Source Code List

houtbecke.rs.le.BleException.java
houtbecke.rs.le.LeCharacteristicListener.java
houtbecke.rs.le.LeDefinedUUIDs.java
houtbecke.rs.le.LeDeviceListener.java
houtbecke.rs.le.LeDeviceState.java
houtbecke.rs.le.LeDevice.java
houtbecke.rs.le.LeFormat.java
houtbecke.rs.le.LeGattCharacteristic.java
houtbecke.rs.le.LeGattDescriptorValue.java
houtbecke.rs.le.LeGattDescriptor.java
houtbecke.rs.le.LeGattService.java
houtbecke.rs.le.LeGattStatus.java
houtbecke.rs.le.LeRecord.java
houtbecke.rs.le.LeRemoteDeviceListener.java
houtbecke.rs.le.LeRemoteDevice.java
houtbecke.rs.le.LeScanRecordImpl.java
houtbecke.rs.le.LeScanRecord.java
houtbecke.rs.le.LeUtil.java
houtbecke.rs.le.dummy.DummyLeRemoteDevice.java
houtbecke.rs.le.example.MainActivity.java
houtbecke.rs.le.fourdotthree.LeDevice43.java
houtbecke.rs.le.fourdotthree.LeGattCharacteristic43.java
houtbecke.rs.le.fourdotthree.LeGattService43.java
houtbecke.rs.le.fourdotthree.LeRemoteDevice43.java
houtbecke.rs.le.interceptor.AndroidEventSinkUtil.java
houtbecke.rs.le.interceptor.BaseIntercepting.java
houtbecke.rs.le.interceptor.EventSinkUtil.java
houtbecke.rs.le.interceptor.InterceptingLeCharacteristicListener.java
houtbecke.rs.le.interceptor.InterceptingLeDeviceListener.java
houtbecke.rs.le.interceptor.InterceptingLeDevice.java
houtbecke.rs.le.interceptor.InterceptingLeGattCharacteristic.java
houtbecke.rs.le.interceptor.InterceptingLeGattService.java
houtbecke.rs.le.interceptor.InterceptingLeRemoteDeviceListener.java
houtbecke.rs.le.interceptor.InterceptingLeRemoteDevice.java
houtbecke.rs.le.interceptor.LeInterceptor.java
houtbecke.rs.le.interceptor.LeLogCatInterceptor.java
houtbecke.rs.le.interceptor.LeSessionInterceptor.java
houtbecke.rs.le.mock.LeDeviceMock.java
houtbecke.rs.le.mock.LeGattCharacteristicMock.java
houtbecke.rs.le.mock.LeGattServiceMock.java
houtbecke.rs.le.mock.LeMockController.java
houtbecke.rs.le.mock.LeRemoteDeviceMock.java
houtbecke.rs.le.mock.LeSessionController.java
houtbecke.rs.le.mock.NativeWaitNotify.java
houtbecke.rs.le.mock.SimpleWaitNotify.java
houtbecke.rs.le.mock.WaitNotify.java
houtbecke.rs.le.session.CharacteristicsMockerObject.java
houtbecke.rs.le.session.DeviceMockerObject.java
houtbecke.rs.le.session.EventSinkFiller.java
houtbecke.rs.le.session.EventSink.java
houtbecke.rs.le.session.EventSource.java
houtbecke.rs.le.session.EventType.java
houtbecke.rs.le.session.Event.java
houtbecke.rs.le.session.GattServiceMockerObject.java
houtbecke.rs.le.session.ListEventSinkSource.java
houtbecke.rs.le.session.MockedResponseObject.java
houtbecke.rs.le.session.MockedResponse.java
houtbecke.rs.le.session.MockerObject.java
houtbecke.rs.le.session.Mocker.java
houtbecke.rs.le.session.RemoteDeviceMockerObject.java
houtbecke.rs.le.session.SessionObject.java
houtbecke.rs.le.session.Session.java