Android Open Source - diceplus_test Listener Container






From Project

Back to project page diceplus_test.

License

The source code is released under:

This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a co...

If you think the Android project diceplus_test 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 com.example.dice_test2;
//  ww w . ja v  a2  s .c om
import android.util.Log;
import us.dicepl.android.sdk.BluetoothManipulator;
import us.dicepl.android.sdk.DiceConnectionListener;
import us.dicepl.android.sdk.DiceController;
import us.dicepl.android.sdk.DiceResponseAdapter;
import us.dicepl.android.sdk.DiceResponseListener;
import us.dicepl.android.sdk.DiceScanningListener;
import us.dicepl.android.sdk.Die;
import us.dicepl.android.sdk.protocol.constants.Constants.BatteryState;
import us.dicepl.android.sdk.protocol.constants.Constants.MagnetometerReadoutType;
import us.dicepl.android.sdk.responsedata.LedStateData;
import us.dicepl.android.sdk.responsedata.OrientationData;
import us.dicepl.android.sdk.responsedata.PowerModeData;
import us.dicepl.android.sdk.responsedata.ProximityData;
import us.dicepl.android.sdk.responsedata.RollData;
import us.dicepl.android.sdk.responsedata.TapData;
import us.dicepl.android.sdk.responsedata.TemperatureData;
import us.dicepl.android.sdk.responsedata.TouchData;
import us.dicepl.android.sdk.responsedata.AccelerometerData;
import us.dicepl.android.sdk.protocol.constants.Constants.DataSource;
import us.dicepl.android.sdk.responsedata.MagnetometerData;
import us.dicepl.android.sdk.protocol.payload.storage.record.Vector3;

public class ListenerContainer {
    public DiceResponseListener responseListener;
    public DiceConnectionListener connectionListener;
    public DiceScanningListener scanningListener;
    
    private MainActivity mainActivity;
    
    private String TAG = "ListenerContainer";

    public ListenerContainer(MainActivity _mainActivity) {
      mainActivity = _mainActivity;
      initListeners();
    }
    
    public void initListeners() {
        initScanningListener();
      initConnectionListener();
      initResponseListener();
  }

    public void initScanningListener() {
      Log.d(TAG, "initScanningListener");
      
        scanningListener = new DiceScanningListener() {
            @Override
            public void onNewDie(Die die) {
              Log.d(TAG, "onNewDie");
              mainActivity.dicePlus = die;
                DiceController.connect(mainActivity.dicePlus);
            }

            @Override
            public void onScanStarted() {
              Log.d(TAG, "onScanStarted");
            }

            @Override
            public void onScanFailed() {
              Log.d(TAG, "onScanFailed");
                BluetoothManipulator.startScan();
            }

            @Override
            public void onScanFinished() {
              Log.d(TAG, "onScanFinished");
                if(mainActivity.dicePlus == null) {
                    BluetoothManipulator.startScan();
                }
            }
        };      
    }
    
    public void initConnectionListener() {
      Log.d(TAG, "initConnectionListener");

      connectionListener = new DiceConnectionListener() {
            @Override
            public void onConnectionEstablished(Die die) {
                Log.d(TAG, "DICE+ Connected");
                

                // Signing up for roll events
                DiceController.subscribeRolls(mainActivity.dicePlus);
                DiceController.subscribeOrientationReadouts(mainActivity.dicePlus, 1);
                DiceController.subscribeAccelerometerReadouts(mainActivity.dicePlus);
                DiceController.subscribeTemperatureReadouts(mainActivity.dicePlus);
                DiceController.subscribeBatteryState(mainActivity.dicePlus);
                DiceController.subscribeTapReadouts(mainActivity.dicePlus);
                DiceController.subscribeProximityReadouts(mainActivity.dicePlus, 1);
                DiceController.subscribeMagnetometerReadouts(mainActivity.dicePlus, 1, MagnetometerReadoutType.MAGNETOMETER_READOUT_RAW);
                DiceController.subscribeTouchReadouts(mainActivity.dicePlus);
                DiceController.subscribeLedState(mainActivity.dicePlus);
                DiceController.subscribePowerMode(mainActivity.dicePlus);
                DiceController.initializePStorageCommunication(mainActivity.dicePlus);
            }

            @Override
            public void onConnectionFailed(Die die, Exception e) {
                Log.d(TAG, "Connection failed", e);

                mainActivity.dicePlus = null;

                BluetoothManipulator.startScan();
            }

            @Override
            public void onConnectionLost(Die die) {
                Log.d(TAG, "Connection lost");

                mainActivity.dicePlus = null;

                BluetoothManipulator.startScan();
            }
        };     
    }
    
    public void initResponseListener() {
      Log.d(TAG, "initResponseListener");
      
        responseListener = new DiceResponseAdapter() {
            @Override
            public void onRoll(Die die, RollData rollData, Exception e) {
                super.onRoll(die, rollData, e);
                RollHandler.onRoll(die, rollData, e, mainActivity);
            }
            
            @Override
            public void onOrientationReadout(Die die, OrientationData readout, Exception exception) {
              super.onOrientationReadout(die, readout, exception);
              OrientationReadoutHandler.onOrientationReadout(die, readout, exception, mainActivity);
            }
            
            @Override
            public void onAccelerometerReadout(Die die, AccelerometerData readout, Exception exception) {
              super.onAccelerometerReadout(die, readout, exception);
              AccelerometerReadoutHandler.onAccelerometerReadout(die, readout, exception, mainActivity);
            }
            
            @Override
            public void onTemperatureReadout(Die die, TemperatureData readout, Exception exception) {
              super.onTemperatureReadout(die, readout, exception);
              TemperatureReadoutHandler.onTemperatureReadout(die, readout, exception, mainActivity);
            }
  
            @Override
            public void onBatteryState(Die die, BatteryState state, int percentage, boolean low, Exception exception) {
              super.onBatteryState(die, state, percentage, low, exception);
              BatteryStateHandler.onBatteryState(die, state, percentage, low, exception, mainActivity);
            }

            @Override
            public void onTapReadout(Die die, TapData readout, Exception exception) {
              super.onTapReadout(die, readout, exception);
              TapReadoutHandler.onTapReadout(die, readout, exception, mainActivity);
            }
  
            @Override
            public void onProximityReadout(Die die, ProximityData readout, Exception exception) {
              super.onProximityReadout(die, readout, exception);
              ProximityReadoutHandler.onProximityReadout(die, readout, exception, mainActivity);
            }
  
            @Override
            public void onMagnetometerReadout(Die die, MagnetometerData readout, Exception exception) {
              super.onMagnetometerReadout(die, readout, exception);
              MagnetometerReadoutHandler.onMagnetometerReadout(die, readout, exception, mainActivity);
            }
  
            @Override
            public void onTouchReadout(Die die, TouchData readout, Exception exception) {
              super.onTouchReadout(die, readout, exception);
              TouchReadoutHandler.onTouchReadout(die, readout, exception, mainActivity);
            }
  
            @Override
            public void onLedState(Die die, LedStateData data, Exception exception) {
              super.onLedState(die, data, exception);
              LedStateHandler.onLedState(die, data, exception, mainActivity);
            }
  
            @Override
            public void onPowerMode(Die die, PowerModeData readout, Exception exception) {
              super.onPowerMode(die, readout, exception);
              PowerModeHandler.onPowerMode(die, readout, exception, mainActivity);
            }
  
            @Override
            public void onSubscriptionChangeStatus(Die die, DataSource dataSourceCode, Exception exception) {
              super.onSubscriptionChangeStatus(die, dataSourceCode, exception);
              SubscriptionChangeHandler.onSubscriptionChangeStatus(die, dataSourceCode, exception, mainActivity);
            }
  
            @Override
            public void onPStorageCommunicationInitialized(Die die) {
              super.onPStorageCommunicationInitialized(die);
              PStorageHandler.onPStorageCommunicationInitialized(die, mainActivity);
            }
            
            @Override
            public void onPStorageOperationFailed(Die die, Exception exception) {
              super.onPStorageOperationFailed(die, exception);
              PStorageHandler.onPStorageOperationFailed(die, exception);
            }
            
            @Override
            public void onPStorageValueWrite(Die die, int handle) {
              super.onPStorageValueWrite(die, handle);
              PStorageHandler.onPStorageValueWrite(die, handle);
            }
            
            @Override
            public void onPStorageReset(Die die, Exception exception) {
              super.onPStorageReset(die, exception);
              PStorageHandler.onPStorageReset(die, exception);
            }
            
            @Override
            public void onPStorageValueRead(Die die, int handle, String str) {
              super.onPStorageValueRead(die, handle, str);
              PStorageHandler.onPStorageValueRead(die, handle, str);
            }
            
            @Override
            public void onPStorageValueRead(Die die, int handle, Vector3 vector) {
              super.onPStorageValueRead(die, handle, vector);
              PStorageHandler.onPStorageValueRead(die, handle, vector);
            }
            
            @Override
            public void onPStorageValueRead(Die die, int handle, int value) {
              super.onPStorageValueRead(die, handle, value);
              PStorageHandler.onPStorageValueRead(die, handle, value);
            }
            
        };
    }
}




Java Source Code List

com.example.dice_test2.AccelerometerReadoutHandler.java
com.example.dice_test2.BatteryStateHandler.java
com.example.dice_test2.DiceEventHandler.java
com.example.dice_test2.LedStateHandler.java
com.example.dice_test2.ListenerContainer.java
com.example.dice_test2.MagnetometerReadoutHandler.java
com.example.dice_test2.MainActivity.java
com.example.dice_test2.OrientationReadoutHandler.java
com.example.dice_test2.PStorageHandler.java
com.example.dice_test2.PowerModeHandler.java
com.example.dice_test2.ProximityReadoutHandler.java
com.example.dice_test2.RollHandler.java
com.example.dice_test2.SubscriptionChangeHandler.java
com.example.dice_test2.TapReadoutHandler.java
com.example.dice_test2.TemperatureReadoutHandler.java
com.example.dice_test2.TouchReadoutHandler.java