├── 9781484233320.jpg ├── AudioBufferSize ├── app │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── levien │ │ │ └── audiobuffersize │ │ │ └── AudioBufferSize.java │ │ ├── jni │ │ ├── Android.mk │ │ ├── Application.mk │ │ └── audiobufferjni.c │ │ ├── jniLibs │ │ ├── armeabi-v7a │ │ │ └── libaudiobufferjni.so │ │ ├── armeabi │ │ │ └── libaudiobufferjni.so │ │ ├── mips │ │ │ └── libaudiobufferjni.so │ │ └── x86 │ │ │ └── libaudiobufferjni.so │ │ └── res │ │ ├── layout │ │ └── main.xml │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle ├── lib │ ├── armeabi-v7a │ │ └── libaudiobufferjni.so │ ├── armeabi │ │ └── libaudiobufferjni.so │ ├── mips │ │ └── libaudiobufferjni.so │ └── x86 │ │ └── libaudiobufferjni.so └── settings.gradle ├── Connections ├── app │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ └── connections │ │ │ └── MainActivity.java │ │ └── res │ │ ├── drawable-hdpi │ │ ├── Thumbs.db │ │ ├── bar_dark.9.png │ │ ├── bar_white.9.png │ │ └── ic_action_search.png │ │ ├── drawable-mdpi │ │ ├── Thumbs.db │ │ ├── ic_action_search.png │ │ ├── presence_busy.png │ │ ├── presence_invisible.png │ │ └── presence_online.png │ │ ├── drawable-xhdpi │ │ ├── Thumbs.db │ │ └── ic_action_search.png │ │ ├── layout │ │ └── main_layout.xml │ │ ├── menu │ │ └── actions.xml │ │ ├── raw │ │ └── connectionfile.txt │ │ ├── values-large │ │ └── dimens.xml │ │ ├── values-v11 │ │ └── styles.xml │ │ ├── values-v14 │ │ └── styles.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml └── build.gradle ├── Crashlog ├── app │ ├── build.gradle │ ├── libs │ │ ├── acra-4.8.5.jar │ │ └── classes.jar │ ├── raw │ │ └── crashed.php │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ └── crashlog │ │ │ ├── MainActivity.java │ │ │ └── MyApplication.java │ │ └── res │ │ ├── drawable-hdpi │ │ ├── ic_action_search.png │ │ ├── ic_menu_mylocation.png │ │ └── person.png │ │ ├── drawable-ldpi │ │ └── ic_menu_mylocation.png │ │ ├── drawable-mdpi │ │ ├── ic_action_search.png │ │ └── ic_menu_mylocation.png │ │ ├── drawable-xhdpi │ │ ├── ic_action_search.png │ │ └── ic_menu_mylocation.png │ │ ├── layout │ │ └── main_layout.xml │ │ ├── menu │ │ └── actions.xml │ │ ├── values-large │ │ └── dimens.xml │ │ ├── values-v11 │ │ └── styles.xml │ │ ├── values-v14 │ │ └── styles.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml └── build.gradle ├── Emailing ├── app │ ├── build.gradle │ ├── lib │ │ ├── activation.jar │ │ └── javax.mail.jar │ ├── raw │ │ └── sendemail.php │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ └── emailing │ │ │ ├── GMailSender.java │ │ │ ├── JSSEProvider.java │ │ │ └── MainActivity.java │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── menu │ │ └── actions.xml │ │ ├── values-large │ │ └── dimens.xml │ │ ├── values-v11 │ │ └── styles.xml │ │ ├── values-v14 │ │ └── styles.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml └── build.gradle ├── LICENSE.txt ├── Lazyloading ├── app │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ └── lazyloading │ │ │ ├── FileCache.java │ │ │ ├── ImageLoader.java │ │ │ ├── MainActivity.java │ │ │ ├── MemoryCache.java │ │ │ └── Utils.java │ │ └── res │ │ ├── drawable-hdpi │ │ └── blank150x225.png │ │ ├── drawable-mdpi │ │ └── ic_action_search.png │ │ ├── drawable-xhdpi │ │ └── ic_action_search.png │ │ ├── layout │ │ ├── activity_main_gallery.xml │ │ ├── activity_main_grid.xml │ │ ├── activity_main_list.xml │ │ ├── gal_item.xml │ │ ├── grid_item.xml │ │ ├── list_item.xml │ │ ├── simple_spinner_dropdown_item.xml │ │ └── simple_spinner_item.xml │ │ ├── menu │ │ └── actions.xml │ │ ├── values-large │ │ └── dimens.xml │ │ ├── values-v11 │ │ └── styles.xml │ │ ├── values-v14 │ │ └── styles.xml │ │ └── values │ │ ├── arrays.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle └── raw │ └── lazyloadconfig.txt ├── MusicService ├── app │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ └── musicservice │ │ │ ├── MainActivity.java │ │ │ └── MusicService.java │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── menu │ │ └── main.xml │ │ ├── raw │ │ └── nogabe.mp3 │ │ ├── values-v11 │ │ └── styles.xml │ │ ├── values-v14 │ │ └── styles.xml │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml └── build.gradle ├── PdPlayer ├── androidMidi │ ├── androidMidi.iml │ ├── build.gradle │ ├── build │ │ ├── generated │ │ │ └── source │ │ │ │ ├── buildConfig │ │ │ │ ├── androidTest │ │ │ │ │ └── debug │ │ │ │ │ │ └── com │ │ │ │ │ │ └── noisepages │ │ │ │ │ │ └── nettoyeur │ │ │ │ │ │ └── midi │ │ │ │ │ │ └── test │ │ │ │ │ │ └── BuildConfig.java │ │ │ │ ├── debug │ │ │ │ │ └── com │ │ │ │ │ │ └── noisepages │ │ │ │ │ │ └── nettoyeur │ │ │ │ │ │ └── midi │ │ │ │ │ │ └── BuildConfig.java │ │ │ │ └── release │ │ │ │ │ └── com │ │ │ │ │ └── noisepages │ │ │ │ │ └── nettoyeur │ │ │ │ │ └── midi │ │ │ │ │ └── BuildConfig.java │ │ │ │ └── r │ │ │ │ ├── androidTest │ │ │ │ └── debug │ │ │ │ │ └── com │ │ │ │ │ └── noisepages │ │ │ │ │ └── nettoyeur │ │ │ │ │ └── midi │ │ │ │ │ ├── R.java │ │ │ │ │ └── test │ │ │ │ │ └── R.java │ │ │ │ ├── debug │ │ │ │ └── com │ │ │ │ │ └── noisepages │ │ │ │ │ └── nettoyeur │ │ │ │ │ └── midi │ │ │ │ │ └── R.java │ │ │ │ └── release │ │ │ │ └── com │ │ │ │ └── noisepages │ │ │ │ └── nettoyeur │ │ │ │ └── midi │ │ │ │ └── R.java │ │ ├── intermediates │ │ │ ├── blame │ │ │ │ └── res │ │ │ │ │ └── androidTest │ │ │ │ │ └── debug │ │ │ │ │ ├── multi │ │ │ │ │ └── values.json │ │ │ │ │ └── single │ │ │ │ │ ├── drawable.json │ │ │ │ │ └── layout.json │ │ │ ├── bundles │ │ │ │ ├── debug │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── R.txt │ │ │ │ │ └── res │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ └── din5.png │ │ │ │ │ │ ├── layout │ │ │ │ │ │ ├── device_list.xml │ │ │ │ │ │ └── device_name.xml │ │ │ │ │ │ └── values │ │ │ │ │ │ └── values.xml │ │ │ │ └── default │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── R.txt │ │ │ │ │ ├── classes.jar │ │ │ │ │ └── res │ │ │ │ │ ├── drawable │ │ │ │ │ └── din5.png │ │ │ │ │ ├── layout │ │ │ │ │ ├── device_list.xml │ │ │ │ │ └── device_name.xml │ │ │ │ │ └── values │ │ │ │ │ └── values.xml │ │ │ ├── classes │ │ │ │ └── release │ │ │ │ │ └── com │ │ │ │ │ └── noisepages │ │ │ │ │ └── nettoyeur │ │ │ │ │ ├── bluetooth │ │ │ │ │ ├── BluetoothDisabledException.class │ │ │ │ │ ├── BluetoothException.class │ │ │ │ │ ├── BluetoothNotConnectedException.class │ │ │ │ │ ├── BluetoothSppConnection$1.class │ │ │ │ │ ├── BluetoothSppConnection$ConnectThread.class │ │ │ │ │ ├── BluetoothSppConnection$ConnectedThread.class │ │ │ │ │ ├── BluetoothSppConnection$State.class │ │ │ │ │ ├── BluetoothSppConnection.class │ │ │ │ │ ├── BluetoothSppObserver.class │ │ │ │ │ ├── BluetoothUnavailableException.class │ │ │ │ │ ├── midi │ │ │ │ │ │ ├── BluetoothMidiDevice$1.class │ │ │ │ │ │ └── BluetoothMidiDevice.class │ │ │ │ │ └── util │ │ │ │ │ │ ├── BluetoothDeviceSelector$1.class │ │ │ │ │ │ ├── BluetoothDeviceSelector$2.class │ │ │ │ │ │ ├── BluetoothDeviceSelector.class │ │ │ │ │ │ ├── DeviceListActivity$1.class │ │ │ │ │ │ └── DeviceListActivity.class │ │ │ │ │ ├── common │ │ │ │ │ └── RawByteReceiver.class │ │ │ │ │ ├── midi │ │ │ │ │ ├── BuildConfig.class │ │ │ │ │ ├── FromWireConverter$1.class │ │ │ │ │ ├── FromWireConverter$State.class │ │ │ │ │ ├── FromWireConverter.class │ │ │ │ │ ├── MidiDevice.class │ │ │ │ │ ├── MidiReceiver$DummyReceiver.class │ │ │ │ │ ├── MidiReceiver.class │ │ │ │ │ ├── R$attr.class │ │ │ │ │ ├── R$drawable.class │ │ │ │ │ ├── R$id.class │ │ │ │ │ ├── R$layout.class │ │ │ │ │ ├── R$string.class │ │ │ │ │ ├── R.class │ │ │ │ │ ├── ToWireConverter.class │ │ │ │ │ └── util │ │ │ │ │ │ ├── SystemMessageDecoder$1.class │ │ │ │ │ │ ├── SystemMessageDecoder$State.class │ │ │ │ │ │ ├── SystemMessageDecoder.class │ │ │ │ │ │ ├── SystemMessageEncoder.class │ │ │ │ │ │ ├── SystemMessageReceiver$DummyReceiver.class │ │ │ │ │ │ └── SystemMessageReceiver.class │ │ │ │ │ └── usb │ │ │ │ │ ├── ConnectionFailedException.class │ │ │ │ │ ├── DeviceInfo.class │ │ │ │ │ ├── DeviceNotConnectedException.class │ │ │ │ │ ├── InterfaceNotAvailableException.class │ │ │ │ │ ├── UsbBroadcastHandler.class │ │ │ │ │ ├── UsbDeviceWithInfo$1.class │ │ │ │ │ ├── UsbDeviceWithInfo.class │ │ │ │ │ ├── UsbException.class │ │ │ │ │ ├── midi │ │ │ │ │ ├── UsbMidiDevice$1.class │ │ │ │ │ ├── UsbMidiDevice$UsbMidiInput$1.class │ │ │ │ │ ├── UsbMidiDevice$UsbMidiInput.class │ │ │ │ │ ├── UsbMidiDevice$UsbMidiInterface.class │ │ │ │ │ ├── UsbMidiDevice$UsbMidiOutput$1.class │ │ │ │ │ ├── UsbMidiDevice$UsbMidiOutput.class │ │ │ │ │ ├── UsbMidiDevice.class │ │ │ │ │ └── util │ │ │ │ │ │ ├── UsbMidiInputSelector$1.class │ │ │ │ │ │ ├── UsbMidiInputSelector$2.class │ │ │ │ │ │ ├── UsbMidiInputSelector.class │ │ │ │ │ │ ├── UsbMidiOutputSelector$1.class │ │ │ │ │ │ ├── UsbMidiOutputSelector$2.class │ │ │ │ │ │ └── UsbMidiOutputSelector.class │ │ │ │ │ └── util │ │ │ │ │ ├── AsyncDeviceInfoLookup.class │ │ │ │ │ ├── UsbDeviceSelector$1.class │ │ │ │ │ ├── UsbDeviceSelector$2.class │ │ │ │ │ └── UsbDeviceSelector.class │ │ │ ├── incremental-safeguard │ │ │ │ └── release │ │ │ │ │ └── tag.txt │ │ │ ├── incremental │ │ │ │ ├── compileDebugAidl │ │ │ │ │ └── dependency.store │ │ │ │ ├── compileDebugAndroidTestAidl │ │ │ │ │ └── dependency.store │ │ │ │ ├── compileReleaseAidl │ │ │ │ │ └── dependency.store │ │ │ │ ├── mergeDebugAndroidTestResources │ │ │ │ │ ├── compile-file-map.properties │ │ │ │ │ ├── merged.dir │ │ │ │ │ │ └── values │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeDebugAssets │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeDebugShaders │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeReleaseAssets │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeReleaseJniLibFolders │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeReleaseShaders │ │ │ │ │ └── merger.xml │ │ │ │ ├── packageDebugResources │ │ │ │ │ ├── compile-file-map.properties │ │ │ │ │ ├── merged.dir │ │ │ │ │ │ └── values │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ └── merger.xml │ │ │ │ └── packageReleaseResources │ │ │ │ │ ├── compile-file-map.properties │ │ │ │ │ ├── merged.dir │ │ │ │ │ └── values │ │ │ │ │ │ └── values.xml │ │ │ │ │ └── merger.xml │ │ │ ├── manifest │ │ │ │ └── androidTest │ │ │ │ │ └── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── manifests │ │ │ │ └── aapt │ │ │ │ │ ├── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── release │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── res │ │ │ │ ├── merged │ │ │ │ │ └── androidTest │ │ │ │ │ │ └── debug │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ └── din5.png │ │ │ │ │ │ ├── layout │ │ │ │ │ │ ├── device_list.xml │ │ │ │ │ │ └── device_name.xml │ │ │ │ │ │ └── values │ │ │ │ │ │ └── values.xml │ │ │ │ └── resources-debug-androidTest.ap_ │ │ │ └── symbols │ │ │ │ └── androidTest │ │ │ │ └── debug │ │ │ │ └── R.txt │ │ └── outputs │ │ │ └── aar │ │ │ ├── androidMidi-debug.aar │ │ │ └── androidMidi-release.aar │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── noisepages │ │ │ └── nettoyeur │ │ │ ├── bluetooth │ │ │ ├── BluetoothDisabledException.java │ │ │ ├── BluetoothException.java │ │ │ ├── BluetoothNotConnectedException.java │ │ │ ├── BluetoothSppConnection.java │ │ │ ├── BluetoothSppObserver.java │ │ │ ├── BluetoothUnavailableException.java │ │ │ ├── midi │ │ │ │ └── BluetoothMidiDevice.java │ │ │ └── util │ │ │ │ ├── BluetoothDeviceSelector.java │ │ │ │ └── DeviceListActivity.java │ │ │ ├── common │ │ │ └── RawByteReceiver.java │ │ │ ├── midi │ │ │ ├── FromWireConverter.java │ │ │ ├── MidiDevice.java │ │ │ ├── MidiReceiver.java │ │ │ ├── ToWireConverter.java │ │ │ └── util │ │ │ │ ├── SystemMessageDecoder.java │ │ │ │ ├── SystemMessageEncoder.java │ │ │ │ └── SystemMessageReceiver.java │ │ │ └── usb │ │ │ ├── ConnectionFailedException.java │ │ │ ├── DeviceInfo.java │ │ │ ├── DeviceNotConnectedException.java │ │ │ ├── InterfaceNotAvailableException.java │ │ │ ├── UsbBroadcastHandler.java │ │ │ ├── UsbDeviceWithInfo.java │ │ │ ├── UsbException.java │ │ │ ├── midi │ │ │ ├── UsbMidiDevice.java │ │ │ └── util │ │ │ │ ├── UsbMidiInputSelector.java │ │ │ │ └── UsbMidiOutputSelector.java │ │ │ └── util │ │ │ ├── AsyncDeviceInfoLookup.java │ │ │ └── UsbDeviceSelector.java │ │ └── res │ │ ├── drawable │ │ └── din5.png │ │ ├── layout │ │ ├── device_list.xml │ │ └── device_name.xml │ │ └── values │ │ └── strings.xml ├── pdCore │ ├── .externalNativeBuild │ │ └── ndkBuild │ │ │ ├── debug │ │ │ ├── armeabi-v7a │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── ndkBuild_build_command.txt │ │ │ │ └── ndkBuild_build_output.txt │ │ │ ├── armeabi │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── ndkBuild_build_command.txt │ │ │ │ └── ndkBuild_build_output.txt │ │ │ ├── mips │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── ndkBuild_build_command.txt │ │ │ │ └── ndkBuild_build_output.txt │ │ │ └── x86 │ │ │ │ ├── android_gradle_build.json │ │ │ │ ├── ndkBuild_build_command.txt │ │ │ │ └── ndkBuild_build_output.txt │ │ │ └── release │ │ │ ├── armeabi-v7a │ │ │ ├── android_gradle_build.json │ │ │ ├── ndkBuild_build_command.txt │ │ │ └── ndkBuild_build_output.txt │ │ │ ├── armeabi │ │ │ ├── android_gradle_build.json │ │ │ ├── ndkBuild_build_command.txt │ │ │ └── ndkBuild_build_output.txt │ │ │ ├── mips │ │ │ ├── android_gradle_build.json │ │ │ ├── ndkBuild_build_command.txt │ │ │ └── ndkBuild_build_output.txt │ │ │ └── x86 │ │ │ ├── android_gradle_build.json │ │ │ ├── ndkBuild_build_command.txt │ │ │ └── ndkBuild_build_output.txt │ ├── build.gradle │ ├── build │ │ ├── generated │ │ │ └── source │ │ │ │ ├── buildConfig │ │ │ │ ├── androidTest │ │ │ │ │ └── debug │ │ │ │ │ │ └── org │ │ │ │ │ │ └── puredata │ │ │ │ │ │ └── android │ │ │ │ │ │ └── service │ │ │ │ │ │ └── test │ │ │ │ │ │ └── BuildConfig.java │ │ │ │ ├── debug │ │ │ │ │ └── org │ │ │ │ │ │ └── puredata │ │ │ │ │ │ └── android │ │ │ │ │ │ └── service │ │ │ │ │ │ └── BuildConfig.java │ │ │ │ └── release │ │ │ │ │ └── org │ │ │ │ │ └── puredata │ │ │ │ │ └── android │ │ │ │ │ └── service │ │ │ │ │ └── BuildConfig.java │ │ │ │ └── r │ │ │ │ ├── androidTest │ │ │ │ └── debug │ │ │ │ │ ├── com │ │ │ │ │ └── noisepages │ │ │ │ │ │ └── nettoyeur │ │ │ │ │ │ └── midi │ │ │ │ │ │ └── R.java │ │ │ │ │ └── org │ │ │ │ │ └── puredata │ │ │ │ │ └── android │ │ │ │ │ └── service │ │ │ │ │ ├── R.java │ │ │ │ │ └── test │ │ │ │ │ └── R.java │ │ │ │ ├── debug │ │ │ │ ├── com │ │ │ │ │ └── noisepages │ │ │ │ │ │ └── nettoyeur │ │ │ │ │ │ └── midi │ │ │ │ │ │ └── R.java │ │ │ │ └── org │ │ │ │ │ └── puredata │ │ │ │ │ └── android │ │ │ │ │ └── service │ │ │ │ │ └── R.java │ │ │ │ └── release │ │ │ │ ├── com │ │ │ │ └── noisepages │ │ │ │ │ └── nettoyeur │ │ │ │ │ └── midi │ │ │ │ │ └── R.java │ │ │ │ └── org │ │ │ │ └── puredata │ │ │ │ └── android │ │ │ │ └── service │ │ │ │ └── R.java │ │ ├── intermediates │ │ │ ├── blame │ │ │ │ └── res │ │ │ │ │ ├── androidTest │ │ │ │ │ └── debug │ │ │ │ │ │ ├── multi │ │ │ │ │ │ └── values.json │ │ │ │ │ │ └── single │ │ │ │ │ │ ├── drawable.json │ │ │ │ │ │ ├── layout.json │ │ │ │ │ │ ├── raw.json │ │ │ │ │ │ └── xml.json │ │ │ │ │ ├── debug │ │ │ │ │ ├── multi │ │ │ │ │ │ └── values.json │ │ │ │ │ └── single │ │ │ │ │ │ ├── drawable.json │ │ │ │ │ │ ├── layout.json │ │ │ │ │ │ ├── raw.json │ │ │ │ │ │ └── xml.json │ │ │ │ │ └── release │ │ │ │ │ ├── multi │ │ │ │ │ └── values.json │ │ │ │ │ └── single │ │ │ │ │ ├── drawable.json │ │ │ │ │ ├── layout.json │ │ │ │ │ ├── raw.json │ │ │ │ │ └── xml.json │ │ │ ├── bundles │ │ │ │ ├── debug │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── R.txt │ │ │ │ │ └── res │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ └── icon.png │ │ │ │ │ │ ├── raw │ │ │ │ │ │ ├── extra_abs.zip │ │ │ │ │ │ └── silence.wav │ │ │ │ │ │ ├── values │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ └── xml │ │ │ │ │ │ └── preferences.xml │ │ │ │ └── default │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── R.txt │ │ │ │ │ ├── classes.jar │ │ │ │ │ ├── jni │ │ │ │ │ ├── armeabi-v7a │ │ │ │ │ │ ├── libbonk_tilde.so │ │ │ │ │ │ ├── libchoice.so │ │ │ │ │ │ ├── libexpr.so │ │ │ │ │ │ ├── libexpr_tilde.so │ │ │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ │ │ ├── libloop_tilde.so │ │ │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ │ │ ├── libpd.so │ │ │ │ │ │ ├── libpdnative.so │ │ │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ │ │ ├── libpique.so │ │ │ │ │ │ └── libsigmund_tilde.so │ │ │ │ │ ├── armeabi │ │ │ │ │ │ ├── libbonk_tilde.so │ │ │ │ │ │ ├── libchoice.so │ │ │ │ │ │ ├── libexpr.so │ │ │ │ │ │ ├── libexpr_tilde.so │ │ │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ │ │ ├── libloop_tilde.so │ │ │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ │ │ ├── libpd.so │ │ │ │ │ │ ├── libpdnative.so │ │ │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ │ │ ├── libpique.so │ │ │ │ │ │ └── libsigmund_tilde.so │ │ │ │ │ └── x86 │ │ │ │ │ │ ├── libbonk_tilde.so │ │ │ │ │ │ ├── libchoice.so │ │ │ │ │ │ ├── libexpr.so │ │ │ │ │ │ ├── libexpr_tilde.so │ │ │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ │ │ ├── libloop_tilde.so │ │ │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ │ │ ├── libpd.so │ │ │ │ │ │ ├── libpdnative.so │ │ │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ │ │ ├── libpique.so │ │ │ │ │ │ └── libsigmund_tilde.so │ │ │ │ │ └── res │ │ │ │ │ ├── drawable │ │ │ │ │ └── icon.png │ │ │ │ │ ├── raw │ │ │ │ │ ├── extra_abs.zip │ │ │ │ │ └── silence.wav │ │ │ │ │ ├── values │ │ │ │ │ └── values.xml │ │ │ │ │ └── xml │ │ │ │ │ └── preferences.xml │ │ │ ├── classes │ │ │ │ └── release │ │ │ │ │ ├── com │ │ │ │ │ └── noisepages │ │ │ │ │ │ └── nettoyeur │ │ │ │ │ │ └── midi │ │ │ │ │ │ ├── R$drawable.class │ │ │ │ │ │ ├── R$id.class │ │ │ │ │ │ ├── R$layout.class │ │ │ │ │ │ ├── R$string.class │ │ │ │ │ │ └── R.class │ │ │ │ │ └── org │ │ │ │ │ └── puredata │ │ │ │ │ ├── android │ │ │ │ │ ├── io │ │ │ │ │ │ ├── AudioParameters$AudioParametersImpl.class │ │ │ │ │ │ ├── AudioParameters$BasicOpenSLParameters.class │ │ │ │ │ │ ├── AudioParameters$JavaAudioParameters.class │ │ │ │ │ │ ├── AudioParameters$JellyBeanMR1OpenSLParameters.class │ │ │ │ │ │ ├── AudioParameters$JellyBeanOpenSLParameters.class │ │ │ │ │ │ ├── AudioParameters.class │ │ │ │ │ │ ├── AudioRecordWrapper$1.class │ │ │ │ │ │ ├── AudioRecordWrapper.class │ │ │ │ │ │ ├── AudioWrapper$1.class │ │ │ │ │ │ ├── AudioWrapper$AudioSessionHandler.class │ │ │ │ │ │ ├── AudioWrapper.class │ │ │ │ │ │ ├── PdAudio$1.class │ │ │ │ │ │ ├── PdAudio$2.class │ │ │ │ │ │ ├── PdAudio$3.class │ │ │ │ │ │ ├── PdAudio.class │ │ │ │ │ │ ├── VersionedAudioFormat$FormatCupcake.class │ │ │ │ │ │ ├── VersionedAudioFormat$FormatEclair.class │ │ │ │ │ │ └── VersionedAudioFormat.class │ │ │ │ │ ├── midi │ │ │ │ │ │ ├── MidiToPdAdapter.class │ │ │ │ │ │ └── PdToMidiAdapter.class │ │ │ │ │ ├── service │ │ │ │ │ │ ├── BuildConfig.class │ │ │ │ │ │ ├── PdPreferences.class │ │ │ │ │ │ ├── PdService$1.class │ │ │ │ │ │ ├── PdService$ForegroundCupcake.class │ │ │ │ │ │ ├── PdService$ForegroundEclair.class │ │ │ │ │ │ ├── PdService$ForegroundManager.class │ │ │ │ │ │ ├── PdService$PdBinder.class │ │ │ │ │ │ ├── PdService.class │ │ │ │ │ │ ├── R$array.class │ │ │ │ │ │ ├── R$attr.class │ │ │ │ │ │ ├── R$drawable.class │ │ │ │ │ │ ├── R$id.class │ │ │ │ │ │ ├── R$layout.class │ │ │ │ │ │ ├── R$raw.class │ │ │ │ │ │ ├── R$string.class │ │ │ │ │ │ ├── R$style.class │ │ │ │ │ │ ├── R$xml.class │ │ │ │ │ │ └── R.class │ │ │ │ │ └── utils │ │ │ │ │ │ ├── PdUiDispatcher$1.class │ │ │ │ │ │ ├── PdUiDispatcher$2.class │ │ │ │ │ │ ├── PdUiDispatcher$3.class │ │ │ │ │ │ ├── PdUiDispatcher$4.class │ │ │ │ │ │ ├── PdUiDispatcher$5.class │ │ │ │ │ │ ├── PdUiDispatcher.class │ │ │ │ │ │ └── Properties.class │ │ │ │ │ └── core │ │ │ │ │ ├── NativeLoader$NativeLibraryLoadError.class │ │ │ │ │ ├── NativeLoader.class │ │ │ │ │ ├── PdBase.class │ │ │ │ │ ├── PdListener$Adapter.class │ │ │ │ │ ├── PdListener.class │ │ │ │ │ ├── PdMidiListener.class │ │ │ │ │ ├── PdMidiReceiver.class │ │ │ │ │ ├── PdReceiver$Adapter.class │ │ │ │ │ ├── PdReceiver.class │ │ │ │ │ └── utils │ │ │ │ │ ├── IoUtils$1.class │ │ │ │ │ ├── IoUtils$FileProcessor.class │ │ │ │ │ ├── IoUtils.class │ │ │ │ │ └── PdDispatcher.class │ │ │ ├── incremental-safeguard │ │ │ │ └── release │ │ │ │ │ └── tag.txt │ │ │ ├── incremental │ │ │ │ ├── compileDebugAidl │ │ │ │ │ └── dependency.store │ │ │ │ ├── compileDebugAndroidTestAidl │ │ │ │ │ └── dependency.store │ │ │ │ ├── compileReleaseAidl │ │ │ │ │ └── dependency.store │ │ │ │ ├── mergeDebugAndroidTestResources │ │ │ │ │ ├── compile-file-map.properties │ │ │ │ │ ├── merged.dir │ │ │ │ │ │ └── values │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeDebugAssets │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeDebugResources │ │ │ │ │ ├── compile-file-map.properties │ │ │ │ │ ├── merged.dir │ │ │ │ │ │ └── values │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeDebugShaders │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeReleaseAssets │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeReleaseJniLibFolders │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeReleaseResources │ │ │ │ │ ├── compile-file-map.properties │ │ │ │ │ ├── merged.dir │ │ │ │ │ │ └── values │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ └── merger.xml │ │ │ │ ├── mergeReleaseShaders │ │ │ │ │ └── merger.xml │ │ │ │ ├── packageDebugResources │ │ │ │ │ ├── compile-file-map.properties │ │ │ │ │ ├── merged.dir │ │ │ │ │ │ └── values │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ └── merger.xml │ │ │ │ └── packageReleaseResources │ │ │ │ │ ├── compile-file-map.properties │ │ │ │ │ ├── merged.dir │ │ │ │ │ └── values │ │ │ │ │ │ └── values.xml │ │ │ │ │ └── merger.xml │ │ │ ├── jniLibs │ │ │ │ └── release │ │ │ │ │ ├── armeabi-v7a │ │ │ │ │ ├── libbonk_tilde.so │ │ │ │ │ ├── libchoice.so │ │ │ │ │ ├── libexpr.so │ │ │ │ │ ├── libexpr_tilde.so │ │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ │ ├── libloop_tilde.so │ │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ │ ├── libpd.so │ │ │ │ │ ├── libpdnative.so │ │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ │ ├── libpique.so │ │ │ │ │ └── libsigmund_tilde.so │ │ │ │ │ ├── armeabi │ │ │ │ │ ├── libbonk_tilde.so │ │ │ │ │ ├── libchoice.so │ │ │ │ │ ├── libexpr.so │ │ │ │ │ ├── libexpr_tilde.so │ │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ │ ├── libloop_tilde.so │ │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ │ ├── libpd.so │ │ │ │ │ ├── libpdnative.so │ │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ │ ├── libpique.so │ │ │ │ │ └── libsigmund_tilde.so │ │ │ │ │ └── x86 │ │ │ │ │ ├── libbonk_tilde.so │ │ │ │ │ ├── libchoice.so │ │ │ │ │ ├── libexpr.so │ │ │ │ │ ├── libexpr_tilde.so │ │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ │ ├── libloop_tilde.so │ │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ │ ├── libpd.so │ │ │ │ │ ├── libpdnative.so │ │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ │ ├── libpique.so │ │ │ │ │ └── libsigmund_tilde.so │ │ │ ├── manifest │ │ │ │ └── androidTest │ │ │ │ │ └── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── manifests │ │ │ │ └── aapt │ │ │ │ │ ├── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── release │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── res │ │ │ │ ├── merged │ │ │ │ │ ├── androidTest │ │ │ │ │ │ └── debug │ │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ │ ├── din5.png │ │ │ │ │ │ │ └── icon.png │ │ │ │ │ │ │ ├── layout │ │ │ │ │ │ │ ├── device_list.xml │ │ │ │ │ │ │ └── device_name.xml │ │ │ │ │ │ │ ├── raw │ │ │ │ │ │ │ ├── extra_abs.zip │ │ │ │ │ │ │ └── silence.wav │ │ │ │ │ │ │ ├── values │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ │ └── xml │ │ │ │ │ │ │ └── preferences.xml │ │ │ │ │ ├── debug │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ │ ├── din5.png │ │ │ │ │ │ │ └── icon.png │ │ │ │ │ │ ├── layout │ │ │ │ │ │ │ ├── device_list.xml │ │ │ │ │ │ │ └── device_name.xml │ │ │ │ │ │ ├── raw │ │ │ │ │ │ │ ├── extra_abs.zip │ │ │ │ │ │ │ └── silence.wav │ │ │ │ │ │ ├── values │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ └── xml │ │ │ │ │ │ │ └── preferences.xml │ │ │ │ │ └── release │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ ├── din5.png │ │ │ │ │ │ └── icon.png │ │ │ │ │ │ ├── layout │ │ │ │ │ │ ├── device_list.xml │ │ │ │ │ │ └── device_name.xml │ │ │ │ │ │ ├── raw │ │ │ │ │ │ ├── extra_abs.zip │ │ │ │ │ │ └── silence.wav │ │ │ │ │ │ ├── values │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ └── xml │ │ │ │ │ │ └── preferences.xml │ │ │ │ └── resources-debug-androidTest.ap_ │ │ │ ├── symbols │ │ │ │ └── androidTest │ │ │ │ │ └── debug │ │ │ │ │ └── R.txt │ │ │ └── transforms │ │ │ │ ├── mergeJniLibs │ │ │ │ └── release │ │ │ │ │ └── folders │ │ │ │ │ └── 2000 │ │ │ │ │ └── 3 │ │ │ │ │ └── main │ │ │ │ │ └── lib │ │ │ │ │ ├── armeabi-v7a │ │ │ │ │ ├── libbonk_tilde.so │ │ │ │ │ ├── libchoice.so │ │ │ │ │ ├── libexpr.so │ │ │ │ │ ├── libexpr_tilde.so │ │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ │ ├── libloop_tilde.so │ │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ │ ├── libpd.so │ │ │ │ │ ├── libpdnative.so │ │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ │ ├── libpique.so │ │ │ │ │ └── libsigmund_tilde.so │ │ │ │ │ ├── armeabi │ │ │ │ │ ├── libbonk_tilde.so │ │ │ │ │ ├── libchoice.so │ │ │ │ │ ├── libexpr.so │ │ │ │ │ ├── libexpr_tilde.so │ │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ │ ├── libloop_tilde.so │ │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ │ ├── libpd.so │ │ │ │ │ ├── libpdnative.so │ │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ │ ├── libpique.so │ │ │ │ │ └── libsigmund_tilde.so │ │ │ │ │ └── x86 │ │ │ │ │ ├── libbonk_tilde.so │ │ │ │ │ ├── libchoice.so │ │ │ │ │ ├── libexpr.so │ │ │ │ │ ├── libexpr_tilde.so │ │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ │ ├── libloop_tilde.so │ │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ │ ├── libpd.so │ │ │ │ │ ├── libpdnative.so │ │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ │ ├── libpique.so │ │ │ │ │ └── libsigmund_tilde.so │ │ │ │ └── stripDebugSymbol │ │ │ │ └── release │ │ │ │ └── folders │ │ │ │ └── 2000 │ │ │ │ └── 3 │ │ │ │ └── main │ │ │ │ └── lib │ │ │ │ ├── armeabi-v7a │ │ │ │ ├── libbonk_tilde.so │ │ │ │ ├── libchoice.so │ │ │ │ ├── libexpr.so │ │ │ │ ├── libexpr_tilde.so │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ ├── libloop_tilde.so │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ ├── libpd.so │ │ │ │ ├── libpdnative.so │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ ├── libpique.so │ │ │ │ └── libsigmund_tilde.so │ │ │ │ ├── armeabi │ │ │ │ ├── libbonk_tilde.so │ │ │ │ ├── libchoice.so │ │ │ │ ├── libexpr.so │ │ │ │ ├── libexpr_tilde.so │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ ├── libloop_tilde.so │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ ├── libpd.so │ │ │ │ ├── libpdnative.so │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ ├── libpique.so │ │ │ │ └── libsigmund_tilde.so │ │ │ │ └── x86 │ │ │ │ ├── libbonk_tilde.so │ │ │ │ ├── libchoice.so │ │ │ │ ├── libexpr.so │ │ │ │ ├── libexpr_tilde.so │ │ │ │ ├── libfexpr_tilde.so │ │ │ │ ├── libfiddle_tilde.so │ │ │ │ ├── libloop_tilde.so │ │ │ │ ├── liblrshift_tilde.so │ │ │ │ ├── libpd.so │ │ │ │ ├── libpdnative.so │ │ │ │ ├── libpdnativeopensl.so │ │ │ │ ├── libpique.so │ │ │ │ └── libsigmund_tilde.so │ │ ├── outputs │ │ │ └── aar │ │ │ │ ├── pdCore-debug.aar │ │ │ │ └── pdCore-release.aar │ │ └── tmp │ │ │ └── expandedArchives │ │ │ └── classes.jar_dqwhk60isbbacq0sioyxlp8w8 │ │ │ └── com │ │ │ └── noisepages │ │ │ └── nettoyeur │ │ │ ├── bluetooth │ │ │ ├── BluetoothDisabledException.class │ │ │ ├── BluetoothException.class │ │ │ ├── BluetoothNotConnectedException.class │ │ │ ├── BluetoothSppConnection$1.class │ │ │ ├── BluetoothSppConnection$ConnectThread.class │ │ │ ├── BluetoothSppConnection$ConnectedThread.class │ │ │ ├── BluetoothSppConnection$State.class │ │ │ ├── BluetoothSppConnection.class │ │ │ ├── BluetoothSppObserver.class │ │ │ ├── BluetoothUnavailableException.class │ │ │ ├── midi │ │ │ │ ├── BluetoothMidiDevice$1.class │ │ │ │ └── BluetoothMidiDevice.class │ │ │ └── util │ │ │ │ ├── BluetoothDeviceSelector$1.class │ │ │ │ ├── BluetoothDeviceSelector$2.class │ │ │ │ ├── BluetoothDeviceSelector.class │ │ │ │ ├── DeviceListActivity$1.class │ │ │ │ └── DeviceListActivity.class │ │ │ ├── common │ │ │ └── RawByteReceiver.class │ │ │ ├── midi │ │ │ ├── BuildConfig.class │ │ │ ├── FromWireConverter$1.class │ │ │ ├── FromWireConverter$State.class │ │ │ ├── FromWireConverter.class │ │ │ ├── MidiDevice.class │ │ │ ├── MidiReceiver$DummyReceiver.class │ │ │ ├── MidiReceiver.class │ │ │ ├── ToWireConverter.class │ │ │ └── util │ │ │ │ ├── SystemMessageDecoder$1.class │ │ │ │ ├── SystemMessageDecoder$State.class │ │ │ │ ├── SystemMessageDecoder.class │ │ │ │ ├── SystemMessageEncoder.class │ │ │ │ ├── SystemMessageReceiver$DummyReceiver.class │ │ │ │ └── SystemMessageReceiver.class │ │ │ └── usb │ │ │ ├── ConnectionFailedException.class │ │ │ ├── DeviceInfo.class │ │ │ ├── DeviceNotConnectedException.class │ │ │ ├── InterfaceNotAvailableException.class │ │ │ ├── UsbBroadcastHandler.class │ │ │ ├── UsbDeviceWithInfo$1.class │ │ │ ├── UsbDeviceWithInfo.class │ │ │ ├── UsbException.class │ │ │ ├── midi │ │ │ ├── UsbMidiDevice$1.class │ │ │ ├── UsbMidiDevice$UsbMidiInput$1.class │ │ │ ├── UsbMidiDevice$UsbMidiInput.class │ │ │ ├── UsbMidiDevice$UsbMidiInterface.class │ │ │ ├── UsbMidiDevice$UsbMidiOutput$1.class │ │ │ ├── UsbMidiDevice$UsbMidiOutput.class │ │ │ ├── UsbMidiDevice.class │ │ │ └── util │ │ │ │ ├── UsbMidiInputSelector$1.class │ │ │ │ ├── UsbMidiInputSelector$2.class │ │ │ │ ├── UsbMidiInputSelector.class │ │ │ │ ├── UsbMidiOutputSelector$1.class │ │ │ │ ├── UsbMidiOutputSelector$2.class │ │ │ │ └── UsbMidiOutputSelector.class │ │ │ └── util │ │ │ ├── AsyncDeviceInfoLookup.class │ │ │ ├── UsbDeviceSelector$1.class │ │ │ ├── UsbDeviceSelector$2.class │ │ │ └── UsbDeviceSelector.class │ ├── pdCore.iml │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── org │ │ │ └── puredata │ │ │ ├── android │ │ │ ├── io │ │ │ │ ├── AudioParameters.java │ │ │ │ ├── AudioRecordWrapper.java │ │ │ │ ├── AudioWrapper.java │ │ │ │ ├── PdAudio.java │ │ │ │ └── VersionedAudioFormat.java │ │ │ ├── midi │ │ │ │ ├── MidiToPdAdapter.java │ │ │ │ └── PdToMidiAdapter.java │ │ │ ├── service │ │ │ │ ├── PdPreferences.java │ │ │ │ └── PdService.java │ │ │ └── utils │ │ │ │ ├── PdUiDispatcher.java │ │ │ │ └── Properties.java │ │ │ └── core │ │ │ ├── NativeLoader.java │ │ │ ├── PdBase.java │ │ │ ├── PdListener.java │ │ │ ├── PdMidiListener.java │ │ │ ├── PdMidiReceiver.java │ │ │ ├── PdReceiver.java │ │ │ └── utils │ │ │ ├── IoUtils.java │ │ │ └── PdDispatcher.java │ │ ├── jni │ │ ├── Android.mk │ │ └── Application.mk │ │ ├── jniLibs │ │ ├── armeabi-v7a │ │ │ ├── libbonk_tilde.so │ │ │ ├── libchoice.so │ │ │ ├── libexpr.so │ │ │ ├── libexpr_tilde.so │ │ │ ├── libfexpr_tilde.so │ │ │ ├── libfiddle_tilde.so │ │ │ ├── libloop_tilde.so │ │ │ ├── liblrshift_tilde.so │ │ │ ├── libpd.so │ │ │ ├── libpdnative.so │ │ │ ├── libpdnativeopensl.so │ │ │ ├── libpique.so │ │ │ └── libsigmund_tilde.so │ │ ├── armeabi │ │ │ ├── libbonk_tilde.so │ │ │ ├── libchoice.so │ │ │ ├── libexpr.so │ │ │ ├── libexpr_tilde.so │ │ │ ├── libfexpr_tilde.so │ │ │ ├── libfiddle_tilde.so │ │ │ ├── libloop_tilde.so │ │ │ ├── liblrshift_tilde.so │ │ │ ├── libpd.so │ │ │ ├── libpdnative.so │ │ │ ├── libpdnativeopensl.so │ │ │ ├── libpique.so │ │ │ └── libsigmund_tilde.so │ │ └── x86 │ │ │ ├── libbonk_tilde.so │ │ │ ├── libchoice.so │ │ │ ├── libexpr.so │ │ │ ├── libexpr_tilde.so │ │ │ ├── libfexpr_tilde.so │ │ │ ├── libfiddle_tilde.so │ │ │ ├── libloop_tilde.so │ │ │ ├── liblrshift_tilde.so │ │ │ ├── libpd.so │ │ │ ├── libpdnative.so │ │ │ ├── libpdnativeopensl.so │ │ │ ├── libpique.so │ │ │ └── libsigmund_tilde.so │ │ └── res │ │ ├── drawable │ │ └── icon.png │ │ ├── raw │ │ ├── extra_abs.zip │ │ └── silence.wav │ │ ├── values │ │ ├── audio.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ └── preferences.xml └── pdPlayer │ ├── build.gradle │ └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── wickham │ │ └── android │ │ └── pdplayer │ │ ├── CustomDialog.java │ │ └── PdPlayer.java │ └── res │ ├── drawable-hdpi │ └── icon.png │ ├── drawable-ldpi │ └── icon.png │ ├── drawable-mdpi │ └── icon.png │ ├── layout │ ├── list_item.xml │ ├── load_dialog.xml │ └── main.xml │ ├── menu │ └── pd_player_menu.xml │ └── values │ ├── strings.xml │ └── styles.xml ├── PlayAudio ├── app │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ └── playaudio │ │ │ └── MainActivity.java │ │ └── res │ │ ├── layout │ │ ├── activity_main.xml │ │ └── array_list_item.xml │ │ ├── menu │ │ └── activity_main.xml │ │ ├── raw │ │ ├── birds1.mp3 │ │ ├── carcrash1.mp3 │ │ ├── carstop1.mp3 │ │ ├── dog1.mp3 │ │ ├── door3.mp3 │ │ ├── doorslam1.mp3 │ │ ├── drain.mp3 │ │ ├── explosion1.mp3 │ │ ├── gallactic1.mp3 │ │ ├── gunshot1.mp3 │ │ ├── laugh.mp3 │ │ ├── machinegun.mp3 │ │ ├── markplay2.wav │ │ ├── markstorm.ogg │ │ ├── miccompare.mp3 │ │ ├── mjwcondsr.m4a │ │ ├── racecar1.mp3 │ │ ├── recordscratch.mp3 │ │ ├── scream1.mp3 │ │ ├── slug1.mp3 │ │ ├── slug3.mp3 │ │ ├── soundfile.txt │ │ ├── telephone1.mp3 │ │ └── windchimes.mp3 │ │ ├── values-v11 │ │ └── styles.xml │ │ ├── values-v14 │ │ └── styles.xml │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml └── build.gradle ├── PushFCM ├── app │ ├── build.gradle │ ├── google-services.json │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ ├── Global.java │ │ │ ├── MainActivity.java │ │ │ ├── MyFirebaseInstanceIDService.java │ │ │ └── MyFirebaseMessagingService.java │ │ └── res │ │ ├── drawable-hdpi │ │ ├── fail.png │ │ ├── ic_action_search.png │ │ ├── ic_menu_compose.png │ │ └── success.png │ │ ├── drawable-mdpi │ │ └── ic_action_search.png │ │ ├── drawable-xhdpi │ │ └── ic_action_search.png │ │ ├── layout │ │ ├── activity_main.xml │ │ └── simple_list_item_1.xml │ │ ├── menu │ │ └── actions.xml │ │ ├── values-large │ │ └── dimens.xml │ │ └── values │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle └── raw │ ├── FCM.php │ ├── create-database-sql.txt │ ├── db_connect.php │ ├── db_functions.php │ ├── index.php │ ├── register.php │ ├── return204.php │ └── send_message.php ├── PushMQTT ├── app │ ├── build.gradle │ ├── lib │ │ ├── paho-mqtt-client-1.0.1-sources.jar │ │ └── paho-mqtt-client-1.0.1.jar │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ └── pushMQTT │ │ │ ├── ConnectionLog.java │ │ │ ├── Global.java │ │ │ ├── MqttService.java │ │ │ └── PushActivity.java │ │ └── res │ │ ├── drawable-hdpi │ │ └── ic_menu_compose.png │ │ ├── layout │ │ ├── main.xml │ │ ├── push_message.xml │ │ └── simple_list_item_1.xml │ │ ├── menu │ │ └── actions.xml │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml └── build.gradle ├── README.md ├── RecordWav ├── app │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ ├── FileSaveDialog.java │ │ │ └── RecordWavActivity.java │ │ └── res │ │ ├── drawable-hdpi │ │ └── mic.png │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── file_save.xml │ │ └── record_audio.xml │ │ ├── menu │ │ └── main.xml │ │ ├── values-v11 │ │ └── styles.xml │ │ ├── values-v14 │ │ └── styles.xml │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml └── build.gradle ├── Ringdroid ├── app │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── ringdroid │ │ │ ├── AfterSaveActionDialog.java │ │ │ ├── ChooseContactActivity.java │ │ │ ├── FileSaveDialog.java │ │ │ ├── MarkerView.java │ │ │ ├── RingdroidEditActivity.java │ │ │ ├── RingdroidSelectActivity.java │ │ │ ├── SamplePlayer.java │ │ │ ├── SongMetadataReader.java │ │ │ ├── WaveformView.java │ │ │ └── soundfile │ │ │ ├── MP4Header.java │ │ │ ├── SoundFile.java │ │ │ └── WAVHeader.java │ │ └── res │ │ ├── drawable-hdpi │ │ ├── content_save.png │ │ ├── ic_action_microphone.png │ │ ├── ic_action_search.png │ │ ├── ic_launcher.png │ │ └── navigation_expand.png │ │ ├── drawable-mdpi │ │ └── ic_launcher.png │ │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ │ ├── drawable-xxhdpi │ │ └── ic_launcher.png │ │ ├── drawable │ │ ├── bkgnd.png │ │ ├── bkgnd_normal.xml │ │ ├── bkgnd_pressed.xml │ │ ├── button_options.png │ │ ├── button_options_bkgnd.xml │ │ ├── button_zoom_in.png │ │ ├── button_zoom_out.png │ │ ├── marker_left.xml │ │ ├── marker_left_focused.png │ │ ├── marker_left_normal.png │ │ ├── marker_left_pressed.png │ │ ├── marker_right.xml │ │ ├── marker_right_focused.png │ │ ├── marker_right_normal.png │ │ ├── marker_right_pressed.png │ │ ├── menu_about.png │ │ ├── menu_reset.png │ │ ├── menu_save.png │ │ ├── menu_show_all_audio.png │ │ ├── resize_button.xml │ │ ├── resize_button_off.png │ │ ├── resize_button_on.png │ │ ├── ringdroidlogo.png │ │ ├── search.png │ │ ├── star.png │ │ ├── type_alarm.png │ │ ├── type_music.png │ │ ├── type_notification.png │ │ └── type_ringtone.png │ │ ├── layout-land │ │ ├── after_save_action.xml │ │ ├── editor.xml │ │ ├── media_select.xml │ │ └── media_select_row.xml │ │ ├── layout │ │ ├── after_save_action.xml │ │ ├── choose_contact.xml │ │ ├── contact_row.xml │ │ ├── editor.xml │ │ ├── file_save.xml │ │ ├── media_select.xml │ │ ├── media_select_row.xml │ │ └── record_audio.xml │ │ ├── menu │ │ ├── edit_options.xml │ │ └── select_options.xml │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml └── build.gradle ├── ServerSpinner ├── app │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ └── serverspinner │ │ │ ├── FileCache.java │ │ │ ├── ImageLoader.java │ │ │ ├── MainActivity.java │ │ │ ├── MemoryCache.java │ │ │ └── Utils.java │ │ └── res │ │ ├── drawable-hdpi │ │ ├── gallery_shape.xml │ │ ├── ic_action_search.png │ │ ├── ic_clear_normal.png │ │ ├── ic_menu_camera.png │ │ ├── ic_menu_more.png │ │ ├── ic_popup_sync_1.png │ │ ├── nopic.png │ │ └── popup.9.png │ │ ├── drawable-mdpi │ │ └── ic_action_search.png │ │ ├── drawable-xhdpi │ │ └── ic_action_search.png │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── newpic_name.xml │ │ └── photo_layout.xml │ │ ├── menu │ │ └── actions.xml │ │ ├── values-large │ │ └── dimens.xml │ │ ├── values-v11 │ │ └── styles.xml │ │ ├── values-v14 │ │ └── styles.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle └── raw │ ├── deletefile.html │ ├── deletefile.php │ ├── listfiles-a.php │ ├── uploadfile.html │ └── uploadfile.php ├── Splash ├── app │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── wickham │ │ │ └── android │ │ │ └── splash │ │ │ ├── MainActivity.java │ │ │ └── SplashActivity.java │ │ └── res │ │ ├── layout │ │ ├── main.xml │ │ └── splash.xml │ │ ├── menu │ │ └── actions.xml │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle └── raw │ ├── english-proper-names.txt │ └── return204.php └── contributing.md /9781484233320.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/9781484233320.jpg -------------------------------------------------------------------------------- /AudioBufferSize/app/src/main/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_ABI := all 2 | 3 | -------------------------------------------------------------------------------- /AudioBufferSize/app/src/main/jniLibs/armeabi-v7a/libaudiobufferjni.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/AudioBufferSize/app/src/main/jniLibs/armeabi-v7a/libaudiobufferjni.so -------------------------------------------------------------------------------- /AudioBufferSize/app/src/main/jniLibs/armeabi/libaudiobufferjni.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/AudioBufferSize/app/src/main/jniLibs/armeabi/libaudiobufferjni.so -------------------------------------------------------------------------------- /AudioBufferSize/app/src/main/jniLibs/mips/libaudiobufferjni.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/AudioBufferSize/app/src/main/jniLibs/mips/libaudiobufferjni.so -------------------------------------------------------------------------------- /AudioBufferSize/app/src/main/jniLibs/x86/libaudiobufferjni.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/AudioBufferSize/app/src/main/jniLibs/x86/libaudiobufferjni.so -------------------------------------------------------------------------------- /AudioBufferSize/lib/armeabi-v7a/libaudiobufferjni.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/AudioBufferSize/lib/armeabi-v7a/libaudiobufferjni.so -------------------------------------------------------------------------------- /AudioBufferSize/lib/armeabi/libaudiobufferjni.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/AudioBufferSize/lib/armeabi/libaudiobufferjni.so -------------------------------------------------------------------------------- /AudioBufferSize/lib/mips/libaudiobufferjni.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/AudioBufferSize/lib/mips/libaudiobufferjni.so -------------------------------------------------------------------------------- /AudioBufferSize/lib/x86/libaudiobufferjni.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/AudioBufferSize/lib/x86/libaudiobufferjni.so -------------------------------------------------------------------------------- /AudioBufferSize/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-hdpi/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-hdpi/Thumbs.db -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-hdpi/bar_dark.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-hdpi/bar_dark.9.png -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-hdpi/bar_white.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-hdpi/bar_white.9.png -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-hdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-hdpi/ic_action_search.png -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-mdpi/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-mdpi/Thumbs.db -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-mdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-mdpi/ic_action_search.png -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-mdpi/presence_busy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-mdpi/presence_busy.png -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-mdpi/presence_invisible.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-mdpi/presence_invisible.png -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-mdpi/presence_online.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-mdpi/presence_online.png -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-xhdpi/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-xhdpi/Thumbs.db -------------------------------------------------------------------------------- /Connections/app/src/main/res/drawable-xhdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Connections/app/src/main/res/drawable-xhdpi/ic_action_search.png -------------------------------------------------------------------------------- /Connections/app/src/main/res/menu/actions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /Connections/app/src/main/res/values-large/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8dp 4 | 16dp 5 | 16dp 6 | 7 | -------------------------------------------------------------------------------- /Connections/app/src/main/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /PdPlayer/pdPlayer/src/main/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PdPlayer/pdPlayer/src/main/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /PdPlayer/pdPlayer/src/main/res/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PdPlayer/pdPlayer/src/main/res/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /PdPlayer/pdPlayer/src/main/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PdPlayer/pdPlayer/src/main/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /PdPlayer/pdPlayer/src/main/res/menu/pd_player_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /PdPlayer/pdPlayer/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/menu/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/birds1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/birds1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/carcrash1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/carcrash1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/carstop1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/carstop1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/dog1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/dog1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/door3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/door3.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/doorslam1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/doorslam1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/drain.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/drain.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/explosion1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/explosion1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/gallactic1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/gallactic1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/gunshot1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/gunshot1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/laugh.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/laugh.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/machinegun.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/machinegun.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/markplay2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/markplay2.wav -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/markstorm.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/markstorm.ogg -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/miccompare.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/miccompare.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/mjwcondsr.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/mjwcondsr.m4a -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/racecar1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/racecar1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/recordscratch.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/recordscratch.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/scream1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/scream1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/slug1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/slug1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/slug3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/slug3.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/telephone1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/telephone1.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/raw/windchimes.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PlayAudio/app/src/main/res/raw/windchimes.mp3 -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Play Audio 5 | 6 | Sound Type Color Codes 7 | 8 | 9 | Settings 10 | 11 | -------------------------------------------------------------------------------- /PlayAudio/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | -------------------------------------------------------------------------------- /PushFCM/app/src/main/res/drawable-hdpi/fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PushFCM/app/src/main/res/drawable-hdpi/fail.png -------------------------------------------------------------------------------- /PushFCM/app/src/main/res/drawable-hdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PushFCM/app/src/main/res/drawable-hdpi/ic_action_search.png -------------------------------------------------------------------------------- /PushFCM/app/src/main/res/drawable-hdpi/ic_menu_compose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PushFCM/app/src/main/res/drawable-hdpi/ic_menu_compose.png -------------------------------------------------------------------------------- /PushFCM/app/src/main/res/drawable-hdpi/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PushFCM/app/src/main/res/drawable-hdpi/success.png -------------------------------------------------------------------------------- /PushFCM/app/src/main/res/drawable-mdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PushFCM/app/src/main/res/drawable-mdpi/ic_action_search.png -------------------------------------------------------------------------------- /PushFCM/app/src/main/res/drawable-xhdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PushFCM/app/src/main/res/drawable-xhdpi/ic_action_search.png -------------------------------------------------------------------------------- /PushFCM/app/src/main/res/menu/actions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /PushFCM/app/src/main/res/values-large/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8dp 4 | 16dp 5 | 16dp 6 | 7 | -------------------------------------------------------------------------------- /PushFCM/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8dp 4 | 8dp 5 | 16dp 6 | 7 | -------------------------------------------------------------------------------- /PushFCM/raw/create-database-sql.txt: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `fcm_users` ( 2 | `id` int(11) NOT NULL AUTO_INCREMENT, 3 | `fcm_token` text, 4 | `name` varchar(50) NOT NULL, 5 | `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 6 | PRIMARY KEY (`id`) 7 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -------------------------------------------------------------------------------- /PushFCM/raw/return204.php: -------------------------------------------------------------------------------- 1 |  4 | -------------------------------------------------------------------------------- /PushMQTT/app/lib/paho-mqtt-client-1.0.1-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PushMQTT/app/lib/paho-mqtt-client-1.0.1-sources.jar -------------------------------------------------------------------------------- /PushMQTT/app/lib/paho-mqtt-client-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PushMQTT/app/lib/paho-mqtt-client-1.0.1.jar -------------------------------------------------------------------------------- /PushMQTT/app/src/main/res/drawable-hdpi/ic_menu_compose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/PushMQTT/app/src/main/res/drawable-hdpi/ic_menu_compose.png -------------------------------------------------------------------------------- /PushMQTT/app/src/main/res/menu/actions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /PushMQTT/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | -------------------------------------------------------------------------------- /RecordWav/app/src/main/res/drawable-hdpi/mic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/RecordWav/app/src/main/res/drawable-hdpi/mic.png -------------------------------------------------------------------------------- /RecordWav/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16dp 5 | 16dp 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable-hdpi/content_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable-hdpi/content_save.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable-hdpi/ic_action_microphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable-hdpi/ic_action_microphone.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable-hdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable-hdpi/ic_action_search.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable-hdpi/navigation_expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable-hdpi/navigation_expand.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/bkgnd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/bkgnd.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/button_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/button_options.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/button_zoom_in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/button_zoom_in.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/button_zoom_out.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/button_zoom_out.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/marker_left_focused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/marker_left_focused.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/marker_left_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/marker_left_normal.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/marker_left_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/marker_left_pressed.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/marker_right_focused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/marker_right_focused.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/marker_right_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/marker_right_normal.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/marker_right_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/marker_right_pressed.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/menu_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/menu_about.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/menu_reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/menu_reset.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/menu_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/menu_save.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/menu_show_all_audio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/menu_show_all_audio.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/resize_button_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/resize_button_off.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/resize_button_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/resize_button_on.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/ringdroidlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/ringdroidlogo.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/search.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/star.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/type_alarm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/type_alarm.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/type_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/type_music.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/type_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/type_notification.png -------------------------------------------------------------------------------- /Ringdroid/app/src/main/res/drawable/type_ringtone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/Ringdroid/app/src/main/res/drawable/type_ringtone.png -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/drawable-hdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/ServerSpinner/app/src/main/res/drawable-hdpi/ic_action_search.png -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/drawable-hdpi/ic_clear_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/ServerSpinner/app/src/main/res/drawable-hdpi/ic_clear_normal.png -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/drawable-hdpi/ic_menu_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/ServerSpinner/app/src/main/res/drawable-hdpi/ic_menu_camera.png -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/drawable-hdpi/ic_menu_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/ServerSpinner/app/src/main/res/drawable-hdpi/ic_menu_more.png -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/drawable-hdpi/ic_popup_sync_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/ServerSpinner/app/src/main/res/drawable-hdpi/ic_popup_sync_1.png -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/drawable-hdpi/nopic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/ServerSpinner/app/src/main/res/drawable-hdpi/nopic.png -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/drawable-hdpi/popup.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/ServerSpinner/app/src/main/res/drawable-hdpi/popup.9.png -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/drawable-mdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/ServerSpinner/app/src/main/res/drawable-mdpi/ic_action_search.png -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/drawable-xhdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/practical-android/c85d23cb4c4b73f1868c80a5056188856a2120ef/ServerSpinner/app/src/main/res/drawable-xhdpi/ic_action_search.png -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/menu/actions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/values-large/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8dp 4 | 16dp 5 | 16dp 6 | 7 | -------------------------------------------------------------------------------- /ServerSpinner/app/src/main/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |