Commit Graph

32 Commits

Author SHA1 Message Date
Toby Chuang
204fa8a420 [NFC] Add a picture under NFC settings to show NFC detection point.
Each smartphone has a different NFC antenna detection point,
users would confuse where the NFC antenna is and how to place the
smartphone close to the card reader/equipment.

Starting from Android R device, we move NFC antenna position from
top area to middle center of the phone.

From the OEMs perspective, they could implement their own picture
to indicate the best NFC detection point.Hence, we propose to
show NFC antenna position under NFC setting.

Bug: 142230563
Test: build pass
Change-Id: Ib3cd7fc3ea299be1667aba0aeebaa148fb49015f
2020-04-06 13:37:31 +08:00
Edgar Wang
0934babbfc Make the fragment title can’t searchable
we shouldn't take users so deep into the settings IA because it's easy
to feel lost in settings after clicking on a result without additional
context.

Bug: 143055215
Test: robotest & manual
Change-Id: I337cb5ead31e1e4e7bf9be78132e90630f83ee43
2020-02-06 19:07:11 +08:00
Yi-Ling Chuang
430c16c012 Make some existing slices public.
Only PreferenceControllers with isPublicSlice() set to true are exposed
to other apps. Others will be Settings only.

Bug: 141088937
Test: robotests
Change-Id: I5934e89bc1b268fdd44acd630621fa46987728ff
2019-11-28 14:32:15 +08:00
Sunny Shao
3526f666a8 Fix the display abnormal of Tap & pay screen in landscape mode
- Add a new layout for the landscape mode.
- Update the logic to show image when has no any visible preference.

Bug: 141559275
Test: manual view
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.nfc
Change-Id: Ib59ad3347e0635c07d61d557d75f8feaf78ff23c
2019-10-03 18:56:36 +08:00
George Chang
6ddff97414 Fix NFC state switched off every time user entered connection preferences page
NfcAirplaneModeObserver added a scenario that
switched NFC off every time  a user entered connection
preferences page if airplane mode was on.
Even when a user manually switched on NFC, the observer would still
turn NFC off when re-entering connection preferences page.

GSAM TS.27 certification requires NFC state to be consistent
under AirplaneMode before and after reboot the device.
NfcAirplaneModeObserver breaks the requirement
because it would always switch NFC off under airplane mode
when a user checked the NFC state in settings page.

Fix it by removing NfcAirplaneModeObserver.
Keep the NFC state consistent.


Bug:128384879
Test: make RunSettingsRoboTests / Check Nfc on/off Status
Change-Id: If4c8e47c2509b09e8bc1a464e1ab329b945e3d20
2019-06-06 17:53:02 +00:00
Fan Zhang
f36ca50ec7 Add slice uri to slice index db
And slightly refactored the SliceDataConverter to remove 1 reflection.

Bug: 126222433
Test: robotest
Change-Id: Ic5782bdd71f5c9cb77879a35de81dc61c01d1912
2019-05-30 16:47:31 -07:00
Matthew Fritze
9e50419c75 Remove NFC Slice jank
The NFC Slice would jank on enable and disable, because of the
intent filter it registered with SysUI. The intent filter would
broadcast an update for four states:
1) On
2) Off
3) Turning On
4) Turning off

The first two caused no problems. The third and fourth caused jank,
since when clicked, the switch in the NFC slice would turn on / off
asynchronously - that is, it turned on or off based on the previous
state of the switch, rather than on the actual value of NFC. It does
this to feel fluid in the app in which it is rendered.

From the off state, the order of events is:
1.  Switch clicked
2.  Switch animates on
2.  Background intent is fired to settings to turn on Nfc (happens at
       the same time as animation)
3.  Settings calls the NFC enable API
4.  A broadcast for Turning On is sent
5.  The receiver in SysUI gets the broadcast and forwards it to settings
6.  Settings tells the Slice to make sure it is up to date
7.  The Slice checks for the current value - IMPORTANTLY - which is
        currently off, it is only in the process of being enabled.
8.  The Slice flips back off
9.  Nfc finishes getting enabled in the background
10. The framework pushes the NFC ON broadcast
11. SysUI gets the broadcast, and forwards it to settings
12. Settings tells the slice to update
13. The slice checks again and finds that NFC is on, flipping on.

This CL creates a new background slice worker for NFC and registers
the intent filter there, rather than in SysUI. When the background
worker gets the broadcast, it checks if it is in state 3/4, and if so,
it drops the update silently.

Fixes: 115737701
Test: robotests
Change-Id: I17043828ad3a67a2a5acdf5c75d9cc51ff7e91d0
2019-02-26 08:20:38 -08:00
Ruchi Kandoi
aea07dc98a Add metric for Tap & Pay Foreground Setting
Bug: 111458041
Test: atest NfcForegroundPreferenceControllerTest
Change-Id: I090c223b65858535cc70e61820dc5d077de99a40
2019-01-11 15:21:16 -08:00
Ruchi Kandoi
8925004b51 Merge "Add support for FEATURE_NFC_ANDROID_BEAM" am: 6827785e52 am: 39845367ab
am: a7c886925f

Change-Id: I08ff3b1bd80e913aeec9800b1c5ddce69543ba3c
2019-01-04 14:19:23 -08:00
Ruchi Kandoi
b7251fa693 Add support for FEATURE_NFC_ANDROID_BEAM
Test: Check if app shows the Toggle switch
Bug: 117519147
Change-Id: I395653dd977dc9b149fc343b533d15df71affaf1
2018-12-18 16:08:43 -08:00
James Lemieux
f1dade40d2 Use binary resource support in robolectric
The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
2018-12-12 19:53:49 -08:00
Fan Zhang
cdf284b732 Make Settings robotest work with tot Robolectric
Bug: 116278591
Test: make -j RunSettingsRoboTests
Change-Id: I32cb2fcf6094675f79d2fc24702ef6298a9691e4
2018-10-31 17:59:17 -07:00
Philip P. Moltmann
e3f721132a RestrictedLockUtils was split into ...Internal
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.

This causes a lot of trivial code changes.

I also updated the ordering of the imports in all affected files.

Bug: 110953302
Test: Built
      make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
2018-08-30 08:11:39 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Aurimas Liutikas
b1af85d155 Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
2018-08-28 11:48:56 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Doris Ling
6776da1cad Do not turn on NFC automatically when airplane mode is off.
- besides checking the value for AIRPLANE_MODE_TOGGLEABLE_RADIOS, also
check the value for AIRPLANE_MODE_RADIOS to determine if we should turn
off NFC when airplane mode is on.
- when user turns off airplane mode, only re-enable the NFC preference
and do not enable NFC by default.
- remove listening to airplane mode directly from the android beam
preference controller, as it is already listening to Nfc state, which
handles the beam state already.

Change-Id: Id41fef15fb2de873729d20d7f53b1a88b164cf95
Fixes: 80217047
Test: make RunSettingsRoboTests
2018-06-13 13:44:15 -07:00
Andre Garivay
6d48242da7 Removed guest user access to Tap & Pay via Search.
Gathered user info to verify that user is not a guest. If user is a
guest (and only a guest: other alternate users may use the feature),
they are not allowed to load the nfc_payment_settings xml file.

Change-Id: I5700b9cd4b639b031b6d464827d16f4ea4cfa03f
Fixes: 80111261
Test: Robotests
2018-06-01 09:57:23 -07:00
Chihhang Chuang
6719a9b73e Refactor nfc preference controller
- Remove BaseNfcPreferenceController.
- NfcPreferenceController inherit from TogglePreferenceController.
- AndroidBeamPreferenceController inherit from BasePreferenceController.
- Override getIntentFilter in NfcPreferenceController to listen changes.
- Add an API (hasAsyncUpdate) into BasePreferenceController to
distinguish the setting which is updated asynchronously.

Change-Id: I1abe4410169e305a0d6106e24c54e7f2e763fc91
Merged-In: I7c9c48ea7f1ad01a02524beabf9d30baa3db891f
Fixes: 67997761
Fixes: 74887543
Test: RunSettingsRoboTests
2018-05-24 10:31:44 +08:00
Chihhang Chuang
3b387a028a Refactor nfc preference controller
- Remove BaseNfcPreferenceController.
- NfcPreferenceController inherit from TogglePreferenceController.
- AndroidBeamPreferenceController inherit from BasePreferenceController.
- Override getIntentFilter in NfcPreferenceController to listen changes.
- Add an API (hasAsyncUpdate) into BasePreferenceController to
distinguish the setting which is updated asynchronously.

Change-Id: I7c9c48ea7f1ad01a02524beabf9d30baa3db891f
Fixes: 67997761
Fixes: 74887543
Test: RunSettingsRoboTests
2018-05-23 13:58:28 +08:00
chiujason
ff244c0e40 Migrate PaymentSettings to DashboardFragment
- Move preference related logic to controllers.
- Add some test cases for controllers.

Test: manual
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.nfc
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.core
      atest SettingsGatewayTest UniquePreferenceTest
Change-Id: I061a194c170f63fab51974f26c24be43d67d6f6f
2018-04-30 17:24:58 -07:00
hjchangliao
98015e7c93 Merge "Make Nfc/Beam searchable based on feature availability" into pi-dev am: dc09b3ff49
am: f549cd1e05

Change-Id: Ied4f01787aec0cf8f261483e942615abd1889918
2018-04-25 10:23:11 -07:00
hjchangliao
1ff466675d Make Nfc/Beam searchable based on feature availability
Update logic of updateNonIndexableKeys,
in BaseNfcPreferenceController to fix issue.
Add robotest to avoid same problem.

Change-Id: I1de5324b5a7147ff58e3c366ee7e8cf858e3283c
Fixes: 78540155
Test: make RunSettingsRoboTests
2018-04-25 17:12:33 +00:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
HJ ChangLiao
b247311b2a Move BT, NFC out of Conntection pref
Move BT, NFC preference out of Connection Preference,
To Connected devices page.
Because NFC and Android Beam are controlled by the same controller,
Create each controller for those preference and leave the sharing part.

Change-Id: I8bc303a5f487de9c667487119b49e1e4130aa80c
Fixes: 72458929
Test: manually test, make RunSettingsRoboTests
2018-03-28 09:55:22 +08:00
James Lemieux
22a39c2b93 Use external/robolectric-shadows/run_robotests.mk
This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
2018-03-04 03:50:08 -08:00
Antony Sargent
2d4974a40b Show current setting for Tap & Pay
In Settings > Apps & notifications > Advanced > Default apps > Tap & pay
the setting labeled "Use default" is a drop down preference but wasn't
showing the current value it's set to in its summary. This CL fixes
that.

Change-Id: I891289abad781c3eeafa2d7979373f0d53faafc6
Fixes: 67754372
Test: make -j64 RunSettingsRoboTests
2018-01-17 11:30:45 -08:00
jeffreyhuang
cbfb099a40 Rename SDK_VERSION_O to SDK_VERSION
Test: make RunSettingsRoboTests -j40
Change-Id: I6715062d8addadda441e32809db1af55f15e3a90
2017-12-05 16:43:54 -08:00
jeffreyhuang
dada034269 move nfc test package to sdk 26
Test: make RunSettingsRoboTests -j40
Change-Id: I4c8c7045d0048bef1456d8bfe8b09892914bf651
2017-11-30 15:09:25 -08:00
Andrew Sapperstein
9f1e911759 Refactor test runner to use static list of resource paths
Previously everything lived in an inner class method of
SettingsRobolectricTestRunner. That method has now been turned into
a static method so that it can be called by other runners.

Bug: 62460102
Test: robotests
Change-Id: I6612b1f26404587301c534c8ba60e39d59d6c840
2017-06-09 09:21:26 -07:00
Fan Zhang
82be5f0c3f Misc fixes to search and UI.
- Use prefContext to create preference.
- rename "Gestures" to "Gesture shortcuts"
- Add search keyword to individual gesture settings so when search
  "gesture" they also show up.
- call super() for all getNonIndexableKeys() in search provider

Fix: 38327387
Fix: 36621897
Fix: 36685646
Test: make RunSettingsRoboTests

Change-Id: Ia5ddfeae08cb27c278dfb8d2376594e21d8f283c
2017-05-23 14:55:23 -07:00
Matthew Fritze
5e1ab7f974 Add tests for NonIndexableKeys in NFC payments
Also serves as an example for testing NIKs.

Test: make RunSettingsRoboTests
Fixes: 35931606, 35657617

Change-Id: Ia4de8ec3c508ceaa6573252ecd372b479b5ce815
2017-03-03 18:23:28 -08:00