PhoneApp

Differences between revisions 20 and 21
Revision 20 as of 2015-06-23 08:45:03
Size: 8666
Editor: jonas-drange
Comment:
Revision 21 as of 2015-07-03 12:47:03
Size: 8839
Editor: mpt
Comment: clarifies presence of summary values for call waiting and call forwarding
Deletions are marked like this. Additions are marked like this.
Line 20: Line 20:
Checking whether call waiting is off or on involves communicating with the carrier. And you can turn it off or on using the same SIM in another phone, so a cached value might not be correct after restarting the phone. Therefore, it should similarly have a screen to itself, to avoid making an unwanted call to the carrier merely because you opened a top-level System Settings category. And the current settings should be cached, and shown as a summary value — “Off” or “On” — for the “Call waiting” item on the “Phone” screen, ''only'' if you have visited the “Call waiting” screen since the last time the phone was turned on. Checking whether call waiting is off or on involves communicating with the carrier. And you can turn it off or on using the same SIM in another phone, so a cached value might not be correct after restarting the phone. Therefore, it should have a screen to itself, to avoid making an unwanted call to the carrier merely because you opened a top-level System Settings category. And if you have not visited that screen screen since the last time the phone was turned on, the “Call waiting” item on the “Phone” screen should not have a summary value. Once you have visited, the summary value should be “Off” or “On”. This value should be cached for if you return to the “Phone” screen later.
Line 37: Line 37:
Checking the current state for each of these types similarly involves communicating with the carrier. And you can turn them on or off using the same SIM in another phone, so a cached value might not be correct after restarting the phone. Therefore the current settings should be cached, and shown as a summary value for the “Call forwarding” item on the “Phone” screen “All calls” for CFU on, “Some calls” for CFU off but any other type on, or “Off” for none — ''only'' if you have visited the “Call forwarding” screen since the last time the phone was turned on. Checking the current state for each of these types similarly involves communicating with the carrier. And you can turn them on or off using the same SIM in another phone, so a cached value might not be correct after restarting the phone. Therefore, it should similarly have a screen to itself. And if you have not visited that screen screen since the last time the phone was turned on, the “Call forwarding” item on the “Phone” screen should not have a summary value. Once you have visited, the summary value should be “All calls” for CFU on, “Some calls” for CFU off but any other type on, or “Off” for none. This value should be cached for if you return to the “Phone” screen later.

Settings

phone-settings-phone.png

System Settings should have a top-level “Phone” category.

“Call forwarding” should come after “Call waiting”, because whether call waiting is turned on determines what effect “I’m on another call” (CFB) call forwarding has.

“Dialpad sounds” should be an exact mirror of the same setting in the “Sound” screen. For example, turning it on should play a quick sequence of three or four dialpad tones as a preview.

Call waiting

phone-settings-call-waiting-checking.png

phone-settings-call-waiting-on.png

Checking whether call waiting is off or on involves communicating with the carrier. And you can turn it off or on using the same SIM in another phone, so a cached value might not be correct after restarting the phone. Therefore, it should have a screen to itself, to avoid making an unwanted call to the carrier merely because you opened a top-level System Settings category. And if you have not visited that screen screen since the last time the phone was turned on, the “Call waiting” item on the “Phone” screen should not have a summary value. Once you have visited, the summary value should be “Off” or “On”. This value should be cached for if you return to the “Phone” screen later.

Call forwarding

(bug 1463828)

There are four types of call forwarding [1, 2]:

  • CFU (Call Forwarding Unconditional), which redirects every incoming call;

  • CFB (Busy), which redirects a second-or-subsequent call if you are not using call waiting, and a third-or-subsequent call if you are;

  • CFNRy (No Reply), which redirects a call if it rings but you don’t answer it; and

  • CFNRc (Not Reachable), which redirects if your phone is turned off or out of range.

phone-settings-call-forwarding-access.png

Checking the current state for each of these types similarly involves communicating with the carrier. And you can turn them on or off using the same SIM in another phone, so a cached value might not be correct after restarting the phone. Therefore, it should similarly have a screen to itself. And if you have not visited that screen screen since the last time the phone was turned on, the “Call forwarding” item on the “Phone” screen should not have a summary value. Once you have visited, the summary value should be “All calls” for CFU on, “Some calls” for CFU off but any other type on, or “Off” for none. This value should be cached for if you return to the “Phone” screen later.

phone-settings-call-forwarding-checking.png

phone-settings-call-forwarding-checking-failed.png

If the current status is not cached, when you enter the screen, each checkbox should initially be a spinner instead, while the phone communicates as necessary to find out the current status.

If the check fails (for example, because the phone network is unreachable), the spinners should be replaced by insensitive indeterminate checkboxes, with an extra caption in the error color appearing below the usual caption: “Call forwarding status can’t be checked right now. Try again later.”.

phone-settings-call-forwarding-every.png

phone-settings-call-forwarding-some.png

Whenever “Forward every incoming call” (CFU) is on, none of the other settings apply, so the checkboxes for those settings should be present (to show they exist) but insensitive (to show they can’t be changed at the moment) and unchecked (to show that they’re effectively off). When “Forward every incoming call” is off, the others should resume their previous state. Test case: Turn on “I’m on another call” and “I don’t answer”. Turn on “Forward every incoming call”; all the others should become unchecked and insensitive. Turn off “Forward every incoming call”; all the others should become sensitive, and “I’m on another call” and “I don’t answer” should resume being checked.

phone-settings-call-forwarding-number.png

For each call forwarding type, whenever its checkbox is checked, it should be followed by a “Forward to” field, defaulting to the last-used number for that forwarding type if any. If the field has just appeared as a result of you checking the preceding checkbox, it should be focused. And whenever a “Forward to” field is focused, either automatically or manually, the whole number OSK should appear, with a panel of “Contacts…”, “Cancel”, and “Set” buttons attached to it.

Choosing “Contacts…” should open a picker to choose, not a contact, but a specific number from a contact. If you do that, and the contact is not you, and the contact has a name, the “Forward to” field should display the photo (if any) and name of that contact. (1467816)

Similarly, if you enter a “Forward to” number manually and choose “Set”, and that number happens to match any of the numbers for any of your contacts, it should be displayed as the photo (if any) and title for the alphabetically first matching contact. If not, it should be shown as just the number. Either way, whenever you are editing it directly, it should be shown as just the number.

If you try to turn any call forwarding type on or off, and the change fails, an extra caption in the error color should appear below the controls for the usual caption: “Call forwarding can’t be changed right now.” If you had a cellular connection, this should be followed by “Contact {carrier name} for more information.”.

Integration of call forwarding with Contacts

phone-contacts-forwarding-change.png phone-contacts-forwarding-delete.png

In the Contacts app, whenever you finish changing any phone number for any contact (that is, when the field loses focus), and the previous phone number was the same as the call forwarding number, an alert should appear: “The number you’re changing is the same one you use for call forwarding. Do you want to change the call forwarding number to match?”. If you choose “Cancel”, the contact number should return to its previous value. (1467816)

Similarly, if you choose to delete a contact and one of its phone numbers is the call forwarding number, even if it isn’t the only contact containing that number (because you might have forgotten about any other one), an alert should appear: “The contact you’re deleting has the phone number you use for call forwarding. Do you want to change the call forwarding number now?”. If you choose “Cancel”, the contact should not be deleted. If you choose “Change Forwarding…”, the deletion should take effect, and the phone should then switch to the “Call forwarding” screen with the field focused for entering a new number. (1467816)

SIM services

phone-settings-phone-services.png phone-settings-phone-services-service.png

Whenever there is no SIM, the services item on the “Phone” screen should be insensitive.

Whenever there is a SIM that contains a carrier name, the services item should be labelled “{Name of Carrier} Services”; otherwise, “SIM Services”.

This should navigate to a screen with the same heading, consisting only of a list of available services.

Choosing a service should navigate to a screen with the name of the service as a header, the date and time you last used that service, and a “Call” button. Eventually this should instead be the same confirmation step as when you tap an auto-detected phone number in a Web page or text message.

PhoneApp (last edited 2016-05-25 15:33:12 by mpt)