diff options
-rw-r--r-- | core/java/android/app/NativeActivity.java | 37 | ||||
-rw-r--r-- | core/java/android/app/backup/BackupDataInput.java | 12 | ||||
-rw-r--r-- | core/java/android/app/backup/BackupDataOutput.java | 12 | ||||
-rw-r--r-- | core/java/android/app/backup/FileBackupHelperBase.java | 13 | ||||
-rw-r--r-- | core/jni/android_app_NativeActivity.cpp | 72 | ||||
-rw-r--r-- | core/jni/android_app_backup_FullBackup.cpp | 12 | ||||
-rw-r--r-- | core/jni/android_backup_BackupDataInput.cpp | 24 | ||||
-rw-r--r-- | core/jni/android_backup_BackupDataOutput.cpp | 28 | ||||
-rw-r--r-- | core/jni/android_backup_BackupHelperDispatcher.cpp | 34 | ||||
-rw-r--r-- | core/jni/android_backup_FileBackupHelperBase.cpp | 34 |
10 files changed, 138 insertions, 140 deletions
diff --git a/core/java/android/app/NativeActivity.java b/core/java/android/app/NativeActivity.java index 4ca3747..2e05edb 100644 --- a/core/java/android/app/NativeActivity.java +++ b/core/java/android/app/NativeActivity.java @@ -76,7 +76,7 @@ public class NativeActivity extends Activity implements SurfaceHolder.Callback2, private NativeContentView mNativeContentView; private InputMethodManager mIMM; - private int mNativeHandle; + private long mNativeHandle; private InputQueue mCurInputQueue; private SurfaceHolder mCurSurfaceHolder; @@ -91,27 +91,26 @@ public class NativeActivity extends Activity implements SurfaceHolder.Callback2, private boolean mDestroyed; - private native int loadNativeCode(String path, String funcname, MessageQueue queue, + private native long loadNativeCode(String path, String funcname, MessageQueue queue, String internalDataPath, String obbPath, String externalDataPath, int sdkVersion, AssetManager assetMgr, byte[] savedState); - private native void unloadNativeCode(int handle); - - private native void onStartNative(int handle); - private native void onResumeNative(int handle); - private native byte[] onSaveInstanceStateNative(int handle); - private native void onPauseNative(int handle); - private native void onStopNative(int handle); - private native void onConfigurationChangedNative(int handle); - private native void onLowMemoryNative(int handle); - private native void onWindowFocusChangedNative(int handle, boolean focused); - private native void onSurfaceCreatedNative(int handle, Surface surface); - private native void onSurfaceChangedNative(int handle, Surface surface, + private native void unloadNativeCode(long handle); + private native void onStartNative(long handle); + private native void onResumeNative(long handle); + private native byte[] onSaveInstanceStateNative(long handle); + private native void onPauseNative(long handle); + private native void onStopNative(long handle); + private native void onConfigurationChangedNative(long handle); + private native void onLowMemoryNative(long handle); + private native void onWindowFocusChangedNative(long handle, boolean focused); + private native void onSurfaceCreatedNative(long handle, Surface surface); + private native void onSurfaceChangedNative(long handle, Surface surface, int format, int width, int height); - private native void onSurfaceRedrawNeededNative(int handle, Surface surface); - private native void onSurfaceDestroyedNative(int handle); - private native void onInputQueueCreatedNative(int handle, int queuePtr); - private native void onInputQueueDestroyedNative(int handle, int queuePtr); - private native void onContentRectChangedNative(int handle, int x, int y, int w, int h); + private native void onSurfaceRedrawNeededNative(long handle, Surface surface); + private native void onSurfaceDestroyedNative(long handle); + private native void onInputQueueCreatedNative(long handle, long queuePtr); + private native void onInputQueueDestroyedNative(long handle, long queuePtr); + private native void onContentRectChangedNative(long handle, int x, int y, int w, int h); static class NativeContentView extends View { NativeActivity mActivity; diff --git a/core/java/android/app/backup/BackupDataInput.java b/core/java/android/app/backup/BackupDataInput.java index 43b920a..03205fb 100644 --- a/core/java/android/app/backup/BackupDataInput.java +++ b/core/java/android/app/backup/BackupDataInput.java @@ -59,7 +59,7 @@ import java.io.IOException; * }</pre> */ public class BackupDataInput { - int mBackupReader; + long mBackupReader; private EntityHeader mHeader = new EntityHeader(); private boolean mHeaderReady; @@ -185,10 +185,10 @@ public class BackupDataInput { } } - private native static int ctor(FileDescriptor fd); - private native static void dtor(int mBackupReader); + private native static long ctor(FileDescriptor fd); + private native static void dtor(long mBackupReader); - private native int readNextHeader_native(int mBackupReader, EntityHeader entity); - private native int readEntityData_native(int mBackupReader, byte[] data, int offset, int size); - private native int skipEntityData_native(int mBackupReader); + private native int readNextHeader_native(long mBackupReader, EntityHeader entity); + private native int readEntityData_native(long mBackupReader, byte[] data, int offset, int size); + private native int skipEntityData_native(long mBackupReader); } diff --git a/core/java/android/app/backup/BackupDataOutput.java b/core/java/android/app/backup/BackupDataOutput.java index 22668b6..3a070b6 100644 --- a/core/java/android/app/backup/BackupDataOutput.java +++ b/core/java/android/app/backup/BackupDataOutput.java @@ -62,7 +62,7 @@ import java.io.IOException; * @see BackupAgent */ public class BackupDataOutput { - int mBackupWriter; + long mBackupWriter; /** @hide */ public BackupDataOutput(FileDescriptor fd) { @@ -121,11 +121,11 @@ public class BackupDataOutput { } } - private native static int ctor(FileDescriptor fd); - private native static void dtor(int mBackupWriter); + private native static long ctor(FileDescriptor fd); + private native static void dtor(long mBackupWriter); - private native static int writeEntityHeader_native(int mBackupWriter, String key, int dataSize); - private native static int writeEntityData_native(int mBackupWriter, byte[] data, int size); - private native static void setKeyPrefix_native(int mBackupWriter, String keyPrefix); + private native static int writeEntityHeader_native(long mBackupWriter, String key, int dataSize); + private native static int writeEntityData_native(long mBackupWriter, byte[] data, int size); + private native static void setKeyPrefix_native(long mBackupWriter, String keyPrefix); } diff --git a/core/java/android/app/backup/FileBackupHelperBase.java b/core/java/android/app/backup/FileBackupHelperBase.java index 887a2e6..4ed5197 100644 --- a/core/java/android/app/backup/FileBackupHelperBase.java +++ b/core/java/android/app/backup/FileBackupHelperBase.java @@ -29,7 +29,7 @@ import java.io.FileDescriptor; class FileBackupHelperBase { private static final String TAG = "FileBackupHelperBase"; - int mPtr; + long mPtr; Context mContext; boolean mExceptionLogged; @@ -115,14 +115,13 @@ class FileBackupHelperBase { return false; } - private static native int ctor(); - private static native void dtor(int ptr); + private static native long ctor(); + private static native void dtor(long ptr); native private static int performBackup_native(FileDescriptor oldState, - int data, FileDescriptor newState, String[] files, String[] keys); - - private static native int writeFile_native(int ptr, String filename, int backupReader); - private static native int writeSnapshot_native(int ptr, FileDescriptor fd); + long data, FileDescriptor newState, String[] files, String[] keys); + private static native int writeFile_native(long ptr, String filename, long backupReader); + private static native int writeSnapshot_native(long ptr, FileDescriptor fd); } diff --git a/core/jni/android_app_NativeActivity.cpp b/core/jni/android_app_NativeActivity.cpp index 5418006..9c44093 100644 --- a/core/jni/android_app_NativeActivity.cpp +++ b/core/jni/android_app_NativeActivity.cpp @@ -241,10 +241,10 @@ static int mainWorkCallback(int fd, int events, void* data) { // ------------------------------------------------------------------------ -static jint +static jlong loadNativeCode_native(JNIEnv* env, jobject clazz, jstring path, jstring funcName, jobject messageQueue, jstring internalDataDir, jstring obbDir, - jstring externalDataDir, int sdkVersion, + jstring externalDataDir, jint sdkVersion, jobject jAssetMgr, jbyteArray savedState) { LOG_TRACE("loadNativeCode_native"); @@ -338,11 +338,11 @@ loadNativeCode_native(JNIEnv* env, jobject clazz, jstring path, jstring funcName } } - return (jint)code; + return (jlong)code; } static void -unloadNativeCode_native(JNIEnv* env, jobject clazz, jint handle) +unloadNativeCode_native(JNIEnv* env, jobject clazz, jlong handle) { LOG_TRACE("unloadNativeCode_native"); if (handle != 0) { @@ -352,7 +352,7 @@ unloadNativeCode_native(JNIEnv* env, jobject clazz, jint handle) } static void -onStart_native(JNIEnv* env, jobject clazz, jint handle) +onStart_native(JNIEnv* env, jobject clazz, jlong handle) { LOG_TRACE("onStart_native"); if (handle != 0) { @@ -364,7 +364,7 @@ onStart_native(JNIEnv* env, jobject clazz, jint handle) } static void -onResume_native(JNIEnv* env, jobject clazz, jint handle) +onResume_native(JNIEnv* env, jobject clazz, jlong handle) { LOG_TRACE("onResume_native"); if (handle != 0) { @@ -376,7 +376,7 @@ onResume_native(JNIEnv* env, jobject clazz, jint handle) } static jbyteArray -onSaveInstanceState_native(JNIEnv* env, jobject clazz, jint handle) +onSaveInstanceState_native(JNIEnv* env, jobject clazz, jlong handle) { LOG_TRACE("onSaveInstanceState_native"); @@ -403,7 +403,7 @@ onSaveInstanceState_native(JNIEnv* env, jobject clazz, jint handle) } static void -onPause_native(JNIEnv* env, jobject clazz, jint handle) +onPause_native(JNIEnv* env, jobject clazz, jlong handle) { LOG_TRACE("onPause_native"); if (handle != 0) { @@ -415,7 +415,7 @@ onPause_native(JNIEnv* env, jobject clazz, jint handle) } static void -onStop_native(JNIEnv* env, jobject clazz, jint handle) +onStop_native(JNIEnv* env, jobject clazz, jlong handle) { LOG_TRACE("onStop_native"); if (handle != 0) { @@ -427,7 +427,7 @@ onStop_native(JNIEnv* env, jobject clazz, jint handle) } static void -onConfigurationChanged_native(JNIEnv* env, jobject clazz, jint handle) +onConfigurationChanged_native(JNIEnv* env, jobject clazz, jlong handle) { LOG_TRACE("onConfigurationChanged_native"); if (handle != 0) { @@ -439,7 +439,7 @@ onConfigurationChanged_native(JNIEnv* env, jobject clazz, jint handle) } static void -onLowMemory_native(JNIEnv* env, jobject clazz, jint handle) +onLowMemory_native(JNIEnv* env, jobject clazz, jlong handle) { LOG_TRACE("onLowMemory_native"); if (handle != 0) { @@ -451,7 +451,7 @@ onLowMemory_native(JNIEnv* env, jobject clazz, jint handle) } static void -onWindowFocusChanged_native(JNIEnv* env, jobject clazz, jint handle, jboolean focused) +onWindowFocusChanged_native(JNIEnv* env, jobject clazz, jlong handle, jboolean focused) { LOG_TRACE("onWindowFocusChanged_native"); if (handle != 0) { @@ -463,7 +463,7 @@ onWindowFocusChanged_native(JNIEnv* env, jobject clazz, jint handle, jboolean fo } static void -onSurfaceCreated_native(JNIEnv* env, jobject clazz, jint handle, jobject surface) +onSurfaceCreated_native(JNIEnv* env, jobject clazz, jlong handle, jobject surface) { LOG_TRACE("onSurfaceCreated_native"); if (handle != 0) { @@ -483,7 +483,7 @@ static int32_t getWindowProp(ANativeWindow* window, int what) { } static void -onSurfaceChanged_native(JNIEnv* env, jobject clazz, jint handle, jobject surface, +onSurfaceChanged_native(JNIEnv* env, jobject clazz, jlong handle, jobject surface, jint format, jint width, jint height) { LOG_TRACE("onSurfaceChanged_native"); @@ -524,7 +524,7 @@ onSurfaceChanged_native(JNIEnv* env, jobject clazz, jint handle, jobject surface } static void -onSurfaceRedrawNeeded_native(JNIEnv* env, jobject clazz, jint handle) +onSurfaceRedrawNeeded_native(JNIEnv* env, jobject clazz, jlong handle) { LOG_TRACE("onSurfaceRedrawNeeded_native"); if (handle != 0) { @@ -536,7 +536,7 @@ onSurfaceRedrawNeeded_native(JNIEnv* env, jobject clazz, jint handle) } static void -onSurfaceDestroyed_native(JNIEnv* env, jobject clazz, jint handle, jobject surface) +onSurfaceDestroyed_native(JNIEnv* env, jobject clazz, jlong handle, jobject surface) { LOG_TRACE("onSurfaceDestroyed_native"); if (handle != 0) { @@ -550,7 +550,7 @@ onSurfaceDestroyed_native(JNIEnv* env, jobject clazz, jint handle, jobject surfa } static void -onInputQueueCreated_native(JNIEnv* env, jobject clazz, jint handle, jint queuePtr) +onInputQueueCreated_native(JNIEnv* env, jobject clazz, jlong handle, jlong queuePtr) { LOG_TRACE("onInputChannelCreated_native"); if (handle != 0) { @@ -563,7 +563,7 @@ onInputQueueCreated_native(JNIEnv* env, jobject clazz, jint handle, jint queuePt } static void -onInputQueueDestroyed_native(JNIEnv* env, jobject clazz, jint handle, jint queuePtr) +onInputQueueDestroyed_native(JNIEnv* env, jobject clazz, jlong handle, jlong queuePtr) { LOG_TRACE("onInputChannelDestroyed_native"); if (handle != 0) { @@ -576,7 +576,7 @@ onInputQueueDestroyed_native(JNIEnv* env, jobject clazz, jint handle, jint queue } static void -onContentRectChanged_native(JNIEnv* env, jobject clazz, jint handle, +onContentRectChanged_native(JNIEnv* env, jobject clazz, jlong handle, jint x, jint y, jint w, jint h) { LOG_TRACE("onContentRectChanged_native"); @@ -594,26 +594,26 @@ onContentRectChanged_native(JNIEnv* env, jobject clazz, jint handle, } static const JNINativeMethod g_methods[] = { - { "loadNativeCode", "(Ljava/lang/String;Ljava/lang/String;Landroid/os/MessageQueue;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/content/res/AssetManager;[B)I", + { "loadNativeCode", "(Ljava/lang/String;Ljava/lang/String;Landroid/os/MessageQueue;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/content/res/AssetManager;[B)J", (void*)loadNativeCode_native }, - { "unloadNativeCode", "(I)V", (void*)unloadNativeCode_native }, - { "onStartNative", "(I)V", (void*)onStart_native }, - { "onResumeNative", "(I)V", (void*)onResume_native }, - { "onSaveInstanceStateNative", "(I)[B", (void*)onSaveInstanceState_native }, - { "onPauseNative", "(I)V", (void*)onPause_native }, - { "onStopNative", "(I)V", (void*)onStop_native }, - { "onConfigurationChangedNative", "(I)V", (void*)onConfigurationChanged_native }, - { "onLowMemoryNative", "(I)V", (void*)onLowMemory_native }, - { "onWindowFocusChangedNative", "(IZ)V", (void*)onWindowFocusChanged_native }, - { "onSurfaceCreatedNative", "(ILandroid/view/Surface;)V", (void*)onSurfaceCreated_native }, - { "onSurfaceChangedNative", "(ILandroid/view/Surface;III)V", (void*)onSurfaceChanged_native }, - { "onSurfaceRedrawNeededNative", "(ILandroid/view/Surface;)V", (void*)onSurfaceRedrawNeeded_native }, - { "onSurfaceDestroyedNative", "(I)V", (void*)onSurfaceDestroyed_native }, - { "onInputQueueCreatedNative", "(II)V", + { "unloadNativeCode", "(J)V", (void*)unloadNativeCode_native }, + { "onStartNative", "(J)V", (void*)onStart_native }, + { "onResumeNative", "(J)V", (void*)onResume_native }, + { "onSaveInstanceStateNative", "(J)[B", (void*)onSaveInstanceState_native }, + { "onPauseNative", "(J)V", (void*)onPause_native }, + { "onStopNative", "(J)V", (void*)onStop_native }, + { "onConfigurationChangedNative", "(J)V", (void*)onConfigurationChanged_native }, + { "onLowMemoryNative", "(J)V", (void*)onLowMemory_native }, + { "onWindowFocusChangedNative", "(JZ)V", (void*)onWindowFocusChanged_native }, + { "onSurfaceCreatedNative", "(JLandroid/view/Surface;)V", (void*)onSurfaceCreated_native }, + { "onSurfaceChangedNative", "(JLandroid/view/Surface;III)V", (void*)onSurfaceChanged_native }, + { "onSurfaceRedrawNeededNative", "(JLandroid/view/Surface;)V", (void*)onSurfaceRedrawNeeded_native }, + { "onSurfaceDestroyedNative", "(J)V", (void*)onSurfaceDestroyed_native }, + { "onInputQueueCreatedNative", "(JJ)V", (void*)onInputQueueCreated_native }, - { "onInputQueueDestroyedNative", "(II)V", + { "onInputQueueDestroyedNative", "(JJ)V", (void*)onInputQueueDestroyed_native }, - { "onContentRectChangedNative", "(IIIII)V", (void*)onContentRectChanged_native }, + { "onContentRectChangedNative", "(JIIII)V", (void*)onContentRectChanged_native }, }; static const char* const kNativeActivityPathName = "android/app/NativeActivity"; diff --git a/core/jni/android_app_backup_FullBackup.cpp b/core/jni/android_app_backup_FullBackup.cpp index 2ca645a..3cfaa82 100644 --- a/core/jni/android_app_backup_FullBackup.cpp +++ b/core/jni/android_app_backup_FullBackup.cpp @@ -70,7 +70,7 @@ static struct { * path: absolute path to the file to be saved * dataOutput: the BackupDataOutput object that we're saving into */ -static int backupToTar(JNIEnv* env, jobject clazz, jstring packageNameObj, +static jint backupToTar(JNIEnv* env, jobject clazz, jstring packageNameObj, jstring domainObj, jstring linkdomain, jstring rootpathObj, jstring pathObj, jobject dataOutputObj) { int ret; @@ -92,22 +92,22 @@ static int backupToTar(JNIEnv* env, jobject clazz, jstring packageNameObj, if (packagenamechars) env->ReleaseStringUTFChars(packageNameObj, packagenamechars); // Extract the data output fd - BackupDataWriter* writer = (BackupDataWriter*) env->GetIntField(dataOutputObj, + BackupDataWriter* writer = (BackupDataWriter*) env->GetLongField(dataOutputObj, sBackupDataOutput.mBackupWriter); // Validate if (!writer) { ALOGE("No output stream provided [%s]", path.string()); - return -1; + return (jint) -1; } if (path.length() < rootpath.length()) { ALOGE("file path [%s] shorter than root path [%s]", path.string(), rootpath.string()); - return -1; + return (jint) -1; } - return write_tarfile(packageName, domain, rootpath, path, writer); + return (jint) write_tarfile(packageName, domain, rootpath, path, writer); } static const JNINativeMethod g_methods[] = { @@ -121,7 +121,7 @@ int register_android_app_backup_FullBackup(JNIEnv* env) jclass clazz = env->FindClass("android/app/backup/BackupDataOutput"); LOG_FATAL_IF(clazz == NULL, "Unable to find class android.app.backup.BackupDataOutput"); - sBackupDataOutput.mBackupWriter = env->GetFieldID(clazz, "mBackupWriter", "I"); + sBackupDataOutput.mBackupWriter = env->GetFieldID(clazz, "mBackupWriter", "J"); LOG_FATAL_IF(sBackupDataOutput.mBackupwriter == NULL, "Unable to find mBackupWriter field in android.app.backup.BackupDataOutput"); diff --git a/core/jni/android_backup_BackupDataInput.cpp b/core/jni/android_backup_BackupDataInput.cpp index 25b0007..90763b0 100644 --- a/core/jni/android_backup_BackupDataInput.cpp +++ b/core/jni/android_backup_BackupDataInput.cpp @@ -29,25 +29,25 @@ namespace android static jfieldID s_keyField = 0; static jfieldID s_dataSizeField = 0; -static int +static jlong ctor_native(JNIEnv* env, jobject clazz, jobject fileDescriptor) { int fd = jniGetFDFromFileDescriptor(env, fileDescriptor); if (fd == -1) { - return NULL; + return (jlong)NULL; } - return (int)new BackupDataReader(fd); + return (jlong)new BackupDataReader(fd); } static void -dtor_native(JNIEnv* env, jobject clazz, int r) +dtor_native(JNIEnv* env, jobject clazz, jlong r) { delete (BackupDataReader*)r; } static jint -readNextHeader_native(JNIEnv* env, jobject clazz, int r, jobject entity) +readNextHeader_native(JNIEnv* env, jobject clazz, jlong r, jobject entity) { int err; bool done; @@ -89,7 +89,7 @@ readNextHeader_native(JNIEnv* env, jobject clazz, int r, jobject entity) } static jint -readEntityData_native(JNIEnv* env, jobject clazz, int r, jbyteArray data, int offset, int size) +readEntityData_native(JNIEnv* env, jobject clazz, jlong r, jbyteArray data, jint offset, jint size) { int err; BackupDataReader* reader = (BackupDataReader*)r; @@ -112,7 +112,7 @@ readEntityData_native(JNIEnv* env, jobject clazz, int r, jbyteArray data, int of } static jint -skipEntityData_native(JNIEnv* env, jobject clazz, int r) +skipEntityData_native(JNIEnv* env, jobject clazz, jlong r) { int err; BackupDataReader* reader = (BackupDataReader*)r; @@ -123,12 +123,12 @@ skipEntityData_native(JNIEnv* env, jobject clazz, int r) } static const JNINativeMethod g_methods[] = { - { "ctor", "(Ljava/io/FileDescriptor;)I", (void*)ctor_native }, - { "dtor", "(I)V", (void*)dtor_native }, - { "readNextHeader_native", "(ILandroid/app/backup/BackupDataInput$EntityHeader;)I", + { "ctor", "(Ljava/io/FileDescriptor;)J", (void*)ctor_native }, + { "dtor", "(J)V", (void*)dtor_native }, + { "readNextHeader_native", "(JLandroid/app/backup/BackupDataInput$EntityHeader;)I", (void*)readNextHeader_native }, - { "readEntityData_native", "(I[BII)I", (void*)readEntityData_native }, - { "skipEntityData_native", "(I)I", (void*)skipEntityData_native }, + { "readEntityData_native", "(J[BII)I", (void*)readEntityData_native }, + { "skipEntityData_native", "(J)I", (void*)skipEntityData_native }, }; int register_android_backup_BackupDataInput(JNIEnv* env) diff --git a/core/jni/android_backup_BackupDataOutput.cpp b/core/jni/android_backup_BackupDataOutput.cpp index e8f0fb8..8244e1b 100644 --- a/core/jni/android_backup_BackupDataOutput.cpp +++ b/core/jni/android_backup_BackupDataOutput.cpp @@ -25,25 +25,25 @@ namespace android { -static int +static jlong ctor_native(JNIEnv* env, jobject clazz, jobject fileDescriptor) { int fd = jniGetFDFromFileDescriptor(env, fileDescriptor); if (fd == -1) { - return NULL; + return (jlong)NULL; } - return (int)new BackupDataWriter(fd); + return (jlong)new BackupDataWriter(fd); } static void -dtor_native(JNIEnv* env, jobject clazz, int w) +dtor_native(JNIEnv* env, jobject clazz, jlong w) { delete (BackupDataWriter*)w; } static jint -writeEntityHeader_native(JNIEnv* env, jobject clazz, int w, jstring key, int dataSize) +writeEntityHeader_native(JNIEnv* env, jobject clazz, jlong w, jstring key, jint dataSize) { int err; BackupDataWriter* writer = (BackupDataWriter*)w; @@ -56,11 +56,11 @@ writeEntityHeader_native(JNIEnv* env, jobject clazz, int w, jstring key, int dat env->ReleaseStringUTFChars(key, keyUTF); - return err; + return (jint)err; } static jint -writeEntityData_native(JNIEnv* env, jobject clazz, int w, jbyteArray data, int size) +writeEntityData_native(JNIEnv* env, jobject clazz, jlong w, jbyteArray data, jint size) { int err; BackupDataWriter* writer = (BackupDataWriter*)w; @@ -79,11 +79,11 @@ writeEntityData_native(JNIEnv* env, jobject clazz, int w, jbyteArray data, int s env->ReleaseByteArrayElements(data, dataBytes, JNI_ABORT); - return err; + return (jint)err; } static void -setKeyPrefix_native(JNIEnv* env, jobject clazz, int w, jstring keyPrefixObj) +setKeyPrefix_native(JNIEnv* env, jobject clazz, jlong w, jstring keyPrefixObj) { int err; BackupDataWriter* writer = (BackupDataWriter*)w; @@ -97,11 +97,11 @@ setKeyPrefix_native(JNIEnv* env, jobject clazz, int w, jstring keyPrefixObj) } static const JNINativeMethod g_methods[] = { - { "ctor", "(Ljava/io/FileDescriptor;)I", (void*)ctor_native }, - { "dtor", "(I)V", (void*)dtor_native }, - { "writeEntityHeader_native", "(ILjava/lang/String;I)I", (void*)writeEntityHeader_native }, - { "writeEntityData_native", "(I[BI)I", (void*)writeEntityData_native }, - { "setKeyPrefix_native", "(ILjava/lang/String;)V", (void*)setKeyPrefix_native }, + { "ctor", "(Ljava/io/FileDescriptor;)J", (void*)ctor_native }, + { "dtor", "(J)V", (void*)dtor_native }, + { "writeEntityHeader_native", "(JLjava/lang/String;I)I", (void*)writeEntityHeader_native }, + { "writeEntityData_native", "(J[BI)I", (void*)writeEntityData_native }, + { "setKeyPrefix_native", "(JLjava/lang/String;)V", (void*)setKeyPrefix_native }, }; int register_android_backup_BackupDataOutput(JNIEnv* env) diff --git a/core/jni/android_backup_BackupHelperDispatcher.cpp b/core/jni/android_backup_BackupHelperDispatcher.cpp index 3e36677..a8b7d44 100644 --- a/core/jni/android_backup_BackupHelperDispatcher.cpp +++ b/core/jni/android_backup_BackupHelperDispatcher.cpp @@ -40,7 +40,7 @@ struct chunk_header_v1 { static jfieldID s_chunkSizeField = 0; static jfieldID s_keyPrefixField = 0; -static int +static jint readHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj) { chunk_header_v1 flattenedHeader; @@ -52,7 +52,7 @@ readHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj) amt = read(fd, &flattenedHeader.headerSize, sizeof(flattenedHeader.headerSize)); if (amt != sizeof(flattenedHeader.headerSize)) { - return -1; + return (jint) -1; } int remainingHeader = flattenedHeader.headerSize - sizeof(flattenedHeader.headerSize); @@ -62,7 +62,7 @@ readHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj) if (remainingHeader > 0) { lseek(fd, remainingHeader, SEEK_CUR); // >0 means skip this chunk - return 1; + return (jint) 1; } } @@ -70,7 +70,7 @@ readHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj) sizeof(chunk_header_v1)-sizeof(flattenedHeader.headerSize)); if (amt <= 0) { ALOGW("Failed reading chunk header"); - return -1; + return (jint) -1; } remainingHeader -= sizeof(chunk_header_v1)-sizeof(flattenedHeader.headerSize); @@ -80,7 +80,7 @@ readHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj) if (remainingHeader > 0) { lseek(fd, remainingHeader, SEEK_CUR); // >0 means skip this chunk - return 1; + return (jint) 1; } } @@ -96,13 +96,13 @@ readHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj) remainingHeader < flattenedHeader.nameLength) { ALOGW("Malformed V1 header remainingHeader=%d dataSize=%d nameLength=%d", remainingHeader, flattenedHeader.dataSize, flattenedHeader.nameLength); - return -1; + return (jint) -1; } buf = keyPrefix.lockBuffer(flattenedHeader.nameLength); if (buf == NULL) { ALOGW("unable to allocate %d bytes", flattenedHeader.nameLength); - return -1; + return (jint) -1; } amt = read(fd, buf, flattenedHeader.nameLength); @@ -119,17 +119,17 @@ readHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj) env->SetIntField(headerObj, s_chunkSizeField, flattenedHeader.dataSize); env->SetObjectField(headerObj, s_keyPrefixField, env->NewStringUTF(keyPrefix.string())); - return 0; + return (jint) 0; } -static int +static jint skipChunk_native(JNIEnv* env, jobject clazz, jobject fdObj, jint bytesToSkip) { int fd = jniGetFDFromFileDescriptor(env, fdObj); lseek(fd, bytesToSkip, SEEK_CUR); - return 0; + return (jint) 0; } static int @@ -139,7 +139,7 @@ padding_len(int len) return len == 0 ? len : 4 - len; } -static int +static jint allocateHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj) { int pos; @@ -161,10 +161,10 @@ allocateHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdO lseek(fd, headerSize, SEEK_CUR); - return pos; + return (jint) pos; } -static int +static jint writeHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj, jint pos) { int err; @@ -188,26 +188,26 @@ writeHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj, lseek(fd, pos, SEEK_SET); err = write(fd, &header, sizeof(chunk_header_v1)); if (err != sizeof(chunk_header_v1)) { - return errno; + return (jint) errno; } buf = env->GetStringUTFChars(nameObj, NULL); err = write(fd, buf, header.nameLength); env->ReleaseStringUTFChars(nameObj, buf); if (err != header.nameLength) { - return errno; + return (jint) errno; } if (namePadding != 0) { int zero = 0; err = write(fd, &zero, namePadding); if (err != namePadding) { - return errno; + return (jint) errno; } } lseek(fd, prevPos, SEEK_SET); - return 0; + return (jint) 0; } static const JNINativeMethod g_methods[] = { diff --git a/core/jni/android_backup_FileBackupHelperBase.cpp b/core/jni/android_backup_FileBackupHelperBase.cpp index bb3a751..66e3e9d 100644 --- a/core/jni/android_backup_FileBackupHelperBase.cpp +++ b/core/jni/android_backup_FileBackupHelperBase.cpp @@ -25,20 +25,20 @@ namespace android { -static int +static jlong ctor(JNIEnv* env, jobject clazz) { - return (int)new RestoreHelperBase(); + return (jlong)new RestoreHelperBase(); } static void -dtor(JNIEnv* env, jobject clazz, jint ptr) +dtor(JNIEnv* env, jobject clazz, jlong ptr) { delete (RestoreHelperBase*)ptr; } -static int -performBackup_native(JNIEnv* env, jobject clazz, jobject oldState, int data, +static jint +performBackup_native(JNIEnv* env, jobject clazz, jobject oldState, jlong data, jobject newState, jobjectArray files, jobjectArray keys) { int err; @@ -72,12 +72,12 @@ performBackup_native(JNIEnv* env, jobject clazz, jobject oldState, int data, } free(keysUTF); - return err; + return (jint) err; } -static int -writeFile_native(JNIEnv* env, jobject clazz, jint ptr, jstring filenameObj, int backupReaderPtr) +static jint +writeFile_native(JNIEnv* env, jobject clazz, jlong ptr, jstring filenameObj, jlong backupReaderPtr) { int err; RestoreHelperBase* restore = (RestoreHelperBase*)ptr; @@ -90,11 +90,11 @@ writeFile_native(JNIEnv* env, jobject clazz, jint ptr, jstring filenameObj, int env->ReleaseStringUTFChars(filenameObj, filename); - return err; + return (jint) err; } -static int -writeSnapshot_native(JNIEnv* env, jobject clazz, jint ptr, jobject fileDescriptor) +static jint +writeSnapshot_native(JNIEnv* env, jobject clazz, jlong ptr, jobject fileDescriptor) { int err; @@ -103,17 +103,17 @@ writeSnapshot_native(JNIEnv* env, jobject clazz, jint ptr, jobject fileDescripto err = restore->WriteSnapshot(fd); - return err; + return (jint) err; } static const JNINativeMethod g_methods[] = { - { "ctor", "()I", (void*)ctor }, - { "dtor", "(I)V", (void*)dtor }, + { "ctor", "()J", (void*)ctor }, + { "dtor", "(J)V", (void*)dtor }, { "performBackup_native", - "(Ljava/io/FileDescriptor;ILjava/io/FileDescriptor;[Ljava/lang/String;[Ljava/lang/String;)I", + "(Ljava/io/FileDescriptor;JLjava/io/FileDescriptor;[Ljava/lang/String;[Ljava/lang/String;)I", (void*)performBackup_native }, - { "writeFile_native", "(ILjava/lang/String;I)I", (void*)writeFile_native }, - { "writeSnapshot_native", "(ILjava/io/FileDescriptor;)I", (void*)writeSnapshot_native }, + { "writeFile_native", "(JLjava/lang/String;J)I", (void*)writeFile_native }, + { "writeSnapshot_native", "(JLjava/io/FileDescriptor;)I", (void*)writeSnapshot_native }, }; int register_android_backup_FileBackupHelperBase(JNIEnv* env) |