Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cf7f0532 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6545159 from b51a1b73 to mainline-release

Change-Id: I7e51975b2039d7ef4cdef10d327ead5cff23010d
parents a8ea9b0e b51a1b73
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/macros.h>
#include <android-base/properties.h>
#include <android-base/strings.h>
#include <uuid/uuid.h>

@@ -140,6 +141,10 @@ static std::string GenerateUuid() {
    return std::string{uuid_chars};
}

static bool IsRecovery() {
    return access("/system/bin/recovery", F_OK) == 0;
}

bool DeviceMapper::CreateDevice(const std::string& name, const DmTable& table, std::string* path,
                                const std::chrono::milliseconds& timeout_ms) {
    std::string uuid = GenerateUuid();
@@ -160,6 +165,16 @@ bool DeviceMapper::CreateDevice(const std::string& name, const DmTable& table, s
    if (timeout_ms <= std::chrono::milliseconds::zero()) {
        return true;
    }

    if (IsRecovery()) {
        bool non_ab_device = android::base::GetProperty("ro.build.ab_update", "").empty();
        int sdk = android::base::GetIntProperty("ro.build.version.sdk", 0);
        if (non_ab_device && sdk && sdk <= 29) {
            LOG(INFO) << "Detected ueventd incompatibility, reverting to legacy libdm behavior.";
            unique_path = *path;
        }
    }

    if (!WaitForFile(unique_path, timeout_ms)) {
        LOG(ERROR) << "Failed waiting for device path: " << unique_path;
        DeleteDevice(name);
+4 −1
Original line number Diff line number Diff line
@@ -678,9 +678,12 @@ static void DoReboot(unsigned int cmd, const std::string& reason, const std::str
    // Reap subcontext pids.
    ReapAnyOutstandingChildren();

    // 3. send volume shutdown to vold
    // 3. send volume abort_fuse and volume shutdown to vold
    Service* vold_service = ServiceList::GetInstance().FindService("vold");
    if (vold_service != nullptr && vold_service->IsRunning()) {
        // Manually abort FUSE connections, since the FUSE daemon is already dead
        // at this point, and unmounting it might hang.
        CallVdc("volume", "abort_fuse");
        CallVdc("volume", "shutdown");
        vold_service->Stop();
    } else {
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ AStatsEvent* AStatsEventList_addStatsEvent(AStatsEventList* pull_data) {
}

static const int64_t DEFAULT_COOL_DOWN_MILLIS = 1000LL;  // 1 second.
static const int64_t DEFAULT_TIMEOUT_MILLIS = 10000LL;   // 10 seconds.
static const int64_t DEFAULT_TIMEOUT_MILLIS = 2000LL;    // 2 seconds.

struct AStatsManager_PullAtomMetadata {
    int64_t cool_down_millis;
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
namespace {

static const int64_t DEFAULT_COOL_DOWN_MILLIS = 1000LL;  // 1 second.
static const int64_t DEFAULT_TIMEOUT_MILLIS = 10000LL;   // 10 seconds.
static const int64_t DEFAULT_TIMEOUT_MILLIS = 2000LL;    // 2 seconds.

}  // anonymous namespace

+3 −0
Original line number Diff line number Diff line
@@ -177,6 +177,9 @@ on init
    mount binder binder /dev/binderfs stats=global
    chmod 0755 /dev/binderfs

    # Mount fusectl
    mount fusectl none /sys/fs/fuse/connections

    symlink /dev/binderfs/binder /dev/binder
    symlink /dev/binderfs/hwbinder /dev/hwbinder
    symlink /dev/binderfs/vndbinder /dev/vndbinder
Loading