summaryrefslogtreecommitdiff
path: root/cmds/bootanimation/BootAnimation.cpp
AgeCommit message (Collapse)Author
2016-07-11BootAnimation: Use npot texturesSai Kiran Korwar
If non power of two textures are supported, then use npot texture for specifying the images supplied by vendor. This will reduce the memory footprint of the app by a considerable amount. Bug: 28865582 Bug: 30040263 Change-Id: I5cef98fb013318d60d8a648041c9665da68c0ff3
2016-07-06OpenSL-based audio support for BootAnimationGeoffrey Pitsch
Respects dnd settings for sound playback. Basic implementation uses in-memory wavs as buffers. audioplay::playClip should not be called before previous clip ends. Updated FORMAT.md to reflect no more audio_conf.txt Bug: 29055299 Change-Id: Ifc358d7c85f11b8b54ae6446c40643b87bc567f2
2016-06-29Support trimmed images in BootAnimationGeoffrey Pitsch
Each frame directory may optionally contain a `trim.txt` to specify how the image was trimmed relative to the animation's full size. See FORMAT.md for more details. Bug: 29055299 Change-Id: I7a291e9a52b4bbe50a29c519f6a4d0e2cc0389d7
2016-05-26bootanimation: Call eglReleaseThread in threadLoopSai Kiran Korwar
Add eglReleaseThread call in the threadLoop function to ensure that the thread properly cleans up its resources before exiting. Change-Id: I90dff47370e7acaecc046c43f0bb274214a29f77
2016-05-12Check clock accuracy before attempting to display clockDamien Bargiacchi
The RTC may not be set yet, may have been reset, or may have drifted significantly if the device time hasn't been updated in a long time. Using the the last_time_change file to determine if the time is known to be accurate and only display the clock when that is the case. Bug: 27802041 Change-Id: I845cf9c74fcb4009504f1bab853e04146fa19e1d
2016-03-24resolve merge conflicts of 0c7535b to nyc-devAndriy Naborskyy
Change-Id: I49fa42e0d78aeaa8127cefc5cc5122cf37fce878
2016-03-22bootanimation: implement split packaging of animationAndriy Naborskyy
Animation package zip can be separated into OEM and SYSTEM OEM desc.txt can use new command "$SYSTEM" to invoke animation from SYSTEM package Changes to animation structure: 1. animation can refer other animation 2. animation contains zip file reference 3. BootAnimation has name of root of animation Zip; processing desc.txt we need filename of container zip and we can't access it from ZipFileRO instance movie() changes: 1. Split movie() into loading Zip and playing part 2. load parses desc.txt and if needed referred Zip 3. play can descend animations tree Change-Id: I600d02c84d537df7b3e32a84f84a294b26e319e0 Signed-off-by: Andriy Naborskyy <andriyn@google.com>
2016-03-07Draw a clock on top of the Android boot animationDamien Bargiacchi
Don't draw on top of vendor specific animations/logos since we can't make it look good. Bug: 27209004 Change-Id: If4791b861ff476c23b37787ba896a3ef8d9df4fd
2015-08-18Do not start with a black frame in bootanimationJorim Jaggi
Bug: 23128307 Change-Id: I0ec044f983c1c30960be046e43a882c63205dc5f
2015-06-17ZipFileRO: Use precise widths for zip file types.Narayan Kamath
getEntryInfo crashes on 64-bit devices because "long" types were being passed int pointers (that pointed to a stack frame) that were reinterpret_cast'ed to long* (sigh.). To fix this issue once and for all, use types with explicitly defined widths. This change also removes some dead invariant checking from Asset.cpp instead of cleaning it up. Note that we've introduced a wart in NativeLibraryHelper, where we need to deal with zlib's uLong type, which is "at least 32 bits wide". bug: 21622286 Change-Id: Iae675a9601db7aae03a8b80b40321d2cc1d97f50
2015-05-07am 2224eac3: Merge "bootanimation: fix garbage line issue when screen height ↵Chris Elliott
is odd." into lmp-mr1-modular-dev * commit '2224eac30375a731f4ad38d6930dbc37b0855a0d': bootanimation: fix garbage line issue when screen height is odd.
2015-05-05bootanimation: fix garbage line issue when screen height is odd.Chris Elliott
bug:20032072 Change-Id: I784fb6f815b22c37dcd7354729aca346726196d9
2015-02-23Track removal of refcounts from FileMap.Narayan Kamath
Use delete instead of release. Change-Id: I25c841b368aa9d51e9259399b94cafa2bbb7a076
2014-11-07Frameworks/base: Turn on -Wall -Werror in cmdsAndreas Gampe
Fix small warnings, turn on -Wall -Werror. Change-Id: Iab1f01a7c7ebd6ba832b75067c5e395f380a1b8b
2014-10-22Merge lmp-dev-plus-aosp-without-vendor into stage-aosp-masterBill Yi
Change-Id: I7063b7b52e9c09a57eb6bf3b4ffa3716d58ebf43
2014-10-21Include <time.h> for clock_nanosleep.Elliott Hughes
Change-Id: If3098fa03003bce5d06d60e9129c10cce3c850bb
2014-10-03Add support for playing audio during bootanimationMike Lockwood
The bootanimation daemon will play 16 bit WAV files contained in bootanimation.zip For this to work, the bootanimation.zip must contain an audio_conf.txt file, which contains parameters to be used for the tinyalsa pcm_open call as well as mixer parameters to set before attempting to play the sound. If the bootanimation finds an audio_conf.txt file, then it will look for a file named "audio.wav" in each of the part subdirectories. If audio.wav is found, it will play that WAV file starting at the beginning of that part. The code for this is based on the tinyplay utility in tinyalsa. The audio_conf.txt and must begin with the following header: card=<ALSA card number> device=<ALSA device number> period_size=<period size> period_count=<period count> This header is followed by zero or more mixer settings, each with the format: mixer "<name>" = <value list> Since mixer names can contain spaces, the name must be enclosed in double quotes. The values in the value list can be integers, booleans (represented by 0 or 1) or strings for enum values. Finally I should mention that this change is not the right approach. Instead of going straight to ALSA we should be using the mediaserver instead. But mediaserver isn't ready in time due to interactions with the system server, and there isn't time to fix this for the current release. We need to fix that for the next one. Bug: 17674304 Change-Id: Ic391ade61c941d0a24f4d64fe005ac9375a23fa9
2014-09-25bootanimation: allow animation to specify background colorJesse Hall
Some OEMs want to have a bootanimation (or parts of it) displayed on a color other than black. They currently just use full-screen frames for that, which wastes lots of memory and bandwidth. This change allows each part of the animation to specify a background color that will be applied outside of the frame images; if unspecified the background will be black as it is now. Bug: 16635599 Change-Id: Ibf008fc75c5aad891c86ba9e4ec0879b7a61b8bd
2014-07-07SkBitmap::Config is deprecated, use SkColorTypeMike Reed
Change-Id: Ida181d2aac760072cf2d01409edac37699dea216
2014-04-30am 516130cc: am dbbf431b: am d0f7f418: Merge "Freeing frame map"Narayan Kamath
* commit '516130ccb1841afb6ef154c28269d91594925429': Freeing frame map
2014-04-30Freeing frame mapMykola Kondratenko
FileMap memory is never released until application exit Release it now as the texture is already loaded and the memory used for the packed resource can be released. Change-Id: Id08a1e466337b3a0179684eb6a444e18147ee343
2014-04-28Allow custom wallpaper and boot animation.Jeff Sharkey
Add new "ro.config.wallpaper" and "ro.config.wallpaper_component" properties which may be defined outside of the bundled framework resources. Falls back to bundled resources when properties are undefined. Also look for boot animation under OEM partition. Bug: 13340779 Change-Id: Ibdc9935dbdaae3319bf63b40573de0503d82ae67
2014-03-05FramebufferNativeWindow.h is obsoleteAndy McFadden
Change-Id: I3c645af7247a520e28d337e567f326375558519a
2014-02-27Fix includes so that they no longer rely on the global Skia includes ↵Derek Sollenberger
directories. bug:13225538 Change-Id: Ia5d816dc665f81c7985f21036af4fd0a63c560cf
2013-12-16am fc800d40: am fbd6d5a8: am 09fdc159: am 3ddee4de: Merge "[bootanimation] ↵Nick Kralevich
Drop user loadable bootanimation.zip abiltiy." * commit 'fc800d407d695926ba07299c4e27d1e06284098f': [bootanimation] Drop user loadable bootanimation.zip abiltiy.
2013-12-16[bootanimation] Drop user loadable bootanimation.zip abiltiy.Robert Craig
A prior change removed the ability of the shell to push to /data/local. Because of this, the bootanimation code no longer supports users loading custom bootanimation.zip files. This patch drops the access attempt from the code. Change-Id: Ie30dd73699c8296be00dc6fbf14691e08baa6410 Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2013-12-11am 411954ae: am a6416309: am 1e137549: am efa5c88f: Merge "Don\'t try to set ↵Nick Kralevich
service.bootanim.exit" * commit '411954aef072574676462f579847a01af0aed728': Don't try to set service.bootanim.exit
2013-12-11Don't try to set service.bootanim.exitNick Kralevich
init has never allowed the bootanimation code to set service.bootanim.exit, and has always generated the dmesg error message <3>[ 17.644615] init: sys_prop: permission denied uid:1003 name:service.bootanim.exit Since setting this property has no effect and never worked, delete the code which tries to do it. Change-Id: Idacc5467d85479a8cf974702af8895011be585ea
2013-12-11Reimplement ZipFileRO in terms of libziparchive.Narayan Kamath
This lets us share zip archive processing code with both the runtime (Art, dalvik) and critical java code (StrictJarFile). This change also moves several utility methods to ZipUtils and dedups code across several zip inflation methods. One of the side effects of this change is that several processing loops are now O(n) instead of O(n^2). bug: 10193060 (cherry picked from commit afd31e08299008fdc5c2813f21b2573f29dc53df) Change-Id: I86a2c528575d4a3ca86b94be068dcdc3c17c2ed6
2013-12-09Reimplement ZipFileRO in terms of libziparchive.Narayan Kamath
This lets us share zip archive processing code with both the runtime (Art, dalvik) and critical java code (StrictJarFile). This change also moves several utility methods to ZipUtils and dedups code across several zip inflation methods. One of the side effects of this change is that several processing loops are now O(n) instead of O(n^2). bug: 10193060 Change-Id: I3c7188496837a47246c4f342e45485a70fef3169
2013-12-03Call SkBitmap::config() instead of ::getConfig()Leon Scroggins III
getConfig() has been deprecated. Change-Id: I32066256ab82ac4760c752c80856d1b56d291fae
2013-11-22Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEADThe Android Open Source Project
Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
2013-10-29am 8f592378: am 69920427: Merge "Fix a variety of small publicly-reported bugs."Elliott Hughes
* commit '8f592378a1ea7f31d57253dc202f42707ef4da36': Fix a variety of small publicly-reported bugs.
2013-10-29Fix a variety of small publicly-reported bugs.Elliott Hughes
Possible NULL dereference in cmds/bootanimation/BootAnimation.cpp. https://code.google.com/p/android/issues/detail?id=61556 Missing fclose in core/jni/android_os_Debug.cpp. https://code.google.com/p/android/issues/detail?id=61546 Bad loop guards in core/jni/android_util_Process.cpp. https://code.google.com/p/android/issues/detail?id=61557 Assignment to wrong variable in libs/androidfw/AssetManager.cpp. https://code.google.com/p/android/issues/detail?id=61560 Missing delete[]s in libs/androidfw/ObbFile.cpp. https://code.google.com/p/android/issues/detail?id=61549 Leaks on error in tools/aapt/Images.cpp. https://code.google.com/p/android/issues/detail?id=61552 Two missing fclose calls in tools/aapt/Resource.cpp. https://code.google.com/p/android/issues/detail?id=61553 Missing fclose in tools/aidl/aidl.cpp. https://code.google.com/p/android/issues/detail?id=61554 Change-Id: I5820f3824e72d07a9acb776cf0af3e7443f5694a
2013-08-01Changes needed to support Skia at r10377.Derek Sollenberger
Change-Id: Id1e1c8c5938ee1a33c6fa3caabd2c28e89243eb4
2012-08-27Use new surface flinger API.Jeff Brown
Change-Id: Ic888577408a59a36481a48010e19c5e77c24e211
2012-07-25update to new getDisplayInfo APIMathias Agopian
Change-Id: I8051b4f9f23d3ef4791176de1bbcfafacae7d579
2012-06-19Exit boot animation cleanly.Kevin Hester
The desc.txt file can now mark parts as 'must finish cleanly' by using 'c' as the part line prefix rather than 'p'. If so indicated, if the bootanimation is asked to quit it will do so only after waiting to finish that part. I considered either making init.c service killing smarter or promoting bootanim to be a bindable service with a requestExit method. However, these changes are probably too big/risky given our ship date. So I used a property as a mailbox between SurfaceFlinger and bootanim. Bug: 6679877 Change-Id: I1f8dd9e7da1ea80a483b31fa14c4a5645922d774
2012-06-11make the boot animation 32-bits to avoid bandingMathias Agopian
Bug: 6611693 Change-Id: Id31b711ea755c89240eaea26f6403a031cd939e4
2012-05-12fix BootAnimation timingMathias Agopian
We were including the delay of the previous frame when calculating the delay needed between a frame and the next. This caused a bad jitter in the animation timing. We also now use clock_nanosleep(). Change-Id: Iebb8cca4d57fe2f11d83b23a736e03db7a7d2006
2012-04-24am f4b6628e: BootAnimation: fix bug to delay the appropriate amount of time ↵Travis Geiselbrecht
per frame * commit 'f4b6628e5084bf317eab5326c51cbecb8fabdc45': BootAnimation: fix bug to delay the appropriate amount of time per frame
2012-04-24BootAnimation: fix bug to delay the appropriate amount of time per frameTravis Geiselbrecht
Change-Id: I300b67a97a9a685cec59df12d8d605c2b0b49180
2012-02-27fix libgui header locationMathias Agopian
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
2012-02-17frameworks/base refactoring.Mathias Agopian
step 2: move libutils headers to their new home: androidfw Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
2012-01-08Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block
See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
2012-01-03Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGESteve Block
See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
2011-11-10boot animation is dithered and scaledMathias Agopian
disable dithering which shouldn't have been enabled in the first place because the frames are typically scaled. we still use a 16-bits texture format to preserve memory. Bug: 5600948 Change-Id: Ib4d6e133df4375d0d735cd4325b6e589bbc5dafe
2011-08-15boot animation doesn't use EGLUtils anymoreMathias Agopian
Change-Id: I0767ac2a5ab814382b41c85bd5b0786c7a025255
2011-06-29SF transactions are now O(1) wrt IPC instead of O(N).Mathias Agopian
Change-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43
2011-06-13unify SurfaceTexture and SurfaceMathias Agopian
Add the concept of synchronous dequeueBuffer in SurfaceTexture Implement {Surface|SurfaceTextureClient}::setSwapInterval() Add SurfaceTexture logging fix onFrameAvailable