blob: d599959d7d2070f681751aec584f7bc47eb97c99 [file] [log] [blame]
package com.android.cts.verifier.nfc.hce;
import android.annotation.TargetApi;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import com.android.cts.verifier.nfc.NfcDialogs;
import com.android.cts.verifier.R;
@TargetApi(19)
public class OnAndOffHostEmulatorActivity extends BaseEmulatorActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pass_fail_text);
setPassFailButtonClickListeners();
getPassButton().setEnabled(false);
setupServices(this, OffHostService.COMPONENT, AccessService.COMPONENT);
}
@Override
protected void onResume() {
super.onResume();
}
@Override
void onServicesSetup(boolean result) {
NfcDialogs.createHceTapReaderDialog(this, getString(R.string.nfc_hce_on_and_offhost_emulator_help)).show();
}
public static Intent buildReaderIntent(Context context) {
// Combine command/response APDU arrays
CommandApdu[] commandSequences = new CommandApdu[OffHostService.APDU_COMMAND_SEQUENCE.length +
AccessService.APDU_COMMAND_SEQUENCE.length];
System.arraycopy(OffHostService.APDU_COMMAND_SEQUENCE, 0, commandSequences, 0,
OffHostService.APDU_COMMAND_SEQUENCE.length);
System.arraycopy(AccessService.APDU_COMMAND_SEQUENCE, 0, commandSequences,
OffHostService.APDU_COMMAND_SEQUENCE.length,
AccessService.APDU_COMMAND_SEQUENCE.length);
String[] responseSequences = new String[OffHostService.APDU_RESPOND_SEQUENCE.length +
AccessService.APDU_RESPOND_SEQUENCE.length];
System.arraycopy(OffHostService.APDU_RESPOND_SEQUENCE, 0, responseSequences, 0,
OffHostService.APDU_RESPOND_SEQUENCE.length);
System.arraycopy(AccessService.APDU_RESPOND_SEQUENCE, 0, responseSequences,
OffHostService.APDU_RESPOND_SEQUENCE.length,
AccessService.APDU_RESPOND_SEQUENCE.length);
Intent readerIntent = new Intent(context, SimpleReaderActivity.class);
readerIntent.putExtra(SimpleReaderActivity.EXTRA_APDUS,
commandSequences);
readerIntent.putExtra(SimpleReaderActivity.EXTRA_RESPONSES,
responseSequences);
readerIntent.putExtra(SimpleReaderActivity.EXTRA_LABEL,
context.getString(R.string.nfc_hce_on_and_offhost_service_reader));
return readerIntent;
}
@Override
void onApduSequenceComplete(ComponentName component, long duration) {
if (component.equals(AccessService.COMPONENT)) {
getPassButton().setEnabled(true);
}
}
}