Add packet type "kdeconnect.share.request.update" to allow android to update the share notification
This commit is contained in:
parent
205eb8f497
commit
0f2a60065a
4 changed files with 22 additions and 1 deletions
|
@ -25,6 +25,7 @@
|
|||
#include <KJobTrackerInterface>
|
||||
#include "lanlinkprovider.h"
|
||||
#include <daemon.h>
|
||||
#include "plugins/share/shareplugin.h"
|
||||
|
||||
CompositeUploadJob::CompositeUploadJob(const QString& deviceId, bool displayNotification)
|
||||
: KCompositeJob()
|
||||
|
@ -40,6 +41,7 @@ CompositeUploadJob::CompositeUploadJob(const QString& deviceId, bool displayNoti
|
|||
, m_totalPayloadSize(0)
|
||||
, m_currentJob(nullptr)
|
||||
, m_prevElapsedTime(0)
|
||||
, m_updatePacketPending(false)
|
||||
{
|
||||
setCapabilities(Killable);
|
||||
|
||||
|
@ -205,6 +207,11 @@ bool CompositeUploadJob::addSubjob(KJob* job)
|
|||
|
||||
emitDescription(filename);
|
||||
|
||||
if (m_running && !m_updatePacketPending) {
|
||||
m_updatePacketPending = true;
|
||||
QMetaObject::invokeMethod(this, "sendUpdatePacket", Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
return KCompositeJob::addSubjob(job);
|
||||
} else {
|
||||
qCDebug(KDECONNECT_CORE) << "CompositeUploadJob::addSubjob() - you can only add UploadJob's, ignoring";
|
||||
|
@ -212,6 +219,16 @@ bool CompositeUploadJob::addSubjob(KJob* job)
|
|||
}
|
||||
}
|
||||
|
||||
void CompositeUploadJob::sendUpdatePacket() {
|
||||
NetworkPacket np(PACKET_TYPE_SHARE_REQUEST_UPDATE);
|
||||
np.set<int>(QStringLiteral("numberOfFiles"), m_totalJobs);
|
||||
np.set<quint64>(QStringLiteral("totalPayloadSize"), m_totalPayloadSize);
|
||||
|
||||
Daemon::instance()->getDevice(m_deviceId)->sendPacket(np);
|
||||
|
||||
m_updatePacketPending = false;
|
||||
}
|
||||
|
||||
bool CompositeUploadJob::doKill()
|
||||
{
|
||||
if (m_running) {
|
||||
|
|
|
@ -67,6 +67,7 @@ private:
|
|||
UploadJob *m_currentJob;
|
||||
QElapsedTimer m_timer;
|
||||
quint64 m_prevElapsedTime;
|
||||
bool m_updatePacketPending;
|
||||
|
||||
const static quint16 MIN_PORT = 1739;
|
||||
const static quint16 MAX_PORT = 1764;
|
||||
|
@ -80,6 +81,7 @@ private Q_SLOTS:
|
|||
void slotProcessedAmount(KJob *job, KJob::Unit unit, qulonglong amount);
|
||||
void slotResult(KJob *job) override;
|
||||
void startNextSubJob();
|
||||
void sendUpdatePacket();
|
||||
};
|
||||
|
||||
#endif //COMPOSITEUPLOADJOB_H
|
||||
|
|
|
@ -123,7 +123,8 @@
|
|||
"Website": "http://albertvaka.wordpress.com"
|
||||
},
|
||||
"X-KdeConnect-OutgoingPacketType": [
|
||||
"kdeconnect.share.request"
|
||||
"kdeconnect.share.request",
|
||||
"kdeconnect.share.request.update"
|
||||
],
|
||||
"X-KdeConnect-SupportedPacketType": [
|
||||
"kdeconnect.share.request"
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include <core/kdeconnectplugin.h>
|
||||
|
||||
#define PACKET_TYPE_SHARE_REQUEST QStringLiteral("kdeconnect.share.request")
|
||||
#define PACKET_TYPE_SHARE_REQUEST_UPDATE QStringLiteral("kdeconnect.share.request.update")
|
||||
|
||||
class SharePlugin
|
||||
: public KdeConnectPlugin
|
||||
|
|
Loading…
Reference in a new issue