# PackageInfoBuilder

# PackageInfoBuilder

Artifact:[androidx.test:core](https://developer.android.com/jetpack/androidx/releases/test)  
[View Source](https://cs.android.com/search?q=file:androidx/test/core/content/pm/PackageInfoBuilder.java+class:androidx.test.core.content.pm.PackageInfoBuilder)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/test/core/content/pm/PackageInfoBuilder "View this page in Java")

<br />

```
class PackageInfoBuilder
```

<br />

*** ** * ** ***

Builder for[PackageInfo](https://developer.android.com/reference/android/content/pm/PackageInfo.html).

## Summary

|                                                          ### Public functions                                                          |
|----------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [PackageInfoBuilder](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder)`!`               | [addRequestedPermission](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder#addRequestedPermission(java.lang.String,int))`(` ` requestedPermission: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`!,` ` requestedPermissionFlag: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) `)` Adds a requested permission and its flag for the app.                       |
| [PackageInfo](https://developer.android.com/reference/android/content/pm/PackageInfo.html)`!`                                          | [build](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder#build())`()` Returns a[PackageInfo](https://developer.android.com/reference/android/content/pm/PackageInfo.html)with the provided data.                                                                                                                                                                                                                                 |
| `java-static `[PackageInfoBuilder](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder)`!` | [newBuilder](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder#newBuilder())`()` Start building a new[PackageInfo](https://developer.android.com/reference/android/content/pm/PackageInfo.html).                                                                                                                                                                                                                                  |
| [PackageInfoBuilder](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder)`!`               | [setApplicationInfo](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder#setApplicationInfo(android.content.pm.ApplicationInfo))`(applicationInfo: `[ApplicationInfo](https://developer.android.com/reference/android/content/pm/ApplicationInfo.html)`!)` Sets the application info.                                                                                                                                               |
| [PackageInfoBuilder](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder)`!`               | [setPackageName](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder#setPackageName(java.lang.String))`(packageName: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`!)` Sets the package name.                                                                                                                                                                                                  |
| [PackageInfoBuilder](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder)`!`               | `@`[TargetApi](https://developer.android.com/reference/android/annotation/TargetApi.html)`(value = `[Build.VERSION_CODES.P](https://developer.android.com/reference/android/os/Build.VERSION_CODES.html#P)`)` [setVersionCode](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder#setVersionCode(long))`(longVersionCode: `[Long](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`)` Sets the version code. |
| [PackageInfoBuilder](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder)`!`               | [setVersionName](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder#setVersionName(java.lang.String))`(versionName: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`!)` Sets the version name.                                                                                                                                                                                                  |

## Public functions

### addRequestedPermission

```
fun addRequestedPermission(
    requestedPermission: String!,
    requestedPermissionFlag: Int
): PackageInfoBuilder!
```

Adds a requested permission and its flag for the app.

This can be called several times to add multiple permissions.  

|                                                               See also                                                               |
|--------------------------------------------------------------------------------------------------------------------------------------|---|
| [requestedPermissions](https://developer.android.com/reference/android/content/pm/PackageInfo.html#requestedPermissions())           |   |
| [requestedPermissionsFlags](https://developer.android.com/reference/android/content/pm/PackageInfo.html#requestedPermissionsFlags()) |   |

### build

```
fun build(): PackageInfo!
```

Returns a[PackageInfo](https://developer.android.com/reference/android/content/pm/PackageInfo.html)with the provided data.  

### newBuilder

```
java-static fun newBuilder(): PackageInfoBuilder!
```

Start building a new[PackageInfo](https://developer.android.com/reference/android/content/pm/PackageInfo.html).  

|                                                         Returns                                                          |
|--------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| [PackageInfoBuilder](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder)`!` | a new instance of[PackageInfoBuilder](https://developer.android.com/reference/kotlin/androidx/test/core/content/pm/PackageInfoBuilder). |

### setApplicationInfo

```
fun setApplicationInfo(applicationInfo: ApplicationInfo!): PackageInfoBuilder!
```

Sets the application info.

Default is`null`  

|                                                     See also                                                     |
|------------------------------------------------------------------------------------------------------------------|---|
| [applicationInfo](https://developer.android.com/reference/android/content/pm/PackageInfo.html#applicationInfo()) |   |

### setPackageName

```
fun setPackageName(packageName: String!): PackageInfoBuilder!
```

Sets the package name.

Default is`null`.  

|                                                 See also                                                 |
|----------------------------------------------------------------------------------------------------------|---|
| [packageName](https://developer.android.com/reference/android/content/pm/PackageInfo.html#packageName()) |   |

### setVersionCode

```
@TargetApi(value = Build.VERSION_CODES.P)
fun setVersionCode(longVersionCode: Long): PackageInfoBuilder!
```

Sets the version code.

On SDK P+, this value will be returned for both[getLongVersionCode](https://developer.android.com/reference/android/content/pm/PackageInfo.html#getLongVersionCode())and[versionCode](https://developer.android.com/reference/android/content/pm/PackageInfo.html#versionCode()). Note that the value of[versionCode](https://developer.android.com/reference/android/content/pm/PackageInfo.html#versionCode())will be truncated if a value larger than Integer.MAX_VALUE is provided.

Default is 0L.  

|                                                          See also                                                          |
|----------------------------------------------------------------------------------------------------------------------------|---|
| [setLongVersionCode](https://developer.android.com/reference/android/content/pm/PackageInfo.html#setLongVersionCode(long)) |   |
| [versionCode](https://developer.android.com/reference/android/content/pm/PackageInfo.html#versionCode())                   |   |

### setVersionName

```
fun setVersionName(versionName: String!): PackageInfoBuilder!
```

Sets the version name.

Default is`null`.  

|                                                 See also                                                 |
|----------------------------------------------------------------------------------------------------------|---|
| [versionName](https://developer.android.com/reference/android/content/pm/PackageInfo.html#versionName()) |   |