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

Commit 61afd3f8 authored by Adam Lesinski's avatar Adam Lesinski
Browse files

batteryservice: add scheduleUpdate binder method

Allows a caller to force an update to occur, instead of waiting
for an event or timer timeout.
Test: None (interface change)
Bug: 32645990

Change-Id: I1c94f1bed34d5f4cfe8e7d50cca4e5391dac2d62
parent ed2debbb
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -27,6 +27,7 @@ enum {
    REGISTER_LISTENER = IBinder::FIRST_CALL_TRANSACTION,
    REGISTER_LISTENER = IBinder::FIRST_CALL_TRANSACTION,
    UNREGISTER_LISTENER,
    UNREGISTER_LISTENER,
    GET_PROPERTY,
    GET_PROPERTY,
    SCHEDULE_UPDATE,
};
};


class IBatteryPropertiesRegistrar : public IInterface {
class IBatteryPropertiesRegistrar : public IInterface {
@@ -36,6 +37,7 @@ public:
    virtual void registerListener(const sp<IBatteryPropertiesListener>& listener) = 0;
    virtual void registerListener(const sp<IBatteryPropertiesListener>& listener) = 0;
    virtual void unregisterListener(const sp<IBatteryPropertiesListener>& listener) = 0;
    virtual void unregisterListener(const sp<IBatteryPropertiesListener>& listener) = 0;
    virtual status_t getProperty(int id, struct BatteryProperty *val) = 0;
    virtual status_t getProperty(int id, struct BatteryProperty *val) = 0;
    virtual void scheduleUpdate() = 0;
};
};


class BnBatteryPropertiesRegistrar : public BnInterface<IBatteryPropertiesRegistrar> {
class BnBatteryPropertiesRegistrar : public BnInterface<IBatteryPropertiesRegistrar> {
+12 −0
Original line number Original line Diff line number Diff line
@@ -60,6 +60,12 @@ public:
                val->readFromParcel(&reply);
                val->readFromParcel(&reply);
            return ret;
            return ret;
        }
        }

        void scheduleUpdate() {
            Parcel data;
            data.writeInterfaceToken(IBatteryPropertiesRegistrar::getInterfaceDescriptor());
            remote()->transact(SCHEDULE_UPDATE, data, NULL);
        }
};
};


IMPLEMENT_META_INTERFACE(BatteryPropertiesRegistrar, "android.os.IBatteryPropertiesRegistrar");
IMPLEMENT_META_INTERFACE(BatteryPropertiesRegistrar, "android.os.IBatteryPropertiesRegistrar");
@@ -97,6 +103,12 @@ status_t BnBatteryPropertiesRegistrar::onTransact(uint32_t code,
            val.writeToParcel(reply);
            val.writeToParcel(reply);
            return OK;
            return OK;
        }
        }

        case SCHEDULE_UPDATE: {
            CHECK_INTERFACE(IBatteryPropertiesRegistrar, data, reply);
            scheduleUpdate();
            return OK;
        }
    }
    }
    return BBinder::onTransact(code, data, reply, flags);
    return BBinder::onTransact(code, data, reply, flags);
};
};