use of android.media.ToneGenerator in project android_frameworks_base by AOSPA.
the class TonesAutoTest method tonesStressTest.
// Test start of new tone without stopping previous one
public static boolean tonesStressTest() throws Exception {
Log.v(TAG, "Stress tones test");
ToneGenerator toneGen;
int type;
boolean result = true;
toneGen = new ToneGenerator(AudioManager.STREAM_MUSIC, 100);
for (type = ToneGenerator.TONE_DTMF_1; type <= ToneGenerator.TONE_DTMF_9; type++) {
if (toneGen.startTone(type)) {
Thread.sleep(200);
} else {
result = false;
break;
}
}
toneGen.release();
return result;
}
use of android.media.ToneGenerator in project android_frameworks_base by AOSPA.
the class TonesAutoTest method tonesSimultaneousTest.
// Test playback of 2 tones simultaneously
public static boolean tonesSimultaneousTest() throws Exception {
Log.v(TAG, "Simultaneous tones test");
ToneGenerator toneGen1;
ToneGenerator toneGen2;
int type;
boolean result = true;
toneGen1 = new ToneGenerator(AudioManager.STREAM_MUSIC, 100);
toneGen2 = new ToneGenerator(AudioManager.STREAM_MUSIC, 50);
if (toneGen1.startTone(ToneGenerator.TONE_DTMF_1)) {
Thread.sleep(100);
if (toneGen2.startTone(ToneGenerator.TONE_DTMF_2)) {
Thread.sleep(500);
toneGen1.stopTone();
Thread.sleep(100);
toneGen2.stopTone();
} else {
toneGen1.stopTone();
result = false;
}
} else {
result = false;
}
toneGen1.release();
toneGen2.release();
return result;
}
use of android.media.ToneGenerator in project android_frameworks_base by ResurrectionRemix.
the class Action method processActionWithOptions.
public static void processActionWithOptions(Context context, String action, boolean isLongpress, boolean collapseShade) {
if (action == null || action.equals(ActionConstants.ACTION_NULL)) {
return;
}
boolean isKeyguardShowing = false;
try {
isKeyguardShowing = WindowManagerGlobal.getWindowManagerService().isKeyguardLocked();
} catch (RemoteException e) {
Log.w("Action", "Error getting window manager service", e);
}
IStatusBarService barService = IStatusBarService.Stub.asInterface(ServiceManager.getService(Context.STATUS_BAR_SERVICE));
if (barService == null) {
// ouch
return;
}
// process the actions
if (action.equals(ActionConstants.ACTION_HOME)) {
triggerVirtualKeypress(KeyEvent.KEYCODE_HOME, isLongpress);
return;
} else if (action.equals(ActionConstants.ACTION_BACK)) {
triggerVirtualKeypress(KeyEvent.KEYCODE_BACK, isLongpress);
return;
} else if (action.equals(ActionConstants.ACTION_SEARCH)) {
triggerVirtualKeypress(KeyEvent.KEYCODE_SEARCH, isLongpress);
return;
} else if (action.equals(ActionConstants.ACTION_MENU) || action.equals(ActionConstants.ACTION_MENU_BIG)) {
triggerVirtualKeypress(KeyEvent.KEYCODE_MENU, isLongpress);
return;
} else if (action.equals(ActionConstants.ACTION_IME_NAVIGATION_LEFT)) {
triggerVirtualKeypress(KeyEvent.KEYCODE_DPAD_LEFT, isLongpress);
return;
} else if (action.equals(ActionConstants.ACTION_IME_NAVIGATION_RIGHT)) {
triggerVirtualKeypress(KeyEvent.KEYCODE_DPAD_RIGHT, isLongpress);
return;
} else if (action.equals(ActionConstants.ACTION_IME_NAVIGATION_UP)) {
triggerVirtualKeypress(KeyEvent.KEYCODE_DPAD_UP, isLongpress);
return;
} else if (action.equals(ActionConstants.ACTION_IME_NAVIGATION_DOWN)) {
triggerVirtualKeypress(KeyEvent.KEYCODE_DPAD_DOWN, isLongpress);
return;
} else if (action.equals(ActionConstants.ACTION_POWER)) {
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
pm.goToSleep(SystemClock.uptimeMillis());
return;
} else if (action.equals(ActionConstants.ACTION_IME)) {
if (isKeyguardShowing) {
return;
}
context.sendBroadcastAsUser(new Intent("android.settings.SHOW_INPUT_METHOD_PICKER"), new UserHandle(UserHandle.USER_CURRENT));
return;
} else if (action.equals(ActionConstants.ACTION_VOICE_SEARCH)) {
// launch the search activity
Intent intent = new Intent(Intent.ACTION_SEARCH_LONG_PRESS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
// TODO: This only stops the factory-installed search manager.
// Need to formalize an API to handle others
SearchManager searchManager = (SearchManager) context.getSystemService(Context.SEARCH_SERVICE);
if (searchManager != null) {
searchManager.stopSearch();
}
startActivity(context, intent, barService, isKeyguardShowing);
} catch (ActivityNotFoundException e) {
Log.e("SlimActions:", "No activity to handle assist long press action.", e);
}
return;
} else if (action.equals(ActionConstants.ACTION_VIB)) {
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (am != null && ActivityManagerNative.isSystemReady()) {
if (am.getRingerMode() != AudioManager.RINGER_MODE_VIBRATE) {
am.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
Vibrator vib = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
if (vib != null) {
vib.vibrate(50);
}
} else {
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, (int) (ToneGenerator.MAX_VOLUME * 0.85));
if (tg != null) {
tg.startTone(ToneGenerator.TONE_PROP_BEEP);
}
}
}
return;
} else if (action.equals(ActionConstants.ACTION_SILENT)) {
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (am != null && ActivityManagerNative.isSystemReady()) {
if (am.getRingerMode() != AudioManager.RINGER_MODE_SILENT) {
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
} else {
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, (int) (ToneGenerator.MAX_VOLUME * 0.85));
if (tg != null) {
tg.startTone(ToneGenerator.TONE_PROP_BEEP);
}
}
}
return;
} else if (action.equals(ActionConstants.ACTION_VIB_SILENT)) {
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (am != null && ActivityManagerNative.isSystemReady()) {
if (am.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) {
am.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
Vibrator vib = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
if (vib != null) {
vib.vibrate(50);
}
} else if (am.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) {
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
} else {
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, (int) (ToneGenerator.MAX_VOLUME * 0.85));
if (tg != null) {
tg.startTone(ToneGenerator.TONE_PROP_BEEP);
}
}
}
return;
} else if (action.equals(ActionConstants.ACTION_CAMERA)) {
// ToDo: Send for secure keyguard secure camera intent.
// We need to add support for it first.
Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA, null);
startActivity(context, intent, barService, isKeyguardShowing);
return;
} else if (action.equals(ActionConstants.ACTION_MEDIA_PREVIOUS)) {
dispatchMediaKeyWithWakeLock(KeyEvent.KEYCODE_MEDIA_PREVIOUS, context);
return;
} else if (action.equals(ActionConstants.ACTION_MEDIA_NEXT)) {
dispatchMediaKeyWithWakeLock(KeyEvent.KEYCODE_MEDIA_NEXT, context);
return;
} else if (action.equals(ActionConstants.ACTION_MEDIA_PLAY_PAUSE)) {
dispatchMediaKeyWithWakeLock(KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, context);
return;
} else if (action.equals(ActionConstants.ACTION_WAKE_DEVICE)) {
PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (!powerManager.isScreenOn()) {
powerManager.wakeUp(SystemClock.uptimeMillis());
}
return;
} else {
// we must have a custom uri
Intent intent = null;
try {
intent = Intent.parseUri(action, 0);
} catch (URISyntaxException e) {
Log.e("SlimActions:", "URISyntaxException: [" + action + "]");
return;
}
startActivity(context, intent, barService, isKeyguardShowing);
return;
}
}
use of android.media.ToneGenerator in project android_frameworks_base by ResurrectionRemix.
the class TonesAutoTest method tonesSimultaneousTest.
// Test playback of 2 tones simultaneously
public static boolean tonesSimultaneousTest() throws Exception {
Log.v(TAG, "Simultaneous tones test");
ToneGenerator toneGen1;
ToneGenerator toneGen2;
int type;
boolean result = true;
toneGen1 = new ToneGenerator(AudioManager.STREAM_MUSIC, 100);
toneGen2 = new ToneGenerator(AudioManager.STREAM_MUSIC, 50);
if (toneGen1.startTone(ToneGenerator.TONE_DTMF_1)) {
Thread.sleep(100);
if (toneGen2.startTone(ToneGenerator.TONE_DTMF_2)) {
Thread.sleep(500);
toneGen1.stopTone();
Thread.sleep(100);
toneGen2.stopTone();
} else {
toneGen1.stopTone();
result = false;
}
} else {
result = false;
}
toneGen1.release();
toneGen2.release();
return result;
}
use of android.media.ToneGenerator in project android_frameworks_base by ResurrectionRemix.
the class TonesAutoTest method tonesStressTest.
// Test start of new tone without stopping previous one
public static boolean tonesStressTest() throws Exception {
Log.v(TAG, "Stress tones test");
ToneGenerator toneGen;
int type;
boolean result = true;
toneGen = new ToneGenerator(AudioManager.STREAM_MUSIC, 100);
for (type = ToneGenerator.TONE_DTMF_1; type <= ToneGenerator.TONE_DTMF_9; type++) {
if (toneGen.startTone(type)) {
Thread.sleep(200);
} else {
result = false;
break;
}
}
toneGen.release();
return result;
}
Aggregations