Closed Bug 989704 Opened 7 years ago Closed 7 years ago

"visible to all' was disabled after turn off bluetooth and turn on again

Categories

(Firefox OS Graveyard :: Gaia::Settings, defect)

Other
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.0M+, b2g-v1.3T affected, b2g-v1.4 affected, b2g-v2.0 affected, b2g-v2.0M affected)

RESOLVED INVALID
blocking-b2g 2.0M+
Tracking Status
b2g-v1.3T --- affected
b2g-v1.4 --- affected
b2g-v2.0 --- affected
b2g-v2.0M --- affected

People

(Reporter: angelc04, Assigned: GaryChen)

References

Details

(Whiteboard: [sprd295223])

Attachments

(2 files)

Steps to reproduce
---------------------------------------------------------------------------
1. Launch Settings
2. Go to Settings-> Bluetooth
3. Enable Bluetooth and also enable "Visible to all"
4. Turn off Bluetooth
5. Enable bluetooth again
   --〉You will notice that "Visible to all" was disabled.

   [expected] we should also enable "Visible to all" if user enabled this setting before.

Test build
----------------------------------------------------------------------------
Gaia 14ef4fcdf9199f04f7678755c917dc77f51e13ba
Gecko https://hg.mozilla.org/releases/mozilla-b2g28_v1_3t/rev/b574a7967338
BuildID 20140329004002
Version 28.1
ro.build.version.incremental=70
ro.build.date=Fri Mar 28 06:17:40 CST 2014
Attached file BT.log
Attached adb log. test starts: 03-30 15:35:56.600
Flags: needinfo?(ttsai)
Flags: needinfo?(styang)
Hi Shawn, Can you help?
Flags: needinfo?(ttsai) → needinfo?(shuang)
This looks like Settings UI behaviors. ni Arthur.
Hi Arthur,
Is this preferable UX behavior?
Flags: needinfo?(shuang) → needinfo?(arthur.chen)
Though debug with nightly, I found that the root cause of the problem are as follows: (the code is in gaia/apps/settings/js/bluetooth.js)
1. when open the bluthtooth, will change the 'bluetooth.enabled' settings, and fire the settings.addObserver method.
2. in settings.adObserver method will call gDeviceList.update method,  in this method the visible to all checkbox value will get from the settings "bluetooth.visible"., if visible to all checkbox is true last time, and now is also this status: checked status. 
3. there are also a EventListener "adapteradded" in this file, when it fired, will call initDefaultAdapter method and futher call gDeviceInfo.initWithAdapter method. 
4. In the gDeviceInfo.initWithAdapter method, the code are 

     visibleCheckBox.checked = defaultAdapter.discoverable;

becase is defaultAdapter.discoverable is false, the visible to all checkbox change to unchecked. 

 And this bug happend.
Attachment #8447061 - Flags: review?(ejchen)
Hi yon.ren, 

thanks for your patch first, but because there is no nominating flag on this patch, can you try to get 1.3t+ first if you really want to land this patch ? Thanks for the help ! 

After doing so, please feel free to set r? flag to us again ! 

thanks !!
Flags: needinfo?(styang)
Flags: needinfo?(arthur.chen)
Whiteboard: [sprd295223]
blocking-b2g: --- → 1.3T?
1.3t+ please.
Flags: needinfo?(wchang)
Flags: needinfo?(ryang)
Echoing Shawn's comment, I suspect this is preferable UX?
Flags: needinfo?(wchang) → needinfo?(ofeng)
From UX POV, "Visible to all" should not change states after turning off and then turning on BT.
Flags: needinfo?(ofeng)
Although the builds from v1.3 to master all keep the bluetooth visibility state after toggling bluetooth, IMHO which does not make sense to me as it is regarding privacy issues.
Joe, could you please take a look on this, and decide if we would like to plus this one? 
Looks like we already have a patch and need a reviewer. Thanks.
Flags: needinfo?(ryang)
user impact is low, moving this to 1.4?
blocking-b2g: 1.3T? → 1.4?
This is the expected behavior. Nominate to master for the fix.
blocking-b2g: 1.4? → 2.1?
Summary: [tarako] "visible to all' was disabled after turn off bluetooth and turn on again → [tarako][dolphin]"visible to all' was disabled after turn off bluetooth and turn on again
2.1 behaves as described by reporter, so clearing 2.1? flag.
blocking-b2g: 2.1? → ---
[Blocking Requested - why for this release]:
blocking-b2g: --- → 2.1?
(In reply to Arthur Chen [:arthurcc] (PTO 9/17 ~ 9/23) from comment #9)
> Although the builds from v1.3 to master all keep the bluetooth visibility
> state after toggling bluetooth, IMHO which does not make sense to me as it
> is regarding privacy issues.

It seems that I did not notice this comment. This is huge! I think this bug is a privacy issue and need to be resolved, being visible makes attackers track and footprint user appearance, this is why most of OS has this visibility protection.
I don't think this issue is acceptable.
Remove tarako/dolphin tag, it's a general issue.
Summary: [tarako][dolphin]"visible to all' was disabled after turn off bluetooth and turn on again → "visible to all' was disabled after turn off bluetooth and turn on again
We're evaluating this in triage, and are not clear.

It seems the expected behavior in comment #0 would be a privacy issue. Behavior of "visible to all" is often only temporary and requires explicit user action to enable *each time*.

However, did the nature of the bug change? Can you clarify exactly what the STR and privacy issue are?
Flags: needinfo?(shuang)
Ok, maybe "privacy" is not correct wording. Bluetooth visibility usually is disabled by default.
Right now, even Bluetooth visibility disabled, when you turn off bluetooth and turn on bluetooth. Being visible makes attackers track and footprint user appearance, this is why most of OS has this visibility protection, it's just most well-known and basic Bluetooth security mechanism.
Flags: needinfo?(shuang)
STR:
1. Turn on Bluetooth (right now visibility is enabled automatically) 
2. Disable Visibility
3. Turn off/turn on again
4. Visibility is enabled automatically

User doesn't change Visibility setting, but system automatically enabled it.
I'm sorry this is different bug as I mentioned in Comment 19 and it's different from Comment#0, sorry about it.
Hi Evelyn, This bug is also found in Woodduck. Could you please review the patch and see whether we can fix in master?
Blocks: Woodduck
Flags: needinfo?(gchen)
Flags: needinfo?(ehung)
Hi Hubert, QAwanted for Flame 2.0. Thanks!
blocking-b2g: --- → 2.0M+
Flags: needinfo?(hlu)
Keywords: qawanted
No longer blocks: Woodduck
Duplicate of this bug: Woodduck
Hi Young,
   Since v2.0+ and we need to fit our schedule, so I take it first if you really want to finish this patch please feel free to take it back.
  Thanks.
Assignee: nobody → gchen
Flags: needinfo?(gchen) → needinfo?(yong.ren)
(In reply to GaryChen [:GaryChen][:PYChen][:陳柏宇] from comment #24)
> Hi Young,
>    Since v2.0+ and we need to fit our schedule, so I take it first if you
> really want to finish this patch please feel free to take it back.
>   Thanks.

I have no require to finish it, Help yourself please.
Flags: needinfo?(yong.ren)
This could be reproduced on Flame v2.0.

== Build Information - Flame ==
Gaia-Rev        94638b51a5a5d513e26247e9b207aa54e7bb0568
Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g32_v2_0/rev/bc9e3fa37e63
Build ID        20141008160201
Version         32.0
Device Name     flame
FW-Release      4.4.2
FW-Incremental  27
FW-Date         Thu Sep  4 14:59:02 CST 2014
Bootloader      L1TC10011800
Flags: needinfo?(hlu)
Keywords: qawanted
Hi all,
   After investigating, it is by design.
   Please refer to below link, settings will close bluetooth visibility automatically after 2mins for security concern.
   
   https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/js/bluetooth.js#L194

   We all agree this design let user confuse but we won't improve this issue in this phase, on the other hand our UX team need more time to investigate. So I will filed another bug for tracking and close it first.

   Thanks.
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: needinfo?(ehung)
Resolution: --- → INVALID
Duplicate of this bug: 1091518
You need to log in before you can comment on or make changes to this bug.