public void PerformBalanceInquiry(BA ba) {
//This line is calling the performBalanceInquiry defined in the TransactionController class which is made up of an intent.
mTransactionController.performBalanceInquiry();
ion = new IOnActivityResult() {
@Override
public void ResultArrived(int arg0, Intent arg1) {
// TODO Auto-generated method stub
BA.Log("ResultArrived: " + arg0 + " --- " + arg1.getDataString());
}
};
try {
ba.startActivityForResult(ion, null); //<-- passing null instead of an intent
} catch (NullPointerException npe) {
//required...
// mba.setLastException(npe);
BA.Log("nullpointerexception: " + npe.getMessage().toString());
}
// BA.SharedProcessBA sba = mba.sharedProcessBA;
BA.SharedProcessBA sba = ba.processBA.sharedProcessBA;
try {
Field f = sba.getClass().getDeclaredField("onActivityResultMap");
f.setAccessible(true);
if (f.get(sba) == null) {
f.set(sba, new HashMap<Integer, WeakReference<IOnActivityResult>>());
@SuppressWarnings("unchecked")
HashMap<Integer, WeakReference<IOnActivityResult>> onActivityResultMap = (HashMap<Integer, WeakReference<IOnActivityResult>>) f.get(sba);
BA.Log("onActivityResultMap: " + onActivityResultMap.size());
}
// int requestCode = f.getInt(sba) - 1;
// BA.Log("requestcode: " + requestCode);
//requestCode holds the value that should be used to send the intent.
} catch (Exception e) {
throw new RuntimeException(e);
}
}