Notification listener finished.
This commit is contained in:
		@@ -3,7 +3,9 @@ package com.jens.automation2;
 | 
			
		||||
import android.bluetooth.BluetoothDevice;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.os.AsyncTask;
 | 
			
		||||
import android.os.Build;
 | 
			
		||||
import android.os.Looper;
 | 
			
		||||
import android.service.notification.StatusBarNotification;
 | 
			
		||||
import android.util.Log;
 | 
			
		||||
import android.widget.Toast;
 | 
			
		||||
 | 
			
		||||
@@ -14,6 +16,7 @@ import com.jens.automation2.receivers.ConnectivityReceiver;
 | 
			
		||||
import com.jens.automation2.receivers.HeadphoneJackListener;
 | 
			
		||||
import com.jens.automation2.receivers.NfcReceiver;
 | 
			
		||||
import com.jens.automation2.receivers.NoiseListener;
 | 
			
		||||
import com.jens.automation2.receivers.NotificationListener;
 | 
			
		||||
import com.jens.automation2.receivers.PhoneStatusListener;
 | 
			
		||||
import com.jens.automation2.receivers.ProcessListener;
 | 
			
		||||
 | 
			
		||||
@@ -22,6 +25,9 @@ import java.util.ArrayList;
 | 
			
		||||
import java.util.Calendar;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
 | 
			
		||||
import static com.jens.automation2.Trigger.triggerParameter2Split;
 | 
			
		||||
import static com.jens.automation2.receivers.NotificationListener.EXTRA_TEXT;
 | 
			
		||||
import static com.jens.automation2.receivers.NotificationListener.EXTRA_TITLE;
 | 
			
		||||
 | 
			
		||||
public class Rule implements Comparable<Rule>
 | 
			
		||||
{
 | 
			
		||||
@@ -831,6 +837,8 @@ public class Rule implements Comparable<Rule>
 | 
			
		||||
	
 | 
			
		||||
	private class ActivateRuleTask extends AsyncTask<Object, String, Void>
 | 
			
		||||
	{
 | 
			
		||||
		boolean wasActivated = false;
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		protected Void doInBackground(Object... params)
 | 
			
		||||
		{
 | 
			
		||||
@@ -863,16 +871,23 @@ public class Rule implements Comparable<Rule>
 | 
			
		||||
		@Override
 | 
			
		||||
		protected void onPostExecute(Void result)
 | 
			
		||||
		{
 | 
			
		||||
			AutomationService.updateNotification();
 | 
			
		||||
			ActivityMainScreen.updateMainScreen();
 | 
			
		||||
			super.onPostExecute(result);
 | 
			
		||||
			/*
 | 
			
		||||
			 	Only update if the rules was actually executed. Became necessary for the notification trigger. If a user created a rule
 | 
			
		||||
			 	with a notification trigger and this app creates a notification itself this will otherwise end in an infinite loop.
 | 
			
		||||
			 */
 | 
			
		||||
			if(wasActivated)
 | 
			
		||||
			{
 | 
			
		||||
				AutomationService.updateNotification();
 | 
			
		||||
				ActivityMainScreen.updateMainScreen();
 | 
			
		||||
				super.onPostExecute(result);
 | 
			
		||||
			}
 | 
			
		||||
		}	
 | 
			
		||||
		
 | 
			
		||||
		/**
 | 
			
		||||
		 * Will activate the rule. Should be called by a separate execution thread
 | 
			
		||||
		 * @param automationService
 | 
			
		||||
		 */
 | 
			
		||||
		protected void activateInternally(AutomationService automationService, boolean force)
 | 
			
		||||
		protected boolean activateInternally(AutomationService automationService, boolean force)
 | 
			
		||||
		{
 | 
			
		||||
			boolean isActuallyToggable = isActuallyToggable();
 | 
			
		||||
			
 | 
			
		||||
@@ -919,8 +934,11 @@ public class Rule implements Comparable<Rule>
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				Miscellaneous.logEvent("i", "Rule", "Request to activate rule " + Rule.this.getName() + ", but it is the last one that was activated. Won't do it again.", 3);
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
		}	
 | 
			
		||||
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
	}	
 | 
			
		||||
	
 | 
			
		||||
	public void activate(AutomationService automationService, boolean force)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user