blob: f27a38bc45a70e7e5a75eaccb54ec3eedcfdf04c [file] [log] [blame]
// Copyright 2017 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ARC_SETUP_ARC_READ_AHEAD_FILES_H_
#define ARC_SETUP_ARC_READ_AHEAD_FILES_H_
#include <array>
namespace arc {
// A list of files that should be fully read. The list is manually created based
// on an output of
// localhost ~ # ureadahead --dump /opt/google/containers/android/rootfs/root
// on veyron_minnie 9957.0.0. The files in the list meet all of the following:
// * Larger than 500KB.
// * More than ~80% of the file is read.
// * The mini instance does not load the file.
constexpr std::array<const char* const, 44> kImportantFilesN{{
"ArcDocumentsUI.apk",
"Bluetooth.apk",
"Bluetooth.odex",
"DownloadProvider.apk",
"ManagedProvisioning.apk",
"PrebuiltGmsCoreRelease.apk",
"PrintSpooler.apk",
"Settings.apk",
"Settings.odex",
"SettingsProvider.odex",
"StorageManager.apk",
"SystemUI.apk",
"SystemUI.odex",
"TelephonyProvider.apk",
"TelephonyProvider.odex",
"framework-res.apk",
"icudt56l.dat",
"libLLVM.so",
"libandroid_runtime.so",
"libarcbridge.so",
"libart-compiler.so",
"libart.so",
"libaudioflinger.so",
"libcameraservice.so",
"libchrome.so",
"libcrypto.so",
"libdng_sdk.so",
"libft2.so",
"libgui.so",
"libhwui.so",
"libicui18n.so",
"libicuuc.so",
"libmedia.so",
"libmediaplayerservice.so",
"libmojo.so",
"libskia.so",
"libsqlite.so",
"libstagefright.so",
"libstagefright_soft_aacenc.so",
"libstagefright_soft_hevcdec.so",
"libwayland_service.so",
"services.odex",
"tzdata",
"wifi-service.odex",
}};
constexpr std::array<const char* const, 70> kImportantFilesP{{
"ArcDocumentsUI.apk",
"ArcIntentHelper.apk",
"ArcSystemUI.apk",
"Bluetooth.apk",
"Bluetooth.vdex",
"GoogleCameraArc.apk",
"GoogleContactsSyncAdapterRelease.apk",
"PrintSpooler.apk",
"SettingsProvider.odex",
"android.hardware.audio.effect@2.0.so",
"android.hardware.audio.effect@4.0.so",
"android.hardware.audio@2.0.so",
"android.hardware.audio@4.0.so",
"android.hardware.gnss@1.0.so",
"android.hardware.media.omx@1.0.so",
"arc-services.odex",
"arc-services.vdex",
"camera.cheets.so",
"framework-res.apk",
"hardware.google.media.c2@1.0.so",
"icudt60l.dat",
"ip6tables-restore",
"iptables-restore",
"libandroid_runtime.so",
"libandroid_servers.so",
"libarcbridge.so",
"libart-compiler.so",
"libart.so",
"libaudioclient.so",
"libaudioflinger.so",
"libaudiopolicymanagerdefault.so",
"libbinder.so",
"libcameraservice.so",
"libchrome.so",
"libcrypto.so",
"libdng_sdk.so",
"libft2.so",
"libgui.so",
"libhidl-gen-utils.so",
"libhidltransport.so",
"libhwui.so",
"libicui18n.so",
"libicuuc.so",
"libinputflinger.so",
"libmedia.so",
"libmedia_jni.so",
"libmojo.so",
"libpdx_default_transport.so",
"libsqlite.so",
"libstagefright.so",
"libstagefright_codec2_vndk.so",
"libstagefright_omx.so",
"libstagefright_soft_aacenc.so",
"libstagefright_soft_hevcdec.so",
"libvintf.so",
"libwayland_service.so",
"libxml2.so",
"netd",
"org.apache.http.legacy.boot.odex",
"org.apache.http.legacy.boot.vdex",
"org.chromium.arc.mojom.odex",
"org.chromium.arc.mojom.vdex",
"services.art",
"services.odex",
"services.vdex",
"statsd",
"tzdata",
"wifi-service.odex",
"wifi-service.vdex",
"wificond",
}};
// A list of files that should be read up to |kDefaultReadAheadSize| bytes.
constexpr std::array<const char* const, 2> kImportantExtensions{
{".so", ".ttf"}};
} // namespace arc
#endif // ARC_SETUP_ARC_READ_AHEAD_FILES_H_