@@ -137,7 +137,22 @@ public void removeUpdateAvailableListener(UpdateAvailableListener listener) {
137137 }
138138
139139 private void notifyOnUpdateAvailable (Flatpak .UpdateMonitor .UpdateAvailable signal ) {
140- UpdateAvailable updateAvailable = new UpdateAvailable ((String ) signal .update_info .get ("remote-commit" ).getValue ());
140+ String remoteCommit = "" ;
141+ Variant <?> remoteCommitVariant = signal .update_info .get ("remote-commit" );
142+ if (null != remoteCommitVariant ) {
143+ remoteCommit = (String ) remoteCommitVariant .getValue ();
144+ }
145+ String runningCommit = "" ;
146+ Variant <?> runningCommitVariant = signal .update_info .get ("running-commit" );
147+ if (null != runningCommitVariant ) {
148+ runningCommit = (String ) runningCommitVariant .getValue ();
149+ }
150+ String localCommit = "" ;
151+ Variant <?> localCommitVariant = signal .update_info .get ("local-commit" );
152+ if (null != localCommitVariant ) {
153+ localCommit = (String ) localCommitVariant .getValue ();
154+ }
155+ UpdateAvailable updateAvailable = new UpdateAvailable (runningCommit , localCommit , remoteCommit );
141156 for (UpdateAvailableListener listener : updateAvailableListeners ) {
142157 listener .onUpdateAvailable (updateAvailable );
143158 }
@@ -160,7 +175,27 @@ private void notifyOnUpdateProceeds(Flatpak.UpdateMonitor.Progress signal) {
160175 if (null != progressVariant ) {
161176 progress = ((UInt32 ) progressVariant .getValue ()).longValue ();
162177 }
163- Progress p = new Progress (status , progress );
178+ long nOps = -1 ;
179+ Variant <?> nOpsVariant = signal .info .get ("n_ops" );
180+ if (null != nOpsVariant ) {
181+ nOps = ((UInt32 ) nOpsVariant .getValue ()).longValue ();
182+ }
183+ long oP = -1 ;
184+ Variant <?> oPVariant = signal .info .get ("op" );
185+ if (null != oPVariant ) {
186+ oP = ((UInt32 ) oPVariant .getValue ()).longValue ();
187+ }
188+ String error = "" ;
189+ Variant <?> errorVariant = signal .info .get ("error" );
190+ if (null != errorVariant ) {
191+ error = (String ) errorVariant .getValue ();
192+ }
193+ String errorMessage = "" ;
194+ Variant <?> errorMessageVariant = signal .info .get ("error_message" );
195+ if (null != errorMessageVariant ) {
196+ errorMessage = (String ) errorMessageVariant .getValue ();
197+ }
198+ Progress p = new Progress (nOps , oP , status , progress , error , errorMessage );
164199 for (ProgressListener listener : progressListeners ) {
165200 listener .onProgress (p );
166201 }
0 commit comments