OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/app_list/arc/arc_package_syncable_service.h" | 5 #include "chrome/browser/ui/app_list/arc/arc_package_syncable_service.h" |
6 | 6 |
7 #include <unordered_set> | 7 #include <unordered_set> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 list.emplace_back(GetSyncDataFromSyncItem(item.second.get())); | 195 list.emplace_back(GetSyncDataFromSyncItem(item.second.get())); |
196 | 196 |
197 return list; | 197 return list; |
198 } | 198 } |
199 | 199 |
200 syncer::SyncError ArcPackageSyncableService::ProcessSyncChanges( | 200 syncer::SyncError ArcPackageSyncableService::ProcessSyncChanges( |
201 const tracked_objects::Location& from_here, | 201 const tracked_objects::Location& from_here, |
202 const syncer::SyncChangeList& change_list) { | 202 const syncer::SyncChangeList& change_list) { |
203 if (!sync_processor_.get()) { | 203 if (!sync_processor_.get()) { |
204 return syncer::SyncError(FROM_HERE, syncer::SyncError::DATATYPE_ERROR, | 204 return syncer::SyncError(FROM_HERE, syncer::SyncError::DATATYPE_ERROR, |
205 "Arc package syncable service is not started.", | 205 "ARC package syncable service is not started.", |
206 syncer::ARC_PACKAGE); | 206 syncer::ARC_PACKAGE); |
207 } | 207 } |
208 | 208 |
209 for (const auto& change : change_list) { | 209 for (const auto& change : change_list) { |
210 VLOG(2) << this << " Change: " | 210 VLOG(2) << this << " Change: " |
211 << change.sync_data().GetSpecifics().arc_package().package_name() | 211 << change.sync_data().GetSpecifics().arc_package().package_name() |
212 << " (" << change.change_type() << ")"; | 212 << " (" << change.change_type() << ")"; |
213 | 213 |
214 if (change.change_type() == SyncChange::ACTION_ADD || | 214 if (change.change_type() == SyncChange::ACTION_ADD || |
215 change.change_type() == SyncChange::ACTION_UPDATE) { | 215 change.change_type() == SyncChange::ACTION_UPDATE) { |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 sync_processor_->ProcessSyncChanges(FROM_HERE, | 334 sync_processor_->ProcessSyncChanges(FROM_HERE, |
335 syncer::SyncChangeList(1, sync_change)); | 335 syncer::SyncChangeList(1, sync_change)); |
336 | 336 |
337 sync_items_[package_name] = std::move(sync_item); | 337 sync_items_[package_name] = std::move(sync_item); |
338 } | 338 } |
339 | 339 |
340 bool ArcPackageSyncableService::ProcessSyncItemSpecifics( | 340 bool ArcPackageSyncableService::ProcessSyncItemSpecifics( |
341 const sync_pb::ArcPackageSpecifics& specifics) { | 341 const sync_pb::ArcPackageSpecifics& specifics) { |
342 const std::string& package_name = specifics.package_name(); | 342 const std::string& package_name = specifics.package_name(); |
343 if (package_name.empty()) { | 343 if (package_name.empty()) { |
344 VLOG(2) << "Add/Update Arc package item with empty package name"; | 344 VLOG(2) << "Add/Update ARC package item with empty package name"; |
345 return false; | 345 return false; |
346 } | 346 } |
347 | 347 |
348 SyncItemMap::const_iterator iter = sync_items_.find(package_name); | 348 SyncItemMap::const_iterator iter = sync_items_.find(package_name); |
349 if (iter != sync_items_.end()) { | 349 if (iter != sync_items_.end()) { |
350 // TODO(lgcheng@) may need to create update exsiting package logic here. | 350 // TODO(lgcheng@) may need to create update exsiting package logic here. |
351 return true; | 351 return true; |
352 } | 352 } |
353 | 353 |
354 SyncItemMap::const_iterator pending_iter = | 354 SyncItemMap::const_iterator pending_iter = |
355 pending_install_items_.find(package_name); | 355 pending_install_items_.find(package_name); |
356 if (pending_iter != pending_install_items_.end()) { | 356 if (pending_iter != pending_install_items_.end()) { |
357 // TODO(lgcheng@) may need to create update pending install package | 357 // TODO(lgcheng@) may need to create update pending install package |
358 // logic here. | 358 // logic here. |
359 return true; | 359 return true; |
360 } | 360 } |
361 | 361 |
362 std::unique_ptr<ArcSyncItem> sync_item( | 362 std::unique_ptr<ArcSyncItem> sync_item( |
363 CreateSyncItemFromSyncSpecifics(specifics)); | 363 CreateSyncItemFromSyncSpecifics(specifics)); |
364 pending_install_items_[package_name] = std::move(sync_item); | 364 pending_install_items_[package_name] = std::move(sync_item); |
365 InstallPackage(pending_install_items_[package_name].get()); | 365 InstallPackage(pending_install_items_[package_name].get()); |
366 return true; | 366 return true; |
367 } | 367 } |
368 | 368 |
369 bool ArcPackageSyncableService::DeleteSyncItemSpecifics( | 369 bool ArcPackageSyncableService::DeleteSyncItemSpecifics( |
370 const sync_pb::ArcPackageSpecifics& specifics) { | 370 const sync_pb::ArcPackageSpecifics& specifics) { |
371 const std::string& package_name = specifics.package_name(); | 371 const std::string& package_name = specifics.package_name(); |
372 if (package_name.empty()) { | 372 if (package_name.empty()) { |
373 VLOG(2) << "Delete Arc package item with empty package name"; | 373 VLOG(2) << "Delete ARC package item with empty package name"; |
374 return false; | 374 return false; |
375 } | 375 } |
376 | 376 |
377 SyncItemMap::const_iterator delete_iter = | 377 SyncItemMap::const_iterator delete_iter = |
378 pending_install_items_.find(package_name); | 378 pending_install_items_.find(package_name); |
379 // Ignore this this delete sync change. Package is pending uninstall. | 379 // Ignore this this delete sync change. Package is pending uninstall. |
380 if (delete_iter != pending_install_items_.end()) { | 380 if (delete_iter != pending_install_items_.end()) { |
381 pending_install_items_.erase(delete_iter); | 381 pending_install_items_.erase(delete_iter); |
382 return true; | 382 return true; |
383 } | 383 } |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 | 434 |
435 bool ArcPackageSyncableService::ShouldSyncPackage( | 435 bool ArcPackageSyncableService::ShouldSyncPackage( |
436 const std::string& package_name) const { | 436 const std::string& package_name) const { |
437 std::unique_ptr<ArcAppListPrefs::PackageInfo> package( | 437 std::unique_ptr<ArcAppListPrefs::PackageInfo> package( |
438 prefs_->GetPackage(package_name)); | 438 prefs_->GetPackage(package_name)); |
439 DCHECK(package.get()); | 439 DCHECK(package.get()); |
440 return package->should_sync; | 440 return package->should_sync; |
441 } | 441 } |
442 | 442 |
443 } // namespace arc | 443 } // namespace arc |
OLD | NEW |