IBeaconIntentProcessor.java 2.84 KB
package com.radiusnetworks.ibeacon;

import android.annotation.TargetApi;
import android.app.IntentService;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import com.radiusnetworks.ibeacon.service.IBeaconData;
import com.radiusnetworks.ibeacon.service.MonitoringData;
import com.radiusnetworks.ibeacon.service.RangingData;
import java.util.Collection;

@TargetApi(3)
public class IBeaconIntentProcessor
  extends IntentService
{
  private boolean a = false;
  
  public IBeaconIntentProcessor()
  {
    super("IBeaconIntentProcessor");
  }
  
  protected void onHandleIntent(Intent paramIntent)
  {
    Object localObject1 = null;
    Object localObject2;
    if ((paramIntent != null) && (paramIntent.getExtras() != null))
    {
      localObject2 = (MonitoringData)paramIntent.getExtras().get("monitoringData");
      localObject1 = (RangingData)paramIntent.getExtras().get("rangingData");
    }
    for (paramIntent = (Intent)localObject2;; paramIntent = null)
    {
      if (localObject1 != null)
      {
        if (((RangingData)localObject1).getIBeacons() == null) {
          Log.w("IBeaconIntentProcessor", "Ranging data has a null iBeacons collection");
        }
        RangeNotifier localRangeNotifier = IBeaconManager.getInstanceForApplication(this).getRangingNotifier();
        localObject2 = IBeaconData.fromIBeaconDatas(((RangingData)localObject1).getIBeacons());
        if (localRangeNotifier != null) {
          localRangeNotifier.didRangeBeaconsInRegion((Collection)localObject2, ((RangingData)localObject1).getRegion());
        }
        localRangeNotifier = IBeaconManager.getInstanceForApplication(this).getDataRequestNotifier();
        if (localRangeNotifier != null) {
          localRangeNotifier.didRangeBeaconsInRegion((Collection)localObject2, ((RangingData)localObject1).getRegion());
        }
      }
      if (paramIntent != null)
      {
        localObject1 = IBeaconManager.getInstanceForApplication(this).getMonitoringNotifier();
        if (localObject1 != null)
        {
          if (IBeaconManager.debug) {
            new StringBuilder("Calling monitoring notifier:").append(localObject1);
          }
          if (!paramIntent.isInside()) {
            break label199;
          }
        }
      }
      label199:
      for (int i = 1;; i = 0)
      {
        ((MonitorNotifier)localObject1).didDetermineStateForRegion(i, paramIntent.getRegion());
        if (!paramIntent.isInside()) {
          break;
        }
        ((MonitorNotifier)localObject1).didEnterRegion(paramIntent.getRegion());
        return;
      }
      ((MonitorNotifier)localObject1).didExitRegion(paramIntent.getRegion());
      return;
    }
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/radiusnetworks/ibeacon/IBeaconIntentProcessor.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */