Add an exception for my_avatar id in AvatarProvider.
This fix a bug when the my_avatar file does not exist it is not created by
openFileHelper.
--- a/AndroidManifest.xml Fri Aug 10 05:38:39 2012 +0200
+++ b/AndroidManifest.xml Fri Aug 10 05:53:51 2012 +0200
@@ -2,9 +2,26 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.beem.project.beem" android:versionCode="12"
android:versionName="0.1.7" android:installLocation="auto">
+
+ <uses-sdk android:minSdkVersion="5" android:targetSdkVersion="7" />
+ <uses-feature name="android.hardware.touchscreen" required="false" />
+
+ <permission android:permissionGroup="android.permission-group.NETWORK"
+ android:label="BeemService" android:description="@string/BeemServiceDescription"
+ android:name="com.beem.project.beem.BEEM_SERVICE"/>
+ <uses-permission android:name="android.permission.INTERNET"/>
+ <uses-permission android:name="android.permission.VIBRATE"/>
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+ <uses-permission android:name="com.beem.project.beem.BEEM_SERVICE"/>
+
+ <supports-screens android:largeScreens="true"
+ android:normalScreens="true" android:smallScreens="true" android:anyDensity="true" />
+
<application android:label="@string/app_name"
android:icon="@drawable/beem_launcher_icon_silver" android:theme="@style/Theme.BEEM.Default"
android:name=".BeemApplication">
+
<activity android:name=".ui.Login" android:label="@string/app_name"
android:launchMode="standard">
<intent-filter>
@@ -52,16 +69,5 @@
</intent-filter>
</service>
</application>
- <permission android:permissionGroup="android.permission-group.NETWORK"
- android:label="BeemService" android:description="@string/BeemServiceDescription"
- android:name="com.beem.project.beem.BEEM_SERVICE"/>
- <uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="android.permission.VIBRATE"/>
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- <uses-permission android:name="com.beem.project.beem.BEEM_SERVICE"/>
- <uses-feature name="android.hardware.touchscreen" required="false" />
- <uses-sdk android:minSdkVersion="5" android:targetSdkVersion="7" />
- <supports-screens android:largeScreens="true"
- android:normalScreens="true" android:smallScreens="true" android:anyDensity="true" />
+
</manifest>
--- a/src/com/beem/project/beem/providers/AvatarProvider.java Fri Aug 10 05:38:39 2012 +0200
+++ b/src/com/beem/project/beem/providers/AvatarProvider.java Fri Aug 10 05:53:51 2012 +0200
@@ -74,6 +74,11 @@
/** The MIME type of a CONTENT_URI subdirectory of a single Beem avatar. */
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.com.beem.project.beem.avatar";
+ /**
+ * Id of the user avatar.
+ */
+ public static final String MY_AVATAR_ID = "my_avatar";
+
private static final String TAG = AvatarProvider.class.getSimpleName();
private static final String AUTHORITY = "com.beem.project.beem.providers.avatarprovider";
@@ -130,7 +135,7 @@
case AVATAR_ID:
String id = uri.getPathSegments().get(0);
File f = new File(mDataPath, id);
- if (f.exists())
+ if (f.exists() || MY_AVATAR_ID.equals(f.getName()))
c.newRow().add(f.getName()).add(f.getAbsolutePath());
break;
default: