blob: 658f072d68fe099c99ba781be1ce29f589557f98 [file] [log] [blame]
package com.android.server.telecom.testapps;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.telephony.TelephonyManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;
public class TestUssdActivity extends Activity {
private EditText mUssdNumberView;
private Context mContext;
public static final String LOG_TAG = "TestUssdActivity";
private TelephonyManager.UssdResponseCallback mReceiveUssdResponseCallback =
new TelephonyManager.UssdResponseCallback () {
@Override
public void onReceiveUssdResponse(final TelephonyManager telephonyManager,
String request, CharSequence response) {
Log.i(LOG_TAG, "USSD Success: " + request + "," + response);
showToast("USSD Response Successly received for code:" + request + "," +
response);
}
public void onReceiveUssdResponseFailed(final TelephonyManager telephonyManager,
String request, int failureCode) {
Log.i(LOG_TAG, "USSD Fail: " + request + "," + failureCode);
showToast("USSD Response failed for code:" + request + "," + failureCode);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = getApplicationContext();
setContentView(R.layout.testussd_main);
findViewById(R.id.place_ussd_button).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
placeUssdRequest();
}
});
findViewById(R.id.place_many_ussd_button).setOnClickListener((v) -> {
placeUssdRequestMultiple();
}
);
mUssdNumberView = (EditText) findViewById(R.id.number);
}
private void placeUssdRequest() {
String mUssdNumber = mUssdNumberView.getText().toString();
if (mUssdNumber.equals("") || mUssdNumber == null) {
mUssdNumber = "#932#";
}
final TelephonyManager telephonyManager =
(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
try {
Handler h = new Handler(Looper.getMainLooper());
Log.i(LOG_TAG, "placeUssdRequest: " + mUssdNumber);
telephonyManager.sendUssdRequest(mUssdNumber, mReceiveUssdResponseCallback, h);
} catch (SecurityException e) {
showToast("Permission check failed");
return;
}
}
private void placeUssdRequestMultiple() {
for (int ix = 0; ix < 4 ; ix++) {
placeUssdRequest();
}
}
private void showToast(String message) {
Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show();
}
}