99
1010import org .json .JSONObject ;
1111
12- import android .app .Activity ;
12+ import android .content .Intent ;
13+ import android .net .Uri ;
1314import android .os .Bundle ;
1415import android .util .Log ;
16+ import android .view .View ;
17+ import android .widget .TextView ;
18+ import android .widget .Toast ;
1519
20+ import com .dianping .app .MyActivity ;
21+ import com .dianping .app .MyApplication ;
1622import com .dianping .loader .model .SiteSpec ;
1723
18- public class HomeActivity extends Activity {
24+ public class HomeActivity extends MyActivity {
25+ TextView siteUrl ;
1926
2027 @ Override
2128 protected void onCreate (Bundle savedInstanceState ) {
2229 super .onCreate (savedInstanceState );
2330 setContentView (R .layout .activity_home );
31+
32+ siteUrl = (TextView ) findViewById (R .id .siteurl );
33+ findViewById (R .id .go ).setOnClickListener (clickListener );
34+ findViewById (R .id .go_helloworld ).setOnClickListener (clickListener );
2435 }
2536
37+ private final View .OnClickListener clickListener = new View .OnClickListener () {
38+ @ Override
39+ public void onClick (View v ) {
40+ if (v .getId () == R .id .go ) {
41+ Worker worker = new Worker (siteUrl .getText ().toString ());
42+ worker .start ();
43+ v .setEnabled (false );
44+ } else if (v .getId () == R .id .go_helloworld ) {
45+ siteUrl .setText ("https://raw.github.com/mmin18/AndroidDynamicLoader/master/site/helloworld/site.txt" );
46+ findViewById (R .id .go ).performClick ();
47+ }
48+ }
49+ };
50+
2651 private class Worker extends Thread {
2752 private String url ;
2853
@@ -38,8 +63,6 @@ public void run() {
3863 HttpURLConnection conn = (HttpURLConnection ) url
3964 .openConnection ();
4065 conn .setConnectTimeout (15000 );
41- // conn.setRequestProperty("User-Agent",
42- // Environment.mapiUserAgent());
4366 InputStream ins = conn .getInputStream ();
4467 ByteArrayOutputStream bos = new ByteArrayOutputStream (16 * 1024 );
4568 byte [] buf = new byte [1024 * 4 ]; // 4k buffer
@@ -77,15 +100,23 @@ public void run() {
77100 runOnUiThread (new Runnable () {
78101 @ Override
79102 public void run () {
80- // TODO: succeed
103+ findViewById (R .id .go ).setEnabled (true );
104+ String url = MyApplication .PRIMARY_SCHEME + "://"
105+ + fSite .fragments ()[0 ].host ();
106+ Intent i = new Intent (Intent .ACTION_VIEW ,
107+ Uri .parse (url ));
108+ i .putExtra ("_site" , fSite );
109+ startActivity (i );
81110 }
82111 });
83- } catch (Exception e ) {
112+ } catch (final Exception e ) {
84113 Log .w ("loader" , "fail to download site from " + siteUrl , e );
85114 runOnUiThread (new Runnable () {
86115 @ Override
87116 public void run () {
88- // TODO: failed
117+ findViewById (R .id .go ).setEnabled (true );
118+ Toast .makeText (HomeActivity .this , e .toString (),
119+ Toast .LENGTH_LONG ).show ();
89120 }
90121 });
91122 }
0 commit comments