Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

I have a Samsung Galaxy S3 with Tasker 4.0u1 installed. I have a "Low Light" profile which activates ScreenFilter when %LIGHT == 0 (and I'm not in certain apps which don't react well to the filter being turned on).

In dark situations, this works quite well, and prevents the S3's bright (even on minimum brightness setting) screen from burning holes in my retinas.

The problem I have is that in dim-light situations, the filter keeps turning on and turning off, which gets so annoying I have to pop into Tasker and shut the profile off. Any thoughts on how I can prevent that?

share|improve this question
    
Would a WAIT at the end of that task improve the situation? You could delay the task's ending for, say, 30s. Another idea would be to set a user variable (e.g. %LIGHT_FILTER) to 1 when the filter is triggered on (don't forget to delete it in the exit task), and add an IF with something defining when the filter is on it should not trigger back unless %LIGHT exceeds a given threshold (e.g. trigger only when it's at least 3, you might need to play with that value). –  Izzy Apr 27 '13 at 12:01
add comment

1 Answer

Based on Izzy's suggestion, this is what I've come up with:

Profile: Toggle Screen Filter
Primary Context: Variable Set %LIGHT
Secondary Context: Not in Netflix, Safe in Cloud, etc.
Task:

1. Perform Task `Distance` Priority 8 Parameter 1 %LIGHT Parameter 2 %OLDLIGHT Return Value Variable %lightchange
2. If %lightchange > %LightThreshold
3.   If %ScreenFilterOn = 1
4.     Perform Task `Screen Filter Off` Priority 8
5.   Else
6.     Perform Task `Screen Filter On` Priority 8 If %LIGHT = 0
7.   End If
8. End If
9. Variable Set %OLDLIGHT To %LIGHT

Task Distance:

1. Variable Set Name %rval To %par1 - %par2 Do Maths True If %par1 > %par2
2. Variable Set Name %rval To %par2 - %par1 Do Maths True If %par2 > %par1
3. Variable Set Name %rval To 0 If %par1 = %par2
4. Return Value %rval

Task Screen Filter On:

1. Screen Filter 48.6% Soft-keys On
2. Variable Set Name %ScreenFilterOn To 1

Task Screen Filter Off:

1. Screen Filter 100% Soft-keys On
2. Variable Set Name %ScreenFilterOn To 0

I had to fiddle with the value of %LightThreshold a bit. I started out with it set to 30, but that turned out to be so high that Screen Filter never activated. With it set to 10, things seem to be working well for now. I'll report back in a couple of days.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.