diff options
author | les_lee <les_lee@htc.com> | 2016-06-10 15:51:11 +0800 |
---|---|---|
committer | Aarthi Thiruvengadam <athiru@google.com> | 2016-06-20 08:59:16 -0700 |
commit | afaa38cf7e606a504bb5a8322dffdf57491f041c (patch) | |
tree | 18dee62ab717a454c40776435ffb010741d5c9e5 | |
parent | 839f30fd187474a7c8356e645125caca1d197533 (diff) | |
download | android_packages_apps_Nfc-afaa38cf7e606a504bb5a8322dffdf57491f041c.tar.gz android_packages_apps_Nfc-afaa38cf7e606a504bb5a8322dffdf57491f041c.tar.bz2 android_packages_apps_Nfc-afaa38cf7e606a504bb5a8322dffdf57491f041c.zip |
nfc: Clock up temporarily when doing NFC payment transaction
Provide user interaction hint during NFC payment transaction
to meet timing requirements.
Bug: 29039566
Change-Id: Ia57e2e1af547049258c11f3b427f72a97528c0e5
-rwxr-xr-x | AndroidManifest.xml | 3 | ||||
-rw-r--r-- | src/com/android/nfc/cardemulation/CardEmulationManager.java | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index eea72fd4..8cd16c70 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -53,6 +53,9 @@ <uses-permission android:name="com.android.permission.WHITELIST_BLUETOOTH_DEVICE" /> <uses-permission android:name="android.permission.DISPATCH_NFC_MESSAGE" /> <uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" /> + <uses-permission android:name="android.permission.DEVICE_POWER" /> + <uses-permission android:name="android.permission.USER_ACTIVITY" /> + <application android:name=".NfcApplication" android:icon="@drawable/icon" android:label="@string/app_name" diff --git a/src/com/android/nfc/cardemulation/CardEmulationManager.java b/src/com/android/nfc/cardemulation/CardEmulationManager.java index 73ed881a..5f1ff5b8 100644 --- a/src/com/android/nfc/cardemulation/CardEmulationManager.java +++ b/src/com/android/nfc/cardemulation/CardEmulationManager.java @@ -32,6 +32,8 @@ import android.nfc.cardemulation.NfcFCardEmulation; import android.os.Binder; import android.os.RemoteException; import android.os.UserHandle; +import android.os.PowerManager; +import android.os.SystemClock; import android.provider.Settings; import android.util.Log; @@ -75,6 +77,7 @@ public class CardEmulationManager implements RegisteredServicesCache.Callback, final Context mContext; final CardEmulationInterface mCardEmulationInterface; final NfcFCardEmulationInterface mNfcFCardEmulationInterface; + final PowerManager mPowerManager; public CardEmulationManager(Context context) { mContext = context; @@ -91,6 +94,7 @@ public class CardEmulationManager implements RegisteredServicesCache.Callback, context, mNfcFServicesCache, mT3tIdentifiersCache, this); mServiceCache.initialize(); mNfcFServicesCache.initialize(); + mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); } public INfcCardEmulation getNfcCardEmulationInterface() { @@ -103,6 +107,9 @@ public class CardEmulationManager implements RegisteredServicesCache.Callback, public void onHostCardEmulationActivated(int technology) { + if (mPowerManager != null) { + mPowerManager.userActivity(SystemClock.uptimeMillis(), PowerManager.USER_ACTIVITY_EVENT_TOUCH, 0); + } if (technology == NFC_HCE_APDU) { mHostEmulationManager.onHostEmulationActivated(); mPreferredServices.onHostEmulationActivated(); @@ -114,6 +121,9 @@ public class CardEmulationManager implements RegisteredServicesCache.Callback, } public void onHostCardEmulationData(int technology, byte[] data) { + if (mPowerManager != null) { + mPowerManager.userActivity(SystemClock.uptimeMillis(), PowerManager.USER_ACTIVITY_EVENT_TOUCH, 0); + } if (technology == NFC_HCE_APDU) { mHostEmulationManager.onHostEmulationData(data); } else if (technology == NFC_HCE_NFCF) { |