The WeView provider implementation needs access to
these APIs to implement the WebView functionality.
BUG:18152150
Change-Id: I6b41c623b1e8a776dcee8977d0d17259cb4b34f1
(cherry picked from commits 94ef789f0cf0387df20c2c602857ada1e5abfdd6
and 53f256948724b8d4009d8a8a47da96a06402f9a2)
Do not use LOG_FATAL_IF in JNI setup. This is one-time on startup
and important enough to always check.
Add a header with common helper definitions. Move to inlined functions
instead of macros to clean up the code.
Change-Id: Ib12d0eed61b110c45d748e80ec36c563e9dec7e5
installd can then clear the ".booting" marker from the dalvik-cache
(owned by root). This marker is used to detect boot loops.
bug: 18280671
(cherry picked from commit 76a748e62f354c799342044f724e1f4b80121837)
Change-Id: I2364c05837ac04d428b5a34ab1802964a11d2df4
If updated pre-installed app is moved from "/system/app" to
"/system/priv-app" at FOTA, PackageManager does not update its
resource path correctly. This patch fixes it.
Change-Id: Iac793bcb8fd7c5bfbafd1876640b534c6da5dddf
Let AndroidRuntime check for /system/etc/compiled-classes and push
it to the runtime for boot image creation.
Bug: 18410571
(cherry picked from commit ca775941f3b7981aabf3a6a3b84d6c94f4f76aff)
Change-Id: I2510316381f2661166af24d7e14b013f4e045556
This change is to start Mountservice before starting
performBootDexOpt, as in one case, in performBootDexOpt
when system upgrade happens, StorageManager will be started to
get the low threshold of DataDir. But, at this point, as
Mountservice is still not up, StorageManager will end up
having a null object of Mountservice.
Change-Id: I6dec474266faa5de67449c1bbe6ef30791e5ecaa
Use standard initializers rather than GNU extension initializers to
prevent clang from spewing warnings about nonstandard code.
BUG: 18193625
Change-Id: I19bf7fe9c401534af82d5a08e68fbd486bec8351
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
abs() operates on integers -- to check floats accurately, fabsf
should be used.
Change-Id: I1a4e85f8f5e0d08ff38d307c5c31e2b6783ab7af
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Since != has priority over &, the "if ((mode&PROC_QUOTES != 0))" check
is the same as "if (mode & (PROC_QUOTES!=0))" - not what the code
intends.
Change-Id: I14840a887f26c28f2bd0aee8704c79cf353164ad
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Instead we install preloaded-classes as a standalone configuration file
/system/etc/preloaded-classes, so we can configure different file per product.
Bug: 18305157
Change-Id: I22f1a1dd44f90268d02532bf18405768523c0b1b
Change AndroidRuntime::startVM to give the new standalone
preloaded-classes file to the runtime for compilation of images.
Bug: 18305157
(cherry picked from commit 995c62d6abd4b7080e52a60d1bffa32ae4a798a3)
Change-Id: I32a13357893222b25fbce60bf2367c23fb36ab22
Sympton: Oom-adj of provider process will be always 0.
Root Cause: Exception happend in openContentUri
may not call removeContentProviderExternalUnchecked.
Flow:
application [MediaPlayer.setDataSource(Context context, Uri uri)]
uri is invalid, IOException will be caught and below log will appear:
"Couldn't open file on client side, trying server side"
Continue to call setDataSource(String path, Map<String, String> headers)
->mediaserver [MediaPlayerService::Client::setDataSource]
setDataSource(httpService, url, headers) calls openContentProviderFile
->system_server (ActivityManagerService) [openContentUri]
Increase externalProcessNoHandleCount for media provider.
Call [openFile] to media provider.
->android.process.media [check permission for openFile]
enforceReadPermissionInner
->system_server [checkComponentPermission]
Use mediaserver's uid to check READ_EXTERNAL_STORAGE
-> not granted due to it is pure native process, not a known package.
Throw security exception then the flow of openContentUri is broke.
And externalProcessNoHandleCount is unable to decrease.
Application sample code:
String invalidId = "54321";
Uri externalUri = MediaStore.Files.getContentUri("external");
Uri uri = Uri.withAppendedPath(externalUri, invalidId);
mediaPlayer.setDataSource(mContext, uri);
Solution: Move removeContentProviderExternalUnchecked to finally block.
Change-Id: I75eec1f9631e9c6bb18449946d707d51ac21e8a7
Turn on -Wall -Werror in core/jni. Fix warnings.
Clang TODO: For GCC we need to turn off Wunused-but-set-variable in
the GL bindings. However, Clang doesn't have that warning and thus
complains about an unknown pragma. It is necessary to make the
pragma #ifdef-ed on the compiler being GCC.
Change-Id: I14cab48d45c2771eef0432082356c47ed44a3d7f
Turn on warnings and errors in common_time.
Fix a code path in CommonTimeServer::handleSyncResponse in which
and uninitialized variable is returned.
Change-Id: I2f80f063c625f032266647d0507f573370202707