Android Open Source - lifx-sdk-android L F X Site I D






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

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

package lifx.java.android.entities.internal;

import lifx.java.android.util.LFXByteUtils;

public class LFXSiteID
{
  private static final int LFX_SITE_ID_NUMBER_OF_BYTES = 6;
  
  private byte[] data;
  
  private LFXSiteID()
  {
    data = new byte[LFX_SITE_ID_NUMBER_OF_BYTES];
  }
  
  // The canonical representation of a Site ID is a hex string. This is the form
  // used in the LIFX Cloud API.
  public static LFXSiteID getSiteIDWithString( String siteIDString)
  {
    byte[] data = LFXByteUtils.hexStringToByteArray( siteIDString);
    return getSiteIDWithData( data);
  }
  
  public String getStringValue()
  {
    if( this.isZeroSite()) 
    {
      return "*";
    }
    
    return LFXByteUtils.byteArrayToHexString( data);
  }

  // The LIFX Protocol uses 6-bytes to represent a Site ID
  public static LFXSiteID getSiteIDWithData( byte[] data)
  {
    LFXSiteID siteID = new LFXSiteID();
    LFXByteUtils.copyBytesIntoByteArray( siteID.data, data);
    return siteID;
  }
  
  public byte[] getDataValue()
  {
    return data;
  }

  // When a device hasn't been added to a site yet, it will have a 'zero' Site ID.
  public static LFXSiteID getZeroSiteID()
  {
    byte[] bytes = new byte[]{0,0,0,0,0,0};
    return getSiteIDWithData( bytes);
  }
  
  public boolean isZeroSite()
  {
    return LFXByteUtils.isByteArrayEmpty( data);
  }

  // A shorter string representation - useful for logging and diagnostics
  public String getDebugStringValue()
  {
    return "LFXSiteID: " + LFXByteUtils.byteArrayToHexString( data);
  }

  public String toString()
  {
    return getDebugStringValue();
  }

  public boolean equals( LFXSiteID aSiteID)
  {
    if( aSiteID == null)
    {
      return false;
    }
    
    if( !LFXByteUtils.areByteArraysEqual( data, aSiteID.data) )
    {
      return false;
    }
    
    return true;
  }

  @Override
  public Object clone()
  {  
    return getSiteIDWithData( data);
  }
}




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