Export the avatar provider to allow other process to write in it.
authorDa Risk <da_risk@geekorum.com>
Fri, 13 Jan 2012 02:35:55 +0100
changeset 947 3b5c343f8850
parent 946 dc06a2e4d694
child 948 9f4ff6618111
Export the avatar provider to allow other process to write in it. This fix bug when the gallery cannot write the user avatar.
AndroidManifest.xml
src/com/beem/project/beem/BeemService.java
src/com/beem/project/beem/ui/ChangeStatus.java
--- a/AndroidManifest.xml	Sat Jan 07 01:43:40 2012 +0100
+++ b/AndroidManifest.xml	Fri Jan 13 02:35:55 2012 +0100
@@ -43,7 +43,7 @@
 		-->
 		<provider android:name=".providers.AvatarProvider"
 		    android:authorities="com.beem.project.beem.providers.avatarprovider"
-		    android:exported="false" />
+		    />
 
 		<service android:name="BeemService" android:enabled="true"
 			android:label="Beem Service" android:permission="com.beem.project.beem.BEEM_SERVICE">
--- a/src/com/beem/project/beem/BeemService.java	Sat Jan 07 01:43:40 2012 +0100
+++ b/src/com/beem/project/beem/BeemService.java	Fri Jan 13 02:35:55 2012 +0100
@@ -164,7 +164,7 @@
 	}
 	if (mSettings.getBoolean(BeemApplication.SMACK_DEBUG_KEY, false))
 	    mConnectionConfiguration.setDebuggerEnabled(true);
-	mConnectionConfiguration.setSendPresence(true);
+	mConnectionConfiguration.setSendPresence(false);
 	// maybe not the universal path, but it works on most devices (Samsung Galaxy, Google Nexus One)
 	mConnectionConfiguration.setTruststoreType("BKS");
 	mConnectionConfiguration.setTruststorePath("/system/etc/security/cacerts.bks");
--- a/src/com/beem/project/beem/ui/ChangeStatus.java	Sat Jan 07 01:43:40 2012 +0100
+++ b/src/com/beem/project/beem/ui/ChangeStatus.java	Fri Jan 13 02:35:55 2012 +0100
@@ -44,6 +44,10 @@
 
 package com.beem.project.beem.ui;
 
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -69,26 +73,22 @@
 import android.view.View.OnClickListener;
 import android.widget.ArrayAdapter;
 import android.widget.Button;
+import android.widget.EditText;
 import android.widget.ImageButton;
 import android.widget.ListAdapter;
-import android.widget.EditText;
 import android.widget.Spinner;
 import android.widget.Toast;
 
+import com.beem.project.beem.BeemApplication;
 import com.beem.project.beem.BeemService;
-import com.beem.project.beem.BeemApplication;
 import com.beem.project.beem.R;
-import com.beem.project.beem.service.aidl.IXmppFacade;
+import com.beem.project.beem.providers.AvatarProvider;
 import com.beem.project.beem.service.UserInfo;
-import com.beem.project.beem.providers.AvatarProvider;
+import com.beem.project.beem.service.aidl.IXmppFacade;
 import com.beem.project.beem.utils.BeemBroadcastReceiver;
 import com.beem.project.beem.utils.BeemConnectivity;
 import com.beem.project.beem.utils.Status;
 
-import java.io.File;
-import java.util.Date;
-import java.text.SimpleDateFormat;
-
 /**
  * This Activity is used to change the status.
  * @author nikita
@@ -258,7 +258,8 @@
 
         switch (requestCode) {
             case PHOTO_PICKED_WITH_DATA:
-		mAvatarUri = Uri.parse(data.getAction());
+		// We tell the activity to put the result in MY_AVATAR_URI
+		mAvatarUri = MY_AVATAR_URI;
 		Log.d(TAG, "selected avatar uri " + mAvatarUri);
 		if (mAvatarUri != null) {
 		    mAvatar.setImageURI(mAvatarUri);