OSDN Git Service

Enable and Disable IMS Provisioning Based on Platform Capability am: c137050588
[android-x86/packages-apps-Settings.git] / tests / robotests / src / com / android / settings / testutils / ApplicationTestUtils.java
1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  *
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
6  *
7  *      http://www.apache.org/licenses/LICENSE-2.0
8  *
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.
13  */
14
15 package com.android.settings.testutils;
16
17 import android.content.pm.ApplicationInfo;
18 import android.os.UserHandle;
19
20 /**
21  * Helper for mocking installed applications.
22  */
23 public class ApplicationTestUtils {
24     /**
25      * Create and populate an {@link android.content.pm.ApplicationInfo} object that describes an
26      * installed app.
27      *
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.
33      *
34      * @see android.content.pm.ApplicationInfo
35      */
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;
40         info.flags = flags;
41         return info;
42     }
43 }