STK: CC feature implementation
Handle ALPHA_NOTIFY and display a toast mesage to user.
Bug: 17646476
Change-Id: I44726cb4d124be4c088660faf9fe5bc8322ccea0
diff --git a/src/com/android/stk/StkAppService.java b/src/com/android/stk/StkAppService.java
index 1220741..8c47948 100755
--- a/src/com/android/stk/StkAppService.java
+++ b/src/com/android/stk/StkAppService.java
@@ -174,6 +174,7 @@
static final int OP_SET_ACT_INST = 8;
static final int OP_SET_DAL_INST = 9;
static final int OP_SET_MAINACT_INST = 10;
+ static final int OP_ALPHA_NOTIFY = 13;
// Response ids
static final int RES_ID_MENU_SELECTION = 11;
@@ -315,6 +316,7 @@
break;
case OP_RESPONSE:
case OP_CARD_STATUS_CHANGED:
+ case OP_ALPHA_NOTIFY:
msg.obj = args;
/* falls through */
case OP_LAUNCH_APP:
@@ -571,6 +573,9 @@
CatLog.d(LOG_TAG, "Set activity instance. " + mainAct);
mStkContext[slotId].mMainActivityInstance = mainAct;
break;
+ case OP_ALPHA_NOTIFY:
+ handleAlphaNotify((Bundle) msg.obj);
+ break;
}
}
@@ -1485,6 +1490,7 @@
mStkContext[slotId].mSetupMenuState = STATE_EXIST;
return false;
}
+
StkContext getStkContext(int slotId) {
if (slotId >= 0 && slotId < mSimCount) {
return mStkContext[slotId];
@@ -1493,4 +1499,13 @@
return null;
}
}
+
+ private void handleAlphaNotify(Bundle args) {
+ String alphaString = args.getString(AppInterface.ALPHA_STRING);
+
+ CatLog.d(this, "Alpha string received from card: " + alphaString);
+ Toast toast = Toast.makeText(sInstance, alphaString, Toast.LENGTH_LONG);
+ toast.setGravity(Gravity.TOP, 0, 0);
+ toast.show();
+ }
}