Skip to content

Commit

Permalink
Add vibration when ringing
Browse files Browse the repository at this point in the history
  • Loading branch information
xfarrow committed Oct 27, 2022
1 parent c58fd71 commit 884996c
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
2 changes: 2 additions & 0 deletions src/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<uses-permission android:name="android.permission.VIBRATE" />

<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,22 @@
import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.content.Context;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;

public class RingerActivity extends AppCompatActivity {

private Ringtone ringtoneManager;

private Vibrator v;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand Down Expand Up @@ -56,10 +59,27 @@ private void startRinging(){
ringtoneManager = RingtoneManager.getRingtone(this, ringtone);
ringtoneManager.setVolume(1f);
ringtoneManager.play();

v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

// Start without a delay
// Vibrate for 500 milliseconds
// Sleep for 500 milliseconds
long[] pattern = {0, 500, 500};
// The '0' here means to repeat indefinitely
// '0' is actually the index at which the pattern keeps repeating from (the start)
// To repeat the pattern from any other point, you could increase the index, e.g. '1'
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
v.vibrate(VibrationEffect.createWaveform(pattern, 0));
}
else{
v.vibrate(pattern,0);
}
}

private void stopRinging(){
ringtoneManager.stop();
v.cancel();
finishAffinity();
}

Expand Down

0 comments on commit 884996c

Please sign in to comment.