~donadigo/appcenter/fix-app-installation

« back to all changes in this revision

Viewing changes to src/Core/Client.vala

  • Committer: RabbitBot
  • Author(s): donadigos159 at gmail
  • Date: 2016-07-12 15:49:07 UTC
  • mfrom: (235.1.7 appcenter)
  • Revision ID: rabbitbot-20160712154907-frltbdvkx4gp9rnw
- Rework action buttons frontend.
- Fix incorrect action label on update page.
- Remove unneded code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
143
143
        return exit_status;
144
144
    }
145
145
 
146
 
    public async void update_package (Package package, Pk.ProgressCallback cb, GLib.Cancellable cancellable) throws GLib.Error {
 
146
    public async Pk.Exit update_package (Package package, Pk.ProgressCallback cb, GLib.Cancellable cancellable) throws GLib.Error {
 
147
        Pk.Exit exit_status = Pk.Exit.UNKNOWN;
147
148
        SuspendControl sc = new SuspendControl ();
148
149
        AppCenter.Task update_task = request_task ();
149
150
        string[] packages_ids = {};
155
156
        try {
156
157
            sc.inhibit ();
157
158
            var results = yield update_task.update_packages_async (packages_ids, cancellable, cb);
158
 
            if (results.get_exit_code () != Pk.Exit.SUCCESS) {
 
159
            exit_status = results.get_exit_code ();
 
160
            if (exit_status != Pk.Exit.SUCCESS) {
159
161
                release_task (update_task);
160
162
                throw new GLib.IOError.FAILED (Pk.Exit.enum_to_string (results.get_exit_code ()));
161
163
            }
168
170
 
169
171
        yield refresh_updates ();
170
172
        release_task (update_task);
 
173
        return exit_status;
171
174
    }
172
175
 
173
 
    public async void remove_package (Package package, Pk.ProgressCallback cb, GLib.Cancellable cancellable) throws GLib.Error {
 
176
    public async Pk.Exit remove_package (Package package, Pk.ProgressCallback cb, GLib.Cancellable cancellable) throws GLib.Error {
 
177
        Pk.Exit exit_status = Pk.Exit.UNKNOWN;
174
178
        AppCenter.Task remove_task = request_task ();
175
179
        AppCenter.Task search_task = request_task ();
176
180
        string[] packages_ids = {};
187
191
                packages_ids += package.package_id;
188
192
            });
189
193
 
190
 
            yield remove_task.remove_packages_async (packages_ids, true, true, cancellable, cb);
 
194
            results = yield remove_task.remove_packages_async (packages_ids, true, true, cancellable, cb);
 
195
            exit_status = results.get_exit_code ();
191
196
        } catch (Error e) {
192
197
            release_task (search_task);
193
198
            release_task (remove_task);
197
202
        yield refresh_updates ();
198
203
        release_task (search_task);
199
204
        release_task (remove_task);
 
205
        return exit_status;
200
206
    }
201
207
 
202
208
    public async void get_updates () {
228
234
 
229
235
                    package.change_information.changes.add (pk_package);
230
236
                    package.change_information.details.add (pk_detail);
231
 
                    package.notify_property ("update-available");
 
237
                    package.update_state ();
232
238
                } catch (Error e) {
233
239
                    critical (e.message);
234
240
                }
252
258
            var package = package_list.get (pk_package.get_name ());
253
259
            if (package != null) {
254
260
                package.installed_packages.add (pk_package);
255
 
                package.notify_property ("installed");
 
261
                package.update_state ();
256
262
                packages.add (package);
257
263
            }
258
264
        }