Refactor connecting to SAP service and sending messages in queue
Sending and receiving works correctly, however establishing an SAP connection takes too long
This commit is contained in:
committed by
Frank Morgner
parent
023550ac11
commit
f2a68c95c1
@@ -13,7 +13,7 @@
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -32,12 +32,14 @@
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
|
||||
@@ -88,7 +90,6 @@
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/23.2.1/jars" />
|
||||
@@ -103,6 +104,7 @@
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
|
||||
@@ -118,18 +120,19 @@
|
||||
</content>
|
||||
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" exported="" name="support-v4-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="sdk-v1.0.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="design-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="zxing-android-embedded-3.2.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="accessory-v2.3.2" level="project" />
|
||||
<orderEntry type="library" exported="" name="jcardsim-3.0.4-SNAPSHOT-android" level="project" />
|
||||
<orderEntry type="library" exported="" name="animated-vector-drawable-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-annotations-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="design-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="core-3.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="recyclerview-v7-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="accessory-v2.3.2" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-vector-drawable-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="zxing-android-embedded-3.2.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-v4-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="core-1.51.0.0" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-annotations-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="animated-vector-drawable-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-vector-drawable-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="appcompat-v7-23.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="android-android-23" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -120,6 +120,9 @@ public class MainActivity extends AppCompatActivity {
|
||||
IntentFilter intentFilter = new IntentFilter();
|
||||
intentFilter.addAction(EmulatorSingleton.TAG);
|
||||
bManager.registerReceiver(bReceiver, intentFilter);
|
||||
|
||||
Intent serviceIntent = new Intent(this.getApplicationContext(), SmartcardProviderService.class);
|
||||
startService(serviceIntent);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -60,7 +60,7 @@ public class SmartcardProviderService extends SAAgent {
|
||||
EmulatorSingleton.createEmulator(this);
|
||||
} catch (SsdkUnsupportedException e) {
|
||||
// try to handle SsdkUnsupportedException
|
||||
if (processUnsupportedException(e) == true) {
|
||||
if (processUnsupportedException(e)) {
|
||||
EmulatorSingleton.createEmulator(this);
|
||||
return;
|
||||
}
|
||||
@@ -73,6 +73,7 @@ public class SmartcardProviderService extends SAAgent {
|
||||
*/
|
||||
stopSelf();
|
||||
}
|
||||
findPeerAgents();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -82,13 +83,23 @@ public class SmartcardProviderService extends SAAgent {
|
||||
|
||||
@Override
|
||||
protected void onFindPeerAgentsResponse(SAPeerAgent[] peerAgents, int result) {
|
||||
switch (result) {
|
||||
case PEER_AGENT_FOUND:
|
||||
break;
|
||||
case FINDPEER_SERVICE_NOT_FOUND:
|
||||
break;
|
||||
case FINDPEER_DEVICE_NOT_CONNECTED:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
Log.d(TAG, "onFindPeerAgentResponse : result =" + result);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onServiceConnectionRequested(SAPeerAgent peerAgent) {
|
||||
if (peerAgent != null) {
|
||||
Toast.makeText(getBaseContext(), "connection accepted", Toast.LENGTH_SHORT).show();
|
||||
//TODO: Check for keys and everything
|
||||
acceptServiceConnectionRequest(peerAgent);
|
||||
}
|
||||
}
|
||||
@@ -98,6 +109,7 @@ public class SmartcardProviderService extends SAAgent {
|
||||
if (result == SAAgent.CONNECTION_SUCCESS) {
|
||||
if (socket != null) {
|
||||
mConnectionHandler = (ServiceConnection) socket;
|
||||
Toast.makeText(getBaseContext(), "connection established", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} else if (result == SAAgent.CONNECTION_ALREADY_EXIST) {
|
||||
Log.e(TAG, "onServiceConnectionResponse, CONNECTION_ALREADY_EXIST");
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:context="com.vsmartcard.smartcardemulator.MainActivity">
|
||||
tools:context="com.vsmartcard.acardemulator.MainActivity">
|
||||
|
||||
<android.support.design.widget.AppBarLayout
|
||||
android:id="@+id/app_bar"
|
||||
|
||||
@@ -27,10 +27,10 @@
|
||||
]>
|
||||
<resources>
|
||||
|
||||
<application name="HelloAccessoryProvider" >
|
||||
<application name="VirtualSmartCardReader" >
|
||||
<serviceProfile
|
||||
id="/sample/hello"
|
||||
name="helloaccessory"
|
||||
id="/com/vsmcartcard"
|
||||
name="VirtualSmartCardReaderProvider"
|
||||
role="provider"
|
||||
serviceImpl="com.vsmartcard.acardemulator.SmartcardProviderService"
|
||||
version="1.0"
|
||||
|
||||
@@ -5,7 +5,7 @@ buildscript {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:2.1.0'
|
||||
classpath 'com.android.tools.build:gradle:2.2.0'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#Thu May 12 09:46:58 CEST 2016
|
||||
#Tue Oct 04 22:11:09 CEST 2016
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
|
||||
|
||||
Reference in New Issue
Block a user