fix(expo-plugin): add check for existing service in AndroidManifest for notification controls (#4172)
* fix: add check for existing VideoPlaybackService in AndroidManifest * Update src/expo-plugins/withNotificationControls.ts Co-authored-by: Seyed Mostafa Hasani <seyedmostafahassani@gmail.com> * fix: comment spacing --------- Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com> Co-authored-by: Seyed Mostafa Hasani <seyedmostafahassani@gmail.com>
This commit is contained in:
parent
e57c7bda5d
commit
0538b3b468
@ -24,6 +24,19 @@ export const withNotificationControls: ConfigPlugin<boolean> = (
|
|||||||
application.service = [];
|
application.service = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We check if the VideoPlaybackService is already defined in the AndroidManifest.xml
|
||||||
|
// to prevent adding duplicate service entries. If the service exists, we will remove
|
||||||
|
// it before adding the updated configuration to ensure there are no conflicts or redundant
|
||||||
|
// service declarations in the manifest.
|
||||||
|
const existingServiceIndex = application.service.findIndex(
|
||||||
|
(service) =>
|
||||||
|
service?.$?.['android:name'] ===
|
||||||
|
'com.brentvatne.exoplayer.VideoPlaybackService',
|
||||||
|
);
|
||||||
|
if (existingServiceIndex !== -1) {
|
||||||
|
application.service.splice(existingServiceIndex, 1);
|
||||||
|
}
|
||||||
|
|
||||||
application.service.push({
|
application.service.push({
|
||||||
$: {
|
$: {
|
||||||
'android:name': 'com.brentvatne.exoplayer.VideoPlaybackService',
|
'android:name': 'com.brentvatne.exoplayer.VideoPlaybackService',
|
||||||
|
Loading…
Reference in New Issue
Block a user