Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1016)

Side by Side Diff: media/midi/midi_device_android.cc

Issue 2895573002: Reland of Remove ScopedVector from all other codes in media/ (Closed)
Patch Set: Fix the compile fails in build target "jpeg_decode_accelerator_unittest" Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/midi/midi_device_android.h ('k') | media/midi/midi_manager_android.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "media/midi/midi_device_android.h" 5 #include "media/midi/midi_device_android.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/android/jni_string.h" 9 #include "base/android/jni_string.h"
10 #include "base/memory/ptr_util.h"
10 #include "jni/MidiDeviceAndroid_jni.h" 11 #include "jni/MidiDeviceAndroid_jni.h"
11 #include "media/midi/midi_output_port_android.h" 12 #include "media/midi/midi_output_port_android.h"
12 13
13 using base::android::ScopedJavaLocalRef; 14 using base::android::ScopedJavaLocalRef;
14 15
15 namespace midi { 16 namespace midi {
16 17
17 namespace { 18 namespace {
18 19
19 std::string ConvertMaybeJavaString(JNIEnv* env, 20 std::string ConvertMaybeJavaString(JNIEnv* env,
20 const base::android::JavaRef<jstring>& str) { 21 const base::android::JavaRef<jstring>& str) {
21 if (!str.obj()) 22 if (!str.obj())
22 return std::string(); 23 return std::string();
23 return base::android::ConvertJavaStringToUTF8(str); 24 return base::android::ConvertJavaStringToUTF8(str);
24 } 25 }
25 } 26 }
26 27
27 MidiDeviceAndroid::MidiDeviceAndroid(JNIEnv* env, 28 MidiDeviceAndroid::MidiDeviceAndroid(JNIEnv* env,
28 jobject raw_device, 29 jobject raw_device,
29 MidiInputPortAndroid::Delegate* delegate) 30 MidiInputPortAndroid::Delegate* delegate)
30 : raw_device_(env, raw_device) { 31 : raw_device_(env, raw_device) {
31 ScopedJavaLocalRef<jobjectArray> raw_input_ports = 32 ScopedJavaLocalRef<jobjectArray> raw_input_ports =
32 Java_MidiDeviceAndroid_getInputPorts(env, raw_device); 33 Java_MidiDeviceAndroid_getInputPorts(env, raw_device);
33 jsize num_input_ports = env->GetArrayLength(raw_input_ports.obj()); 34 jsize num_input_ports = env->GetArrayLength(raw_input_ports.obj());
34 35
35 for (jsize i = 0; i < num_input_ports; ++i) { 36 for (jsize i = 0; i < num_input_ports; ++i) {
36 jobject port = env->GetObjectArrayElement(raw_input_ports.obj(), i); 37 jobject port = env->GetObjectArrayElement(raw_input_ports.obj(), i);
37 input_ports_.push_back(new MidiInputPortAndroid(env, port, delegate)); 38 input_ports_.push_back(
39 base::MakeUnique<MidiInputPortAndroid>(env, port, delegate));
38 } 40 }
39 41
40 ScopedJavaLocalRef<jobjectArray> raw_output_ports = 42 ScopedJavaLocalRef<jobjectArray> raw_output_ports =
41 Java_MidiDeviceAndroid_getOutputPorts(env, raw_device); 43 Java_MidiDeviceAndroid_getOutputPorts(env, raw_device);
42 jsize num_output_ports = env->GetArrayLength(raw_output_ports.obj()); 44 jsize num_output_ports = env->GetArrayLength(raw_output_ports.obj());
43 for (jsize i = 0; i < num_output_ports; ++i) { 45 for (jsize i = 0; i < num_output_ports; ++i) {
44 jobject port = env->GetObjectArrayElement(raw_output_ports.obj(), i); 46 jobject port = env->GetObjectArrayElement(raw_output_ports.obj(), i);
45 output_ports_.push_back(new MidiOutputPortAndroid(env, port)); 47 output_ports_.push_back(base::MakeUnique<MidiOutputPortAndroid>(env, port));
46 } 48 }
47 } 49 }
48 50
49 MidiDeviceAndroid::~MidiDeviceAndroid() {} 51 MidiDeviceAndroid::~MidiDeviceAndroid() {}
50 52
51 std::string MidiDeviceAndroid::GetManufacturer() { 53 std::string MidiDeviceAndroid::GetManufacturer() {
52 JNIEnv* env = base::android::AttachCurrentThread(); 54 JNIEnv* env = base::android::AttachCurrentThread();
53 return ConvertMaybeJavaString( 55 return ConvertMaybeJavaString(
54 env, Java_MidiDeviceAndroid_getManufacturer(env, raw_device_)); 56 env, Java_MidiDeviceAndroid_getManufacturer(env, raw_device_));
55 } 57 }
56 58
57 std::string MidiDeviceAndroid::GetProductName() { 59 std::string MidiDeviceAndroid::GetProductName() {
58 JNIEnv* env = base::android::AttachCurrentThread(); 60 JNIEnv* env = base::android::AttachCurrentThread();
59 return ConvertMaybeJavaString( 61 return ConvertMaybeJavaString(
60 env, Java_MidiDeviceAndroid_getProduct(env, raw_device_)); 62 env, Java_MidiDeviceAndroid_getProduct(env, raw_device_));
61 } 63 }
62 64
63 std::string MidiDeviceAndroid::GetDeviceVersion() { 65 std::string MidiDeviceAndroid::GetDeviceVersion() {
64 JNIEnv* env = base::android::AttachCurrentThread(); 66 JNIEnv* env = base::android::AttachCurrentThread();
65 return ConvertMaybeJavaString( 67 return ConvertMaybeJavaString(
66 env, Java_MidiDeviceAndroid_getVersion(env, raw_device_)); 68 env, Java_MidiDeviceAndroid_getVersion(env, raw_device_));
67 } 69 }
68 70
69 } // namespace midi 71 } // namespace midi
OLDNEW
« no previous file with comments | « media/midi/midi_device_android.h ('k') | media/midi/midi_manager_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698