[MOD][XPOSED][2018/2/25 3.20]Android Phone Vibrator

Search This thread

itandy

Senior Member
Apr 28, 2010
2,382
1,355
Hong Kong
This Xposed module can vibrate the phone on different call status. It should work on ICS to O phone apps.

Features:
1. Vibrate when an outgoing call is connected
2. Vibrate when an incoming call is connected
3. Vibrate when an incoming call is waiting
4. Vibrate when a call is ended
5. Vibrate during outgoing call at 45 second mark of every minute (default is off)
6. Vibrate once at fixed time after outgoing call is connected (default is off)
7. Any of the above features can be turned on/off
8. Vibration intensity can be adjusted

Requirements
1. Your phone must be rooted
2. Xposed framework must be installed first http://xdaforums.com/showthread.php?t=1574401
3. Xposed library 2.2 is required

Instructions
  1. Install the module
  2. Run Xposed Installer and enable the module Vibrate on connected call, ended call and new call waiting for Android phones
  3. Reboot the phone

Credits
kantry123 - for testing with Xperia U phone

Source code
You can find source code for this module from GitHub here.

Download
Xposed Module Repository
 

Attachments

  • Screenshot_2013-08-24-10-16-56.jpg
    Screenshot_2013-08-24-10-16-56.jpg
    25.4 KB · Views: 13,352
  • Screenshot_2013-10-16-23-50-35.jpg
    Screenshot_2013-10-16-23-50-35.jpg
    31.5 KB · Views: 10,749
  • Screenshot_2013-10-29-23-19-39.jpg
    Screenshot_2013-10-29-23-19-39.jpg
    131.7 KB · Views: 10,401
Last edited:

itandy

Senior Member
Apr 28, 2010
2,382
1,355
Hong Kong
Change Log
Code:
3.20
- Fix the issue that settings are not applied for Nougat and higher devices

3.13
- Add support for Android 6

3.12
- Fix incorrect vibration time when Every Minute is selected on Lollipop

3.11
- Hangup vibration now works even when call is not connected on Lollipop

3.10
- Add support for call waiting on Lollipop

3.00
- Add support for Lollipop (including Xperia phones)
- Strongest vibration intensity is now 5

2.53
- Improved exception handling

2.52
- Update translation (Thanks to Jose Artuñedo for Spanish)

2.51
- Update translation (Thanks to Jan Žák for Czech)

2.50
- New feature to adjust state change threshold for outgoing call. Use it if your phone does not vibrate on outgoing call. Check FAQ below for details.
- New option to enable additional debug info
- Update translation

2.40
- New feature to adjust vibration intensity
- New localisation for Traditional Chinese for Hong Kong

2.31
- Updated localisation for Simplified Chinese (thanks to liveasx)
- New localisation for Traditional Chinese

2.30
- Second mark of every minute can now be changed
- New feature to vibrate once at fixed time after outgoing call is connected (default is off)

2.20
- New feature to vibrate the phone during outgoing call at 45 second mark of every minute (default is off)
- New localisation for Simplified Chinese (thanks to liveasx)

2.12
- Fix issue that vibrate on incoming call might not work on some phones

2.11
- Add new feature Vibrate when an incoming call is waiting
- Add new feature Vibrate when an incoming call is connected
- All features can be turned on/off

2.00 
- Completely rewritten based on ICS/JB AOSP source code using CM ROM logic. Now should work on most Android phone apps.

1.11 
- Added support for ICS ROM. Now should work with more Xperia phones.

FAQ
Q: My phone does not vibrate when an outgoing call is connected.
A: It's possible that the time of state change for your phone after an outgoing call is connected is slower than expected. This module has an assumption that this state change should happen in no longer than 200ms. In version 2.50, there's a new option to change this threshold. But first you need to know how much time your phone need. Following the procedures below:

1. First Enable Debug Info (new option available in 2.50 also) in setting.
2. Make some calls.
3. Check the Xposed log file under /data/data/de.robv.android.xposed.installer/log/.
4. Look for the line beginning with "cstate:ACTIVE". The value after "durationMillis" is the amount of time your phone needs for the state change for outgoing call. This value might varies so make several calls and mark the largest value.
5. Set the threshold to something higher than the largest value you found.
6. Try calling out again and see if it vibrates.
 
Last edited:

itandy

Senior Member
Apr 28, 2010
2,382
1,355
Hong Kong
is there anyway to make this work with other phones that are on 4.2 builds ? or is this just exclusive to your sony model phone.

I haven't checked out the source code for AOSP dialer. But if Xperia phone app is using similar code, then this module should also work in AOSP and other similar dialer.

Technically, this module only call the system vibrator after the method hideCallingProgress in the LargeCallView class. So if this class and method exist, then it mod should work.

You can try it and report back your result. ;)
 

SystemErrorOne

Senior Member
Jun 7, 2011
597
384
31
Jacksonville
I haven't checked out the source code for AOSP dialer. But if Xperia phone app is using similar code, then this module should also work in AOSP and other similar dialer.

Technically, this module only call the system vibrator after the method hideCallingProgress in the LargeCallView class. So if this class and method exist, then it mod should work.

You can try it and report back your result. ;)

Well considering that Im into designing and not so familiar with coding I will attempt to do it myself but feel free to give me a starting point :p


Thanks for the response :good:
 

itandy

Senior Member
Apr 28, 2010
2,382
1,355
Hong Kong
Well considering that Im into designing and not so familiar with coding I will attempt to do it myself but feel free to give me a starting point :p


Thanks for the response :good:

Actually you can check out the source code from GitHub if you want to know how this module works. It's just a few line of codes.

But again you can try this module to see if it works on your phone first. I have a feeling that it works too.
 

itandy

Senior Member
Apr 28, 2010
2,382
1,355
Hong Kong
Guys, please try out this version if the Play store version is not working for you. I checked some Xperia ICS ROM and found that a different method is called which is different from JB. Anyway, I made this version trying to support both methods. Please report your result. Thanks!
 

Attachments

  • XperiaPhoneVibrator_1.10.apk
    7 KB · Views: 52

itandy

Senior Member
Apr 28, 2010
2,382
1,355
Hong Kong
Guys, please try out this version if the Play store version is not working for you. I checked some Xperia ICS ROM and found that a different method is called which is different from JB. Anyway, I made this version trying to support both methods. Please report your result. Thanks!

2 downloads but no reply? Does the new version works?
 

Publiuss

Senior Member
Jun 29, 2012
948
171
Guys, please try out this version if the Play store version is not working for you. I checked some Xperia ICS ROM and found that a different method is called which is different from JB. Anyway, I made this version trying to support both methods. Please report your result. Thanks!

Hi, I'll test it and will able to say it it works.
Bye.
 

itandy

Senior Member
Apr 28, 2010
2,382
1,355
Hong Kong
Stock rom ICS here is the link

jellybean rom link is here
(THE ABOVE JELLYBEAN ROM WAS MADE BY ME...ACTUALLY CUSTOM JELLYBEAN)

BUT STILL DOESN'T WORK AT ALL..!


REGARDS
kantry123

I've made a test build to write some debug info to the Xposed log. Can you install it, reboot the phone, try a call and wait until it's connected. Then send me the file from /data/xposed/debug.log. Thanks!
 

Attachments

  • XperiaPhoneVibrator_1.10(test_build_09081552).apk
    7.2 KB · Views: 17

kantry123

Senior Member
May 16, 2012
1,229
2,000
Delhi-NCR
I've made a test build to write some debug info to the Xposed log. Can you install it, reboot the phone, try a call and wait until it's connected. Then send me the file from /data/xposed/debug.log. Thanks!

Here is the log file

Have a look..I did all ur mentioned steps above

https://app.box.com/s/mnxopqb7f67j2sh3slou

Pls...do have a look & reply

Sent from my ST25i using XDA Premium 4 mobile app
 
  • Like
Reactions: itandy

Top Liked Posts

  • There are no posts matching your filters.
  • 36
    This Xposed module can vibrate the phone on different call status. It should work on ICS to O phone apps.

    Features:
    1. Vibrate when an outgoing call is connected
    2. Vibrate when an incoming call is connected
    3. Vibrate when an incoming call is waiting
    4. Vibrate when a call is ended
    5. Vibrate during outgoing call at 45 second mark of every minute (default is off)
    6. Vibrate once at fixed time after outgoing call is connected (default is off)
    7. Any of the above features can be turned on/off
    8. Vibration intensity can be adjusted

    Requirements
    1. Your phone must be rooted
    2. Xposed framework must be installed first http://xdaforums.com/showthread.php?t=1574401
    3. Xposed library 2.2 is required

    Instructions
    1. Install the module
    2. Run Xposed Installer and enable the module Vibrate on connected call, ended call and new call waiting for Android phones
    3. Reboot the phone

    Credits
    kantry123 - for testing with Xperia U phone

    Source code
    You can find source code for this module from GitHub here.

    Download
    Xposed Module Repository
    5
    Change Log
    Code:
    3.20
    - Fix the issue that settings are not applied for Nougat and higher devices
    
    3.13
    - Add support for Android 6
    
    3.12
    - Fix incorrect vibration time when Every Minute is selected on Lollipop
    
    3.11
    - Hangup vibration now works even when call is not connected on Lollipop
    
    3.10
    - Add support for call waiting on Lollipop
    
    3.00
    - Add support for Lollipop (including Xperia phones)
    - Strongest vibration intensity is now 5
    
    2.53
    - Improved exception handling
    
    2.52
    - Update translation (Thanks to Jose Artuñedo for Spanish)
    
    2.51
    - Update translation (Thanks to Jan Žák for Czech)
    
    2.50
    - New feature to adjust state change threshold for outgoing call. Use it if your phone does not vibrate on outgoing call. Check FAQ below for details.
    - New option to enable additional debug info
    - Update translation
    
    2.40
    - New feature to adjust vibration intensity
    - New localisation for Traditional Chinese for Hong Kong
    
    2.31
    - Updated localisation for Simplified Chinese (thanks to liveasx)
    - New localisation for Traditional Chinese
    
    2.30
    - Second mark of every minute can now be changed
    - New feature to vibrate once at fixed time after outgoing call is connected (default is off)
    
    2.20
    - New feature to vibrate the phone during outgoing call at 45 second mark of every minute (default is off)
    - New localisation for Simplified Chinese (thanks to liveasx)
    
    2.12
    - Fix issue that vibrate on incoming call might not work on some phones
    
    2.11
    - Add new feature Vibrate when an incoming call is waiting
    - Add new feature Vibrate when an incoming call is connected
    - All features can be turned on/off
    
    2.00 
    - Completely rewritten based on ICS/JB AOSP source code using CM ROM logic. Now should work on most Android phone apps.
    
    1.11 
    - Added support for ICS ROM. Now should work with more Xperia phones.

    FAQ
    Q: My phone does not vibrate when an outgoing call is connected.
    A: It's possible that the time of state change for your phone after an outgoing call is connected is slower than expected. This module has an assumption that this state change should happen in no longer than 200ms. In version 2.50, there's a new option to change this threshold. But first you need to know how much time your phone need. Following the procedures below:

    1. First Enable Debug Info (new option available in 2.50 also) in setting.
    2. Make some calls.
    3. Check the Xposed log file under /data/data/de.robv.android.xposed.installer/log/.
    4. Look for the line beginning with "cstate:ACTIVE". The value after "durationMillis" is the amount of time your phone needs for the state change for outgoing call. This value might varies so make several calls and mark the largest value.
    5. Set the threshold to something higher than the largest value you found.
    6. Try calling out again and see if it vibrates.
    4
    Here's a test build with working features for Lollipop. Please try it out and let me know your result. I'm especially interested to know if non Xperia device works or not.
    2
    Yup, its working ;) Thanx again.

    Sent from my D6653 using XDA Free mobile app
    2
    Guys, to support Lollipop, I just compiled a test build as a proof of concept. I need you to install it to see if your phone is supported by my method. Your phone will NOT vibrate yet but will capture debug info for me to continue the development. Please go through the follow steps:

    1. Install the APK and reboot
    2. Make an outgoing call. After connected then hangup.
    3. Have someone to call your phone, answer it and then hangup.
    4. Post your Xposed log together with your device info (Brand, model, ROM version)