Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,738,867 Members 41,410 Now Online
XDA Developers Android and Mobile Development Forum

Let's get Tap to Pay working on Tmobile/AT&T 4.4

Tip us?
 
derekedw
Old
(Last edited by derekedw; 28th February 2014 at 08:46 PM.)
#1  
Senior Member - OP
Thanks Meter 36
Posts: 384
Join Date: Feb 2008
Default Let's get Tap to Pay working on Tmobile/AT&T 4.4

I would like this thread dedicated to simply working through suggestions and trials to get this working. I went ahead and reverted to 4.2, rooted, and then upgraded to 4.4 again, so I'm rooted on KK now. I did some digging, compared to CM11 and some research from the android development site.

Here's what I've done and the results:

1)
Found the system\etc\nfc folder on the d800 ROM 4.4
Here's what's in the config:


<?xml version="1.0" encoding="EUC-KR" standalone="no" ?>
<Configure>
<Config operator="" country="" device="">
<!-- INITVALUE, three_toggleV1L, three_toggleV2L, three_toggleV2C, two_toggleN, two_toggleL -->
<!-- three_toggleV1L_tonedown, three_toggleV2L_tonedown, three_toggleV2C_tonedown, two_toggleN_tonedown, two_toggleL_tonedown -->
<IndicatorType> two_toggleN </IndicatorType>
<IndicatorType TargetModel="zee"> two_toggleN_tonedown </IndicatorType>

<!-- INITVALUE, usevibrate, onlyndefdiscovered -->
<RingSoundScenarioType> INITVALUE </RingSoundScenarioType>

<!-- INITVALUE, stay, update -->
<WCScenarioEnable> INITVALUE </WCScenarioEnable>

<!-- INITVALUE, icsjb -->
<OSComparabilityType> INITVALUE </OSComparabilityType>

<!-- INITVALUE, uicc, ese -->
<SecureElementType> uicc </SecureElementType>

<!--INITVALUE, googlenative, directbeam, directbeam_mtkbt, mtkbt, WPSHandover, autoapplaunch (overlap possible (divide "," sign)) -->
<HandoverSupportType> googlenative </HandoverSupportType>

<!-- INITVALUE, off, offp2p, oncardrwp2p, oncard, oncardrw, oncardp2p, onrwp2p, open -->
<DefaultOnOffType> oncardrwp2p </DefaultOnOffType>

<!-- INITVALUE, vzw, gsma -->
<PopupDialogType> gsma </PopupDialogType>

<!-- INITVALUE, all, rwp2p -->
<PowerSaveType> INITVALUE </PowerSaveType>

<!-- INITVALUE, egw, gw, st, egwst, gwst -->
<SupportWalletType> INITVALUE </SupportWalletType>

<!--apply Access Control routine, verifying access right to the apk through Access Control Manager-->
<AccessControlEnable> true </AccessControlEnable> <!-- default value is true -->
<TransactionAIDEnable> false </TransactionAIDEnable>

<!--apply Execution Environment routing according to screen state
in SCREEN_LOCK/SCREEN_OFF, card mode is disabled.
this feature has dependency with isis/sequent wallet.-->
<NfcEERoutingEnable> false </NfcEERoutingEnable>

<DisableInPowerOffEnable> false </DisableInPowerOffEnable>

<!--control feasibility of CE mode in Low power mode (after power-off)
if 'true', card emulation mode is still available even after the phone is powered-off.
if 'false', card emulation doesn't work anymore until the phone is powered-up again.-->
<CardEnableInPowerOff> true </CardEnableInPowerOff> <!-- default value is true -->

<!--extracts card mode activation process from initialization process during init/de-init process,
card mode is not controlled separately. card mode enabler looses card mode control.
so far, google wallet only needs this feature-->
<AsyncCardControlEnable> true </AsyncCardControlEnable>

<!--MUST BE APPLIED to all LGE NFC devices-->
<VendorStablePatch> true </VendorStablePatch> <!-- default value is true -->

<!--P2P receive function enabled/disabled together with RW enabled/disabled
google scenario is, NDEF push and get are controlled seperately.
so, "true" shoud be strongly recommended except for specific scenario-->
<RwP2pServerSyncEnable> true </RwP2pServerSyncEnable> <!-- default value is true -->

<!--this feature is for beam ui finish when alart UI(Calling, Alarm etc..)-->
<BeamUIFinishwhenAlertUIView> true </BeamUIFinishwhenAlertUIView> <!-- default value is true -->

<!--enable se-broadcasting only for NFC-permitted(NFC_PERM) applications
this feature came from ISIS requirement. so, the model requiring ISIS certi, should apply this feature-->
<PermittedSeBroadcastEnable> true </PermittedSeBroadcastEnable> <!-- default value is true -->

<!--NFC Empty Tag popup Dialog Scenario for ORG when Positve/Negative Detection,
PopupDialog will be display and offer link to play store-->
<EmptyPopupSupport> false </EmptyPopupSupport>

<!--Lock Screen Polling Enable Feature.-->
<LockScreenPollingEnable> false </LockScreenPollingEnable>

<NotifyonlyValidTag> true </NotifyonlyValidTag> <!-- default value is true -->

<SePatchEnabled> false </SePatchEnabled>

<TagLongTimePopupSupport> false </TagLongTimePopupSupport>

<!-- feature for nxp stack library -->
<!-- determine which HCI event type is supported INITVALUE, rffieldoff (EVT_FIELD_ON/OFF events not supported) -->
<HCIEventConfig> INITVALUE </HCIEventConfig>

<!-- apply volatile card configuration -->
<VolatileCardModeEnable> false </VolatileCardModeEnable>

<!-- B' type among UICC CE types is enable/disable -->
<UICCBPrimeEnable> false </UICCBPrimeEnable>
</Config>
</Configure>


I changed this from false to true

<AsyncCardControlEnable> true </AsyncCardControlEnable>

I rebooted, and nothing, Google wallet still said it wasn't supported.

2)
On the android dev site, I found that android.hardware.nfc.hce.xml is required for tap to pay to work, so I checked a CM11 ROM and found it, but it was missing from the LG ROM so I then copied it to the system\etc\permissions folder, set proper permissions and rebooted.


Checked Wallet and BOOM, Tap and Pay available, so I activated it. When I went to lunch, I stopped by a store and tried it and NOTHING. Very sad There's also no settings GUI to configure it like AOSP has, but Google Wallet shows it activated.


3) Found the config_US.xml in the system\etc\nfc folder on the LG ROM:

<?xml version="1.0" encoding="EUC-KR" standalone="no" ?>
<Configure>
<!-- AT&T / United States -->
<!-- T-Mobile / United States -->
<Config operator="" country="US" device="">
</Config>
<!-- Sprint / United States -->
<Config operator="SPR" country="US" device="">
<SecureElementType> ese </SecureElementType>
<AccessControlEnable> true </AccessControlEnable>
<PermittedSeBroadcastEnable> true </PermittedSeBroadcastEnable>
</Config>
<!-- Verizon / United States -->
<Config operator="VZW" country="US" device="">
<WCScenarioEnable> update </WCScenarioEnable>
<DefaultOnOffType> offp2p </DefaultOnOffType>
<RingSoundScenarioType> usevibrate </RingSoundScenarioType>
<PopupDialogType> vzw </PopupDialogType>
<NfcEERoutingEnable> true </NfcEERoutingEnable>
</Config>
</Configure>


Did not change anything here, but I'm thinking that Sprint has a config probably to enable tap to pay while ATT/TMO do not. Verizon obviously has something going on there too.

I'm going to change the config from SPR to ATT and see what happens.

Any other ideas?
Attached Files
File Type: zip android.hardware.nfc.hce.zip - [Click for QR Code] (657 Bytes, 8 views)
File Type: zip config.zip - [Click for QR Code] (1.8 KB, 8 views)
File Type: zip config_US.zip - [Click for QR Code] (464 Bytes, 8 views)
Sporting the AT&T LG G3 running KitKat Stock Rooted.
The Following 6 Users Say Thank You to derekedw For This Useful Post: [ Click to Expand ]
 
derekedw
Old
#2  
Senior Member - OP
Thanks Meter 36
Posts: 384
Join Date: Feb 2008
Okay after the last change, here's what I got:

See Attached

But when I press it, I get a settings FC.
Attached Thumbnails
Click image for larger version

Name:	Screenshot_2014-02-28-14-49-12.png
Views:	425
Size:	242.5 KB
ID:	2606336  
Sporting the AT&T LG G3 running KitKat Stock Rooted.
The Following User Says Thank You to derekedw For This Useful Post: [ Click to Expand ]
 
derekedw
Old
#3  
Senior Member - OP
Thanks Meter 36
Posts: 384
Join Date: Feb 2008
Here's the logcat from when the settings FC:



[ 02-28 15:27:26.055 953: 1554 I/ActivityManager ]

START u0 {act=android.intent.action.MAIN cmp=com.android.settings/.nfc.aymentSettingsActivity} from pid 9568



[ 02-28 15:27:26.055 9568: 9568 E/AndroidRuntime ]

FATAL EXCEPTION: main

Process: com.lge.settings.easy, PID: 9568

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.settings/com.android.settings.nfc.aymentSettingsActivity}; have you declared this activity in your AndroidManifest.xml?

at android.app.Instrumentation.checkStartActivityResu lt(Instrumentation.java:1628)

at android.app.Instrumentation.execStartActivity(Inst rumentation.java:1424)

at android.app.Activity.startActivityForResult(Activi ty.java:3468)

at android.app.Activity.startActivityForResult(Activi ty.java:3429)

at android.app.Activity.startActivity(Activity.java:3 671)

at android.app.Activity.startActivity(Activity.java:3 639)

at android.preference.Preference.performClick(Prefere nce.java:970)

at android.preference.PreferenceScreen.onItemClick(Pr eferenceScreen.java:215)

at android.widget.AdapterView.performItemClick(Adapte rView.java:299)

at android.widget.AbsListView.performItemClick(AbsLis tView.java:1158)

at android.widget.AbsListView$PerformClick.run(AbsLis tView.java:2957)

at android.widget.AbsListView$3.run(AbsListView.java: 3849)

at android.os.Handler.handleCallback(Handler.java:733 )

at android.os.Handler.dispatchMessage(Handler.java:95 )

at android.os.Looper.loop(Looper.java:136)

at android.app.ActivityThread.main(ActivityThread.jav a:5105)

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:515)

at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:786)

at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:602)

at dalvik.system.NativeStart.main(Native Method)
Sporting the AT&T LG G3 running KitKat Stock Rooted.
The Following User Says Thank You to derekedw For This Useful Post: [ Click to Expand ]
 
diamond12
Old
(Last edited by diamond12; 20th March 2014 at 12:17 AM.) Reason: Add image
#4  
Senior Member
Thanks Meter 51
Posts: 216
Join Date: Nov 2012
So the D800 wallet fix works on the D801 but 2 of the files are already in the T-Mobile D801 firmware, and actually one doesn't have the T-Mobile Isis entry, so I'm guessing Isis will stop working if the fix is applied. If someone doesn't want to reflash and is already rooted, in addition to changing the entry in the OP they have to:
  1. Switch settings to list view so that it doesn't crash when opening the Tap & Pay option
  2. Copy android.hardware.nfc.hce.xml from the D800 fix to /system/etc/permissions (I used ES file explorer)
I can't find the D800 wallet fix post to link to it. Not sure if it was removed. This is the thread.
Thanks to AndroidUser00110001 for his Wallet fix.
Attached Thumbnails
Click image for larger version

Name:	Screenshot_2014-03-10-20-15-52.png
Views:	255
Size:	136.0 KB
ID:	2624301   Click image for larger version

Name:	Screenshot_2014-03-10-20-16-29.png
Views:	251
Size:	183.1 KB
ID:	2624302   Click image for larger version

Name:	Screenshot_2014-03-10-20-16-39.png
Views:	248
Size:	142.4 KB
ID:	2624303   Click image for larger version

Name:	Screenshot_2014-03-18-16-28-30.png
Views:	137
Size:	224.1 KB
ID:	2639592  
The Following User Says Thank You to diamond12 For This Useful Post: [ Click to Expand ]
 
derekedw
Old
#5  
Senior Member - OP
Thanks Meter 36
Posts: 384
Join Date: Feb 2008
His fix got it to show up but actually mine above does the same and you can access from list view. But it won't accept a paypass tap 😪. It does work on his international Rom for the d800.

Sent from my LG-D800 using Tapatalk
Sporting the AT&T LG G3 running KitKat Stock Rooted.
The Following User Says Thank You to derekedw For This Useful Post: [ Click to Expand ]
 
cpugeeker
Old
#6  
Senior Member
Thanks Meter 49
Posts: 265
Join Date: Apr 2013
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.settings/com.android.settings.nfc.aymentSettingsActivity}; have you declared this activity in your AndroidManifest.xml?

have you checked the manifest for anything?
The Following User Says Thank You to cpugeeker For This Useful Post: [ Click to Expand ]
 
derekedw
Old
#7  
Senior Member - OP
Thanks Meter 36
Posts: 384
Join Date: Feb 2008
Manifest is part of the app itself before it's compiled. I don't think it's an app issue, but the app looking for the correct script to proceed.

Sent from my LG-D800 using Tapatalk
Sporting the AT&T LG G3 running KitKat Stock Rooted.
The Following User Says Thank You to derekedw For This Useful Post: [ Click to Expand ]
 
ftblstr2319
Old
#8  
Member
Thanks Meter 1
Posts: 32
Join Date: Jun 2010
Appreciate ya'll looking into this very much!
 
gegerva
Old
#9  
gegerva's Avatar
Junior Member
Thanks Meter 0
Posts: 11
Join Date: Dec 2012
Any news on this?

Sent from my LG-D801 using Tapatalk
 
derekedw
Old
#10  
Senior Member - OP
Thanks Meter 36
Posts: 384
Join Date: Feb 2008
I've looked everywhere I could think to get it working...no luck. Works great on international Rom though.

Sent from my LG-D800 using Tapatalk
Sporting the AT&T LG G3 running KitKat Stock Rooted.

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes