System Attachments Picker

Sometimes its not desirable for an app to have the READ_MEDIA_IMAGES and READ_MEDIA_VIDEO permissions. In this guide, we will explain how to set up the new useDefaultSystemMediaPicker parameter in the ChatTheme, why it is important, and how to remove permissions from the AndroidManifest.xml using tools:node="remove".

The importance of System Media Picker

The useDefaultSystemMediaPicker parameter allows you to use the system’s default media picker instead of the custom media picker provided by the library. This can be beneficial for several reasons:

  • Consistency: Provides a consistent user experience by using the familiar system media picker.
  • Permissions: Reduces the need for additional permissions, as the system media picker handles permissions internally.
  • Simplicity: Simplifies the implementation by leveraging the built-in functionality of the system media picker.

Setting Up System Media Picker

To enable the system media picker in ChatTheme, set the useDefaultSystemMediaPicker parameter to true when initializing the theme.

ChatTheme(
    useDefaultSystemMediaPicker = true
) {
    // Your composable content
}

Removing Permissions from your Project

Let’s remove the permissions from the AndroidManifest.xml.

When using the system media picker, you can remove unnecessary permissions from your AndroidManifest.xml to streamline your app’s permission requests. Use the tools:node="remove" attribute to remove permissions.

<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" tools:node="remove" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" tools:node="remove" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" tools:node="remove" />

By following these steps you can remove unnecessary permissions from your AndroidManifest.xml.

© Getstream.io, Inc. All Rights Reserved.