2 * Copyright (C) 2016 The Android Open Source Project
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
5 * except in compliance with the License. You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software distributed under the
10 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
11 * KIND, either express or implied. See the License for the specific language governing
12 * permissions and limitations under the License.
15 package com.android.settings.testutils;
17 import android.content.pm.ApplicationInfo;
18 import android.os.UserHandle;
21 * Helper for mocking installed applications.
23 public class ApplicationTestUtils {
25 * Create and populate an {@link android.content.pm.ApplicationInfo} object that describes an
28 * @param userId The user id that this app is installed for. Typical values are 0 for the
29 * system user and 10, 11, 12... for secondary users.
30 * @param packageName The app's package name.
31 * @param flags Flags describing the app. See {@link android.content.pm.ApplicationInfo#flags}
32 * for possible values.
34 * @see android.content.pm.ApplicationInfo
36 public static ApplicationInfo buildInfo(int userId, String packageName, int flags) {
37 final ApplicationInfo info = new ApplicationInfo();
38 info.uid = UserHandle.getUid(userId, 1);
39 info.packageName = packageName;