blob: 5f6ecb55101b4de7e8b4f6978a108a8aa74a0df2 [file] [log] [blame]
Sunny Goyal66f2b352018-02-09 10:57:12 -08001/*
2 * Copyright (C) 2018 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.launcher3;
18
19import android.content.Context;
20
Ryan Lothianfa530cd2018-10-12 14:14:16 -040021import com.android.launcher3.config.FeatureFlags;
Sunny Goyal3c431572020-01-27 16:43:03 -080022import com.android.launcher3.graphics.BitmapCreationCheck;
Sunny Goyal905262c2019-05-03 16:50:43 -070023import com.android.launcher3.graphics.IconShape;
Sunny Goyal66f2b352018-02-09 10:57:12 -080024import com.android.launcher3.logging.FileLog;
Sunny Goyal7f920b82018-06-27 15:47:49 -070025import com.android.launcher3.util.ResourceBasedOverride;
Sunny Goyal66f2b352018-02-09 10:57:12 -080026
27/**
28 * Utility class to handle one time initializations of the main process
29 */
Sunny Goyal7f920b82018-06-27 15:47:49 -070030public class MainProcessInitializer implements ResourceBasedOverride {
Sunny Goyal66f2b352018-02-09 10:57:12 -080031
32 public static void initialize(Context context) {
Sunny Goyal7f920b82018-06-27 15:47:49 -070033 Overrides.getObject(
Sunny Goyal66f2b352018-02-09 10:57:12 -080034 MainProcessInitializer.class, context, R.string.main_process_initializer_class)
35 .init(context);
36 }
37
38 protected void init(Context context) {
39 FileLog.setDir(context.getApplicationContext().getFilesDir());
Ryan Lothianfa530cd2018-10-12 14:14:16 -040040 FeatureFlags.initialize(context);
Sunny Goyal66f2b352018-02-09 10:57:12 -080041 SessionCommitReceiver.applyDefaultUserPrefs(context);
Sunny Goyal905262c2019-05-03 16:50:43 -070042 IconShape.init(context);
Sunny Goyal3c431572020-01-27 16:43:03 -080043
44 if (BitmapCreationCheck.ENABLED) {
45 BitmapCreationCheck.startTracking(context);
46 }
Sunny Goyal66f2b352018-02-09 10:57:12 -080047 }
48}