Use async task
[WhereAmI.git] / src / org / average / whereami / WhereAmI.java
1 package org.average.whereami;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.os.AsyncTask;
6 import android.util.Log;
7 import android.view.View;
8 import android.view.Window;
9 import android.view.WindowManager;
10 import android.widget.TextView;
11
12 public class WhereAmI extends Activity
13 {
14     /** Called when the activity is first created. */
15     @Override
16     public void onCreate(Bundle savedInstanceState)
17     {
18         super.onCreate(savedInstanceState);
19         requestWindowFeature(Window.FEATURE_NO_TITLE);
20         getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
21         getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
22         setContentView(R.layout.main);
23         Log.v("WhereAmI", "created UI, about to start update task");
24         new TimedUpdateTask().execute(5);
25         Log.v("WhereAmI", "created UI, update task created");
26     }
27
28     private class TimedUpdateTask extends AsyncTask<Integer, Void, String> {
29         @Override
30         protected String doInBackground(Integer... howlong) {
31             Log.v("TimedUpdateTask", "starting");
32             try {
33                 Thread.sleep(1000 * howlong[0]);
34             } catch (InterruptedException e) {
35                 Log.e("TimedUpdateTask", "sleep interrupted");
36             }
37             Log.v("TimedUpdateTask", "about to return");
38             return (Integer.toString(howlong[0]) + " seconds passed");
39         }
40     
41         @Override
42         protected void onPostExecute(String str) {
43             TextView tv = (TextView)findViewById(R.id.tv);
44             Log.v("TimedUpdateTask", "callback executing");
45             tv.append("\n" + str);
46         }
47     }
48 }