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

Unified Diff: chrome/browser/history/android/sqlite_cursor.cc

Issue 12625005: remove call to get android MediaPlayer class (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix findbug warning Created 7 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/history/android/sqlite_cursor.cc
diff --git a/chrome/browser/history/android/sqlite_cursor.cc b/chrome/browser/history/android/sqlite_cursor.cc
index 691ed955d7cc3738e7d443ba7c8d3b888f3a4fa0..f6c254b678645e8ada671121b1d41aa516e33a3a 100644
--- a/chrome/browser/history/android/sqlite_cursor.cc
+++ b/chrome/browser/history/android/sqlite_cursor.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/history/android/sqlite_cursor.h"
#include "base/android/jni_android.h"
+#include "base/android/jni_array.h"
#include "base/android/jni_string.h"
#include "base/bind.h"
#include "base/logging.h"
@@ -14,9 +15,6 @@
#include "sql/statement.h"
using base::android::ConvertUTF8ToJavaString;
-using base::android::GetClass;
-using base::android::HasClass;
-using base::android::MethodID;
using base::android::ScopedJavaLocalRef;
using content::BrowserThread;
@@ -55,24 +53,9 @@ ScopedJavaLocalRef<jobject> SQLiteCursor::NewJavaSqliteCursor(
history::AndroidStatement* statement,
AndroidHistoryProviderService* service,
FaviconService* favicon_service) {
- if (!HasClass(env, kSQLiteCursorClassPath)) {
- LOG(ERROR) << "Can not find " << kSQLiteCursorClassPath;
- return ScopedJavaLocalRef<jobject>();
- }
-
- ScopedJavaLocalRef<jclass> sclass = GetClass(env, kSQLiteCursorClassPath);
- jmethodID method_id = MethodID::Get<MethodID::TYPE_INSTANCE>(
- env, sclass.obj(), "<init>", "(I)V");
-
SQLiteCursor* cursor = new SQLiteCursor(column_names, statement, service,
favicon_service);
- ScopedJavaLocalRef<jobject> obj(env,
- env->NewObject(sclass.obj(), method_id, reinterpret_cast<jint>(cursor)));
- if (obj.is_null()) {
- delete cursor;
- return ScopedJavaLocalRef<jobject>();
- }
- return obj;
+ return Java_SQLiteCursor_create(env, reinterpret_cast<jint>(cursor));
}
bool SQLiteCursor::RegisterSqliteCursor(JNIEnv* env) {
@@ -91,16 +74,7 @@ jint SQLiteCursor::GetCount(JNIEnv* env, jobject obj) {
ScopedJavaLocalRef<jobjectArray> SQLiteCursor::GetColumnNames(JNIEnv* env,
jobject obj) {
- size_t count = column_names_.size();
- ScopedJavaLocalRef<jclass> sclass = GetClass(env, "java/lang/String");
- ScopedJavaLocalRef<jobjectArray> arr(env,
- env->NewObjectArray(count, sclass.obj(), NULL));
- for (size_t i = 0; i < count; i++) {
- ScopedJavaLocalRef<jstring> str =
- ConvertUTF8ToJavaString(env, column_names_[i].c_str());
- env->SetObjectArrayElement(arr.obj(), i, str.obj());
- }
- return arr;
+ return base::android::ToJavaArrayOfStrings(env, column_names_);
}
ScopedJavaLocalRef<jstring> SQLiteCursor::GetString(JNIEnv* env,
@@ -135,13 +109,7 @@ ScopedJavaLocalRef<jbyteArray> SQLiteCursor::GetBlob(JNIEnv* env,
} else {
statement_->statement()->ColumnBlobAsVector(column, &blob);
}
- ScopedJavaLocalRef<jbyteArray> jb(env, env->NewByteArray(blob.size()));
- int count = 0;
- for (std::vector<unsigned char>::const_iterator i = blob.begin();
- i != blob.end(); ++i) {
- env->SetByteArrayRegion(jb.obj(), count++, 1, (jbyte *)i);
- }
- return jb;
+ return base::android::ToJavaByteArray(env, &blob[0], blob.size());
}
jboolean SQLiteCursor::IsNull(JNIEnv* env, jobject obj, jint column) {

Powered by Google App Engine
This is Rietveld 408576698