Java tutorial
//package com.java2s; /**************************************************************************** * * * Project64 - A Nintendo 64 emulator. * * http://www.pj64-emu.com/ * * Copyright (C) 2012 Project64. All rights reserved. * * * * License: * * GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html * * * ****************************************************************************/ import java.util.ArrayList; import java.util.List; import android.annotation.SuppressLint; import android.text.TextUtils; import android.view.InputDevice; public class Main { @SuppressLint("InlinedApi") public static String getSourcesString(int sources) { List<String> names = new ArrayList<String>(); addString(sources, InputDevice.SOURCE_KEYBOARD, names); addString(sources, InputDevice.SOURCE_DPAD, names); addString(sources, InputDevice.SOURCE_GAMEPAD, names); addString(sources, InputDevice.SOURCE_TOUCHSCREEN, names); addString(sources, InputDevice.SOURCE_MOUSE, names); addString(sources, InputDevice.SOURCE_STYLUS, names); addString(sources, InputDevice.SOURCE_TOUCHPAD, names); addString(sources, InputDevice.SOURCE_JOYSTICK, names); return TextUtils.join(", ", names); } private static void addString(int sources, int sourceClass, List<String> strings) { if ((sources & sourceClass) > 0) strings.add(getSourceName(sourceClass)); } /** * Gets the name of the source performing an action. * * @param source A number representing the source. * * @return The name of the source. */ public static String getSourceName(int source) { switch (source) { case InputDevice.SOURCE_CLASS_BUTTON: return "BUTTON"; case InputDevice.SOURCE_CLASS_POINTER: return "POINTER"; case InputDevice.SOURCE_CLASS_TRACKBALL: return "TRACKBALL"; case InputDevice.SOURCE_CLASS_POSITION: return "POSITION"; case InputDevice.SOURCE_CLASS_JOYSTICK: return "JOYSTICK"; case InputDevice.SOURCE_DPAD: return "dpad"; case InputDevice.SOURCE_GAMEPAD: return "gamepad"; case InputDevice.SOURCE_JOYSTICK: return "joystick"; case InputDevice.SOURCE_KEYBOARD: return "keyboard"; case InputDevice.SOURCE_MOUSE: return "mouse"; case InputDevice.SOURCE_STYLUS: return "stylus"; case InputDevice.SOURCE_TOUCHPAD: return "touchpad"; case InputDevice.SOURCE_TOUCHSCREEN: return "touchscreen"; case InputDevice.SOURCE_TRACKBALL: return "trackball"; case InputDevice.SOURCE_UNKNOWN: return "unknown"; default: return "source_" + source; } } }