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

Commit b7daea2a authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 11740859 from dc0ea411 to 24Q3-release

Change-Id: I2cccaca2030104839b328c7b760f52f0e3e16add
parents 7f1cb62b dc0ea411
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -42,6 +42,18 @@ interface IPackageManagerNative {
     */
    @utf8InCpp String[] getNamesForUids(in int[] uids);

    /**
     * Return the UID associated with the given package name.
     * Note that the same package will have different UIDs under different UserHandle on
     * the same device.
     * @param packageName The full name (i.e. com.google.apps.contacts) of the desired package.
     * @param flags Additional option flags to modify the data returned.
     * @param userId The user handle identifier to look up the package under.
     * @return Returns an integer UID who owns the given package name, or -1 if no such package is
     *            available to the caller.
     */
     int getPackageUid(in @utf8InCpp String packageName, in long flags, in int userId);

    /**
     * Returns the name of the installer (a package) which installed the named
     * package. Preloaded packages return the string "preload". Sideloaded packages
+0 −73
Original line number Diff line number Diff line
@@ -32,77 +32,4 @@
#include <linux/android/binder.h>
#include <sys/ioctl.h>

#ifndef BR_FROZEN_REPLY
// Temporary definition of BR_FROZEN_REPLY. For production
// this will come from UAPI binder.h
#define BR_FROZEN_REPLY _IO('r', 18)
#endif // BR_FROZEN_REPLY

#ifndef BINDER_FREEZE
/*
 * Temporary definitions for freeze support. For the final version
 * these will be defined in the UAPI binder.h file from upstream kernel.
 */
#define BINDER_FREEZE _IOW('b', 14, struct binder_freeze_info)

struct binder_freeze_info {
    //
    // Group-leader PID of process to be frozen
    //
    uint32_t pid;
    //
    // Enable(1) / Disable(0) freeze for given PID
    //
    uint32_t enable;
    //
    // Timeout to wait for transactions to drain.
    // 0: don't wait (ioctl will return EAGAIN if not drained)
    // N: number of ms to wait
    uint32_t timeout_ms;
};
#endif // BINDER_FREEZE

#ifndef BINDER_GET_FROZEN_INFO

#define BINDER_GET_FROZEN_INFO _IOWR('b', 15, struct binder_frozen_status_info)

struct binder_frozen_status_info {
    //
    // Group-leader PID of process to be queried
    //
    __u32 pid;
    //
    // Indicates whether the process has received any sync calls since last
    // freeze (cleared at freeze/unfreeze)
    // bit 0: received sync transaction after being frozen
    // bit 1: new pending sync transaction during freezing
    //
    __u32 sync_recv;
    //
    // Indicates whether the process has received any async calls since last
    // freeze (cleared at freeze/unfreeze)
    //
    __u32 async_recv;
};
#endif // BINDER_GET_FROZEN_INFO

#ifndef BR_ONEWAY_SPAM_SUSPECT
// Temporary definition of BR_ONEWAY_SPAM_SUSPECT. For production
// this will come from UAPI binder.h
#define BR_ONEWAY_SPAM_SUSPECT _IO('r', 19)
#endif // BR_ONEWAY_SPAM_SUSPECT

#ifndef BINDER_ENABLE_ONEWAY_SPAM_DETECTION
/*
 * Temporary definitions for oneway spam detection support. For the final version
 * these will be defined in the UAPI binder.h file from upstream kernel.
 */
#define BINDER_ENABLE_ONEWAY_SPAM_DETECTION _IOW('b', 16, __u32)
#endif // BINDER_ENABLE_ONEWAY_SPAM_DETECTION

#ifndef BR_TRANSACTION_PENDING_FROZEN
// Temporary definition of BR_TRANSACTION_PENDING_FROZEN until UAPI binder.h includes it.
#define BR_TRANSACTION_PENDING_FROZEN _IO('r', 20)
#endif // BR_TRANSACTION_PENDING_FROZEN

#endif // _BINDER_MODULE_H_
+11 −0
Original line number Diff line number Diff line
@@ -73,6 +73,17 @@ void ARpcServer_setSupportedFileDescriptorTransportModes(
        const ARpcSession_FileDescriptorTransportMode modes[],
        size_t modes_len);

// Sets the maximum number of threads that the Server will use for
// incoming client connections.
//
// This must be called before adding a client session. This corresponds
// to the number of incoming connections to RpcSession objects in the
// server, which will correspond to the number of outgoing connections
// in client RpcSession objects.
//
// If this is not specified, this will be a single-threaded server.
void ARpcServer_setMaxThreads(ARpcServer* server, size_t threads);

// Runs ARpcServer_join() in a background thread. Immediately returns.
void ARpcServer_start(ARpcServer* server);

+4 −0
Original line number Diff line number Diff line
@@ -167,6 +167,10 @@ void ARpcServer_setSupportedFileDescriptorTransportModes(
    server->setSupportedFileDescriptorTransportModes(modevec);
}

void ARpcServer_setMaxThreads(ARpcServer* handle, size_t threads) {
    handleToStrongPointer<RpcServer>(handle)->setMaxThreads(threads);
}

void ARpcServer_start(ARpcServer* handle) {
    handleToStrongPointer<RpcServer>(handle)->start();
}
+14 −0
Original line number Diff line number Diff line
@@ -147,6 +147,20 @@ impl RpcServerRef {
        }
    }

    /// Sets the max number of threads this Server uses for incoming client connections.
    ///
    /// This must be called before adding a client session. This corresponds
    /// to the number of incoming connections to RpcSession objects in the
    /// server, which will correspond to the number of outgoing connections
    /// in client RpcSession objects. Specifically this is useful for handling
    /// client-side callback connections.
    ///
    /// If this is not specified, this will be a single-threaded server.
    pub fn set_max_threads(&self, count: usize) {
        // SAFETY: RpcServerRef wraps a valid pointer to an ARpcServer.
        unsafe { binder_rpc_unstable_bindgen::ARpcServer_setMaxThreads(self.as_ptr(), count) };
    }

    /// Starts a new background thread and calls join(). Returns immediately.
    pub fn start(&self) {
        // SAFETY: RpcServerRef wraps a valid pointer to an ARpcServer.
Loading