Merge lp:~ricotz/appcenter/optimizations into lp:~elementary-apps/appcenter/appcenter

Proposed by Rico Tzschichholz
Status: Work in progress
Proposed branch: lp:~ricotz/appcenter/optimizations
Merge into: lp:~elementary-apps/appcenter/appcenter
Diff against target: 180 lines (+29/-26)
5 files modified
src/Core/ChangeInformation.vala (+1/-1)
src/Core/Client.vala (+3/-3)
src/Core/Package.vala (+19/-16)
src/Views/FeaturedView.vala (+4/-4)
src/Widgets/AppCellRenderer.vala (+2/-2)
To merge this branch: bzr merge lp:~ricotz/appcenter/optimizations
Reviewer Review Type Date Requested Status
elementary Apps team Pending
Review via email: mp+309377@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

330. By Rico Tzschichholz

Retrieve matching Pk.Package only once when required

329. By Rico Tzschichholz

Avoid a bunch of string copying

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/Core/ChangeInformation.vala'
--- src/Core/ChangeInformation.vala 2016-10-07 17:44:50 +0000
+++ src/Core/ChangeInformation.vala 2016-10-26 18:22:34 +0000
@@ -48,7 +48,7 @@
48 return changes.size > 0;48 return changes.size > 0;
49 }49 }
5050
51 public string get_status_string () {51 public unowned string get_status_string () {
52 switch (status) {52 switch (status) {
53 case Pk.Status.SETUP:53 case Pk.Status.SETUP:
54 return _("Starting");54 return _("Starting");
5555
=== modified file 'src/Core/Client.vala'
--- src/Core/Client.vala 2016-10-26 12:59:05 +0000
+++ src/Core/Client.vala 2016-10-26 18:22:34 +0000
@@ -38,7 +38,7 @@
38 private Client () {38 private Client () {
39 appstream_pool.get_components ().foreach ((comp) => {39 appstream_pool.get_components ().foreach ((comp) => {
40 var package = new AppCenterCore.Package (comp);40 var package = new AppCenterCore.Package (comp);
41 foreach (var pkg_name in comp.get_pkgnames ()) {41 foreach (unowned string pkg_name in comp.get_pkgnames ()) {
42 package_list.set (pkg_name, package);42 package_list.set (pkg_name, package);
43 }43 }
44 });44 });
@@ -103,7 +103,7 @@
103 AppCenter.Task install_task = request_task ();103 AppCenter.Task install_task = request_task ();
104 AppCenter.Task search_task = request_task ();104 AppCenter.Task search_task = request_task ();
105 string[] packages_ids = {};105 string[] packages_ids = {};
106 foreach (var pkg_name in package.component.get_pkgnames ()) {106 foreach (unowned string pkg_name in package.component.get_pkgnames ()) {
107 packages_ids += pkg_name;107 packages_ids += pkg_name;
108 }108 }
109109
@@ -175,7 +175,7 @@
175 AppCenter.Task remove_task = request_task ();175 AppCenter.Task remove_task = request_task ();
176 AppCenter.Task search_task = request_task ();176 AppCenter.Task search_task = request_task ();
177 string[] packages_ids = {};177 string[] packages_ids = {};
178 foreach (var pkg_name in package.component.get_pkgnames ()) {178 foreach (unowned string pkg_name in package.component.get_pkgnames ()) {
179 packages_ids += pkg_name;179 packages_ids += pkg_name;
180 }180 }
181 packages_ids += null;181 packages_ids += null;
182182
=== modified file 'src/Core/Package.vala'
--- src/Core/Package.vala 2016-09-14 16:58:13 +0000
+++ src/Core/Package.vala 2016-10-26 18:22:34 +0000
@@ -39,6 +39,9 @@
39 public GLib.Cancellable action_cancellable { public get; private set; }39 public GLib.Cancellable action_cancellable { public get; private set; }
40 public State state { public get; private set; default = State.NOT_INSTALLED; }40 public State state { public get; private set; default = State.NOT_INSTALLED; }
4141
42 private Pk.Package? package = null;
43 private bool package_retrieved = false;
44
42 public double progress {45 public double progress {
43 get {46 get {
44 return change_information.progress;47 return change_information.progress;
@@ -183,13 +186,13 @@
183 }186 }
184 }187 }
185188
186 public string? get_name () {189 public unowned string? get_name () {
187 var _name = component.get_name ();190 unowned string _name = component.get_name ();
188 if (_name != null) {191 if (_name != null) {
189 return _name;192 return _name;
190 }193 }
191194
192 var package = find_package ();195 unowned Pk.Package? package = find_package ();
193 if (package != null) {196 if (package != null) {
194 return package.get_name ();197 return package.get_name ();
195 }198 }
@@ -197,13 +200,13 @@
197 return null;200 return null;
198 }201 }
199202
200 public string? get_summary () {203 public unowned string? get_summary () {
201 var summary = component.get_summary ();204 unowned string summary = component.get_summary ();
202 if (summary != null) {205 if (summary != null) {
203 return summary;206 return summary;
204 }207 }
205208
206 var package = find_package ();209 unowned Pk.Package? package = find_package ();
207 if (package != null) {210 if (package != null) {
208 return package.get_summary ();211 return package.get_summary ();
209 }212 }
@@ -211,7 +214,7 @@
211 return null;214 return null;
212 }215 }
213216
214 public string get_progress_description () {217 public unowned string get_progress_description () {
215 return change_information.get_status_string ();218 return change_information.get_status_string ();
216 }219 }
217220
@@ -265,7 +268,7 @@
265 }268 }
266269
267 public string? get_version () {270 public string? get_version () {
268 var package = find_package ();271 unowned Pk.Package? package = find_package ();
269 if (package != null) {272 if (package != null) {
270 string returned = package.get_version ();273 string returned = package.get_version ();
271 returned = returned.split ("+", 2)[0];274 returned = returned.split ("+", 2)[0];
@@ -281,21 +284,21 @@
281 return null;284 return null;
282 }285 }
283286
284 private Pk.Package? find_package (bool installed = false) {287 private unowned Pk.Package? find_package () {
285 if (component.id == OS_UPDATES_ID) {288 if (component.id == OS_UPDATES_ID) {
286 return null;289 return null;
287 }290 }
288291
292 if (package_retrieved)
293 return package;
294
289 try {295 try {
290 Pk.Bitfield filter = 0;296 package = AppCenterCore.Client.get_default ().get_app_package (component.get_pkgnames ()[0], 0LL);
291 if (installed) {
292 filter = Pk.Bitfield.from_enums (Pk.Filter.INSTALLED);
293 }
294
295 return AppCenterCore.Client.get_default ().get_app_package (component.get_pkgnames ()[0], filter);
296 } catch (Error e) {297 } catch (Error e) {
297 critical (e.message);298 critical (e.message);
298 return null;
299 }299 }
300
301 package_retrieved = true;
302 return package;
300 }303 }
301}304}
302305
=== modified file 'src/Views/FeaturedView.vala'
--- src/Views/FeaturedView.vala 2015-10-30 17:53:09 +0000
+++ src/Views/FeaturedView.vala 2016-10-26 18:22:34 +0000
@@ -46,8 +46,8 @@
46 Gdk.RGBA background_color = {0, 0, 0, 1};46 Gdk.RGBA background_color = {0, 0, 0, 1};
47 background_color.parse ("#3689e6");47 background_color.parse ("#3689e6");
48 Gdk.RGBA text_color = {1, 1, 1, 1};48 Gdk.RGBA text_color = {1, 1, 1, 1};
49 string title = "Apport";49 unowned string title = "Apport";
50 string subtitle = "Crash Reporting Tool";50 unowned string subtitle = "Crash Reporting Tool";
51 var icon = new ThemedIcon ("apport");51 var icon = new ThemedIcon ("apport");
52 var left_placeholder = new Widgets.FeaturedButton (background_color, text_color, title, subtitle, icon);52 var left_placeholder = new Widgets.FeaturedButton (background_color, text_color, title, subtitle, icon);
53 return left_placeholder;53 return left_placeholder;
@@ -57,8 +57,8 @@
57 Gdk.RGBA background_color = {0, 0, 0, 1};57 Gdk.RGBA background_color = {0, 0, 0, 1};
58 background_color.parse ("#999999");58 background_color.parse ("#999999");
59 Gdk.RGBA text_color = {1, 1, 1, 1};59 Gdk.RGBA text_color = {1, 1, 1, 1};
60 string title = "Database";60 unowned string title = "Database";
61 string subtitle = "It's grown up and professional";61 unowned string subtitle = "It's grown up and professional";
62 var icon = new ThemedIcon ("office-database");62 var icon = new ThemedIcon ("office-database");
63 var left_placeholder = new Widgets.FeaturedButton (background_color, text_color, title, subtitle, icon);63 var left_placeholder = new Widgets.FeaturedButton (background_color, text_color, title, subtitle, icon);
64 return left_placeholder;64 return left_placeholder;
6565
=== modified file 'src/Widgets/AppCellRenderer.vala'
--- src/Widgets/AppCellRenderer.vala 2015-11-17 18:35:04 +0000
+++ src/Widgets/AppCellRenderer.vala 2016-10-26 18:22:34 +0000
@@ -57,8 +57,8 @@
5757
58 /* render method */58 /* render method */
59 public override void render (Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) {59 public override void render (Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) {
60 var title = package.get_name ();60 unowned string title = package.get_name ();
61 var summary = package.get_summary ();61 unowned string summary = package.get_summary ();
6262
63 int x = background_area.x;63 int x = background_area.x;
64 int y = background_area.y + MARGIN;64 int y = background_area.y + MARGIN;

Subscribers

People subscribed via source and target branches