Closed Bug 887663 Opened 7 years ago Closed 6 years ago

[User Story] Receiving contact as a VCARD via Bluetooth

Categories

(Firefox OS Graveyard :: Gaia::Contacts, defect, P1)

x86
macOS
defect

Tracking

(blocking-b2g:koi+)

RESOLVED FIXED
blocking-b2g koi+

People

(Reporter: wmathanaraj, Assigned: fcampo)

References

Details

(Keywords: feature, Whiteboard: [TEF][UCID:Comms4, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=2][Sprint 3])

Attachments

(2 files, 2 obsolete files)

User Story:

As a user I want to be prompted if a different device tries to connect via BT and want to be able to pair with the device and then return to receiving the VCARD from the sending device.
As a user I want to be able to accept or reject a VCARD that is sent via BT to me. As a user I want the content of the VCARD to be stored in a way that contacts app can read and display the details in its app.

Preconditions:

* Receiving device has BT turned on
* Sending and receiving devices have BT capability
* Contacts app can read and store and display VCARD

Acceptance Criteria:

* If received file is not correct VCARD format then user must be informed of the issues
* User must be informed of a successful reception/storing of a VCARD
* User must be prompted in order to accept the reception of a VCARD
See bug 887534 for the sender side.

On the receiver side

 - pair with sender device, if necessary;
 - ask user to accept incoming file transfer for VCARD file;
 - the device storage can determine the mime type and run the Contacts app;
 - which reads the VCARD file and stores the contained information.

I think we do something similar with multimedia files already.
A Pivotal Tracker story has been created for this Bug: http://www.pivotaltracker.com/story/show/52538253
David Scravaglieri deleted the linked story in Pivotal Tracker
Depends on: 889306
(In reply to Thomas Zimmermann [:tzimmermann] [:tdz] from comment #1)
> See bug 887534 for the sender side.
> 
> On the receiver side
> 
>  - pair with sender device, if necessary;
>  - ask user to accept incoming file transfer for VCARD file;
>  - the device storage can determine the mime type and run the Contacts app;
>  - which reads the VCARD file and stores the contained information.
> 
> I think we do something similar with multimedia files already.

Yes, Thomas is right. This function has been already done in terms of Gecko Bluetooth, please see my comment at bug 823492 comment 3. So the only thing we have to do to complete this user story is let Contacts app be able to be automatically launched when the user taps the "file transfer complete" notification item on system tray (Of course the transferred file has to be a VCard). Just like how Gallery and Music app do right now.
Whiteboard: [ucid:Comms4] → [ucid:Comms4], [u=commsapps-user c=contacts p=0]
listed as must have in v1.2 for COMM team. koi+
blocking-b2g: koi? → koi+
Flags: in-moztrap?
MozTrap #9046
Flags: in-moztrap? → in-moztrap+
Whiteboard: [ucid:Comms4], [u=commsapps-user c=contacts p=0] → [ucid:Comms4 KOI:P1], [u=commsapps-user c=contacts p=0]
Assignee: nobody → noef
Whiteboard: [ucid:Comms4 KOI:P1], [u=commsapps-user c=contacts p=0] → [UCID:Comms4, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0]
Assignee: noef → nobody
Whiteboard: [UCID:Comms4, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0] → [TEF][UCID:Comms4, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0]
I guess here we will need visual again in the contacts apps, at least to give feedback about the operation.
Whiteboard: [TEF][UCID:Comms4, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0] → [TEF][UCID:Comms4, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0][Sprint 2]
Attached file FFOS_ContactsExport_20130801_V1.0.pdf (obsolete) —
Wireframe release:

__RELEASE NOTE__

new wireframes
- none

updated wireframes
- none

deleted wireframes
- none

new flows
- Send via Bluetooth : Single VCard
- Send via Bluetooth : Multiple VCards
- Receive via Bluetooth : VCard

updated flows
- none

deleted flows
- none
Attached file FFOS_ContactsV1.2_20130805_V2.0.pdf (obsolete) —
wireframe solution for bug
pages 8 is the relevant pages in document
QA Contact: rafael.marquez
PLease find visual for recieving a Vcard via Bluetooth here: 
https://www.dropbox.com/sh/6gzll2t6xssp61m/jUg-A3Hwc8

Victoria
Whiteboard: [TEF][UCID:Comms4, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0][Sprint 2] → [TEF][UCID:Comms4, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0][Sprint 3]
FFOS_ContactsExport_20130801_V1.0.pdf

Wireframe release:

__RELEASE NOTE__

new wireframes
- none

updated wireframes
- none

deleted wireframes
- none

new flows
- none

updated flows
Receive via Bluetooth : VCard
- incorrect layers in source file being turned off and on resulted in incorrect flow being published in last release.

deleted flows
- none
Attachment #784940 - Attachment is obsolete: true
Attachment #785751 - Attachment is obsolete: true
Assignee: nobody → fernando.campo
Blocks: 823492
Just as an update, receiving a single vcard with only one contact in it is almost done, now that 896982 is solved.

Only doubt right now is the proper process when we receive a vcard with multiple contacts on it, as the current flow shown on the wireframes wouldn't work the same for it. 
But we can open a followup bug for this specific use case.

NI Ayman for this matter
Whiteboard: [TEF][UCID:Comms4, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0][Sprint 3] → [TEF][UCID:Comms4, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=2][Sprint 3]
Attachment #796703 - Flags: review?(francisco.jordano)
As the Bluetooth app already takes care of the transfer, I think that the visuals from Victoria no longer applies to this bug (focused on the importing process).

For this, I decided to mimic the 'Import from sdcard' use case from Contacts app. Meaning, when Bluetooth recognizes a VCard, it calls an inline activity to import contacts from it.
Contacts app shows an overlay to notify the user about the number of contacts being imported and the progress, and shows a warning in case of an error. At the end of the importing, a status label is shown with the total number of contacts imported, and the contact app shows the details of the new contact (first imported in case of multiple contacts in the vcard)
Comment on attachment 796703 [details] [review]
Link to PR - https://github.com/mozilla-b2g/gaia/pull/11813

Almost, pretty close to the perfect solution, just need to improve the following:

- Extract the vcard import functionality used in settings and this PR to have just a single point.
- Move the launch of the process outside of the activity handling.

You already have those things in mind, so sure will be easy for you. Also can give you a hand on this.

Asking Tim Dream for reviewing the system part, perhaps Tim or any other person working in bluetooth can take a look to that.
Attachment #796703 - Flags: review?(timdream)
Attachment #796703 - Flags: review?(francisco.jordano)
Attachment #796703 - Flags: review-
Comment on attachment 796703 [details] [review]
Link to PR - https://github.com/mozilla-b2g/gaia/pull/11813

The system app part looks fine because I don't know if there is a better way to do it.
Attachment #796703 - Flags: review?(timdream) → review+
Comment on attachment 796703 [details] [review]
Link to PR - https://github.com/mozilla-b2g/gaia/pull/11813

PR updated with suggestions and tests.

Sadly we can't merge the settings code with this, as they do "almost" the same things, but with different outcomes, so we should have them in different places, even if the code is 90% the same. It makes me sad too.
Attachment #796703 - Flags: review- → review?
Attachment #796703 - Flags: review? → review?(francisco.jordano)
Comment on attachment 796703 [details] [review]
Link to PR - https://github.com/mozilla-b2g/gaia/pull/11813

\o/ awesome!

Great job Fernando.
Attachment #796703 - Flags: review?(francisco.jordano) → review+
Despite de travis crash, failing tests are non related to the PR, so merging anyway:
on master 8b6a2452cbf0c3458581d929d4ebf77a53ea0b07
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Awesome! Thank you. Now I may finally switch to FFOS.
All the issues related to Receiving contacts via Bluetooth will be gathered in Bug 915254.
Depends on: 925858
Attachment mime type: text/plain → text/x-github-pull-request
The only pending bug about this US has been verified, so will verify also the US.
Status: RESOLVED → VERIFIED
Sorry my bad, there is still one bug still open: Bug 915191 Resolved as duplicate of bug 918748 which is still as New.
When tapping on the successful filed received notification, it is till missing the file details screen described in the Wfs instead, the contact list is shown directly.
Status: VERIFIED → RESOLVED
Closed: 7 years ago6 years ago
Blocks: 1087402
You need to log in before you can comment on or make changes to this bug.