feat(release): close handler and microphone gaps

This commit is contained in:
key
2026-07-30 12:01:45 +08:00
parent 8934f13811
commit c16a3e83d7
30 changed files with 830 additions and 49 deletions
@@ -1,6 +1,9 @@
let activePlatformFileSelections = 0;
let activePlatformPermissionActivities = 0;
export const isPlatformFileSelectionActive = () => activePlatformFileSelections > 0;
export const isPlatformNativeActivityActive = () =>
activePlatformFileSelections > 0 || activePlatformPermissionActivities > 0;
export const withPlatformFileSelection = async <T>(select: () => Promise<T>): Promise<T> => {
activePlatformFileSelections += 1;
@@ -10,3 +13,12 @@ export const withPlatformFileSelection = async <T>(select: () => Promise<T>): Pr
activePlatformFileSelections = Math.max(0, activePlatformFileSelections - 1);
}
};
export const withPlatformPermissionActivity = async <T>(request: () => Promise<T>): Promise<T> => {
activePlatformPermissionActivities += 1;
try {
return await request();
} finally {
activePlatformPermissionActivities = Math.max(0, activePlatformPermissionActivities - 1);
}
};