Last active
September 1, 2023 11:04
-
-
Save nieldeokar/e05fffe4d639dfabf0d57e96cb8055e2 to your computer and use it in GitHub Desktop.
Revisions
-
nieldeokar revised this gist
Mar 6, 2019 . 1 changed file with 3 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,8 +7,9 @@ import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Toast; /* ~ Nilesh Deokar @nieldeokar on 03/06/18 11:22 PM */ /* * To test this : -
nieldeokar revised this gist
Apr 28, 2018 . 2 changed files with 12 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,10 +8,12 @@ import android.os.Bundle; import android.widget.Toast; /* * To test this : * 1. Paste this activity inside your project. * 2. Paste `activity_simple_vibrate_demo.xml` into resources folder. * 3. Add entry of SimpleVibrateDemoActivity inside AndroidManifest.xml * 4. Add Vibrate permission inside AndroidManifest.xml * @@ -32,7 +34,7 @@ protected void onCreate(Bundle savedInstanceState) { vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); if (vibrator != null && vibrator.hasVibrator()) { vibrateFor500ms(); @@ -46,7 +48,7 @@ protected void onCreate(Bundle savedInstanceState) { createWaveFormVibrationUsingVibrationEffectAndAmplitude(); } } else { Toast.makeText(this, "Device does not support vibration", Toast.LENGTH_SHORT).show(); } } @@ -99,7 +101,7 @@ private void createWaveFormVibrationUsingVibrationEffectAndAmplitude() { long[] mVibratePattern = new long[]{0, 400, 800, 600, 800, 800, 800, 1000}; int[] mAmplitudes = new int[]{0, 255, 0, 255, 0, 255, 0, 255}; // -1 : Play exactly once if (vibrator.hasAmplitudeControl()) { VibrationEffect effect = VibrationEffect.createWaveform(mVibratePattern, mAmplitudes, -1); vibrator.vibrate(effect); This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> </RelativeLayout> -
nieldeokar revised this gist
Apr 11, 2018 . 1 changed file with 12 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,6 +8,18 @@ import android.os.Bundle; import android.widget.Toast; /* * To test this : * 1. Paste this activity inside your project. * 2. Create any blank xml with name `activity_simple_vibrate_demo.xml` Doesn't require any views. * 3. Add entry of SimpleVibrateDemoActivity inside AndroidManifest.xml * 4. Add Vibrate permission inside AndroidManifest.xml * * <uses-permission android:name="android.permission.VIBRATE" /> * * 5. Build & run. * */ public class SimpleVibrateDemoActivity extends AppCompatActivity { -
nieldeokar revised this gist
Nov 13, 2017 . 1 changed file with 10 additions and 10 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -11,16 +11,16 @@ public class SimpleVibrateDemoActivity extends AppCompatActivity { Vibrator vibrator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_simple_vibrate_demo); vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); if (vibrator.hasVibrator()) { vibrateFor500ms(); @@ -41,7 +41,7 @@ protected void onCreate(Bundle savedInstanceState) { private void vibrateFor500ms() { vibrator.vibrate(500); } private void customVibratePatternNoRepeat() { @@ -54,31 +54,31 @@ private void customVibratePatternNoRepeat() { // -1 : Do not repeat this pattern // pass 0 if you want to repeat this pattern from 0th index vibrator.vibrate(mVibratePattern, -1); } private void customVibratePatternRepeatFromSpecificIndex() { long[] mVibratePattern = new long[]{0, 400, 800, 600, 800, 800, 800, 1000}; // 3 : Repeat this pattern from 3rd element of an array vibrator.vibrate(mVibratePattern, 3); } @RequiresApi(api = Build.VERSION_CODES.O) private void createOneShotVibrationUsingVibrationEffect() { // 1000 : Vibrate for 1 sec // VibrationEffect.DEFAULT_AMPLITUDE - would perform vibration at full strength VibrationEffect effect = VibrationEffect.createOneShot(1000, VibrationEffect.DEFAULT_AMPLITUDE); vibrator.vibrate(effect); } @RequiresApi(api = Build.VERSION_CODES.O) private void createWaveFormVibrationUsingVibrationEffect() { long[] mVibratePattern = new long[]{0, 400, 1000, 600, 1000, 800, 1000, 1000}; // -1 : Play exactly once VibrationEffect effect = VibrationEffect.createWaveform(mVibratePattern, -1); vibrator.vibrate(effect); } @RequiresApi(api = Build.VERSION_CODES.O) @@ -88,9 +88,9 @@ private void createWaveFormVibrationUsingVibrationEffectAndAmplitude() { int[] mAmplitudes = new int[]{0, 255, 0, 255, 0, 255, 0, 255}; // -1 : Play exactly once if (vibrator.hasAmplitudeControl()) { VibrationEffect effect = VibrationEffect.createWaveform(mVibratePattern, mAmplitudes, -1); vibrator.vibrate(effect); } } -
nieldeokar revised this gist
Nov 8, 2017 . No changes.There are no files selected for viewing
-
nieldeokar revised this gist
Nov 8, 2017 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import android.support.annotation.RequiresApi; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Toast; public class SimpleVibrateDemoActivity extends AppCompatActivity { @@ -84,7 +85,7 @@ private void createWaveFormVibrationUsingVibrationEffect() { private void createWaveFormVibrationUsingVibrationEffectAndAmplitude() { long[] mVibratePattern = new long[]{0, 400, 800, 600, 800, 800, 800, 1000}; int[] mAmplitudes = new int[]{0, 255, 0, 255, 0, 255, 0, 255}; // -1 : Play exactly once if (v.hasAmplitudeControl()) { -
nieldeokar created this gist
Nov 8, 2017 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,96 @@ package com.example.nileshdeokar.simplevibratedemo; import android.os.Build; import android.os.VibrationEffect; import android.os.Vibrator; import android.support.annotation.RequiresApi; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class SimpleVibrateDemoActivity extends AppCompatActivity { Vibrator v; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_simple_vibrate_demo); v = (Vibrator) getSystemService(VIBRATOR_SERVICE); if (v.hasVibrator()) { vibrateFor500ms(); customVibratePatternNoRepeat(); customVibratePatternRepeatFromSpecificIndex(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { createOneShotVibrationUsingVibrationEffect(); createWaveFormVibrationUsingVibrationEffect(); createWaveFormVibrationUsingVibrationEffectAndAmplitude(); } }else { Toast.makeText(this, "Device does not support vibration", Toast.LENGTH_SHORT).show(); } } private void vibrateFor500ms() { v.vibrate(500); } private void customVibratePatternNoRepeat() { // 0 : Start without a delay // 400 : Vibrate for 400 milliseconds // 200 : Pause for 200 milliseconds // 400 : Vibrate for 400 milliseconds long[] mVibratePattern = new long[]{0, 400, 200, 400}; // -1 : Do not repeat this pattern // pass 0 if you want to repeat this pattern from 0th index v.vibrate(mVibratePattern, -1); } private void customVibratePatternRepeatFromSpecificIndex() { long[] mVibratePattern = new long[]{0, 400, 800, 600, 800, 800, 800, 1000}; // 3 : Repeat this pattern from 3rd element of an array v.vibrate(mVibratePattern, 3); } @RequiresApi(api = Build.VERSION_CODES.O) private void createOneShotVibrationUsingVibrationEffect() { // 1000 : Vibrate for 1 sec // VibrationEffect.DEFAULT_AMPLITUDE - would perform vibration at full strength VibrationEffect effect = VibrationEffect.createOneShot(1000, VibrationEffect.DEFAULT_AMPLITUDE); v.vibrate(effect); } @RequiresApi(api = Build.VERSION_CODES.O) private void createWaveFormVibrationUsingVibrationEffect() { long[] mVibratePattern = new long[]{0, 400, 1000, 600, 1000, 800, 1000, 1000}; // -1 : Play exactly once VibrationEffect effect = VibrationEffect.createWaveform(mVibratePattern, -1); v.vibrate(effect); } @RequiresApi(api = Build.VERSION_CODES.O) private void createWaveFormVibrationUsingVibrationEffectAndAmplitude() { long[] mVibratePattern = new long[]{0, 400, 800, 600, 800, 800, 800, 1000}; int[] mAmplitudes = new int[]{0, 255, 0, 255, 0, 255, 0, 255} // -1 : Play exactly once if (v.hasAmplitudeControl()) { VibrationEffect effect = VibrationEffect.createWaveform(mVibratePattern, mAmplitudes, -1); v.vibrate(effect); } } }