Commit Graph

123 Commits

Author SHA1 Message Date
Huihong Luo
f97c9e241f Add multi-display support for boot animation
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
2019-08-29 16:49:55 -07:00
Kyeongkab.Nam
15e24878d6 Merge "Fix bootanimation stack overflow"
am: 935d8032c8

Change-Id: If5b2538dc6f2f8639166eaf9c27eb152b8c5419a
2019-07-22 19:57:21 -07:00
Kyeongkab.Nam
35a8a11697 Fix bootanimation stack overflow
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
2019-07-18 10:12:10 +09:00
Anders Fridlund
e0b4d23708 Look for bootanimation in apex-module
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
2019-05-29 13:45:19 -07:00
Beverly
34ffe253ce Write system property persist.sys.provisioned
When the device is provisioned, write a system property
to indicate device provisioned.

Test: manual
Bug: 131702833
Change-Id: I7ade97770658b3aa67d642446dd66c410ec4c5a3
2019-05-20 18:21:29 -04:00
Yi Kong
911ac2394e [BootAnimation] Modernize codebase by replacing NULL with nullptr
Fixes -Wzero-as-null-pointer-constant warning.

Test: m
Bug: 68236239
Change-Id: I3d1d08ce91b351227dad11f0ac0302832b9563b4
2019-03-24 01:49:02 -07:00
Huihong Luo
50a2f36f73 Preload zip before waiting for surface flinger
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
2019-02-14 13:37:34 -08:00
Dominik Laskowski
3316a0a08e Generalize physical display management
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
2019-02-04 10:06:15 -08:00
Wei Wang
159a410d7b BootAnimation: Use system log
To match the rest of booting log in system_server,
e.g. SystemServerTiming and SystemUIBootTiming.

Test: build
Bug: 118241273
Change-Id: Idf6aca0c503b85c645a7c3d5f430c321a8d83cca
2018-10-23 23:15:58 -07:00
Jorim Jaggi
acfabaa32b Merge "BootAnimation: Fix boot animation with hidden cutout" into pi-dev am: e387ce18d8
am: 2c68abc9fc

Change-Id: I1a0db9f30f7270d49136fa3984dc8d9633ead690
2018-08-22 16:38:27 -07:00
Adrian Roos
9ee5dff83c BootAnimation: Fix boot animation with hidden cutout
We do this by storing the masking inset in a persistent property.
The boot animation then animates itself to where it would be if that
masking inset were applied, then changes the viewport.

For this to work, we also need to make sure the DisplayManagerService
has the right overlay right at the start.

Bug: 112876936
Test: Hide cutout, then reboot. Verify boot animation is smooth.
Change-Id: I3e988b2340b2e0d2be3939bdc6878704c234ccc8
2018-08-22 21:37:39 +01:00
Damien Bargiacchi
1a8a213b77 Fix use-after-free: release the animation after we're done with it
Bug: 64504131
Change-Id: Ibddbc37d96957eeec63035d7f045a8982fb04254
2018-07-24 15:20:26 -07:00
Steven Moreland
df7675f1cb Merge "Don't use cutils/Atomic.h" am: 07735797a2 am: a272d540d8
am: 0f4ca4a5c0

Change-Id: I4b9798b39d890537f888415b5ac283227970e4de
2018-02-28 14:13:52 +00:00
Steven Moreland
fb7952f57e Don't use cutils/Atomic.h
Test: builds
Change-Id: I74485a5cbecb8710714f7bf3e54da61dd787838f
2018-02-23 15:02:42 -08:00
Jaekyun Seok
c521bb33ac Load bootanimation from /product partition
Bug: 72667033
Test: tested loading /product/media/bootanimation.zip after moving it
from from /system/media to /product/media on sailfish

Change-Id: I10612dd77da7c2c67b02b00b7f0eb2b28e49cc98
2018-01-30 12:03:42 +09:00
Robert Carr
e13b58e15b Use new SurfaceFlinger transaction API.
For now we reimplement global transactions in the Java side
JNI layer.

Bug: 64815723
Bug: 64816140
Bug: 64815766
Test: Existing tests pass. go/wm-smoke
Change-Id: I6c0a7b5e65b1b6cc844ac61f3269629af60a4244
2017-10-09 16:52:48 -07:00
Ed Coyne
7464ac9bd7 Allow IO During boot process, BootActions.
NOTE: this is only compiled into products with PRODUCT_IOT=true.

Introduce BootActions that a developer can provide to manipulate IO
before the android framework comes up on boot.

We will look for a configuration file at /oem/app/etc/boot_action.conf and
expect it to tell us the name of a shared library. We will then fetch
this library from /oem/app/lib/${arch}/ and load it. We expect it to export
boot_action_init(), boot_action_shutdown(), and optionally
boot_action_start_part(int partNumber, int playNumber).

We will then call boot_action_init() during boot after PeripheralManager
is up and call boot_action_shutdown() when the android framework is up
and we are going to start loading APKs.

We will also call boot_action_start_part(*) when each part of the boot
animation is started, use this if you want to synchronize the boot
action and the boot animation.

Boot actions run in a restricted environment and in general can only
make calls to PeripheralManager.

Bug: 37992717
Test: Pushed to local imx7d to test boot actions, pushed to bullhead test that animation+sound still works.
Change-Id: I9e53a17567f8028ea84486d637e1d231ee1125e1
2017-06-19 17:27:08 -07:00
Ed Coyne
2c9e94aa3e Refactor bootanimation into a shared lib.
We would like to reuse the animation parts of it in Android things.
This refactors the audio part into the _main and gets callbacks from
the BootAnimation class at interesting times. This will be the same
approach we take to integrate with it.

BUG: 37992717
Test: Built locally and pushed to a bullhead, works with sound.
Change-Id: I5eaca07c25eeb5edeab07d7ae7a29945e0e2cd37
2017-05-31 10:24:52 -07:00
Mike Reed
7c0ae0f58b bitmaps and pixelrefs no longer need lock/unlock
Test: covered by CtsGraphicsTestCases and hwui_unit_tests

Change-Id: I42a25961a2eb3755d2fd22a617aa21a24ec0994f
2017-04-18 10:22:42 -04:00
Keun-young Park
d1794cdbb4 show different timing log for shutdown animation
bug: 36873098
Test: reboot and check log
Change-Id: Ic3adaba383cc29dba039a7fb5adcb01d4c0c963b
2017-04-04 22:21:32 +00:00
Keun-young Park
b593842063 support shutdown animation from bootanim
- init will set sys.powerctl property and run bootanim.
- Use /oem/media/shutdownanimation.zip or
  /system/media/shutdownanimation.zip for animation file.
  If none of them exist, android animation will be used.
- Disable audio playing for shutdown animation.
- Disable TimeCheckThread for shutdown animation. It
  accesses /data partition and can block umount.

bug: 36526187
Test: many reboots

Change-Id: If02c73cda2015317d88d056cd45201208da49946
2017-04-03 14:43:14 -07:00
Wei Wang
dbdda2b60e BootAnimation: change log format when animation starts
Bug: 34499826
Test: on marlin
Change-Id: I719485d399406abc08360620c09d90f4b87934a6
2017-02-07 18:59:58 -08:00
Wei Wang
a90c54c90e BootAnimation: Add log when animation starts
Bug: 34499826
Test: on marlin
Change-Id: I04e4663daf4b30e2ab3c1ddda215127cf7faef9f
2017-02-02 20:17:54 -08:00
Geoffrey Pitsch
a917353da0 Initialize bootanimation sound on separate thread
Blocks when it's time to play the first sound.
Bug: 30189706
Test: on marlin
Change-Id: Ib3666fbfb5f109c633ed59edad4a283b8ada8ae2
2017-01-31 15:49:06 -08:00
Damien Bargiacchi
53dd8b80a5 Centre clock text on visible characters instead of : character am: 45a7644004 am: 04f17be3e6
am: e2ca6b465e

Change-Id: If3edabead7835e9949f1d1601cbe7cb59c0bbc4c
2016-12-06 18:47:46 +00:00
Damien Bargiacchi
04f17be3e6 Centre clock text on visible characters instead of : character
am: 45a7644004

Change-Id: Ibb152f2217297ab0b0aa1ec622e59ae8ae815d59
2016-12-06 18:32:48 +00:00
Damien Bargiacchi
45a7644004 Centre clock text on visible characters instead of : character
Bug: 33340845
Change-Id: I235ad7c6aafc62daa55242f81df2d076f27c56df
2016-12-05 18:02:18 -08:00
Baligh Uddin
b1df48d326 Merge remote-tracking branch 'goog/cw-f-dev' into fix_merger
Bug: 32849428

* goog/cw-f-dev: (98 commits)
  Revert "Catch KeyStoreException for setting profile lock"
  Fix createConfirmDeviceCredentialIntent for wear for CTS.
  Fix default dialog background colour for watch devices.
  Catch KeyStoreException for setting profile lock
  Add cross-links between FINE and COARSE location permissions. bug: 25371600
  Fixed a bug with the emergency affordance in multi user
  Zygote: Additional whitelists for runtime overlay / other static resources.
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Zygote : Block SIGCHLD during fork.
  colors: add missing accent_material_{700,50} resources.
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Zygote : Block SIGCHLD during fork.
  DO NOT MERGE ANYWHERE Revert "DO NOT MERGE ANYWHERE libhwui: make setSurface asynchronous"
  ...

Change-Id: I63468da5bfa21ed9ac5985bbdbf3a61d4c389aa0
2016-11-22 17:19:45 -08:00
Damien Bargiacchi
f5970785ad Allow boot clock to be toggled between 12 and 24 hour format am: 9071db1d37 am: 3400dffcad
am: bb2e8993f0

Change-Id: I8f4ccc9e82e5539c615a8388a002d5ab196f77f9
2016-11-01 01:56:55 +00:00
Damien Bargiacchi
bb2e8993f0 Allow boot clock to be toggled between 12 and 24 hour format am: 9071db1d37
am: 3400dffcad

Change-Id: Ic4df64d163845547416ef1280ae2ba2f1b41efda
2016-11-01 01:52:09 +00:00
Damien Bargiacchi
9071db1d37 Allow boot clock to be toggled between 12 and 24 hour format
Bug: 32461548
Change-Id: I414192e6d9f3ae44267f4a360e35647f18c420b4
2016-10-28 18:04:48 -07:00
Damien Bargiacchi
f67b317c10 resolve merge conflicts of 6574d9c to master
Change-Id: I9b97396a03f80507d71a52d281f88f686712b129
2016-09-07 20:17:14 -07:00
Damien Bargiacchi
6574d9ca46 Allow custom fonts in the boot animaiton zip file
am: 0e3d2ab6d2

Change-Id: I13d1e6a707ad941a267b89483e6dc029398a2d82
2016-09-08 02:19:57 +00:00
Damien Bargiacchi
0e3d2ab6d2 Allow custom fonts in the boot animaiton zip file
Change the font format to be a 16x6 grid of characters

Bug: 29580875
Change-Id: Ia468307cb9770436e8ae865c91acda23a71bde05
2016-09-05 04:51:45 -07:00
Geoffrey Pitsch
fa88d56464 Suppress Boot sound for non-standard scenarios. am: 290c4350ed am: 854f8cecf7
am: 9e7b3f657f

Change-Id: Id7d1cb29fa1e1a416d56b4b16a73576a458216c4
2016-08-11 13:22:28 +00:00
Geoffrey Pitsch
9e7b3f657f Suppress Boot sound for non-standard scenarios. am: 290c4350ed
am: 854f8cecf7

Change-Id: I182a77ce9fec2ae3f900a544ac4af8064240a06b
2016-08-11 13:13:04 +00:00
Geoffrey Pitsch
290c4350ed Suppress Boot sound for non-standard scenarios.
Blacklisted bootreasons will not play a sound (e.g. "kernel_panic")
If boot has already completed, assume this is a runtime restart and
skip the sound.

Bug: 30654343
Change-Id: I41b1829a93c0d9a63c69aea2d1614eaa18b72230
2016-08-10 10:52:48 -04:00
Geoffrey Pitsch
d6536e4d22 BootAnimation system property to play sound. am: 305087991d am: 8e4b8a988f
am: 5e8bb86e8c

Change-Id: Ibcf73b3245b63492c1feaa1494271c181c86c59e
2016-08-09 17:31:06 +00:00
Geoffrey Pitsch
5e8bb86e8c BootAnimation system property to play sound. am: 305087991d
am: 8e4b8a988f

Change-Id: Icd062a5b3eb9da9d9c7bd3c5d7dd4e40f75c3a1e
2016-08-09 17:22:51 +00:00
Geoffrey Pitsch
305087991d BootAnimation system property to play sound.
Optional system property "persist.sys.bootanim.play_sound"
If nonexistent, default behavior plays the sound.

Bug: 30690353
Change-Id: Ie5ed456d891632be5ec8be255ac7c1193753c741
2016-08-08 16:18:21 -04:00
Jesse Hall
b5f8fe1629 Merge \\\\"bootanimation: Call eglReleaseThread in threadLoop\\\\" am: 189bbd9f6d am: 9495872add am: 41ebe86049
am: af2a8a9ca6

Change-Id: Ic03306aadf473d0c5cf6954288c57b759186c807
2016-07-25 04:05:30 +00:00
Sai Kiran Korwar
af2a8a9ca6 Merge \\\"bootanimation: Call eglReleaseThread in threadLoop\\\" am: 189bbd9f6d am: 9495872add
am: 41ebe86049

Change-Id: I7927f23aa76cc17221e557d7f36b95bc23696a1b
2016-07-25 03:57:18 +00:00
Sai Kiran Korwar
9495872add Merge \"bootanimation: Call eglReleaseThread in threadLoop\"
am: 189bbd9f6d

Change-Id: Iaa5b3e60548ee2cce19cb4c31a6274d0ad877189
2016-07-25 03:46:44 +00:00
Derek Sollenberger
163c97a8ea Merge changes from topic 'skia_merge'
* changes:
  Fix include to match Skia filename change
  Remove references to SkImageDecoder (part 2)
  Update SkiaCanvasProxy with SkSurface API change
  Return DNG mimeType for the case kDNG_SkEncodedFormat
  Remove use of SkFixed. Update code to use SkGlyph.fAdvance[XY] after https://codereview.chromium.org/1737693006.
  skia SkDocument - new MakePDF API, fix leak
2016-07-18 12:07:44 +00:00
Matt Sarett
8898c16987 Remove references to SkImageDecoder (part 2)
As of this CL, SkImageDecoder is no longer used in Android and
will be deleted by Skia.

(cherry picked from commit 097a6ea4b65046df3e3cbf93d1acfc4e6833e02f)

Change-Id: Ic754ab0dde7ad1b65ccf3b2bc23fcbc5ef44ed08
2016-07-15 08:19:12 -04:00
Geoffrey Pitsch
a91a2d7375 Fixes delay when playing first sound in BootAnimation
audioplay is initialized with an example of the type of clip it
will play.
Also remove asserts and debug compile settings from BootAnimation.

BUG:24800792
Change-Id: Icb78489417aee0549c340c746b25e57ccdb3427e
2016-07-13 15:51:24 -04:00
Damien Bargiacchi
4786f6d958 Merge "Don't show times before 2000-01-01" into nyc-mr1-dev 2016-07-13 00:40:07 +00:00
Damien Bargiacchi
9676281c4f Don't show times before 2000-01-01
BUG=27802041

Change-Id: Iaa826e029c3b887e2bda6d12bc7c372d862ed320
2016-07-12 16:03:37 -07:00
Geoffrey Pitsch
859029ff7b Merge "OpenSL-based audio support for BootAnimation" into nyc-mr1-dev 2016-07-12 17:29:56 +00:00
Geoffrey Pitsch
143d48927e Merge "BootAnimation: Use npot textures" into nyc-mr1-dev 2016-07-11 20:12:40 +00:00