<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/Base64.java</filename>
    </added>
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/Base64Encoder.java</filename>
    </added>
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/BufferedDecoder.java</filename>
    </added>
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/BufferedEncoder.java</filename>
    </added>
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/Encoder.java</filename>
    </added>
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/Hex.java</filename>
    </added>
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/HexEncoder.java</filename>
    </added>
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/HexTranslator.java</filename>
    </added>
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/Translator.java</filename>
    </added>
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/UrlBase64.java</filename>
    </added>
    <added>
      <filename>twitterdroid/src/org/bouncycastle/util/encoders/UrlBase64Encoder.java</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -2,6 +2,8 @@
 &lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
     package=&quot;com.fredbrunel.android.twitter&quot;&gt;
     
+    &lt;uses-permission android:name=&quot;android.permission.INTERNET&quot; /&gt;
+
     &lt;application android:icon=&quot;@drawable/twitterdroid&quot; android:label=&quot;@string/app_name&quot;&gt;
 
         &lt;activity android:name=&quot;StatusActivity&quot; android:label=&quot;@string/status_activity_name&quot; android:theme=&quot;@android:style/Theme.Black&quot;&gt;</diff>
      <filename>twitterdroid/AndroidManifest.xml</filename>
    </modified>
    <modified>
      <diff>@@ -14,7 +14,7 @@
        &lt;TextView
            android:text=&quot;Username&quot;
            android:textStyle=&quot;bold&quot;
-           android:textAlign=&quot;end&quot;
+           android:gravity=&quot;right&quot;
            android:padding=&quot;3dip&quot;/&gt;
 
        &lt;EditText android:id=&quot;@+id/config_username&quot;
@@ -29,7 +29,7 @@
        &lt;TextView
            android:text=&quot;Password&quot;
            android:textStyle=&quot;bold&quot;
-           android:textAlign=&quot;end&quot;
+           android:gravity=&quot;right&quot;
            android:padding=&quot;3dip&quot; /&gt;
 
        &lt;EditText android:id=&quot;@+id/config_password&quot;
@@ -42,19 +42,13 @@
    &lt;/TableRow&gt;
 
    &lt;TableRow&gt;
- 		&lt;TextView android:text=&quot;&quot;/&gt;
-
-		&lt;LinearLayout
-			android:gravity=&quot;right&quot;
-    		android:orientation=&quot;horizontal&quot;
-    		android:layout_width=&quot;fill_parent&quot;
-    		android:layout_height=&quot;fill_parent&quot;&gt;
-
-       		&lt;Button android:id=&quot;@+id/config_apply&quot; 
-       			android:layout_width=&quot;wrap_content&quot;
-        		android:layout_height=&quot;wrap_content&quot; 
-        		android:text=&quot;Login&quot; /&gt;
-	   	&lt;/LinearLayout&gt;
+       &lt;TextView android:text=&quot;&quot;/&gt;
+
+       &lt;Button android:id=&quot;@+id/config_apply&quot;
+           android:layout_gravity=&quot;right&quot;
+           android:layout_width=&quot;wrap_content&quot;
+           android:layout_height=&quot;wrap_content&quot; 
+           android:text=&quot;Login&quot; /&gt;
    &lt;/TableRow&gt;
 
 &lt;/TableLayout&gt;
\ No newline at end of file</diff>
      <filename>twitterdroid/res/layout/configure.xml</filename>
    </modified>
    <modified>
      <diff>@@ -19,7 +19,7 @@ public class ConfigActivity extends Activity {
 	
 	public static void requestUpdate(Activity parent) {
     	Intent configure = new Intent(parent, ConfigActivity.class);
-    	parent.startSubActivity(configure, CONFIG_UPDATE_REQUEST);
+    	parent.startActivityForResult(configure, CONFIG_UPDATE_REQUEST);
     	//parent.startActivity(configure);
 	}
 	</diff>
      <filename>twitterdroid/src/com/fredbrunel/android/twitter/ConfigActivity.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,14 @@
 package com.fredbrunel.android.twitter;
 
 import android.app.Activity;
+import android.app.AlertDialog;
 import android.app.ProgressDialog;
+import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 import android.view.Menu;
+import android.view.MenuItem;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.EditText;
@@ -18,7 +21,7 @@ public class StatusActivity extends Activity {
 	
 	private static final int MENU_CONFIGURE_ID = Menu.FIRST;
 	
-	private ProgressDialog activeProgress = new ProgressDialog(this);
+	private ProgressDialog activeProgress;
 	private TwitterService twitter;
 	
     // Called when the activity is first created
@@ -41,14 +44,14 @@ public class StatusActivity extends Activity {
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
     	super.onCreateOptionsMenu(menu);
-    	menu.add(0, MENU_CONFIGURE_ID, R.string.status_configure_menu).
+    	menu.add(Menu.NONE, MENU_CONFIGURE_ID, Menu.NONE, R.string.status_configure_menu).
     		setShortcut('0', 'c');
     	return true;
     }
 
     @Override
-    public boolean onOptionsItemSelected(Menu.Item item) {
-        switch (item.getId()) {
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
         case MENU_CONFIGURE_ID:
         	ConfigActivity.requestUpdate(this);
             return true;
@@ -59,7 +62,8 @@ public class StatusActivity extends Activity {
 	
     // Handles configuration changes
     
-	protected void onActivityResult(int requestCode, int resultCode, String data, Bundle extras) {
+	@Override
+	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 		if (requestCode == ConfigActivity.CONFIG_UPDATE_REQUEST &amp;&amp; resultCode == RESULT_OK) {
 			showFetchingProgress();
 			Config config = Config.getConfig(this);
@@ -71,6 +75,7 @@ public class StatusActivity extends Activity {
 	// Handles messages in replies from requests to the Twitter Service
 	
 	private Handler handler = new Handler () {
+		@Override
 		public void handleMessage(Message msg) {
 			if (msg.arg1 == TwitterService.RESPONSE_OK) {
 				switch(msg.arg2) {
@@ -78,7 +83,8 @@ public class StatusActivity extends Activity {
 					case TwitterService.REQUEST_STATUS_UPDATE: clearEditMessageView();
 				}	
 			} else {
-				showAlert(&quot;Twitter Error&quot;, 0, ((Exception)msg.obj).getMessage(), &quot;Discard&quot;, false);
+				String message = ((Exception) msg.obj).getMessage();
+				new AlertDialog.Builder(StatusActivity.this).setTitle(&quot;Twitter Error&quot;).setMessage(message).setNegativeButton(&quot;Discard&quot;, null).setCancelable(false).show();
 			}
 			hideProgress();
 		}
@@ -129,7 +135,10 @@ public class StatusActivity extends Activity {
 	}
 	
 	private void hideProgress() {
-		activeProgress.dismiss();
+		if (activeProgress != null) {
+			activeProgress.dismiss();
+			activeProgress = null;
+		}
 	}
 }
 </diff>
      <filename>twitterdroid/src/com/fredbrunel/android/twitter/StatusActivity.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,11 @@
 package com.fredbrunel.android.twitter;
 
 import java.util.HashMap;
+import java.util.Map;
 
 import android.content.Context;
-import android.database.ContentObserver;
 import android.database.DataSetObserver;
 import android.graphics.Bitmap;
-import android.view.KeyEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
@@ -21,8 +20,8 @@ import jtwitter.TwitterResponse;
 
 public class StatusAdapter implements ListAdapter {
 
-	private TwitterResponse statuses;
-	private HashMap&lt;Integer,View&gt; views = new HashMap&lt;Integer,View&gt;();	
+	private final TwitterResponse statuses;
+	private final Map&lt;Integer,View&gt; views = new HashMap&lt;Integer,View&gt;();	
 	
 	public StatusAdapter(Context context, TwitterResponse statuses) {
 		this.statuses = statuses;
@@ -31,14 +30,30 @@ public class StatusAdapter implements ListAdapter {
 			views.put(i, makeUserStatusView(context, statuses.getItemAt(i)));
 	}
 	
-	public boolean areAllItemsSelectable() {
+	public boolean areAllItemsEnabled() {
 		return true;
 	}
 
-	public boolean isSelectable(int position) {
+	public boolean isEnabled(int position) {
 		return true;
 	}
 
+	public boolean hasStableIds() {
+		return true;
+	}
+
+	public int getItemViewType(int position) {
+		return 0;
+	}
+
+	public int getViewTypeCount() {
+		return 1;
+	}
+
+	public boolean isEmpty() {
+		return getCount() == 0;
+	}
+
 	public int getCount() {
 		return statuses.getNumberOfItems();
 	}
@@ -51,34 +66,20 @@ public class StatusAdapter implements ListAdapter {
 		return statuses.getItemAt(position).getId();
 	}
 
-	public int getNewSelectionForKey(int currentSelection, int keyCode, KeyEvent event) {
-		return NO_SELECTION;
-	}
-
 	public View getView(int position, View convertView, ViewGroup parent) {
 		return views.get(position);
 	}
 
-	public void registerContentObserver(ContentObserver observer) {
-	}
-
 	public void registerDataSetObserver(DataSetObserver observer) {
 	}
 
-	public boolean stableIds() {
-		return true;
-	}
-
-	public void unregisterContentObserver(ContentObserver observer) {
-	}
-	
 	public void unregisterDataSetObserver(DataSetObserver observer) {
 	}
-	
+
 	// Create the view for each user status
 	// [FIXME] Should be put as an XML file (possible?)
 	
-    private View makeUserStatusView(Context context, TwitterEntry entry) {
+	private View makeUserStatusView(Context context, TwitterEntry entry) {
 
     	ImageView iv = new ImageView(context);
     	Bitmap photo = BitmapCache.getInstance().get(entry.getUser().getProfileImageURL());</diff>
      <filename>twitterdroid/src/com/fredbrunel/android/twitter/StatusAdapter.java</filename>
    </modified>
    <modified>
      <diff>@@ -14,7 +14,7 @@ import java.net.HttpURLConnection;
 import java.net.URLEncoder;
 import java.text.ParseException;
 import javax.xml.parsers.ParserConfigurationException;
-import org.apache.commons.codec.binary.Base64;
+import org.bouncycastle.util.encoders.Base64;
 import org.xml.sax.SAXException;
 
 /**
@@ -97,7 +97,7 @@ public class TwitterConnection {
 		throws IOException {
 		
 		// Basic HTTP authentication requires the username:password pair to be base64 encoded
-		String credentials = new String(new Base64().encode((username + &quot;:&quot; + password).getBytes()));
+		String credentials = new String(Base64.encode((username + &quot;:&quot; + password).getBytes()));
 		
 		HttpURLConnection conn = makeConnection(resource);
 		conn.setRequestProperty (&quot;Authorization&quot;, &quot;Basic &quot; + credentials);</diff>
      <filename>twitterdroid/src/jtwitter/TwitterConnection.java</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>658cc561d4e9d6fb39f4beac100145de995557c1</id>
    </parent>
  </parents>
  <author>
    <name>Joe Bowbeer</name>
    <email>joe.bowbeer@gmail.com</email>
  </author>
  <url>http://github.com/fbrunel/twitterdroid/commit/31541d353325c9c74bd9dbeeeb8682c8f8e69837</url>
  <id>31541d353325c9c74bd9dbeeeb8682c8f8e69837</id>
  <committed-date>2008-10-13T17:31:15-07:00</committed-date>
  <authored-date>2008-10-13T17:31:15-07:00</authored-date>
  <message>SDK 1.0</message>
  <tree>7f297d4b1372245b51f97970737d68cc4326ef37</tree>
  <committer>
    <name>Joe Bowbeer</name>
    <email>joe.bowbeer@gmail.com</email>
  </committer>
</commit>
