41 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								All the files in this directory are copied from stock android. The following
							 | 
						||
| 
								 | 
							
								files:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								JniConstants.cpp
							 | 
						||
| 
								 | 
							
								JNIHelp.cpp
							 | 
						||
| 
								 | 
							
								ALog-priv.h
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								are copied in from Android's libnativehelper module (altogether less than 1000
							 | 
						||
| 
								 | 
							
								lines of code). The remainder are from the core framework (directory
							 | 
						||
| 
								 | 
							
								/frameworks/base/core/jni).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Notes on changes:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The ashmem_XXX() interfaces are used for the various "xxxForBlobDescriptor()"
							 | 
						||
| 
								 | 
							
								API functions. The code in libcutils for this seems to be platform
							 | 
						||
| 
								 | 
							
								dependent - some platforms have kernel support, others have a user space
							 | 
						||
| 
								 | 
							
								implementation. So these functions are not supported for now.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The original SQLiteConnection.cpp uses AndroidRuntime::genJNIEnv() to obtain a
							 | 
						||
| 
								 | 
							
								pointer to the current threads environment. Changed to store a pointer to the
							 | 
						||
| 
								 | 
							
								process JavaVM (Android allows only one) as a global variable. Then retrieve
							 | 
						||
| 
								 | 
							
								the JNIEnv as needed using GetEnv().
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Replaced uses of class String8 with std::string in SQLiteConnection.cpp and a
							 | 
						||
| 
								 | 
							
								few other places.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The stock Android code to populate CursorWindow containers with the results of
							 | 
						||
| 
								 | 
							
								a SELECT statement uses a C++ interface that is not available to NDK builds. So
							 | 
						||
| 
								 | 
							
								this code is rewritten to call the CursorWindow java interface via JNI methods.
							 | 
						||
| 
								 | 
							
								This is the largest source code change. See function 
							 | 
						||
| 
								 | 
							
								nativeExecuteForCursorWindow() in file android_database_SQLiteConnection.cpp
							 | 
						||
| 
								 | 
							
								for details.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The "LOCALIZED" collation and some miscellaneous user-functions added by the
							 | 
						||
| 
								 | 
							
								sqlite3_android.cpp module are not included. A collation called LOCALIZED
							 | 
						||
| 
								 | 
							
								that is equivalent to BINARY is added instead to keep various things working.
							 | 
						||
| 
								 | 
							
								This should not cause serious problems - class SQLiteConnection always
							 | 
						||
| 
								 | 
							
								runs "REINDEX LOCALIZED" immediately after opening a connection.
							 | 
						||
| 
								 | 
							
								
							 |