Closed LukasThyWalls closed 7 years ago
Hi, thanks for the bug report!
Just to confirm, it doesn't work using "Times from sun" or custom times, correct?
My phone has default function to don't keep alive apps, but Red Moon is configured as protected app and this shouldn't be a problem.
I'm not 100% sure, but Red Moon should work without this.
Better to keep it protected while we're trying to work this out, though :)
@LukasThyWalls If it's not working using custom times, can you try installing a debug version from here and see if the issue has been resolved in it. I just built it from what's currently the most recent version in the repo (031ef74). It should install alongside the release version.
Is this only using "Times from sun" or using custom times, as well?
Both. When i saw the comment, i tested putting some time near to actual time and nothing happens at reach, during and finishing the limits configured. The times set automaticly by location are correct, anyway.
My phone has default function to don't keep alive apps, but Red Moon is configured as protected app and this shouldn't be a problem.
I'm not 100% sure, but Red Moon should work without this. Better to keep it protected while we're trying to work this out, though :)
Yes, normally i have issues with old apps or not well prepared ones. And with some old apps still have issues with that althought they are in protected apps list. For example, with Twilight i have problems if i dont put it in protected apps (it doesn't start and doesn't do anything, until i enter again in the app). Thats way i pointing that out, because is a normal issue with my phone, if i don't put the options for autostart and keep alive when screen goes off (both disabled by default), "resident apps" doesn't do the things should they be doing.
To be sure: To configure the app to automatic put the red filter on/off in the configured times, the time function has to be activated, but what with the main switch? In my case, like i said, the configured times doesn't matter, if the main switch is on the filter is on, and when is off is off, and it doesn't auto switch or anything.
I tested the debug version, without any luck.
Steps i did:
In v2.10.0, I removed the floating button and moved its functionality to the top switch. I also removed "disable everything" functionality, which was confusing for many people and no longer needed, since now the timer has its own switch.
That is to say, the current top switch only affects whether Red Moon is turned on and filtering your screen; the timer is completely separate.
I wonder if this is related to #130. Are you able to get a logcat?
@LukasThyWalls It's a long shot, but can you see if this works?
Avoiding misunderstandings, i test a bunch of examples:
I wonder if this is related to #130. Are you able to get a logcat?
I can't get a logcat because i don't have the phone rooted. If a Red Moon debug version have some ability to dump its logcat can be useful, because unrooted android 4.1+ only an app can see its own parts of logcat. is it stored somewhere?
But my problem is the opposite of #130, Master switch is working perfectly, the timers are what aren't doing anything.
I can't get a logcat because i don't have the phone rooted. If a Red Moon debug version have some ability to dump its logcat can be useful, because unrooted android 4.1+ only an app can see its own parts of logcat. is it stored somewhere?
Currently Red Moon doesn't have a way to dump its log. I probably won't add that because I'd either need to add an additional permission (to dump the logcat) or add database logging (more work than I'd like to do, given I don't plan to add much more to Red Moon after v3.0 becomes stable).
You can get a logcat from an un-rooted phone using adb on your computer. First, turn on Settings > Developer options > USB debugging
. In order to make the Developer options
section appear, open Settings > About device and tap Build number
a bunch of times (7 or 8 I think). Plug your phone in to your computer and open Red Moon. Then, you have two options:
Android monitor
in the bottom leftcd
into the directory you just extracted. The adb
executable should be thereadb shell
ps | grep redmoon
u0_a68 2289 1293 1692812 65472 ep_poll 0000000000 S com.jmstudios.redmoon.debug
2289
) is the process id.logcat --pid=2289
< replace with your process idBut my problem is the opposite of #130, Master switch is working perfectly, the timers are what aren't doing anything.
There are four things it might be:
unfortunaly, i just pointing out that this UI "EMUI" and this official Android Version haven't USB debugging like others. I used ADB in my old phone (to root it), but this one is not that easy. I will try to do it but i need more time to learn to do it or find an alternative or root it (i doesn't need to root the phone until this thing)
unfortunaly, i just pointing out that this UI "EMUI" and this official Android Version haven't USB debugging like others
Ah, I see.
Adding full logging is still more work than I'd like to do, but I should be able to do something like show a toast with the relevant information for figuring out this bug. I should have time for that on Friday.
Do you know if this issue was present on v2.9.2 or earlier?
Do you know if this issue was present on v2.9.2 or earlier?
Tested with 2.9.0 and i have the same behaviour... Manual timer doesn't do anything, floating button (in this case) is the only one to switch on/off the red filter.
I just find the way to use ADB in my phone... a bit weird way http://www.syncios.com/android/how-to-debug-huawei-ascend-phone.html
At 16:07 i put the timers with 16:09-16:10 with the app opened all the time (and main switch always off). Nothing happened with the red filter, of course.
Note: I can't use logcat --pid=xxxx
, it said invalid parameter, i used logcat | grep xxxx
instead:
$ps | grep redmoon
u0_a339 18633 2441 1623604 51700 SyS_epoll_ 0000000000 S com.jmstudios.redmoon.debug
$logcat | grep 18633
int logctl_get(): open '/dev/hwlog_switch' fail -1, 13. Permission denied
Note: log switch off, only log_main and log_events will have logs!
04-10 16:07:47.128 18633 18633 I MainActivity: Got intent
04-10 16:07:47.183 18633 18633 I ThemedAppCompatActivity: onCreate - First creation
04-10 16:07:47.218 18633 18633 I FilterFragment: onResume
04-10 16:07:47.231 18633 18633 I ScreenFilterService: onCreate
04-10 16:07:47.233 18633 18633 I ScreenManager: Found Status Bar Height: 48
04-10 16:07:47.233 18633 18633 I ScreenManager: Found Navigation Bar Height: 72
04-10 16:07:47.233 18633 18633 I ScreenFilterPresenter: Initializing
04-10 16:07:47.235 18633 18633 I ScreenFilterService: onStartCommand(Intent { cmp=com.jmstudios.redmoon.debug/com.jmstudios.redmoon.service.ScreenFilt
erService }, 0, 1
04-10 16:07:47.236 18633 18633 I ScreenFilterService: Recieved flag: -1
04-10 16:07:47.236 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:07:47.321 18633 18633 I ProfileSelectorPreferen: onBindView
04-10 16:07:47.321 18633 18633 I ProfileSelectorPreferen: Starting initLayout
04-10 16:07:47.321 18633 18633 I ProfileSelectorPreferen: Setting remove button
04-10 16:07:47.347 18633 18633 I SeekBarPreference: onBindView
04-10 16:07:47.362 18633 18633 I SeekBarPreference: onBindView
04-10 16:07:47.377 18633 18633 I SeekBarPreference: onBindView
04-10 16:07:47.445 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:07:47.448 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:07:47.451 18633 18633 I ProfileSelectorPreferen: Item 1 selected
04-10 16:07:49.227 18633 18633 I ThemedAppCompatActivity: onCreate - First creation
04-10 16:07:49.259 18633 18633 I LocationUpdateService: Received request
04-10 16:07:49.375 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:07:49.377 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:07:57.902 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:07:58.034 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:07:58.036 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:07:58.037 18633 18633 I RedMoonApplication: onPreferenceChanged: pref_key_custom_start_time
04-10 16:07:58.040 18633 18633 I TimeToggleChangeReceive: Scheduling alarm for java.util.GregorianCalendar[time=1491833398039,areFieldsSet=true,lenien
t=true,zone=Europe/Madrid,firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2017,MONTH=3,WEEK_OF_YEAR=15,WEEK_OF_MONTH=3,DAY_OF_MONTH=10,DAY_OF_YEA
R=100,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=9,SECOND=58,MILLISECOND=39,ZONE_OFFSET=3600000,DST_OFFSET=3600000]
04-10 16:08:01.884 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:08:01.989 18633 18633 I RedMoonApplication: onPreferenceChanged: pref_key_custom_end_time
04-10 16:08:01.992 18633 18633 I TimeToggleChangeReceive: Scheduling alarm for java.util.GregorianCalendar[time=1491833401991,areFieldsSet=true,lenien
t=true,zone=Europe/Madrid,firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2017,MONTH=3,WEEK_OF_YEAR=15,WEEK_OF_MONTH=3,DAY_OF_MONTH=10,DAY_OF_YEA
R=100,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=10,SECOND=1,MILLISECOND=991,ZONE_OFFSET=3600000,DST_OFFSET=3600000]
04-10 16:08:01.995 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:08:01.997 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:08:04.365 18633 18633 I FilterFragment: onResume
04-10 16:08:04.392 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:08:04.396 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:08:04.648 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:08:06.949 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:08:06.952 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:12:55.064 2929 22015 I AGNSSCONTROL: static void PACommMgr::PAInjectEphemeris(SUPL_GPS_ASSISTANCE_DATA*) -- 1490: svid:4, acc:0, iode2:41, i
ode3:41, m0:-1041474818.000000, delta_n:13427.000000, ecc:42309546.000000, ek:0.000000, sqrt_a:2702035964.000000, omega_0:-418633756.000000, i0:647283
962.000000, omega:368813675.000000, omega_dot:-22830.000000, i_dot:-1040.000000
I tried to do more test, but i realized that if i clean Red Moon from recent apps it is killed (seems the app is not really protected):
04-10 16:19:15.347 18633 18633 I HwSecImmHelper: mSecurityInputMethodService is null
04-10 16:19:15.357 18633 18633 I ScreenFilterService: onDestroy
04-10 16:19:15.359 18633 18633 I ScreenFilterPresenter: Sending update broadcast
04-10 16:19:15.359 18633 18633 I SendBroadcastPermission: action:com.jmstudios.redmoon.action.APPWIDGET_UPDATE, mPermissionType:0
04-10 16:19:15.366 4073 5056 I PgedBinderListener: kstate callback type:8 value1=18633 value2=KILLED
04-10 16:19:15.440 3257 3854 I MediaProcessHandler: processOp opType: 1, uid: 10339, pid: 18633
04-10 16:19:15.440 3257 3854 W MediaProcessHandler: remove target not exist, maybe the UI process: uid: 10339, pid: 18633
And then ps | grep redmoon
is empty
Okay. It looks like the alarm we set never triggers.
I have enough information now to find out how to fix this, if it is possible.
Hmm. This problem (AlarmManager not working) usually happens when an app is not protected; I can't find anything about having this problem when the app is protected.
Just to make sure we're talking about the same thing: When you say "Protected", you mean Settings > Advanced Settings > Battery Manager > Protected apps
, correct?
Just to make sure we're talking about the same thing: When you say "Protected", you mean
Settings > Advanced Settings > Battery Manager > Protected apps
, correct?
Correct. And Red Moon is "Protected".
I'm not really sure what to do about this. If anybody else knows more about why AlarmManager would not work even when Red Moon is protected / knows what to do to fix this, please chime in.
@LukasThyWalls Do you know if the timer has worked in past versions? Particularly v2.9.2 or earlier.
I was trying to use Red Moon since some time ago, testing the new versions updated in f-droid, but in anyone of them the timer worked. Maybe if you want to test some particular version to view what happens, i can do that.
The timer seems to have stopped working on my phone on v3.0.0. Haven't had a chance to look into it yet, but maybe this is the same thing.
I have tried to use Red Moon installing via f-droid, and for sure i had installed at least some 2.9.x versions and all 2.10.x versions, and the timer never worked. Maybe is related, but my problem with it is from older versions than v3.0.0.
@LukasThyWalls New debug build (from fc15476) might fix this.
Edit: That build is actually bugged, working on a fix..
I installed and tried the usual tests, and i don't see any difference with older builds.
A logcat should be useful?
No need for a logcat until I've fixed all the bugs I can reproduce :)
I'm pretty sure #144 is the same issue as this. That issue is a bit more specific and technical, so I'm going to close this one; If I fix that issue but it doesn't work for you, I'll re-open this.
App Version: 2.10.2 from F-droid. Android Version: Android 6.0 in Huawei P8 Lite with EMUI 4.0.
I don't know if i'm doing something wrong.
I can switch on/off the red filter with the general button in the app, but i can't make it work automaticly with the time function. It's activated and i put manual and automatic time (it picks the right time for my time zone) but the red filter only works with the general button, and the time function doesn't matter, the red filter has never activates or deactivates with the times configured.
My phone has default function to don't keep alive apps, but Red Moon is configured as protected app and this shouldn't be a problem.
And, well, i know is not the same, but Twilight App works with automatic switch on/off, but i think the red filter in Red Moon fits better in my phone. Only for pointing that.
Thanks in advance.