summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xAndroidManifest.xml3
-rw-r--r--src/com/android/nfc/cardemulation/CardEmulationManager.java10
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) {