This support helps with several things:
- simpler animation structure (size, number of items)
- more room for designers avoiding thinking about exit part
- time saving as complete parts now can be safely used as fading parts
Bug: 167352662
Test: Manual testing of major/edge cases
- backward compatibility => "f 0" is mapped to "p", "p" still works
- only trimmed areas are faded out
- clock is not faded out (wear case)
- adb shell su root bootanimation
- [c, (exit) f 120, c] => "f 120" fades out and "c" completes
- [c, (exit) f 120, f 320] => "f 120" fades out and "f 320" skipped
- [c, f 16, (exit) f 120] => "f 16" played, "f 120" fades out
- [c, (exit) f 0, f 120] => "f 0" skipped, "f 120" fades out
Change-Id: I9b200ee7107ef9b3dc8d711658ed1042b83739c2
Merged-In: I9b200ee7107ef9b3dc8d711658ed1042b83739c2
When ro.surface_flinger.max_graphics_{width|height} is
set the framebuffer size is limited by this property.
However the boot animation size matches the display active
mode size which can cause it to be off-center or partially
visible.
This change limits the boot animation surface size with
accordance with ro.surface_flinger.max_graphics_width.
Bug: 153991408
Test: manual
Change-Id: Idfd1c9adc1f6b10f44bc04ec2078dbc823f28ed6
Use DisplayEventReceiver to listen for display hotplug
events and resize the boot animation is display size
changes.
Bug: 156448328
Test: manually make sure the boot animation has correct
dimensions in the following cases
I. With boot animation file
1. scrcpy
2. start boot animation with
adb shell /system/bin/bootanimation
when no physical display is connected (= 480p
fake HWC display). Use the virtual display from
scrcpy to check the boot animation size.
3. connect a 1080p display
(HWC sends hotplug connect to change the display)
4. disconnect the real display
II. Same steps without boot animation file
(android logo should be displayed)
Merged-In: Ib3f0383686399669e8de10456092baaec607fa01
Change-Id: Ib3f0383686399669e8de10456092baaec607fa01
For easy transition from SchedTune to UtilClamp, direct access to these
cgroups should be abstracted by using task profiles. Replace writepid
commands with new task_profiles command.
Bug: 155419956
Test: change .rc file and confirm task profile is applied
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I05f5a082c7e6f43ab94330aede29967e91d1aef9
Merged-In: I05f5a082c7e6f43ab94330aede29967e91d1aef9
For easy transition from SchedTune to UtilClamp, direct access to these
cgroups should be abstracted by using task profiles. Replace writepid
commands with new task_profiles command.
Bug: 155419956
Test: change .rc file and confirm task profile is applied
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I05f5a082c7e6f43ab94330aede29967e91d1aef9
Preparation for removing implicit include paths for jni.h from soong.
Also remove unnecessary jni.h includes from PathParser.{h,cpp}.
Bug: 152482542
Test: lunch aosp_x86_64 && m checkbuild
Change-Id: Ib18afa3d2c93ed3ce69204286d5177991100fd7e
Exempt-From-Owner-Approval: build refactoring
In case userspace reboot boot animation can't be found, a default
Android logo is going to be shown.
Test: adb reboot userspace
Bug: 148172262
Change-Id: Ida12ffcfe73b335b63178f3e3f2b0c4063dae2c2
to be persist.service.bootanim.displays to control which displays can show
bootanimations. This way a user can change the proeprty to be persistent
across reboot.
Bug: 132892728
Test: manual
Change-Id: I2b98a689aafcb2f2c32f0a675624feb72ca18470
This shows boot animations to the primary and other displays, verified
with 3-display setup.
A guest property, boot.animation.displays, controls which additional displays
to show the boot animation, in addition to the primary display. Use comma
as separator to specificy multiple values, for example:
setprop boot.animation.displays 19260422155234049,19261083906282754
An example CL on how to set this system property: ag/9269083
Bug: 132892728
Test: adb logcat -s BootAnimation
Change-Id: I1ce3ebd57817246a7a0de42af9465e2a3517826b
We see cases where bootanim is IO sleeping on boot and its causing
jank. Change the ioprio to the highest in an attempt to reduce this.
Bug: 138459662
Test: manual - flash and factory reset, looking for artifacts in the boot animation
Change-Id: I9734edea37c92e365a2b359a5180303e9b9284f7
length of input from scanf is not limited even though MAX char of path
is defined as 256. This could cause stack corruption when length of input
is over MAX.
Test: run bootanimation with desc.txt which has over 256 length of path.
Change-Id: Ic60081ca82067ad671508e766c495546af9233d1
Look for bootanimation.zip in /apex/com.android.bootanimation/etc/.
This is needed to support download and install of customized bootanimations.
Bug: 116821733
Test:
1. Get a custom bootanimation.zip
2. Build a com.android.bootanimation.apex that contains the custom
bootanimation.
3. Build a product partition containing the public avb-key in
/product/etc/security/apex/ or a system partition containing the
public avb-key in /system/product/etc/security/apex/
4. Flash the partition that was built.
5. $ adb install com.android.bootanimation.apex
6. $ adb reboot
7. Verify that the custom bootanimation is used during boot.
Change-Id: I0b63e8dd2ba536a5077e34f63670025f6e9d791a
When the device is provisioned, write a system property
to indicate device provisioned.
Test: manual
Bug: 131702833
Change-Id: I7ade97770658b3aa67d642446dd66c410ec4c5a3
This reverts commit 706bf3f628.
Reason for revert: b/124939955. bootanimation depends on libandroidicu in the Runtime APEX.
Bug: 124939955
Change-Id: I2b5a9d74a5f0ae11978ff4b0850dd7e4becb9b88
This saves about 200 msec by preloading media zip file before waiting
for surface flinger becomes ready.
Android Auto results:
BootAnimation: BootAnimationPreloadTiming start time: 8261ms
BootAnimation: BootAnimationPreloadStopTiming start time: 8508ms
Bug: 62056504
Test: adb logcat -s BootAnimation
Change-Id: Iaedf774983a66c2838452c45a04b3a1f4c728f17
This reverts commit d848183572.
Reason: the static deps to libnativeloader and libnativebridge no longer
exist
Bug: 123403798
Test: Device boots to the UI
Test: bootanimation is shown from the very beginning
Change-Id: I1a3f214b1d9a19520998c7d1f2d288465a831892
This CL enables the framework to manage an arbitrary number of physical
displays. It also surfaces physical display IDs, which are stable across
reboots and encode (model, port) information that will be propagated
further up in a follow-up CL.
Bug: 116025192
Test: Boot with more than two displays
Test: Hotplug works with any number of displays
Test: Verify stable display IDs with "dumpsys display"
Change-Id: Idb2eaff66b2e0873be6ad27d337ff18b730d1331
It depends on libdexfile_external and libnative{bridge,helper,loader} which
are provided by the Runtime APEX.
Test: flash & boot
Test: atest CtsJdwpTestCases
Bug: 113373927
Change-Id: Id9a78f9adb4c928ab4c91fda0ee3ea4b13eed592
* Add explicit to conversion constructors/operators
Bug: 28341362
Test: make with WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=-*,google-explicit-constructor
Change-Id: Ia6ada49250973d507ae8b10d8f0d7c2d47ee805c
See build/soong/README.md for more information.
Test: cd frameworks/base/cmds/bootanimation; mma
Change-Id: I7e023ffc42f61ce9a215a958fbbd158a6a8352d7
Merged-In: I7e023ffc42f61ce9a215a958fbbd158a6a8352d7
(cherry picked from commit efc3e37c9b)