| Index: chrome/browser/ui/app_list/arc/arc_package_syncable_service.cc
 | 
| diff --git a/chrome/browser/ui/app_list/arc/arc_package_syncable_service.cc b/chrome/browser/ui/app_list/arc/arc_package_syncable_service.cc
 | 
| index 0efa35fa35e1cff7ba746552468dee7e80390cae..e4d462826d918013b88bb284bc71bd516e998c7b 100644
 | 
| --- a/chrome/browser/ui/app_list/arc/arc_package_syncable_service.cc
 | 
| +++ b/chrome/browser/ui/app_list/arc/arc_package_syncable_service.cc
 | 
| @@ -15,6 +15,7 @@
 | 
|  #include "components/sync/api/sync_change_processor.h"
 | 
|  #include "components/sync/api/sync_data.h"
 | 
|  #include "components/sync/api/sync_merge_result.h"
 | 
| +#include "components/sync/driver/pref_names.h"
 | 
|  #include "components/sync/driver/sync_prefs.h"
 | 
|  #include "components/sync/driver/sync_service.h"
 | 
|  #include "components/sync/protocol/sync.pb.h"
 | 
| @@ -72,6 +73,26 @@ std::unique_ptr<ArcSyncItem> CreateSyncItemFromPrefs(
 | 
|        package_info->last_backup_android_id, package_info->last_backup_time);
 | 
|  }
 | 
|  
 | 
| +bool ValidateEnableArcPackageSyncPref(Profile* profile) {
 | 
| +  PrefService* pref_service = profile->GetPrefs();
 | 
| +  // If device is set to sync everything, Arc package should be synced.
 | 
| +  if (pref_service->GetBoolean(sync_driver::prefs::kSyncKeepEverythingSynced))
 | 
| +    return true;
 | 
| +
 | 
| +  bool apps_sync_enable = pref_service->GetBoolean(
 | 
| +      sync_driver::SyncPrefs::GetPrefNameForDataType(syncer::APPS));
 | 
| +  // ArcPackage sync service is controlled by apps checkbox in sync settings.
 | 
| +  // Update ArcPackage sync setting pref if it is different from apps sync
 | 
| +  // setting pref.
 | 
| +  const char* arc_sync_path =
 | 
| +      sync_driver::SyncPrefs::GetPrefNameForDataType(syncer::ARC_PACKAGE);
 | 
| +  if (apps_sync_enable != pref_service->GetBoolean(arc_sync_path)) {
 | 
| +    pref_service->SetBoolean(arc_sync_path, apps_sync_enable);
 | 
| +  }
 | 
| +
 | 
| +  return apps_sync_enable;
 | 
| +}
 | 
| +
 | 
|  }  // namespace
 | 
|  
 | 
|  // ArcPackageSyncableService::SyncItem
 | 
| @@ -231,8 +252,8 @@ bool ArcPackageSyncableService::SyncStarted() {
 | 
|    sync_driver::SyncService* sync_service =
 | 
|        ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_);
 | 
|    // ArcPackage sync service is controlled by apps checkbox in sync settings.
 | 
| -  bool arc_package_sync_should_enable = profile_->GetPrefs()->GetBoolean(
 | 
| -      sync_driver::SyncPrefs::GetPrefNameForDataType(syncer::ARC_PACKAGE));
 | 
| +  bool arc_package_sync_should_enable =
 | 
| +      ValidateEnableArcPackageSyncPref(profile_);
 | 
|  
 | 
|    if (!sync_service || !arc_package_sync_should_enable)
 | 
|      return false;
 | 
| 
 |