Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve and fixed cam services for somes devices #4

Open
wants to merge 38 commits into
base: 14
Choose a base branch
from

Conversation

seba3567
Copy link

@seba3567 seba3567 commented Oct 9, 2023

No description provided.

David Ng and others added 30 commits October 5, 2023 13:30
Allow optional vendor-specific initializations
within init.  This can be used for runtime
initialization setup that init rc scripts do
not support.

Change-Id: I7623a0d59b18f9ec8e3623958e2f7ccd72b877bf
[Adrian DC] Preserve the log while permissive

Change-Id: I3f2887930e15d09014c2594141ba4acbbc8d6d9d
 * In recovery we need to be able to edit the block device
   after it's been mounted.
   This allows, for example, to wipe system after mounting it

Change-Id: Ie536d275643e9d6063bba789e4cd2fa2671fc8fa
This reverts commit 29dd6b6c01295222fee5ef2fc70692b2ecb12504.

Change-Id: I7b76cd920019ae8cb7270b3f83e777ea9de7f7a4
Change-Id: I4e64c6d3951dac4a424617d8fdf6d37962d3b4f2
Change-Id: Iaf5eb813e848ef05b1b455ebfe3643f4a8b4f80d
Change-Id: Ie1ca5018c465f6b2c15cbc00bdf3bb866d98ddef
HVDCP_3 is a high voltage DCP charger where the charger's voltage
can be changed by issuing pulses on the D+/D- lines. Add support to
recognize it and treat it as an AC power source.

Change-Id: Ib719529904e8b7a676bbdc5f5953f0f9da6df3fa
Change-Id: I810e2e051329edeec54fc24255d785993066eece
Booting up the device without usb, the kernel sets the usb power supply
type as UNKNOWN. The type of usb power supply changes at run-time as
various chargers are plugged in/out. However, healthd initilizes the
charger list only at bootup. Change it such that it checks for charger
type changes with every battery or usb uevent.

While at it, the kernel may have a power supply type which is not known
to healthd. This is perfectly fine. Update healthd to not print a
warning.

Change-Id: I2ec9f9a420ca61814d43c316b418ce94de3691bc
 * Some (poorly written?) apps are continuously detected as Z state and
   killed by llkd even though they work just fine, leading to extremely
   bad UX and false positive bug reports.
 * llkd is disabled by default but enabled by llkd-debuggable.rc on
   ro.debuggable=1. Exclude it on userdebug builds to replicate user
   build behavior.

Change-Id: I8365149e7896e03e58808bbead208b8d4fca6a8c
* This results in a metric ton of denials on some devices and
  eats up valuable resources on boot, plus there's 0 need for it,
  so kill it.

Change-Id: Ic52d5b3f06724430e9505345024cf0041b37ca49
* For extract-tools

Change-Id: I15772394a24c2ff1fdd6eece86548a72a5d4d748
* Prevents users from seeing this message in recovery:
  `E:recvmsg failed (No buffer space available)`

* This is caused by volume_manager (our addition in recovery) and
  hiding this error does not seem to have any negative side effect.

Change-Id: I0d65796961c3036289ed13c0b8949a27b5b97ad6
ro.revision defaults to 0 if it's not set in cmdline.
Some devices might want to set it in their device specific init files,
however it's not possible to override ro properties.

Test: Set ro.boot.hardware.revision in device specific init.rc and
      observe fastboot getvar hw-revision in fastbootd

Change-Id: I6e785c3fe3a49409e815af269a9a8db732b80ada
Needed for using Retrofit Dynamic Partitions on unified targets, which has different partition sizes on different devices.

Change-Id: I2b4c05401569ce5fc301ebafa7d130c3b0d87c64
This is to match the changes in post_process_props made in
I33ae5c6f2787017a62e679aa0c28d4b909d45935

Change-Id: If521a8abb4810f8b5d4e3164a06969af4fc12374
Change-Id: Ia06e94e91cf5fdce14ce37eb85fdd95df1d059bc
Change-Id: Ibe8ae5ca8ffd44c3871a8855b06849034c74eb2f
 * Use different endpoint addresses for sinks and sources
 * Consider locked only explicitely `green` devices
 * [npjohnson] Updated for 12's logic

Change-Id: If093556e8e839cadf29f9e8f995f09ed3f188ed1
When opening and closing activities in Settings, a measurably
significant amount of CPU time is spent processing and logging stats
events in statsd:

0.02%     /apex/com.android.os.statsd/lib64/libstatspull.so                                                                                         @plt
0.01%     /apex/com.android.os.statsd/bin/statsd                                                                                                    @plt
0.01%     /apex/com.android.os.statsd/bin/statsd                                                                                                    SocketListener::runListener()
0.01%     /apex/com.android.os.statsd/bin/statsd                                                                                                    android::os::statsd::LogEvent::parseBuffer(unsigned char*, unsigned long)
0.01%     /apex/com.android.os.statsd/bin/statsd                                                                                                    android::os::statsd::LogEvent::parseAnnotations(unsigned char, int)

Over longer device uptimes with real-world usage, statsd uses a
substantial amount of total CPU time. We have no use for the stats
recorded by statsd, so disable the service entirely to save CPU in
potential hotpaths.

This is the system/core part of the change; changes to frameworks/base
are also required.

Test: simpleperf record -a; verify that statsd no longer appears in
      sample hits
Change-Id: Idf6fdb0eff987169bd5f370dd72315e831a669e6
This can have a major impact on performance.

We don't want this, even on userdebug/eng builds.

Use the new property "ro.console.enable" to
enable the console service explicitly.

Change-Id: I93e7c65e92261443d1c9c70cfef9aa2ed5ff328a
Signed-off-by: Alex Naidis <[email protected]>
Sometimes we need to override ro.* properties by using our vendor init
extension.

Previously there was a security check which was blocking that.
To resolve the issue, we need to weaken the security check during the
execution of our vendor init extension.

This is safe because the vendor init extension gets executed as part of init
construction and it is considered a trusted system component.

Change-Id: I6198b453745cb92c65d3e3d49e3262354cddd2a2
Signed-off-by: Alex Naidis <[email protected]>
Signed-off-by: Park Ju Hyung <[email protected]>

Former-commit-id: 15aafc0c179544dd173a7afdce8d4d24b19219e7

Former-commit-id: d5ce44bfdf41cbe51f7432a04409bb11147b35a4

Former-commit-id: ff0763ca639d4987d1130f9838474b935f9b9950

Former-commit-id: 760b30eff74a6e212f57b09be8505ae8283ef3c8

Former-commit-id: 259b97b043c0769d4c8886c9ace9686ca2188536

Former-commit-id: b2022a67efa74fb7bc00e52fdac4a545599104a2
Former-commit-id: 16a827cae1ccc17f2b3fc0b35b979619c1c195be
Former-commit-id: 3f64b3f7a1c4ba677bc02d172f8565e00ad803d7
Sometimes we need to override ro.* properties by using our vendor init
extension.

Previously there was a security check which was blocking that.
To resolve the issue, we need to weaken the security check during the
execution of our vendor init extension.

This is safe because the vendor init extension gets executed as part of init
construction and it is considered a trusted system component.

Change-Id: Ia7d60686968695f1fb43be4ed58770ce10da88c5

Former-commit-id: 91d12168b9500a44211a7d5a092e0ebcfed48d4d
Change-Id: I07629b6c19b5ebfa019307c497c18d8bcc719685

Former-commit-id: afc71394f9bbdd04589380bb4ef52df27f1baa26
Former-commit-id: 6bd10f8e34a25a4652b25d76326d48e38721ff5e
Former-commit-id: 0cdd630eae8e659533be3331c03452662c8f3e97
Doing this in the userspace allows more properties to be spoofed
and eliminate the needs for a hack in the kernel.

Former-commit-id: e036a461c7dd4d97e1df77979c85f3c198e1e784
Change-Id: I76f6e210247a032b764dea2f5a23a184745f59a0

Former-commit-id: 74af52f30476991814fff83b850af1883e3944ee
Former-commit-id: 0709c6917bbd814ae88fc04ff82425c2892ef4ad
Former-commit-id: 00e6bc4f619eaad5b7fcd0524c99cf31bcc5b5e1
aswinas@pixysos: add some more props from magisk hide to userspace hack by arter97

Former-commit-id: fc79269db601c9cd0dad3781d4e6ee8f209c55fc
Change-Id: I8a88862674ca5a9eb8df5050e04344a2acb0a79f

Former-commit-id: bd20ecc029c4d82226b40f7c56185abdd59955fc
Former-commit-id: 10d57a483aca29386196d4284085c35f84d7cff9
Former-commit-id: af9890ace1d4df6eb040be59a7fe5dcbed2749f9
Change-Id: I740afaa27de82bec1e6d58b58d431141ca6b4e3f

Former-commit-id: ca62a22d017f44c9f63553a44f5017eb5b8e9095
Change-Id: Icea7076c6c0ffc2ab3d66899335a5a477ccc519a

Former-commit-id: 688821317d5bed7701362875143dc43c4b152630
Former-commit-id: ba856e490845683ea08fc22183e12ee419f064a2
Former-commit-id: 2eb3d3e12d17668c17f1f2ccb9a5149bda5ea479
Change-Id: Ic07539b4a7a97316720defd000425d1b6d15fd67

Former-commit-id: 9d4ca9403943feecd6f902e69d581aad3ee84839
Change-Id: Ic34d95c23afd8caf95c7b2a2517650dbf116fdde

Former-commit-id: 1b99c0d0cc89f113d35eb065e435f61b51408b12
Former-commit-id: 6a32cd3778d9aca584751d7acd092be95cb85985
Former-commit-id: 6bcf9412a4f3def6c2bb49507045e685df2e55a4
Also reformat code

Change-Id: I98aafcc2c1d8dae1448ecf3c18981fb7945599ba

Former-commit-id: 72351d5aebdd5ed340429bb7228ec0ce5fc55318
Former-commit-id: acefb8c963d303ba91fbe861728860b51c7c5917
Former-commit-id: 0ccf4976491b9e85a1293ccd1f062a79656cbf90
The real prop values must be retained in recovery/fastbootd in
order for fastbootd to allow/deny flashing correctly based on the
bootloader lock state. This is accomplished by checking androidboot keys
in the kernel cmdline and bootconfig (necessary on Pixel 6), and not
spoofing anything if the boot isn't a normal full-blown Android boot.

@jhenrique09 - Adapt to PE

Change-Id: I66d23fd91d82906b00d5eb020668f01ae83ec31f

Former-commit-id: 33d4578679733fb2d6fd0fd9b7baba8fd5f0be57
Former-commit-id: b929a87f6ee30e21f795442d52c6a9ece2822c66
JarlPenguin and others added 8 commits October 7, 2023 22:44
Signed-off-by: Jarl-Penguin <[email protected]>
Change-Id: Ib6d3808c3b8f3e0cffab685a24d3cdd436b0fe9b

Former-commit-id: 739111e6414984ad9dc0d30358e2370bfb4edc29

Former-commit-id: 8bd32066ec64aa48270ba7e11042b4cca19a35e8
Former-commit-id: 8686645611965f468ee635c1e81f6f743385fb91
OnePlus SM8250 sets this as a value while rebooting the OS for some reason.
This causes the checks to fail and finally SafetyNet to fail after reboot.

Signed-off-by: zlewchan <[email protected]>
Change-Id: Idc8cbd084c86b83815616be17f2a0828aa16f3af
This reverts commit 10a8c2c9c499571b217af9552623dade9d7e3e4a.

Change-Id: Ie085871215d08ab022da3b410a9f44f5344ba8ff
This reverts commit 6fb5a48277ff81fd9a72a8b0dc278582c91a17e5.

Change-Id: Ic7ed201729c7fb1d860fb687658c27826a0a855d
Checking androidboot.mode properties will never work on devices where this
property is always absent, primarily non-Pixel devices.

Use existing IsRecoveryMode() check instead which is ugly, but works for this
very purpose.

Change-Id: Idc79fb2bf45f0416b242a1e1aa12bdb07bcf56b9
Signed-off-by: Albert I <[email protected]>
Signed-off-by: Alexander Winkowski <[email protected]>
This change includes below commits:

    Camera bringup changes system-core
    Change-Id: I1cf98641eca9096bd27645e07ea802646ea1fb96

    system/core: Fix for HAL compilation issues while integrating HAL 1.0
    Change-Id: Iead9c1ade279b64c5cbdf4d2de1a8b695939c52a

    Camera: Add enum to specify the frame type
    Added enum to specify the frame type of either fd/data buffer
    CRs-fixed: 654901
    Change-Id: I1c0b1a2c6a1425cdb6650cdfc20ca65835a1b81f

Change-Id: I654a40661e6e101da2a06986abeceb20639cccd9
* Fixes camera for Samsung Exynos devices:

08-30 18:07:03.585  2729  2729 I ExynosCameraFrameFactory: INFO(startThread[1608]):pipeId=0
08-30 18:07:03.585  2729  2729 F libutils.threads: thread name not provided to Thread::run
08-30 18:07:03.586  2729  2729 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 2729 (cameraserver)
08-30 18:07:03.587  2548  2548 W         : debuggerd: handling request: pid=2729 uid=1047 gid=1005 tid=2729
08-30 18:07:03.656  6489  6489 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-30 18:07:03.656  6489  6489 F DEBUG   : Build fingerprint: 'samsung/aosp_gts210ltexx/gts210ltexx:7.0/NYC/chris08292135:userdebug/test-keys'
08-30 18:07:03.656  6489  6489 F DEBUG   : Revision: '0'
08-30 18:07:03.657  6489  6489 F DEBUG   : ABI: 'arm'
08-30 18:07:03.657  6489  6489 F DEBUG   : pid: 2729, tid: 2729, name: cameraserver  >>> /system/bin/cameraserver <<<
08-30 18:07:03.658  6489  6489 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
08-30 18:07:03.673  6489  6489 F DEBUG   : Abort message: 'thread name not provided to Thread::run'
08-30 18:07:03.673  6489  6489 F DEBUG   :     r0 00000000  r1 00000aa9  r2 00000006  r3 00000008
08-30 18:07:03.674  6489  6489 F DEBUG   :     r4 b5a2c58c  r5 00000006  r6 b5a2c534  r7 0000010c
08-30 18:07:03.674  6489  6489 F DEBUG   :     r8 b28b5380  r9 00000000  sl 00000000  fp b2a92800
08-30 18:07:03.674  6489  6489 F DEBUG   :     ip 00000016  sp be90b350  lr b4f7e537  pc b4f80d94  cpsr 200f0010
08-30 18:07:03.694  6489  6489 F DEBUG   :
08-30 18:07:03.694  6489  6489 F DEBUG   : backtrace:
08-30 18:07:03.694  6489  6489 F DEBUG   :     #00 pc 00049d94  /system/lib/libc.so (tgkill+12)
08-30 18:07:03.694  6489  6489 F DEBUG   :     DerpFest-AOSP#1 pc 00047533  /system/lib/libc.so (pthread_kill+34)
08-30 18:07:03.694  6489  6489 F DEBUG   :     DerpFest-AOSP#2 pc 0001d885  /system/lib/libc.so (raise+10)
08-30 18:07:03.694  6489  6489 F DEBUG   :     DerpFest-AOSP#3 pc 000193d1  /system/lib/libc.so (__libc_android_abort+34)
08-30 18:07:03.694  6489  6489 F DEBUG   :     DerpFest-AOSP#4 pc 00017014  /system/lib/libc.so (abort+4)
08-30 18:07:03.695  6489  6489 F DEBUG   :     DerpFest-AOSP#5 pc 0000bfd5  /system/lib/libcutils.so (__android_log_assert+112)
08-30 18:07:03.695  6489  6489 F DEBUG   :     DerpFest-AOSP#6 pc 0000e265  /system/lib/libutils.so (_ZN7android6Thread3runEPKcij+212)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#7 pc 00045903  /system/lib/libexynoscamera.so (_ZN7android16ExynosCameraPipe11startThreadEv+74)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#8 pc 0007b1c3  /system/lib/libexynoscamera.so (_ZN7android24ExynosCameraFrameFactory11startThreadEj+70)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#9 pc 0007bcef  /system/lib/libexynoscamera.so (_ZN7android24ExynosCameraFrameFactory19startInitialThreadsEv+70)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#10 pc 0006231d  /system/lib/libexynoscamera.so (_ZN7android12ExynosCamera22m_startPreviewInternalEv+1140)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#11 pc 0006b897  /system/lib/libexynoscamera.so (_ZN7android12ExynosCamera12startPreviewEv+1666)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#12 pc 000037b1  /system/lib/hw/camera.universal5433.so
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#13 pc 0006094f  /system/lib/libcameraservice.so (_ZN7android12CameraClient16startPreviewModeEv+102)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#14 pc 00060825  /system/lib/libcameraservice.so (_ZN7android12CameraClient15startCameraModeENS0_11camera_modeE+68)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#15 pc 000282f9  /system/lib/libcamera_client.so (_ZN7android8hardware8BnCamera10onTransactEjRKNS_6ParcelEPS2_j+724)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#16 pc 000359b3  /system/lib/libbinder.so (_ZN7android7BBinder8transactEjRKNS_6ParcelEPS1_j+70)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#17 pc 0003d159  /system/lib/libbinder.so (_ZN7android14IPCThreadState14executeCommandEi+684)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#18 pc 0003cdb7  /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+114)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#19 pc 0003d2bb  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+46)
08-30 18:07:03.695  6489  6489 F DEBUG   :     aosp-mirror#20 pc 00000b4d  /system/bin/cameraserver
08-30 18:07:03.696  6489  6489 F DEBUG   :     aosp-mirror#21 pc 00016c2d  /system/lib/libc.so (__libc_init+48)
08-30 18:07:03.696  6489  6489 F DEBUG   :     aosp-mirror#22 pc 00000a18  /system/bin/cameraserver

Change-Id: Ib6234260a5fc5798eea580e0ac594313650de933
Signed-off-by: SagarMakhar <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.