Use function setLearnMoreAction instead of ClickableSpan in
NFC FooterPreference.
Bug: 226299551
Test: maunal test
Change-Id: I69c494b3e6fc92940d498d8be0c9ef5041b1bb3b
When there is no userhandle passed via Intent.EXTRA_USER,
use UserHandle.myUserId() instead.
Bug: 221561126
Test: set default payment in GPay app
Change-Id: I272aa6674b7a18523fe02fadeb4a502a67303ee7
Add a string in resource xml for the work app summary text in the
default payment selection list.
Bug: 202369556
Test: manual test
Change-Id: Iec3f4bd47c641f3226506a5c49f1601cb24f613a
Adjust notification string when selecting a work app.
Use NFC banner instead of app icon.
Bug: 202367033
Test: manual
Change-Id: I4f1094b8d48bb60716a2bf648dff593186d707aa
Use Intent.EXTRA_USER to pass the UserHandle as the extra field of
ACTION_CHANGE_DEFAULT.
Bug: 215300017
Test: manual
Change-Id: I8862ae509638c7c264f49c4bc5753a65e8fdcfbc
Re-design the UX.
Bug: 202367033
Test: maunal
make RunSettingsRoboTests ROBOTEST_FILTER=NfcForegroundPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=PaymentSettingsTest
Change-Id: I4c05ac4a1974645c76a37900d64aa8e1a491bca1
Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting T or later
registering a receiver for non-system broadcasts must specify either
the exported or not exported flag when invoking #registerReceiver;
if one of these flags is not provided, the platform will throw a
SecurityException. This commit updates all the exposed receivers
with a new RECEIVER_EXPORTED_UNAUDITED flag to maintain the existing
behavior of exporting the receiver while also flagging the receiver
for audit before the T release.
Bug: 161145287
Test: Build
Change-Id: Ie97372efebd8258d9a4c503771d55109a85e6ae9
Settings#PaymentDefaultDialog Could be Overlaid to Trick User into
Updating Default Payment App
Bug: 180104327
Test: build ok
Change-Id: Ia7786d05aae8e38a11bd73d02200640cb614e88a
Configure nfc payment settings based on different users.
Bug: 191851086
Bug: 191845397
Bug: 192994529
Test: nfc payment with 2nd user
make RunSettingsRoboTests
ROBOTEST_FILTER=DefaultPaymentSettingsPreferenceControllerTest
Change-Id: I52440e77b6b5837b978b381e1c1694d2b29f048e
Fix: 177967926
Fix: 177968295
Fix: 177967925
Fix: 177968078
Test: Run robotest and apply the widget in Settings and see the ui
Change-Id: Ie854de96e5495fa564fb8a097ed4547bbd2b10c5
To log Settings metrics, the MainSwitch extends MainSwitchBar and
replace the SwitchBar in SettingsActivity.
Bug: 175181773
Test: Run robotest and apply the widget in Settings and see the ui
Change-Id: I3add3702e9058ad9192b5172c7cf0e2ccfb55a70
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
Only PreferenceControllers with isPublicSlice() set to true are exposed
to other apps. Others will be Settings only.
Bug: 141088937
Test: robotests
Change-Id: I5934e89bc1b268fdd44acd630621fa46987728ff
- 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
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId
Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function
Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
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
1. String under SecureNfc should update immediately when NFC toggle
2. SecureNfc state should remain the same after NFC toggle
Bug: 129037278
Test: Toggle NFC/SecureNfc option and check behavior
Change-Id: I9cbac4951f0c70accd92c43fc62658cb5dbb5c9b
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
Secure NFC will permit NFC acitvity only when screen
is unlocked.
Bug: 117253725
Test: Manual; Toggle switch; check if HCE works with screen off
Change-Id: I9977d85065fc7ebca3ed4991ffa52fef0590cf90