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

Commit 38b1f271 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make InputApplicationInfo as a part of InputApplicationHandle (1/2)"

parents 60e19367 7a0c39a5
Loading
Loading
Loading
Loading
+5 −12
Original line number Diff line number Diff line
@@ -50,19 +50,19 @@ struct InputApplicationInfo {
class InputApplicationHandle : public RefBase {
public:
    inline const InputApplicationInfo* getInfo() const {
        return mInfo;
        return &mInfo;
    }

    inline std::string getName() const {
        return mInfo ? mInfo->name : "<invalid>";
        return !mInfo.name.empty() ? mInfo.name : "<invalid>";
    }

    inline nsecs_t getDispatchingTimeout(nsecs_t defaultValue) const {
        return mInfo ? mInfo->dispatchingTimeout : defaultValue;
        return mInfo.token ? mInfo.dispatchingTimeout : defaultValue;
    }

    inline sp<IBinder> getApplicationToken() const {
        return mInfo ? mInfo->token : nullptr;
        return mInfo.token;
    }

    /**
@@ -75,18 +75,11 @@ public:
     * Returns true on success, or false if the handle is no longer valid.
     */
    virtual bool updateInfo() = 0;

    /**
     * Releases the storage used by the associated information when it is
     * no longer needed.
     */
    void releaseInfo();

protected:
    InputApplicationHandle();
    virtual ~InputApplicationHandle();

    InputApplicationInfo* mInfo;
    InputApplicationInfo mInfo;
};

} // namespace android
+1 −10
Original line number Diff line number Diff line
@@ -24,19 +24,10 @@ namespace android {

// --- InputApplicationHandle ---

InputApplicationHandle::InputApplicationHandle() :
    mInfo(nullptr) {
InputApplicationHandle::InputApplicationHandle() {
}

InputApplicationHandle::~InputApplicationHandle() {
    delete mInfo;
}

void InputApplicationHandle::releaseInfo() {
    if (mInfo) {
        delete mInfo;
        mInfo = nullptr;
    }
}

InputApplicationInfo InputApplicationInfo::read(const Parcel& from) {
+0 −2
Original line number Diff line number Diff line
@@ -3251,13 +3251,11 @@ void InputDispatcher::setFocusedApplication(
            if (oldFocusedApplicationHandle != inputApplicationHandle) {
                if (oldFocusedApplicationHandle != nullptr) {
                    resetANRTimeoutsLocked();
                    oldFocusedApplicationHandle->releaseInfo();
                }
                mFocusedApplicationHandlesByDisplay[displayId] = inputApplicationHandle;
            }
        } else if (oldFocusedApplicationHandle != nullptr) {
            resetANRTimeoutsLocked();
            oldFocusedApplicationHandle->releaseInfo();
            oldFocusedApplicationHandle.clear();
            mFocusedApplicationHandlesByDisplay.erase(displayId);
        }
+1 −4
Original line number Diff line number Diff line
@@ -340,10 +340,7 @@ public:
    virtual ~FakeApplicationHandle() {}

    virtual bool updateInfo() {
        if (!mInfo) {
            mInfo = new InputApplicationInfo();
        }
        mInfo->dispatchingTimeout = DISPATCHING_TIMEOUT;
        mInfo.dispatchingTimeout = DISPATCHING_TIMEOUT;
        return true;
    }
};