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

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

Issue 2893953002: Revert of Remove ScopedVector from all other codes in media/ (Closed)
Patch Set: 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"
11 #include "jni/MidiDeviceAndroid_jni.h" 10 #include "jni/MidiDeviceAndroid_jni.h"
12 #include "media/midi/midi_output_port_android.h" 11 #include "media/midi/midi_output_port_android.h"
13 12
14 using base::android::ScopedJavaLocalRef; 13 using base::android::ScopedJavaLocalRef;
15 14
16 namespace midi { 15 namespace midi {
17 16
18 namespace { 17 namespace {
19 18
20 std::string ConvertMaybeJavaString(JNIEnv* env, 19 std::string ConvertMaybeJavaString(JNIEnv* env,
21 const base::android::JavaRef<jstring>& str) { 20 const base::android::JavaRef<jstring>& str) {
22 if (!str.obj()) 21 if (!str.obj())
23 return std::string(); 22 return std::string();
24 return base::android::ConvertJavaStringToUTF8(str); 23 return base::android::ConvertJavaStringToUTF8(str);
25 } 24 }
26 } 25 }
27 26
28 MidiDeviceAndroid::MidiDeviceAndroid(JNIEnv* env, 27 MidiDeviceAndroid::MidiDeviceAndroid(JNIEnv* env,
29 jobject raw_device, 28 jobject raw_device,
30 MidiInputPortAndroid::Delegate* delegate) 29 MidiInputPortAndroid::Delegate* delegate)
31 : raw_device_(env, raw_device) { 30 : raw_device_(env, raw_device) {
32 ScopedJavaLocalRef<jobjectArray> raw_input_ports = 31 ScopedJavaLocalRef<jobjectArray> raw_input_ports =
33 Java_MidiDeviceAndroid_getInputPorts(env, raw_device); 32 Java_MidiDeviceAndroid_getInputPorts(env, raw_device);
34 jsize num_input_ports = env->GetArrayLength(raw_input_ports.obj()); 33 jsize num_input_ports = env->GetArrayLength(raw_input_ports.obj());
35 34
36 for (jsize i = 0; i < num_input_ports; ++i) { 35 for (jsize i = 0; i < num_input_ports; ++i) {
37 jobject port = env->GetObjectArrayElement(raw_input_ports.obj(), i); 36 jobject port = env->GetObjectArrayElement(raw_input_ports.obj(), i);
38 input_ports_.push_back( 37 input_ports_.push_back(new MidiInputPortAndroid(env, port, delegate));
39 base::MakeUnique<MidiInputPortAndroid>(env, port, delegate));
40 } 38 }
41 39
42 ScopedJavaLocalRef<jobjectArray> raw_output_ports = 40 ScopedJavaLocalRef<jobjectArray> raw_output_ports =
43 Java_MidiDeviceAndroid_getOutputPorts(env, raw_device); 41 Java_MidiDeviceAndroid_getOutputPorts(env, raw_device);
44 jsize num_output_ports = env->GetArrayLength(raw_output_ports.obj()); 42 jsize num_output_ports = env->GetArrayLength(raw_output_ports.obj());
45 for (jsize i = 0; i < num_output_ports; ++i) { 43 for (jsize i = 0; i < num_output_ports; ++i) {
46 jobject port = env->GetObjectArrayElement(raw_output_ports.obj(), i); 44 jobject port = env->GetObjectArrayElement(raw_output_ports.obj(), i);
47 output_ports_.push_back(base::MakeUnique<MidiOutputPortAndroid>(env, port)); 45 output_ports_.push_back(new MidiOutputPortAndroid(env, port));
48 } 46 }
49 } 47 }
50 48
51 MidiDeviceAndroid::~MidiDeviceAndroid() {} 49 MidiDeviceAndroid::~MidiDeviceAndroid() {}
52 50
53 std::string MidiDeviceAndroid::GetManufacturer() { 51 std::string MidiDeviceAndroid::GetManufacturer() {
54 JNIEnv* env = base::android::AttachCurrentThread(); 52 JNIEnv* env = base::android::AttachCurrentThread();
55 return ConvertMaybeJavaString( 53 return ConvertMaybeJavaString(
56 env, Java_MidiDeviceAndroid_getManufacturer(env, raw_device_)); 54 env, Java_MidiDeviceAndroid_getManufacturer(env, raw_device_));
57 } 55 }
58 56
59 std::string MidiDeviceAndroid::GetProductName() { 57 std::string MidiDeviceAndroid::GetProductName() {
60 JNIEnv* env = base::android::AttachCurrentThread(); 58 JNIEnv* env = base::android::AttachCurrentThread();
61 return ConvertMaybeJavaString( 59 return ConvertMaybeJavaString(
62 env, Java_MidiDeviceAndroid_getProduct(env, raw_device_)); 60 env, Java_MidiDeviceAndroid_getProduct(env, raw_device_));
63 } 61 }
64 62
65 std::string MidiDeviceAndroid::GetDeviceVersion() { 63 std::string MidiDeviceAndroid::GetDeviceVersion() {
66 JNIEnv* env = base::android::AttachCurrentThread(); 64 JNIEnv* env = base::android::AttachCurrentThread();
67 return ConvertMaybeJavaString( 65 return ConvertMaybeJavaString(
68 env, Java_MidiDeviceAndroid_getVersion(env, raw_device_)); 66 env, Java_MidiDeviceAndroid_getVersion(env, raw_device_));
69 } 67 }
70 68
71 } // namespace midi 69 } // 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