Search in sources :

Example 11 with ToneGenerator

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;
}
Also used : ToneGenerator(android.media.ToneGenerator)

Example 12 with ToneGenerator

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;
}
Also used : ToneGenerator(android.media.ToneGenerator)

Example 13 with ToneGenerator

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;
    }
}
Also used : PowerManager(android.os.PowerManager) IStatusBarService(com.android.internal.statusbar.IStatusBarService) AudioManager(android.media.AudioManager) ToneGenerator(android.media.ToneGenerator) SearchManager(android.app.SearchManager) ActivityNotFoundException(android.content.ActivityNotFoundException) UserHandle(android.os.UserHandle) Intent(android.content.Intent) Vibrator(android.os.Vibrator) URISyntaxException(java.net.URISyntaxException) RemoteException(android.os.RemoteException)

Example 14 with ToneGenerator

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;
}
Also used : ToneGenerator(android.media.ToneGenerator)

Example 15 with ToneGenerator

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;
}
Also used : ToneGenerator(android.media.ToneGenerator)

Aggregations

ToneGenerator (android.media.ToneGenerator)37 SearchManager (android.app.SearchManager)2 ActivityNotFoundException (android.content.ActivityNotFoundException)2 Intent (android.content.Intent)2 AudioManager (android.media.AudioManager)2 PowerManager (android.os.PowerManager)2 RemoteException (android.os.RemoteException)2 UserHandle (android.os.UserHandle)2 Vibrator (android.os.Vibrator)2 URISyntaxException (java.net.URISyntaxException)2 IStatusBarService (com.android.internal.statusbar.IStatusBarService)1