Seriously... does anyone besides me get super irritated when the G1 shuts the screen off during calls? When you are calling automated lines or checking voicemail it's like the biggest pain in the ass... anyone know of a setting or something to stop the phone from turning screen off during calls?
Closes app you can get now is Shake Awake. It won't keep your screen on, but it will turn it on when you move (shake) the phone http://www.cyrket.com/package/com.maplekeycompany.apps.shake
I have been griping about this very problem for almost a year now. Shake awake is nice, but how about just changing a setting so that the phone screen DOES NOT SLEEP during a call? Anyone know where this would be?
There is no such setting. That question has been asked many times before, I'm sure someone would have worked it out if it was possible.
OK. I think I have found the culprit. This is what happens when the screen is shutting itself off during a call:
D/PhoneApp( 185): updateWakeState: keepScreenOn = false (isRinging false, showingDisc false)
D/SurfaceFlinger( 134): About to give-up screen, flinger = 0x17b200
Just a few changes should do the trick. I'll try to work on this.
You'd be a hero for many people if you figured this out
Looking at PhoneApp.java, this seems to be getting closer:
559 /**
560 * Controls how quickly the screen times out.
561 *
562 * The poke lock controls how long it takes before the screen powers
563 * down, and therefore has no immediate effect when the current
564 * WakeState (see {@link PhoneApp#requestWakeState}) is FULL.
565 * If we're in a state where the screen *is* allowed to turn off,
566 * though, the poke lock will determine the timeout interval (long or
567 * short).
568 *
569 * @param shortPokeLock tells the device the timeout duration to use
570 * before going to sleep
571 * {@link com.android.server.PowerManagerService#SHORT_KEYLIGHT_DELAY}.
572 */
573 /* package */ void setScreenTimeout(ScreenTimeoutDuration duration) {
574 if (DBG) Log.d(LOG_TAG, "setScreenTimeout(" + duration + ")...");
575
576 // make sure we don't set the poke lock repeatedly so that we
577 // avoid triggering the userActivity calls in
578 // PowerManagerService.setPokeLock().
579 if (duration == mPokeLockSetting) {
580 return;
581 }
582 mPokeLockSetting = duration;
583
584 // This is kind of convoluted, but the basic thing to remember is
585 // that the poke lock just sends a message to the screen to tell
586 // it to stay on for a while.
587 // The default is 0, for a long timeout and should be set that way
588 // when we are heading back into a the keyguard / screen off
589 // state, and also when we're trying to keep the screen alive
590 // while ringing. We'll also want to ignore the cheek events
591 // regardless of the timeout duration.
592 // The short timeout is really used whenever we want to give up
593 // the screen lock, such as when we're in call.
594 int pokeLockSetting = LocalPowerManager.POKE_LOCK_IGNORE_CHEEK_EVENTS;
595 switch (duration) {
596 case SHORT:
597 // Set the poke lock to timeout the display after a short
598 // timeout (5s). This ensures that the screen goes to sleep
599 // as soon as acceptably possible after we the wake lock
600 // has been released.
601 if (DBG) Log.d(LOG_TAG, "setting short poke lock");
602 pokeLockSetting |= LocalPowerManager.POKE_LOCK_SHORT_TIMEOUT;
603 break;
604
605 case MEDIUM:
606 // Set the poke lock to timeout the display after a medium
607 // timeout (15s). This ensures that the screen goes to sleep
608 // as soon as acceptably possible after we the wake lock
609 // has been released.
610 if (DBG) Log.d(LOG_TAG, "setting medium poke lock");
611 pokeLockSetting |= LocalPowerManager.POKE_LOCK_MEDIUM_TIMEOUT;
612 break;
613
614 case DEFAULT:
615 default:
616 // set the poke lock to timeout the display after a long
617 // delay by default.
618 // TODO: it may be nice to be able to disable cheek presses
619 // for long poke locks (emergency dialer, for instance).
620 if (DBG) Log.d(LOG_TAG, "reverting to normal long poke lock");
621 break;
622 }
623
624 // Send the request
625 try {
626 mPowerManagerService.setPokeLock(pokeLockSetting, mPokeLockToken, LOG_TAG);
627 } catch (RemoteException e) {
628 }
629 }
Click to expand...
Click to collapse
please please get this done... I'm even willing to donate I really want this... soooooooooooooooo tired of pressing MENU every time I need to get anywhere... and with some of these automated lines it can be like 10+ times each call...
Installing it on my phone now and keeping my fingers crossed...
I think there are more crossed fingers than just yours
derfolo said:
Installing it on my phone now and keeping my fingers crossed...
Click to expand...
Click to collapse
That's one long install. I hope you didn't completely trash your phone
I thought the Power Manager app had an option to keep the screen awake during calls...well at least the trial version DID (before it became a trial version)
damn wish i hadnt erased that ASTRO backup file...
I could be wrong but how can i check if I dont wanna buy the app.
dammit I want this!!! baaaaaaaaaaaad!!!
You should really try the power manager app like someone else mentioned. There is an option for keeping the phone awake, albeit only for 2 mins, but it should do the trick.
Hi all,
Sorry for the delay. I had two birthday parties to attend tonight, and my wife was not going to let me get out of it.
The short story is that my original hack did not work correctly. I incorrectly focused on the SHORT_TIMEOUT, when in fact the one that is happening during calls is the MEDIUM. The bonus is that I think I know what is going on at this point. I will keep trying tomorrow. When I am done, I will have a phone.apk that will replace the current one. oooh.
derfolo said:
Hi all,
Sorry for the delay. I had two birthday parties to attend tonight, and my wife was not going to let me get out of it.
The short story is that my original hack did not work correctly. I incorrectly focused on the SHORT_TIMEOUT, when in fact the one that is happening during calls is the MEDIUM. The bonus is that I think I know what is going on at this point. I will keep trying tomorrow. When I am done, I will have a phone.apk that will replace the current one. oooh.
Click to expand...
Click to collapse
I love you man
oneG said:
I thought the Power Manager app had an option to keep the screen awake during calls...well at least the trial version DID (before it became a trial version)
damn wish i hadnt erased that ASTRO backup file...
I could be wrong but how can i check if I dont wanna buy the app.
Click to expand...
Click to collapse
You'd spend a buck on snickers or coke without even thinking - why not buy .99 app?
But if you want to just test it, you can get it and then return it within 24 hours.
I didn't know it had that feature, but even now that I know it, I don't want a full-blown app just to change screen timeout.
exactly... I don't want an application slowing down my phone all the time and also messing with the boot just to have an option that should be on the phone already and most likely can be sorta easily changed...
Send me a patch when you've got it working and I'll add it to my build if you would like!
cyanogen said:
Send me a patch when you've got it working and I'll add it to my build if you would like!
Click to expand...
Click to collapse
EDIT: Got it done! See my post below for the Phone.apk attachment...
I noticed today that I get a bunch of the following entry in logcat, sometimes a couple hundred in a second or so.
Code:
E/SpannableStringBuilder(12684): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
If I open up a text input window, to type a text message for example, it prints out about four of them immediately. Application is com.android.mms for each one, though I can't seem to find it in the android API; though I did find the following entry:
Code:
public static final int SPAN_EXCLUSIVE_EXCLUSIVE
Since: API Level 1
Spans of type SPAN_EXCLUSIVE_EXCLUSIVE do not expand to include text inserted at either their starting or ending point. They can never have a length of 0 and are automatically removed from the buffer if all the text they cover is removed.
Anyone else see this? Any idea why?
I'm on a GNex, 4.1.1
So yesterday i was just doing some general browsing on my tablet. I received a warning that my battery was low at 11%. A minute or two later it died so I figured the battery percentage was just in accurate. After I plugged it in and let it charge I tried to turn it on and the tablet boots up just fine, but the screen doesnt turn on at all. No backlight, no anything. It boots up ok since i can feel it vibrate, adb works, and i can hear the chimes for new emails and notifications. I pulled a logcat from the boot up process to see if it tells me anything. In the logcat i keep seeing this line of data show up:
E/hwcomposer( 155): /sys/class/graphics/fb0/device/smartdimmer/enable: open failed: Permission denied
E/hwcomposer( 155): Failed to set initial DIDIM status to enable
D/hwcomposer( 155): Display 0: found 2 modes
W/hwcomposer( 155): Skipping mode with invalid timing (1920 x 1200)
D/hwcomposer( 155): unmatched: 1920 x 1200 @ 59.95 Hz
D/hwcomposer( 155): display type 0: vblank period = 16679218 ns
D/hwcomposer( 155): dc_blank: display 0, [-1 -> 0]
So my question is, is there any chance that it is some sort of software issue not allowing the screen to turn on or I just get the errors due to the screen not working?
Wonder if it would help to hook it up HDMI...then maybe you could check the screen settings???
Hello,
I was wondering if anyone knew if it's possible to make WhatsApp give me a sound notification only for the first message I recieve in a conversation, so that the rest are muted and I hear a sound only once. Because usually I recieve messages in bursts of five or so messages, and hearing the phone ring five times in 10 seconds is extremely annoying. I'd like to make it so that any time I get a message in a conversation, I'd hear the tone just once (for each conversation) and then nothing until I open up and read the messages. Thanks in advance.
+1 to this.
2 years and nobody ever found a solution. Are we the only ones annoyed by the constant beeping?
I also find it hard to believe why WhatsApp hasn't developed a feature like this in their app... Many people I talked to are also very annoyed by the smartphone vibrating and playing a notification sound 5 times in 20 seconds!
As a matter of fact, it surprises me that this post has so few replies.
WhatsApp could implement something as simple as: "Notify me only once in 5 minutes". I'm pretty sure it is very easy to implement.. Why don't they do this?
So yeah. Im late, but i think i did.
You guys know tasker app? Amazing thing.
So here we go.
First you need tasker app.
1. You'll create two variables in VAR tab, one if for counting the other one is to store the notification volume you're set in at all random moments that you can receive a text, you don't wanna restore your volume to a preset, if you put your phone on silece mode it needs to stay on silence mode after. So, i named mines "CountNot" and "ActualNotVol"
2. Creating a task, name it whatever you like.
Look for some engine symbol or options inside the task you need to configure the Collision Handling to "Abort New Task". So the code only run once until needed again.
The code goes:
>If: %CountNot EQ 0
>Variable Set: %CountNot to 1
>Variable Set: %ActualNotVol to (click on arrow and choose) %VOLN
>Wait: 3 seconds (For my notification sound complete, may vary)
>Notification Volume: Level 0 (Muting notification sounds)
>Wait: 1 Minute (The amount of time the notification will be muted, guessing the ****head will be done sending multiple text, may vary)
>Notification Volume: (click on arrow) %ActualNotVolume (Will restore the volume that it was before)
>Variable Set: %CountNot to 0 (So the task can be repeated next time)
Finish.
Go to profile, and create > Event> UI > Notification > Owner Application > WhatsApp
And select the task you just created.
Test it if possible.
I would appreciate a reply as feedback, hope it works for you too.
bebecofp said:
So yeah. Im late, but i think i did.
You guys know tasker app? Amazing thing.
So here we go.
First you need tasker app.
1. You'll create two variables in VAR tab, one if for counting the other one is to store the notification volume you're set in at all random moments that you can receive a text, you don't wanna restore your volume to a preset, if you put your phone on silece mode it needs to stay on silence mode after. So, i named mines "CountNot" and "ActualNotVol"
2. Creating a task, name it whatever you like.
Look for some engine symbol or options inside the task you need to configure the Collision Handling to "Abort New Task". So the code only run once until needed again.
The code goes:
>If: %CountNot EQ 0
>Variable Set: %CountNot to 1
>Variable Set: %ActualNotVol to (click on arrow and choose) %VOLN
>Wait: 3 seconds (For my notification sound complete, may vary)
>Notification Volume: Level 0 (Muting notification sounds)
>Wait: 1 Minute (The amount of time the notification will be muted, guessing the ****head will be done sending multiple text, may vary)
>Notification Volume: (click on arrow) %ActualNotVolume (Will restore the volume that it was before)
>Variable Set: %CountNot to 0 (So the task can be repeated next time)
Finish.
Go to profile, and create > Event> UI > Notification > Owner Application > WhatsApp
And select the task you just created.
Test it if possible.
I would appreciate a reply as feedback, hope it works for you too.
Click to expand...
Click to collapse
I think noobs like me need a video tutorial
In general I'm satisfied with the new notification and volume system in contrary to a lot of other people here but I've an annoying problem with it.
Config:
- I switch to Priority mode
- Time indefinitely
- Priority interruptions only calls
- starred contacts only
- I don't have down days configured
All seams well and works as expected but at exactly midnight (00:00) Priority mode switches off and turns back to All. It is really the time that triggers it and not a set duration because it doesn't matter if turn on priority at 23:55 or at 18:00.
Anybody else with this problem and ideas what could trigger this?
Solved it. It was the app Silent Time that somehow interfered with priority mode. This is an app that I used on JellyBean and KitKat but didn't configure or use on Lollipop, although I did auto-download it.