auto import from //branches/cupcake/...@137197
diff --git a/src/com/android/music/AlbumBrowserActivity.java b/src/com/android/music/AlbumBrowserActivity.java
index c28b7da..020c0a6 100644
--- a/src/com/android/music/AlbumBrowserActivity.java
+++ b/src/com/android/music/AlbumBrowserActivity.java
@@ -217,7 +217,7 @@
if (mAlbumCursor != null && mAlbumCursor.getCount() > 0) {
mAlbumCursor.moveToFirst();
fancyName = mAlbumCursor.getString(3);
- if (MediaFile.UNKNOWN_STRING.equals(fancyName))
+ if (fancyName == null || fancyName.equals(MediaFile.UNKNOWN_STRING))
fancyName = getText(R.string.unknown_artist_name);
}
@@ -338,9 +338,6 @@
@Override
protected void onListItemClick(ListView l, View v, int position, long id)
{
- if (mHasHeader) {
- position --;
- }
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setDataAndType(Uri.EMPTY, "vnd.android.cursor.dir/track");
intent.putExtra("album", Long.valueOf(id).toString());
@@ -560,7 +557,7 @@
String name = cursor.getString(mAlbumIdx);
String displayname = name;
- boolean unknown = name.equals(MediaFile.UNKNOWN_STRING);
+ boolean unknown = name == null || name.equals(MediaFile.UNKNOWN_STRING);
if (unknown) {
displayname = mUnknownAlbum;
}
@@ -568,7 +565,7 @@
name = cursor.getString(mArtistIdx);
displayname = name;
- if (MediaFile.UNKNOWN_STRING.equals(name)) {
+ if (name == null || name.equals(MediaFile.UNKNOWN_STRING)) {
displayname = mUnknownArtist;
}
vh.line2.setText(displayname);
@@ -633,6 +630,5 @@
private Cursor mAlbumCursor;
private String mArtistId;
- private boolean mHasHeader = false;
}
diff --git a/src/com/android/music/ArtistAlbumBrowserActivity.java b/src/com/android/music/ArtistAlbumBrowserActivity.java
index 2ed367b..8486672 100644
--- a/src/com/android/music/ArtistAlbumBrowserActivity.java
+++ b/src/com/android/music/ArtistAlbumBrowserActivity.java
@@ -234,7 +234,7 @@
intent.putExtra("album", mCurrentAlbumId);
Cursor c = (Cursor) getExpandableListAdapter().getChild(groupPosition, childPosition);
String album = c.getString(c.getColumnIndex(MediaStore.Audio.Albums.ALBUM));
- if (album.equals(MediaFile.UNKNOWN_STRING)) {
+ if (album == null || album.equals(MediaFile.UNKNOWN_STRING)) {
// unknown album, so we should include the artist ID to limit the songs to songs only by that artist
mArtistCursor.moveToPosition(groupPosition);
mCurrentArtistId = mArtistCursor.getString(mArtistCursor.getColumnIndex(MediaStore.Audio.Artists._ID));
@@ -621,7 +621,7 @@
String artist = cursor.getString(mGroupArtistIdx);
String displayartist = artist;
- boolean unknown = MediaFile.UNKNOWN_STRING.equals(artist);
+ boolean unknown = artist == null || artist.equals(MediaFile.UNKNOWN_STRING);
if (unknown) {
displayartist = mUnknownArtist;
}
@@ -651,7 +651,7 @@
String name = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Albums.ALBUM));
String displayname = name;
- boolean unknown = name.equals(MediaFile.UNKNOWN_STRING);
+ boolean unknown = name == null || name.equals(MediaFile.UNKNOWN_STRING);
if (unknown) {
displayname = mUnknownAlbum;
}
@@ -738,7 +738,7 @@
MyCursorWrapper(Cursor c, String artist) {
super(c);
mArtistName = artist;
- if (MediaFile.UNKNOWN_STRING.equals(mArtistName)) {
+ if (mArtistName == null || mArtistName.equals(MediaFile.UNKNOWN_STRING)) {
mArtistName = mUnknownArtist;
}
mMagicColumnIdx = c.getColumnCount();
@@ -754,7 +754,7 @@
@Override
public int getColumnIndexOrThrow(String name) {
- if (name.equals(MediaStore.Audio.Albums.ARTIST)) {
+ if (MediaStore.Audio.Albums.ARTIST.equals(name)) {
return mMagicColumnIdx;
}
return super.getColumnIndexOrThrow(name);
diff --git a/src/com/android/music/QueryBrowserActivity.java b/src/com/android/music/QueryBrowserActivity.java
index 2a482ae..9e91ba6 100644
--- a/src/com/android/music/QueryBrowserActivity.java
+++ b/src/com/android/music/QueryBrowserActivity.java
@@ -344,8 +344,10 @@
String name = cursor.getString(cursor.getColumnIndexOrThrow(
SearchManager.SUGGEST_COLUMN_TEXT_1));
String displayname = name;
- if (name.equals(MediaFile.UNKNOWN_STRING)) {
+ boolean isunknown = false;
+ if (name == null || name.equals(MediaFile.UNKNOWN_STRING)) {
displayname = context.getString(R.string.unknown_artist_name);
+ isunknown = true;
}
tv1.setText(displayname);
@@ -353,7 +355,7 @@
int numsongs = cursor.getInt(cursor.getColumnIndexOrThrow("data2"));
String songs_albums = MusicUtils.makeAlbumsSongsLabel(context,
- numalbums, numsongs, name.equals(MediaFile.UNKNOWN_STRING));
+ numalbums, numsongs, isunknown);
tv2.setText(songs_albums);
@@ -362,14 +364,14 @@
String name = cursor.getString(cursor.getColumnIndexOrThrow(
SearchManager.SUGGEST_COLUMN_TEXT_1));
String displayname = name;
- if (name.equals(MediaFile.UNKNOWN_STRING)) {
+ if (name == null || name.equals(MediaFile.UNKNOWN_STRING)) {
displayname = context.getString(R.string.unknown_album_name);
}
tv1.setText(displayname);
name = cursor.getString(cursor.getColumnIndexOrThrow("data1"));
displayname = name;
- if (name.equals(MediaFile.UNKNOWN_STRING)) {
+ if (name == null || name.equals(MediaFile.UNKNOWN_STRING)) {
displayname = context.getString(R.string.unknown_artist_name);
}
tv2.setText(displayname);
@@ -383,11 +385,11 @@
tv1.setText(name);
String displayname = cursor.getString(cursor.getColumnIndexOrThrow("data1"));
- if (name.equals(MediaFile.UNKNOWN_STRING)) {
+ if (name == null || name.equals(MediaFile.UNKNOWN_STRING)) {
displayname = context.getString(R.string.unknown_artist_name);
}
name = cursor.getString(cursor.getColumnIndexOrThrow("data2"));
- if (name.equals(MediaFile.UNKNOWN_STRING)) {
+ if (name == null || name.equals(MediaFile.UNKNOWN_STRING)) {
name = context.getString(R.string.unknown_artist_name);
}
tv2.setText(displayname + " - " + name);
diff --git a/src/com/android/music/TrackBrowserActivity.java b/src/com/android/music/TrackBrowserActivity.java
index 58f556c..dd3da3e 100644
--- a/src/com/android/music/TrackBrowserActivity.java
+++ b/src/com/android/music/TrackBrowserActivity.java
@@ -225,9 +225,9 @@
MusicUtils.unbindFromService(this);
try {
if ("nowplaying".equals(mPlaylist)) {
- unregisterReceiver(mNowPlayingListener);
+ unregisterReceiverSafe(mNowPlayingListener);
} else {
- unregisterReceiver(mTrackListListener);
+ unregisterReceiverSafe(mTrackListListener);
}
} catch (IllegalArgumentException ex) {
// we end up here in case we never registered the listeners
@@ -241,9 +241,23 @@
c.close();
}
}
- unregisterReceiver(mScanListener);
+ unregisterReceiverSafe(mScanListener);
super.onDestroy();
- }
+ }
+
+ /**
+ * Unregister a receiver, but eat the exception that is thrown if the
+ * receiver was never registered to begin with. This is a little easier
+ * than keeping track of whether the receivers have actually been
+ * registered by the time onDestroy() is called.
+ */
+ private void unregisterReceiverSafe(BroadcastReceiver receiver) {
+ try {
+ unregisterReceiver(receiver);
+ } catch (IllegalArgumentException e) {
+ // ignore
+ }
+ }
@Override
public void onResume() {
@@ -372,7 +386,7 @@
}
cursor.deactivate();
}
- if (fancyName.equals(MediaFile.UNKNOWN_STRING)) {
+ if (fancyName == null || fancyName.equals(MediaFile.UNKNOWN_STRING)) {
fancyName = getString(R.string.unknown_album_name);
}
}