ReviewOS

also looking at this

craft-native/craft

fix(android): resolve share() with whether the person picked an app

#210
Merged glennmichael123 wants to merge fix/android-share-outcome into main
12 files +399 -56
packages/android/src/index.test.tsmodified+5-4
Changes to packages/android/src/index.test.ts
@@ -567,6 +567,7 @@ describe('Craft Android builder', () => {
567567 ['OTA download', '_craftOTADownloadResolve', 1],
568568 ['OTA apply', '_craftOTAApplyResolve', 1],
569569 ['OTA rollback', '_craftOTARollbackResolve', 1],
570 ['share', '_craftShareResolve', 1],
570571 ] as const) {
571572 const call = `window.__craftPromise('${channel}', '${resolver}',`
572573 expect(bridge.match(new RegExp(call.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'))?.length).toBe(uses)
@@ -581,12 +582,12 @@ describe('Craft Android builder', () => {
581582 const registrations = [...bridge.matchAll(
582583 /window\.__craftPromise\(\s*'([^']+)'\s*,\s*'([^']+)'\s*,\s*'([^']+)'/g,
583584 )].map(match => [match[1], match[2], match[3]] as const)
584 expect(registrations).toHaveLength(65)
585 expect(registrations).toHaveLength(66)
585586
586587 const uniqueRegistrations = new Map(
587588 registrations.map(registration => [registration.join('\0'), registration]),
588589 )
589 expect(uniqueRegistrations.size).toBe(46)
590 expect(uniqueRegistrations.size).toBe(47)
590591
591592 const channels = new Set<string>()
592593 const callbackOwners = new Map<string, string>()
@@ -599,8 +600,8 @@ describe('Craft Android builder', () => {
599600 callbackOwners.set(callback, channel)
600601 }
601602 }
602 expect(channels.size).toBe(46)
603 expect(callbackOwners.size).toBe(92)
603 expect(channels.size).toBe(47)
604 expect(callbackOwners.size).toBe(94)
604605 expect(bridge.match(/webView\.evaluateJavascript\(\s*"window\._craft[A-Za-z]+(?:Resolve|Reject)/g)).toBeNull()
605606 expect(bridge.match(/window\._craft[A-Za-z]+(?:Resolve|Reject) = (?:resolve|reject)/g)).toBeNull()
606607 expect(bridge).toContain('_craftShortcutsResolve({set: true, count: ${shortcuts.size}})')