--- android/SmsSend/src/dk/thoerup/smssend/SmsSend.java 2010/05/25 19:01:21 749 +++ android/SmsSend/src/dk/thoerup/smssend/SmsSend.java 2010/05/25 19:58:18 750 @@ -5,10 +5,11 @@ import java.net.URLEncoder; import java.util.ArrayList; -import android.R.bool; import android.app.Activity; +import android.app.ProgressDialog; import android.content.Intent; import android.content.SharedPreferences; +import android.os.AsyncTask; import android.os.Bundle; import android.provider.ContactsContract; import android.telephony.SmsManager; @@ -34,6 +35,7 @@ final int OPTIONS_SETTINGS = 1000; final int LOOKUP_PHONENR = 2000; + @Override public void onCreate(Bundle savedInstanceState) { @@ -157,30 +159,8 @@ OnClickListener sendListener = new OnClickListener() { @Override public void onClick(View v) { - Spinner method = (Spinner) findViewById(R.id.method); - int sel = method.getSelectedItemPosition(); - - boolean ret = false; - - switch (sel) { - case 0: - ret = sendInternal(); - break; - case 1: - ret = sendCoolSms(); - break; - case 2: - ret = sendSmsDaemon(); - break; - - } - - String msg = "Done!"; - if (ret == false) - msg = "failed!"; - - Toast.makeText(SmsSend.this, msg, Toast.LENGTH_LONG).show(); - + SendWorker worker = new SendWorker(); + worker.execute(); } }; @@ -230,11 +210,20 @@ for (int i=0; i { + + boolean ret; + ProgressDialog dlg; + + @Override + protected void onPreExecute() { + super.onPreExecute(); + + dlg = new ProgressDialog(SmsSend.this); + dlg.setMessage( "Sending" ); + dlg.setCancelable(true); + dlg.show(); + + ret = false; + } + + @Override + protected Void doInBackground(Void... params) { + Spinner method = (Spinner) findViewById(R.id.method); + int sel = method.getSelectedItemPosition(); + + + switch (sel) { + case 0: + ret = sendInternal(); + break; + case 1: + ret = sendCoolSms(); + break; + case 2: + ret = sendSmsDaemon(); + break; + + } + + return null; + } + + @Override + protected void onPostExecute(Void result) { + dlg.dismiss(); + dlg = null; + + String msg = "Done!"; + if (ret == false) + msg = "failed!"; + + Toast.makeText(SmsSend.this, msg, Toast.LENGTH_LONG).show(); + } + + } } \ No newline at end of file