package com.kuxhausen.huemore.automation; import com.google.gson.Gson; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.content.WakefulBroadcastReceiver; import com.kuxhausen.huemore.net.ConnectivityService; import com.kuxhausen.huemore.persistence.Definitions.InternalArguments; public class FireReceiver extends WakefulBroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if (com.twofortyfouram.locale.Intent.ACTION_FIRE_SETTING.equals(intent.getAction())) { Gson gson = new Gson(); String serializedGMB = intent.getExtras().getBundle(com.twofortyfouram.locale.Intent.EXTRA_BUNDLE) .getString(EditActivity.EXTRA_BUNDLE_SERIALIZED_BY_NAME); LegacyGMB gmb = gson.fromJson(serializedGMB, LegacyGMB.class); Bundle b = intent.getExtras(); if (b.containsKey(EditActivity.PERCENT_BRIGHTNESS_KEY) && !b.getString(EditActivity.PERCENT_BRIGHTNESS_KEY).contains("%")) { try { int percent = Integer.parseInt(b.getString(EditActivity.PERCENT_BRIGHTNESS_KEY)); if (percent >= 0 && percent <= 100) { gmb.brightness = ((percent * 255) / 100); } } catch (Error e) { } } if (b.containsKey(EditActivity.MOOD_NAME_KEY) && !b.getString(EditActivity.MOOD_NAME_KEY).contains("%")) { String mood = b.getString(EditActivity.MOOD_NAME_KEY); if (mood != null && mood.length() > 0) { gmb.mood = mood; } } Intent trasmitter = new Intent(context, ConnectivityService.class); trasmitter.putExtra(InternalArguments.MOOD_NAME, gmb.mood); trasmitter.putExtra(InternalArguments.GROUP_NAME, gmb.group); if(gmb.brightness!=null) trasmitter.putExtra(InternalArguments.MAX_BRIGHTNESS, gmb.getPercentBrightness()); startWakefulService(context, trasmitter); } } }