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

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

Snap for 13318191 from 9bf557f6 to 25Q4-release

Change-Id: I342075049ddb0ab030eb3320330bc0902f2178c6
parents 78732718 9bf557f6
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -28,10 +28,6 @@
      "name": "SurfaceFlinger_test",
      "keywords": [ "primary-device" ],
      "options": [
	// TODO(b/328119950) Known to be broken.
        {
          "exclude-filter": "LayerCallbackTest#SetNullBuffer"
        },
	// TODO(b/398306512) Flaky on real device.
        {
          "exclude-filter": "LayerRenderTypeTransactionTests/LayerRenderTypeTransactionTest#SetRelativeZBasic_BufferQueue/*"
+1 −1
Original line number Diff line number Diff line
@@ -1928,7 +1928,7 @@ Dumpstate::RunStatus Dumpstate::dumpstate() {
    // Add linker configuration directory
    ds.AddDir(LINKERCONFIG_DIR, true);

    /* Dump frozen cgroupfs */
    DumpFile("Cgroups", "/proc/cgroups");
    dump_frozen_cgroupfs();

    if (ds.dump_pool_) {
+8 −1
Original line number Diff line number Diff line
@@ -67,6 +67,13 @@ typedef struct ADisplayLuts ADisplayLuts;
 * therefore they don't take the ownership of the instance created by
 * \a ADisplayLutsEntry_create.
 *
 * 1D Lut(s) are treated as gain curves.
 * 3D Lut(s) are used for direct color manipulations.
 * The values of 3D Lut(s) data should be normalized to the range 0.0f
 * to 1.0f, inclusive. And 1.0f is the maximum panel luminance.
 * And 3D Lut(s) data is organized in RGB order
 * (R0, R1, R2, ..., RN, G0, G1, G2, ..., GN, B0, B1, B2, ..., BN) if N is the dimension.
 *
 * @param buffer The lut raw buffer. The function creates a copy of it and does not need to
 * outlive the life of the ADisplayLutsEntry.
 * @param length The length of lut raw buffer
@@ -132,7 +139,7 @@ const float* _Nonnull ADisplayLutsEntry_getBuffer(const ADisplayLutsEntry* _Nonn
/**
 * Creates a \a ADisplayLuts instance.
 *
 * You are responsible for mamanging the memory of the returned object.
 * You are responsible for managing the memory of the returned object.
 * Always call \a ADisplayLuts_destroy to release it after use. E.g., after calling
 * the function \a ASurfaceTransaction_setLuts.
 *
+5 −9
Original line number Diff line number Diff line
@@ -48,12 +48,8 @@ using future_result_t = typename future_result<T>::type;

struct ValueTag {};

template <typename, typename T, template <typename> class>
class BaseFuture;

template <typename Self, typename T>
class BaseFuture<Self, T, std::future> {
  using Impl = std::future<T>;
template <typename Self, typename T, template <typename> class FutureImpl = std::future>
class BaseFuture {

 public:
  Future<T, std::shared_future> share() {
@@ -61,7 +57,7 @@ class BaseFuture<Self, T, std::future> {
      return {ValueTag{}, std::move(*value)};
    }

    return std::get<Impl>(self()).share();
    return std::get<FutureImpl<T>>(self()).share();
  }

 protected:
@@ -70,7 +66,7 @@ class BaseFuture<Self, T, std::future> {
      return std::move(*value);
    }

    return std::get<Impl>(self()).get();
    return std::get<FutureImpl<T>>(self()).get();
  }

  template <class Rep, class Period>
@@ -79,7 +75,7 @@ class BaseFuture<Self, T, std::future> {
      return std::future_status::ready;
    }

    return std::get<Impl>(self()).wait_for(timeout_duration);
    return std::get<FutureImpl<T>>(self()).wait_for(timeout_duration);
  }

 private:
+27 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
#include <mutex>
#include <unistd.h>

#include <android/app/IProcessObserver.h>
#include <android/app/RunningAppProcessInfo.h>
#include <android/permission_manager.h>
#include <binder/ActivityManager.h>
#include <binder/Binder.h>
@@ -160,6 +162,31 @@ status_t ActivityManager::checkPermission(const String16& permission,
    return DEAD_OBJECT;
}

status_t ActivityManager::registerProcessObserver(const sp<app::IProcessObserver> observer) {
    sp<IActivityManager> service = getService();
    if (service != nullptr) {
        return service->registerProcessObserver(observer);
    }
    return INVALID_OPERATION;
}

status_t ActivityManager::unregisterProcessObserver(const sp<app::IProcessObserver> observer) {
    sp<IActivityManager> service = getService();
    if (service != nullptr) {
        return service->unregisterProcessObserver(observer);
    }
    return INVALID_OPERATION;
}

status_t ActivityManager::getRunningAppProcesses(
        ::std::vector<app::RunningAppProcessInfo>* output) {
    sp<IActivityManager> service = getService();
    if (service != nullptr) {
        return service->getRunningAppProcesses(output);
    }
    return INVALID_OPERATION;
}

status_t ActivityManager::linkToDeath(const sp<IBinder::DeathRecipient>& recipient) {
    sp<IActivityManager> service = getService();
    if (service != nullptr) {
Loading