Android Open Source - lifx-sdk-android L F X Wi Fi Observer






From Project

Back to project page lifx-sdk-android.

License

The source code is released under:

MIT License

If you think the Android project lifx-sdk-android 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

//
//  LFXWiFiObserver.java
//  LIFX/*from w  w w  .j a  v  a 2s.co  m*/
//
//  Created by Jarrod Boyes on 24/03/14.
//  Copyright (c) 2014 LIFX Labs. All rights reserved.
//

package lifx.java.android.internal;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Timer;
import java.util.TimerTask;

import android.content.Context;

import lifx.java.android.util.LFXNetworkUtils;

public class LFXWiFiObserver
{
  public interface LFXWiFiObserverCallback
  {
    public void run( Object context, LFXWiFiObserver message);
  }
  
  public class LFXWiFiObservationDescriptor
  {
    private Object observingObject;
    private LFXWiFiObserverCallback callback;
    
    public void setObservingObject( Object observingObject)
    {
      this.observingObject = observingObject;
    }
    
    public Object getObservingObject()
    {
      return observingObject;
    }
    
    public void setCallback( LFXWiFiObserverCallback callback)
    {
      this.callback = callback;
    }
    
    public LFXWiFiObserverCallback getCallback()
    {
      return callback;
    }
  }
  
  private static LFXWiFiObserver sharedInstance;
  private String currentSSID;
  private Context context;

  public static LFXWiFiObserver getSharedInstance( Context context)
  {
    if( sharedInstance == null)
    {
      sharedInstance = new LFXWiFiObserver();
      sharedInstance.context = context;
    }
    
    return sharedInstance;
  }
  
  public static String getWiFiBroadcastAddress()
  {
    if( sharedInstance != null && sharedInstance.context != null)
    {
      return LFXNetworkUtils.getBroadcastAddress( sharedInstance.context);
    }
    else
    {
      return "255.255.255.255";
    }
  }
  
  @SuppressWarnings( "unused")
  private Runnable getWifiPollTimerTask()
  {
    Runnable wifiPollTimerTask = new TimerTask() 
    {
        public void run() 
        {
          wifiPollingTimerDidFire();
        }
    };
    
    return wifiPollTimerTask;
  }
    
  private LFXWiFiObserver()
  {
    observationDescriptors = new ArrayList<LFXWiFiObservationDescriptor>();
    //wifiStatePollingTimer = LFXTimerUtils.getTimerTaskWithPeriod( getWifiPollTimerTask(), 1000, false); 
  }

  @SuppressWarnings( "unused")
  private Timer wifiStatePollingTimer;
  private ArrayList<LFXWiFiObservationDescriptor> observationDescriptors;

  @SuppressWarnings( { "unused", "rawtypes" })
  private HashMap cachedNetworkInfo;

  private void wifiPollingTimerDidFire()
  {
  }

  @SuppressWarnings( { "rawtypes", "unused" })
  private HashMap getFreshNetworkInfo()
  {
    return null;
  }

  @SuppressWarnings( "unused")
  private String getCurrentSSID()
  {
    return null;
  }

  public boolean isConnectedToLIFXSoftAP()
  {
    return currentSSID.equals("LIFX Bulb");
  }

  public void addObserverObjectWithCallback( Object object, LFXWiFiObserverCallback callback)
  {
    LFXWiFiObservationDescriptor observationDescriptor = new LFXWiFiObservationDescriptor();
    observationDescriptor.setObservingObject( object);
    observationDescriptor.setCallback( callback);
    observationDescriptors.add( observationDescriptor);
  }

  @SuppressWarnings( "unchecked")
  public void removeObserverObject( Object object)
  {
    for( LFXWiFiObservationDescriptor anObservationDescriptor : (ArrayList<LFXWiFiObservationDescriptor>) observationDescriptors.clone())
    {
      if( anObservationDescriptor.getObservingObject() == object)
      {
        observationDescriptors.remove( anObservationDescriptor);
      }
    }
  }

  @SuppressWarnings( "unused")
  private void sendObservationCallbacks()
  {
    for( LFXWiFiObservationDescriptor anObservationDescriptor : observationDescriptors)
    {
      anObservationDescriptor.getCallback().run( anObservationDescriptor.getObservingObject(), this);
    }
  }
}




Java Source Code List

com.example.lifx_sdk_samples.LFXSDKLightEditLabelActivity.java
com.example.lifx_sdk_samples.LFXSDKLightListAdapter.java
com.example.lifx_sdk_samples.LFXSDKLightPowerActivity.java
com.example.lifx_sdk_samples.LFXSDKLightRandomColorActivity.java
com.example.lifx_sdk_samples.LFXSDKSamplesActivity.java
com.example.lifx_sdk_samples.LFXSDKTaggedLightCollectionListAdapter.java
lifx.java.android.client.LFXClient.java
lifx.java.android.constant.LFXSDKConstants.java
lifx.java.android.entities.LFXHSBKColor.java
lifx.java.android.entities.LFXLightTarget.java
lifx.java.android.entities.LFXTypes.java
lifx.java.android.entities.internal.LFXBinaryPath.java
lifx.java.android.entities.internal.LFXBinaryTargetID.java
lifx.java.android.entities.internal.LFXBinaryTypes.java
lifx.java.android.entities.internal.LFXDeviceMapping.java
lifx.java.android.entities.internal.LFXGatewayDescriptor.java
lifx.java.android.entities.internal.LFXMessageObservationDescriptor.java
lifx.java.android.entities.internal.LFXMessage.java
lifx.java.android.entities.internal.LFXSiteID.java
lifx.java.android.entities.internal.LFXTagMapping.java
lifx.java.android.entities.internal.LFXTarget.java
lifx.java.android.entities.internal.structle.LxProtocolDevice.java
lifx.java.android.entities.internal.structle.LxProtocolLight.java
lifx.java.android.entities.internal.structle.LxProtocolSensor.java
lifx.java.android.entities.internal.structle.LxProtocolWan.java
lifx.java.android.entities.internal.structle.LxProtocolWifi.java
lifx.java.android.entities.internal.structle.LxProtocol.java
lifx.java.android.entities.internal.structle.Lx.java
lifx.java.android.entities.internal.structle.StructleTypes.java
lifx.java.android.internal.LFXWiFiObserver.java
lifx.java.android.light.LFXLightCollection.java
lifx.java.android.light.LFXLight.java
lifx.java.android.light.LFXTaggedLightCollection.java
lifx.java.android.light.internal.LFXAllLightsCollection.java
lifx.java.android.network_context.LFXNetworkContext.java
lifx.java.android.network_context.internal.routing_table.LFXRoutingTable.java
lifx.java.android.network_context.internal.transport_manager.LFXTransportManager.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXGatewayConnection.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXSocketGeneric.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXSocketTCP.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXSocketUDP.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXTCPGatewayConnection.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXUDPGatewayConnection.java
lifx.java.android.network_context.internal.transport_manager.lan.LFXLANTransportManager.java
lifx.java.android.network_context.internal.transport_manager.lan.gateway_discovery.LFXGatewayDiscoveryController.java
lifx.java.android.network_context.internal.transport_manager.lan.gateway_discovery.LFXGatewayDiscoveryTableEntry.java
lifx.java.android.util.LFXByteUtils.java
lifx.java.android.util.LFXLog.java
lifx.java.android.util.LFXNetworkUtils.java
lifx.java.android.util.LFXTimerUtils.java