| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.media.midi; | 5 package org.chromium.midi; |
| 6 | 6 |
| 7 import android.annotation.TargetApi; | 7 import android.annotation.TargetApi; |
| 8 import android.content.Context; | 8 import android.content.Context; |
| 9 import android.media.midi.MidiDevice; | 9 import android.media.midi.MidiDevice; |
| 10 import android.media.midi.MidiDeviceInfo; | 10 import android.media.midi.MidiDeviceInfo; |
| 11 import android.media.midi.MidiManager; | 11 import android.media.midi.MidiManager; |
| 12 import android.os.Build; | 12 import android.os.Build; |
| 13 import android.os.Handler; | 13 import android.os.Handler; |
| 14 | 14 |
| 15 import org.chromium.base.ThreadUtils; | 15 import org.chromium.base.ThreadUtils; |
| 16 import org.chromium.base.annotations.CalledByNative; | 16 import org.chromium.base.annotations.CalledByNative; |
| 17 import org.chromium.base.annotations.JNINamespace; | 17 import org.chromium.base.annotations.JNINamespace; |
| 18 | 18 |
| 19 import java.util.ArrayList; | 19 import java.util.ArrayList; |
| 20 import java.util.HashSet; | 20 import java.util.HashSet; |
| 21 import java.util.List; | 21 import java.util.List; |
| 22 import java.util.Set; | 22 import java.util.Set; |
| 23 | 23 |
| 24 /** | 24 /** |
| 25 * A Java class implementing media::midi::MidiManagerAndroid functionality. | 25 * A Java class implementing midi::MidiManagerAndroid functionality. |
| 26 */ | 26 */ |
| 27 @JNINamespace("media::midi") | 27 @JNINamespace("midi") |
| 28 @TargetApi(Build.VERSION_CODES.M) | 28 @TargetApi(Build.VERSION_CODES.M) |
| 29 class MidiManagerAndroid { | 29 class MidiManagerAndroid { |
| 30 /** | 30 /** |
| 31 * Set true when this instance is successfully initialized. | 31 * Set true when this instance is successfully initialized. |
| 32 */ | 32 */ |
| 33 private boolean mIsInitialized = false; | 33 private boolean mIsInitialized = false; |
| 34 /** | 34 /** |
| 35 * The devices held by this manager. | 35 * The devices held by this manager. |
| 36 */ | 36 */ |
| 37 private final List<MidiDeviceAndroid> mDevices = new ArrayList<>(); | 37 private final List<MidiDeviceAndroid> mDevices = new ArrayList<>(); |
| 38 /** | 38 /** |
| 39 * The device information instances which are being initialized. | 39 * The device information instances which are being initialized. |
| 40 */ | 40 */ |
| 41 private final Set<MidiDeviceInfo> mPendingDevices = new HashSet<>(); | 41 private final Set<MidiDeviceInfo> mPendingDevices = new HashSet<>(); |
| 42 /** | 42 /** |
| 43 * The underlying MidiManager. | 43 * The underlying MidiManager. |
| 44 */ | 44 */ |
| 45 private final MidiManager mManager; | 45 private final MidiManager mManager; |
| 46 /** | 46 /** |
| 47 * Callbacks will run on the message queue associated with this handler. | 47 * Callbacks will run on the message queue associated with this handler. |
| 48 */ | 48 */ |
| 49 private final Handler mHandler; | 49 private final Handler mHandler; |
| 50 /** | 50 /** |
| 51 * The associated media::midi::MidiDeviceAndroid instance. | 51 * The associated midi::MidiDeviceAndroid instance. |
| 52 */ | 52 */ |
| 53 private final long mNativeManagerPointer; | 53 private final long mNativeManagerPointer; |
| 54 | 54 |
| 55 /** | 55 /** |
| 56 * A creation function called by C++. | 56 * A creation function called by C++. |
| 57 * @param context | 57 * @param context |
| 58 * @param nativeManagerPointer The native pointer to a media::midi::MidiMana
gerAndroid object. | 58 * @param nativeManagerPointer The native pointer to a midi::MidiManagerAndr
oid object. |
| 59 */ | 59 */ |
| 60 @CalledByNative | 60 @CalledByNative |
| 61 static MidiManagerAndroid create(Context context, long nativeManagerPointer)
{ | 61 static MidiManagerAndroid create(Context context, long nativeManagerPointer)
{ |
| 62 return new MidiManagerAndroid(context, nativeManagerPointer); | 62 return new MidiManagerAndroid(context, nativeManagerPointer); |
| 63 } | 63 } |
| 64 | 64 |
| 65 /** | 65 /** |
| 66 * @param context | 66 * @param context |
| 67 * @param nativeManagerPointer The native pointer to a media::midi::MidiMana
gerAndroid object. | 67 * @param nativeManagerPointer The native pointer to a midi::MidiManagerAndr
oid object. |
| 68 */ | 68 */ |
| 69 private MidiManagerAndroid(Context context, long nativeManagerPointer) { | 69 private MidiManagerAndroid(Context context, long nativeManagerPointer) { |
| 70 assert ThreadUtils.runningOnUiThread(); | 70 assert ThreadUtils.runningOnUiThread(); |
| 71 | 71 |
| 72 mManager = (MidiManager) context.getSystemService(Context.MIDI_SERVICE); | 72 mManager = (MidiManager) context.getSystemService(Context.MIDI_SERVICE); |
| 73 mHandler = new Handler(ThreadUtils.getUiThreadLooper()); | 73 mHandler = new Handler(ThreadUtils.getUiThreadLooper()); |
| 74 mNativeManagerPointer = nativeManagerPointer; | 74 mNativeManagerPointer = nativeManagerPointer; |
| 75 } | 75 } |
| 76 | 76 |
| 77 /** | 77 /** |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 mIsInitialized = true; | 165 mIsInitialized = true; |
| 166 } | 166 } |
| 167 } | 167 } |
| 168 | 168 |
| 169 static native void nativeOnInitialized( | 169 static native void nativeOnInitialized( |
| 170 long nativeMidiManagerAndroid, MidiDeviceAndroid[] devices); | 170 long nativeMidiManagerAndroid, MidiDeviceAndroid[] devices); |
| 171 static native void nativeOnInitializationFailed(long nativeMidiManagerAndroi
d); | 171 static native void nativeOnInitializationFailed(long nativeMidiManagerAndroi
d); |
| 172 static native void nativeOnAttached(long nativeMidiManagerAndroid, MidiDevic
eAndroid device); | 172 static native void nativeOnAttached(long nativeMidiManagerAndroid, MidiDevic
eAndroid device); |
| 173 static native void nativeOnDetached(long nativeMidiManagerAndroid, MidiDevic
eAndroid device); | 173 static native void nativeOnDetached(long nativeMidiManagerAndroid, MidiDevic
eAndroid device); |
| 174 } | 174 } |
| OLD | NEW |