summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.bp4
-rw-r--r--AndroidManifest.xml4
-rw-r--r--build.gradle4
-rw-r--r--gen/com/android/pump/BuildConfig.java2
-rw-r--r--java/com/android/pump/activity/AlbumDetailsActivity.java2
-rw-r--r--java/com/android/pump/activity/ArtistDetailsActivity.java2
-rw-r--r--java/com/android/pump/activity/AudioPlayerActivity.java2
-rw-r--r--java/com/android/pump/activity/GenreDetailsActivity.java2
-rw-r--r--java/com/android/pump/activity/MovieDetailsActivity.java4
-rw-r--r--java/com/android/pump/activity/OtherDetailsActivity.java8
-rw-r--r--java/com/android/pump/activity/PlaylistDetailsActivity.java2
-rw-r--r--java/com/android/pump/activity/SeriesDetailsActivity.java2
-rw-r--r--java/com/android/pump/activity/VideoPlayerActivity.java2
-rw-r--r--java/com/android/pump/app/GlobalsApplication.java2
-rw-r--r--java/com/android/pump/db/Album.java2
-rw-r--r--java/com/android/pump/db/Artist.java2
-rw-r--r--java/com/android/pump/db/Audio.java2
-rw-r--r--java/com/android/pump/db/AudioStore.java26
-rw-r--r--java/com/android/pump/db/Episode.java2
-rw-r--r--java/com/android/pump/db/Genre.java2
-rw-r--r--java/com/android/pump/db/MediaDb.java24
-rw-r--r--java/com/android/pump/db/Movie.java2
-rw-r--r--java/com/android/pump/db/Other.java2
-rw-r--r--java/com/android/pump/db/Playlist.java2
-rw-r--r--java/com/android/pump/db/Series.java2
-rw-r--r--java/com/android/pump/db/VideoStore.java10
-rw-r--r--java/com/android/pump/fragment/AlbumFragment.java4
-rw-r--r--java/com/android/pump/fragment/ArtistFragment.java4
-rw-r--r--java/com/android/pump/fragment/AudioFragment.java4
-rw-r--r--java/com/android/pump/fragment/GenreFragment.java4
-rw-r--r--java/com/android/pump/fragment/MovieFragment.java4
-rw-r--r--java/com/android/pump/fragment/OtherFragment.java4
-rw-r--r--java/com/android/pump/fragment/PlaylistFragment.java4
-rw-r--r--java/com/android/pump/fragment/SeriesFragment.java4
-rw-r--r--java/com/android/pump/util/ImageLoader.java12
-rw-r--r--res/layout/activity_pump.xml2
-rw-r--r--res/layout/activity_video_player.xml1
37 files changed, 84 insertions, 83 deletions
diff --git a/Android.bp b/Android.bp
index 81dc212..8b02858 100644
--- a/Android.bp
+++ b/Android.bp
@@ -18,7 +18,7 @@ android_app {
name: "UniversalMediaPlayer",
sdk_version: "current",
srcs: [
- "gen/**/*.java", // TODO Remove gen/ (either generate or remove dependencies)
+ "gen/**/*.java", // TODO(b/123702784) Remove gen/ (either generate or remove dependencies)
"java/**/*.java"
],
static_libs: [
@@ -27,7 +27,7 @@ android_app {
"com.google.android.material_material"
],
optimize: {
- // TODO Re-enable. Currently disabled due to issues with androidx.media2_media2-exoplayer
+ // TODO(b/123703963) Re-enable. Currently disabled due to issues with media2-exoplayer
enabled: false
}
}
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 6fe4fd8..b7681c8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -70,11 +70,11 @@
</intent-filter>
</activity>
- <!-- TODO Handle music app intents;
+ <!-- TODO(b/123711288) Handle music app intents;
https://developer.android.com/reference/android/content/Intent.html#CATEGORY_APP_MUSIC
https://developer.android.com/reference/android/provider/MediaStore.html#INTENT_ACTION_MUSIC_PLAYER -->
- <!-- TODO Handle play from search;
+ <!-- TODO(b/123711069) Handle play from search;
https://developer.android.com/guide/components/intents-common#PlaySearch
https://developer.android.com/reference/android/provider/MediaStore.html#INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH
https://developer.android.com/reference/android/provider/MediaStore#INTENT_ACTION_MEDIA_SEARCH
diff --git a/build.gradle b/build.gradle
index 95f5e29..4cdc53f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -30,7 +30,7 @@ android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
- minSdkVersion 19 // TODO: Lower to 16 after media2-widget supports 16
+ minSdkVersion 19 // TODO(b/123716038) Lower to 16 after media2-widget supports 16
targetSdkVersion 28
versionCode 1
versionName '1.0'
@@ -57,7 +57,7 @@ repositories {
jcenter()
google()
- // TODO: Remove before releasing and after stable media2 is released
+ // TODO(b/123716096) Remove before releasing and after stable media2 is released
maven { url "$rootDir/../../../prebuilts/sdk/current/androidx/m2repository" }
}
diff --git a/gen/com/android/pump/BuildConfig.java b/gen/com/android/pump/BuildConfig.java
index 1e2e7ab..e457b91 100644
--- a/gen/com/android/pump/BuildConfig.java
+++ b/gen/com/android/pump/BuildConfig.java
@@ -16,7 +16,7 @@
package com.android.pump;
-// TODO This file is generated by gradle; Figure out what to do when using make instead
+// TODO(b/123702784) This file is generated by gradle; Figure out what to do when using make instead
public final class BuildConfig {
private BuildConfig() { }
diff --git a/java/com/android/pump/activity/AlbumDetailsActivity.java b/java/com/android/pump/activity/AlbumDetailsActivity.java
index 05ae341..a30466b 100644
--- a/java/com/android/pump/activity/AlbumDetailsActivity.java
+++ b/java/com/android/pump/activity/AlbumDetailsActivity.java
@@ -36,7 +36,7 @@ public class AlbumDetailsActivity extends AppCompatActivity {
public static void start(@NonNull Context context, @NonNull Album album) {
Intent intent = new Intent(context, AlbumDetailsActivity.class);
- // TODO Pass URI instead
+ // TODO(b/123704452) Pass URI instead
intent.putExtra("id", album.getId()); // TODO Add constant key
context.startActivity(intent);
}
diff --git a/java/com/android/pump/activity/ArtistDetailsActivity.java b/java/com/android/pump/activity/ArtistDetailsActivity.java
index 0ce4320..9e4f0f1 100644
--- a/java/com/android/pump/activity/ArtistDetailsActivity.java
+++ b/java/com/android/pump/activity/ArtistDetailsActivity.java
@@ -36,7 +36,7 @@ public class ArtistDetailsActivity extends AppCompatActivity {
public static void start(@NonNull Context context, @NonNull Artist artist) {
Intent intent = new Intent(context, ArtistDetailsActivity.class);
- // TODO Pass URI instead
+ // TODO(b/123704452) Pass URI instead
intent.putExtra("id", artist.getId()); // TODO Add constant key
context.startActivity(intent);
}
diff --git a/java/com/android/pump/activity/AudioPlayerActivity.java b/java/com/android/pump/activity/AudioPlayerActivity.java
index d2cb029..66016e3 100644
--- a/java/com/android/pump/activity/AudioPlayerActivity.java
+++ b/java/com/android/pump/activity/AudioPlayerActivity.java
@@ -41,7 +41,7 @@ public class AudioPlayerActivity extends AppCompatActivity {
private VideoView mVideoView;
public static void start(@NonNull Context context, @NonNull Audio audio) {
- // TODO Find a better URI (audio.getUri()?)
+ // TODO(b/123702587) Find a better URI (audio.getUri()?)
Uri uri = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
audio.getId());
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
diff --git a/java/com/android/pump/activity/GenreDetailsActivity.java b/java/com/android/pump/activity/GenreDetailsActivity.java
index 8587495..e7dea5c 100644
--- a/java/com/android/pump/activity/GenreDetailsActivity.java
+++ b/java/com/android/pump/activity/GenreDetailsActivity.java
@@ -36,7 +36,7 @@ public class GenreDetailsActivity extends AppCompatActivity {
public static void start(@NonNull Context context, @NonNull Genre genre) {
Intent intent = new Intent(context, GenreDetailsActivity.class);
- // TODO Pass URI instead
+ // TODO(b/123704452) Pass URI instead
intent.putExtra("id", genre.getId()); // TODO Add constant key
context.startActivity(intent);
}
diff --git a/java/com/android/pump/activity/MovieDetailsActivity.java b/java/com/android/pump/activity/MovieDetailsActivity.java
index 60a1b6f..7fd5764 100644
--- a/java/com/android/pump/activity/MovieDetailsActivity.java
+++ b/java/com/android/pump/activity/MovieDetailsActivity.java
@@ -41,7 +41,7 @@ public class MovieDetailsActivity extends AppCompatActivity implements MediaDb.U
public static void start(@NonNull Context context, @NonNull Movie movie) {
Intent intent = new Intent(context, MovieDetailsActivity.class);
- // TODO Pass URI instead
+ // TODO(b/123704452) Pass URI instead
intent.putExtra("id", movie.getId()); // TODO Add constant key
context.startActivity(intent);
}
@@ -136,7 +136,7 @@ public class MovieDetailsActivity extends AppCompatActivity implements MediaDb.U
imageView.setImageURI(mMovie.getThumbnailUri());
posterView.setImageURI(mMovie.getPosterUri());
titleView.setText(mMovie.getTitle());
- attributesView.setText("1h 20m"); // TODO Implement
+ attributesView.setText("1h 20m"); // TODO(b/123707108) Implement
synopsisView.setText(mMovie.getSynopsis());
ImageView playView = findViewById(R.id.activity_movie_details_play);
diff --git a/java/com/android/pump/activity/OtherDetailsActivity.java b/java/com/android/pump/activity/OtherDetailsActivity.java
index 5f2a8dc..1a02d25 100644
--- a/java/com/android/pump/activity/OtherDetailsActivity.java
+++ b/java/com/android/pump/activity/OtherDetailsActivity.java
@@ -45,7 +45,7 @@ public class OtherDetailsActivity extends AppCompatActivity implements MediaDb.U
public static void start(@NonNull Context context, @NonNull Other other) {
Intent intent = new Intent(context, OtherDetailsActivity.class);
- // TODO Pass URI instead
+ // TODO(b/123704452) Pass URI instead
intent.putExtra("id", other.getId()); // TODO Add constant key
context.startActivity(intent);
}
@@ -141,7 +141,7 @@ public class OtherDetailsActivity extends AppCompatActivity implements MediaDb.U
StringBuilder attributes = new StringBuilder();
if (mOther.hasDuration()) {
long dur = mOther.getDuration();
- // TODO Move to string resource
+ // TODO(b/123706525) Move to string resource
String duration = String.format("%dm %ds",
TimeUnit.MILLISECONDS.toMinutes(dur),
TimeUnit.MILLISECONDS.toSeconds(dur) -
@@ -150,13 +150,13 @@ public class OtherDetailsActivity extends AppCompatActivity implements MediaDb.U
attributes.append('\n');
}
if (mOther.hasDateTaken()) {
- // TODO Better formatting
+ // TODO(b/123707011) Better formatting
String date = DateFormat.getLongDateFormat(this).format(new Date(mOther.getDateTaken()));
attributes.append(date);
attributes.append('\n');
}
if (mOther.hasLatLong()) {
- // TODO Use Geocoder; https://developer.android.com/training/location/display-address
+ // TODO(b/123706523) Decode GPS coordinates
double latitude = mOther.getLatitude();
double longitude = mOther.getLongitude();
String latlong = String.format("%f %f", latitude, longitude);
diff --git a/java/com/android/pump/activity/PlaylistDetailsActivity.java b/java/com/android/pump/activity/PlaylistDetailsActivity.java
index 2b6d12a..7c506a5 100644
--- a/java/com/android/pump/activity/PlaylistDetailsActivity.java
+++ b/java/com/android/pump/activity/PlaylistDetailsActivity.java
@@ -36,7 +36,7 @@ public class PlaylistDetailsActivity extends AppCompatActivity {
public static void start(@NonNull Context context, @NonNull Playlist playlist) {
Intent intent = new Intent(context, PlaylistDetailsActivity.class);
- // TODO Pass URI instead
+ // TODO(b/123704452) Pass URI instead
intent.putExtra("id", playlist.getId()); // TODO Add constant key
context.startActivity(intent);
}
diff --git a/java/com/android/pump/activity/SeriesDetailsActivity.java b/java/com/android/pump/activity/SeriesDetailsActivity.java
index 81effe6..c912335 100644
--- a/java/com/android/pump/activity/SeriesDetailsActivity.java
+++ b/java/com/android/pump/activity/SeriesDetailsActivity.java
@@ -36,7 +36,7 @@ public class SeriesDetailsActivity extends AppCompatActivity {
public static void start(@NonNull Context context, @NonNull Series series) {
Intent intent = new Intent(context, SeriesDetailsActivity.class);
- // TODO Pass URI instead
+ // TODO(b/123704452) Pass URI instead
intent.putExtra("title", series.getTitle()); // TODO Add constant key
if (series.hasYear()) {
intent.putExtra("year", series.getYear()); // TODO Add constant key
diff --git a/java/com/android/pump/activity/VideoPlayerActivity.java b/java/com/android/pump/activity/VideoPlayerActivity.java
index 444ea0b..781169c 100644
--- a/java/com/android/pump/activity/VideoPlayerActivity.java
+++ b/java/com/android/pump/activity/VideoPlayerActivity.java
@@ -49,7 +49,7 @@ public class VideoPlayerActivity extends AppCompatActivity {
private long mSavedPosition = SessionPlayer.UNKNOWN_TIME;
public static void start(@NonNull Context context, @NonNull Video video) {
- // TODO Find a better URI (video.getUri()?)
+ // TODO(b/123703220) Find a better URI (video.getUri()?)
Uri uri = ContentUris.withAppendedId(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
video.getId());
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
diff --git a/java/com/android/pump/app/GlobalsApplication.java b/java/com/android/pump/app/GlobalsApplication.java
index 865b274..95d8bbe 100644
--- a/java/com/android/pump/app/GlobalsApplication.java
+++ b/java/com/android/pump/app/GlobalsApplication.java
@@ -26,7 +26,7 @@ public abstract class GlobalsApplication extends Application implements Globals.
@Override
public void onTrimMemory(int level) {
super.onTrimMemory(level);
- // TODO implement
+ // TODO(b/123038906) Implement
}
@Override
diff --git a/java/com/android/pump/db/Album.java b/java/com/android/pump/db/Album.java
index 1a0797f..bc65f65 100644
--- a/java/com/android/pump/db/Album.java
+++ b/java/com/android/pump/db/Album.java
@@ -26,7 +26,7 @@ import androidx.annotation.Nullable;
public class Album {
private final long mId;
- // TODO Lock mutable fields to ensure consistent updates
+ // TODO(b/123706949) Lock mutable fields to ensure consistent updates
private String mTitle;
private Uri mAlbumArtUri;
private Artist mArtist;
diff --git a/java/com/android/pump/db/Artist.java b/java/com/android/pump/db/Artist.java
index 3cac63f..46416b7 100644
--- a/java/com/android/pump/db/Artist.java
+++ b/java/com/android/pump/db/Artist.java
@@ -28,7 +28,7 @@ import androidx.annotation.Nullable;
public class Artist {
private final long mId;
- // TODO Lock mutable fields to ensure consistent updates
+ // TODO(b/123706949) Lock mutable fields to ensure consistent updates
private String mName;
private final List<Album> mAlbums = new ArrayList<>();
private boolean mLoaded;
diff --git a/java/com/android/pump/db/Audio.java b/java/com/android/pump/db/Audio.java
index e2ee08c..f1b06a2 100644
--- a/java/com/android/pump/db/Audio.java
+++ b/java/com/android/pump/db/Audio.java
@@ -28,7 +28,7 @@ public class Audio {
private final Uri mUri;
private final String mMimeType;
- // TODO Lock mutable fields to ensure consistent updates
+ // TODO(b/123706949) Lock mutable fields to ensure consistent updates
private String mTitle;
private Artist mArtist;
private Album mAlbum;
diff --git a/java/com/android/pump/db/AudioStore.java b/java/com/android/pump/db/AudioStore.java
index e867eeb..5585ea9 100644
--- a/java/com/android/pump/db/AudioStore.java
+++ b/java/com/android/pump/db/AudioStore.java
@@ -62,11 +62,11 @@ class AudioStore extends ContentObserver {
mChangeListener = changeListener;
mMediaProvider = mediaProvider;
- // TODO Do we need content observer for other content uris? (E.g. album, artist)
+ // TODO(123705758) Do we need content observer for other content uris? (E.g. album, artist)
mContentResolver.registerContentObserver(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
true, this);
- // TODO When to call unregisterContentObserver?
+ // TODO(123705758) When to call unregisterContentObserver?
// mContentResolver.unregisterContentObserver(this);
}
@@ -268,13 +268,13 @@ class AudioStore extends ContentObserver {
long artistId = cursor.getLong(artistIdColumn);
Artist artist = mMediaProvider.getArtistById(artistId);
updated |= audio.setArtist(artist);
- updated |= loadData(artist); // TODO Load separate from audio
+ updated |= loadData(artist); // TODO(b/123707561) Load separate from audio
}
if (!cursor.isNull(albumIdColumn)) {
long albumId = cursor.getLong(albumIdColumn);
Album album = mMediaProvider.getAlbumById(albumId);
updated |= audio.setAlbum(album);
- updated |= loadData(album); // TODO Load separate from audio
+ updated |= loadData(album); // TODO(b/123707561) Load separate from audio
}
}
} finally {
@@ -309,7 +309,7 @@ class AudioStore extends ContentObserver {
}
}
- updated |= loadAlbums(artist); // TODO Load separate from artist
+ updated |= loadAlbums(artist); // TODO(b/123707561) Load separate from artist
return updated;
}
@@ -347,7 +347,7 @@ class AudioStore extends ContentObserver {
long artistId = cursor.getLong(artistIdColumn);
Artist artist = mMediaProvider.getArtistById(artistId);
updated |= album.setArtist(artist);
- updated |= loadData(artist); // TODO Load separate from album
+ updated |= loadData(artist); // TODO(b/123707561) Load separate from album
}
}
} finally {
@@ -382,7 +382,7 @@ class AudioStore extends ContentObserver {
}
}
- updated |= loadAudios(genre); // TODO Load separate from genre
+ updated |= loadAudios(genre); // TODO(b/123707561) Load separate from genre
return updated;
}
@@ -411,7 +411,7 @@ class AudioStore extends ContentObserver {
}
}
- updated |= loadAudios(playlist); // TODO Load separate from playlist
+ updated |= loadAudios(playlist); // TODO(b/123707561) Load separate from playlist
return updated;
}
@@ -434,7 +434,7 @@ class AudioStore extends ContentObserver {
long albumId = cursor.getLong(albumIdColumn);
Album album = mMediaProvider.getAlbumById(albumId);
updated |= artist.addAlbum(album);
- //updated |= loadData(album); // TODO Load separate from artist
+ //updated |= loadData(album); // TODO(b/123707561) Load separate from artist
}
} finally {
cursor.close();
@@ -460,7 +460,7 @@ class AudioStore extends ContentObserver {
long audioId = cursor.getLong(audioIdColumn);
Audio audio = mMediaProvider.getAudioById(audioId);
updated |= genre.addAudio(audio);
- updated |= loadData(audio); // TODO Load separate from genre
+ updated |= loadData(audio); // TODO(b/123707561) Load separate from genre
}
} finally {
cursor.close();
@@ -487,7 +487,7 @@ class AudioStore extends ContentObserver {
long audioId = cursor.getLong(audioIdColumn);
Audio audio = mMediaProvider.getAudioById(audioId);
updated |= playlist.addAudio(audio);
- updated |= loadData(audio); // TODO Load separate from playlist
+ updated |= loadData(audio); // TODO(b/123707561) Load separate from playlist
}
} finally {
cursor.close();
@@ -506,13 +506,13 @@ class AudioStore extends ContentObserver {
@Override
public void onChange(boolean selfChange, @Nullable Uri uri) {
Clog.i(TAG, "onChange(" + selfChange + ", " + uri + ")");
- // TODO Figure out what changed
+ // TODO(123705758) Figure out what changed
// onChange(false, content://media)
// onChange(false, content://media/external)
// onChange(false, content://media/external/audio/media/444)
// onChange(false, content://media/external/video/media/328?blocking=1&orig_id=328&group_id=0)
- // TODO Notify listener about changes
+ // TODO(123705758) Notify listener about changes
// mChangeListener.xxx();
}
diff --git a/java/com/android/pump/db/Episode.java b/java/com/android/pump/db/Episode.java
index ce96dbf..cba4728 100644
--- a/java/com/android/pump/db/Episode.java
+++ b/java/com/android/pump/db/Episode.java
@@ -28,7 +28,7 @@ public class Episode extends Video {
private final int mSeason;
private final int mEpisode;
- // TODO Lock mutable fields to ensure consistent updates
+ // TODO(b/123706949) Lock mutable fields to ensure consistent updates
private Uri mThumbnailUri;
private Uri mPosterUri;
private boolean mLoaded;
diff --git a/java/com/android/pump/db/Genre.java b/java/com/android/pump/db/Genre.java
index e75bfa8..a55b621 100644
--- a/java/com/android/pump/db/Genre.java
+++ b/java/com/android/pump/db/Genre.java
@@ -28,7 +28,7 @@ import androidx.annotation.Nullable;
public class Genre {
private final long mId;
- // TODO Lock mutable fields to ensure consistent updates
+ // TODO(b/123706949) Lock mutable fields to ensure consistent updates
private String mName;
private final List<Audio> mAudios = new ArrayList<>();
private boolean mLoaded;
diff --git a/java/com/android/pump/db/MediaDb.java b/java/com/android/pump/db/MediaDb.java
index 848c09b..d0cbf31 100644
--- a/java/com/android/pump/db/MediaDb.java
+++ b/java/com/android/pump/db/MediaDb.java
@@ -245,7 +245,7 @@ public class MediaDb implements MediaProvider {
}
public void loadData(@NonNull Audio audio) {
- // TODO ensure no concurrent runs for the same item !!
+ // TODO(b/123707632) Ensure no concurrent runs for the same item !!
if (audio.isLoaded()) return;
mExecutor.execute(() -> {
@@ -259,7 +259,7 @@ public class MediaDb implements MediaProvider {
}
public void loadData(@NonNull Artist artist) {
- // TODO ensure no concurrent runs for the same item !!
+ // TODO(b/123707632) Ensure no concurrent runs for the same item !!
if (artist.isLoaded()) return;
mExecutor.execute(() -> {
@@ -273,7 +273,7 @@ public class MediaDb implements MediaProvider {
}
public void loadData(@NonNull Album album) {
- // TODO ensure no concurrent runs for the same item !!
+ // TODO(b/123707632) Ensure no concurrent runs for the same item !!
if (album.isLoaded()) return;
mExecutor.execute(() -> {
@@ -287,7 +287,7 @@ public class MediaDb implements MediaProvider {
}
public void loadData(@NonNull Genre genre) {
- // TODO ensure no concurrent runs for the same item !!
+ // TODO(b/123707632) Ensure no concurrent runs for the same item !!
if (genre.isLoaded()) return;
mExecutor.execute(() -> {
@@ -301,7 +301,7 @@ public class MediaDb implements MediaProvider {
}
public void loadData(@NonNull Playlist playlist) {
- // TODO ensure no concurrent runs for the same item !!
+ // TODO(b/123707632) Ensure no concurrent runs for the same item !!
if (playlist.isLoaded()) return;
mExecutor.execute(() -> {
@@ -314,9 +314,9 @@ public class MediaDb implements MediaProvider {
});
}
- // TODO Merge with loadData(episode)/loadData(other)
+ // TODO(b/123707018) Merge with loadData(episode)/loadData(other)
public void loadData(@NonNull Movie movie) {
- // TODO ensure no concurrent runs for the same item !!
+ // TODO(b/123707632) Ensure no concurrent runs for the same item !!
if (movie.isLoaded()) return;
mExecutor.execute(() -> {
@@ -336,7 +336,7 @@ public class MediaDb implements MediaProvider {
}
public void loadData(@NonNull Series series) {
- // TODO ensure no concurrent runs for the same item !!
+ // TODO(b/123707632) Ensure no concurrent runs for the same item !!
if (series.isLoaded()) return;
mExecutor.execute(() -> {
@@ -355,9 +355,9 @@ public class MediaDb implements MediaProvider {
});
}
- // TODO Merge with loadData(movie)/loadData(other)
+ // TODO(b/123707018) Merge with loadData(movie)/loadData(other)
public void loadData(@NonNull Episode episode) {
- // TODO ensure no concurrent runs for the same item !!
+ // TODO(b/123707632) Ensure no concurrent runs for the same item !!
if (episode.isLoaded()) return;
mExecutor.execute(() -> {
@@ -376,9 +376,9 @@ public class MediaDb implements MediaProvider {
});
}
- // TODO Merge with loadData(movie)/loadData(episode)
+ // TODO(b/123707018) Merge with loadData(movie)/loadData(episode)
public void loadData(@NonNull Other other) {
- // TODO ensure no concurrent runs for the same item !!
+ // TODO(b/123707632) Ensure no concurrent runs for the same item !!
if (other.isLoaded()) return;
mExecutor.execute(() -> {
diff --git a/java/com/android/pump/db/Movie.java b/java/com/android/pump/db/Movie.java
index 31b4ae7..4bae2a3 100644
--- a/java/com/android/pump/db/Movie.java
+++ b/java/com/android/pump/db/Movie.java
@@ -27,7 +27,7 @@ public class Movie extends Video {
private final String mTitle;
private final int mYear;
- // TODO Lock mutable fields to ensure consistent updates
+ // TODO(b/123706949) Lock mutable fields to ensure consistent updates
private Uri mThumbnailUri;
private Uri mPosterUri;
private String mSynopsis;
diff --git a/java/com/android/pump/db/Other.java b/java/com/android/pump/db/Other.java
index 8b46d55..4efe11a 100644
--- a/java/com/android/pump/db/Other.java
+++ b/java/com/android/pump/db/Other.java
@@ -24,7 +24,7 @@ import androidx.annotation.Nullable;
@AnyThread
public class Other extends Video {
- // TODO Lock mutable fields to ensure consistent updates
+ // TODO(b/123706949) Lock mutable fields to ensure consistent updates
private String mTitle;
private long mDuration;
private long mDateTaken;
diff --git a/java/com/android/pump/db/Playlist.java b/java/com/android/pump/db/Playlist.java
index 8419797..93e231f 100644
--- a/java/com/android/pump/db/Playlist.java
+++ b/java/com/android/pump/db/Playlist.java
@@ -28,7 +28,7 @@ import androidx.annotation.Nullable;
public class Playlist {
private final long mId;
- // TODO Lock mutable fields to ensure consistent updates
+ // TODO(b/123706949) Lock mutable fields to ensure consistent updates
private String mName;
private final List<Audio> mAudios = new ArrayList<>();
private boolean mLoaded;
diff --git a/java/com/android/pump/db/Series.java b/java/com/android/pump/db/Series.java
index 398122c..99dd653 100644
--- a/java/com/android/pump/db/Series.java
+++ b/java/com/android/pump/db/Series.java
@@ -31,7 +31,7 @@ public class Series {
private final String mTitle;
private final int mYear;
- // TODO Lock mutable fields to ensure consistent updates
+ // TODO(b/123706949) Lock mutable fields to ensure consistent updates
private Uri mPosterUri;
private final List<Episode> mEpisodes = new ArrayList<>();
private boolean mLoaded;
diff --git a/java/com/android/pump/db/VideoStore.java b/java/com/android/pump/db/VideoStore.java
index 53b5ad5..92f1153 100644
--- a/java/com/android/pump/db/VideoStore.java
+++ b/java/com/android/pump/db/VideoStore.java
@@ -60,11 +60,11 @@ class VideoStore extends ContentObserver {
mChangeListener = changeListener;
mMediaProvider = mediaProvider;
- // TODO Do we need content observer for other content uris? (E.g. thumbnail)
+ // TODO(b/123706961) Do we need content observer for other content uris? (E.g. thumbnail)
mContentResolver.registerContentObserver(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
true, this);
- // TODO When to call unregisterContentObserver?
+ // TODO(b/123706961) When to call unregisterContentObserver?
// mContentResolver.unregisterContentObserver(this);
}
@@ -236,7 +236,7 @@ class VideoStore extends ContentObserver {
private @Nullable Uri getThumbnailUri(long id) {
int thumbKind = MediaStore.Video.Thumbnails.MINI_KIND;
- // TODO The following line is required to generate thumbnails -- is there a better way?
+ // TODO(b/123707512) The following line is required to generate thumbnails -- is there a better way?
MediaStore.Video.Thumbnails.getThumbnail(mContentResolver, id, thumbKind, null);
Uri thumbnailUri = null;
@@ -274,13 +274,13 @@ class VideoStore extends ContentObserver {
@Override
public void onChange(boolean selfChange, @Nullable Uri uri) {
Clog.i(TAG, "onChange(" + selfChange + ", " + uri + ")");
- // TODO Figure out what changed
+ // TODO(b/123706961) Figure out what changed
// onChange(false, content://media)
// onChange(false, content://media/external)
// onChange(false, content://media/external/audio/media/444)
// onChange(false, content://media/external/video/media/328?blocking=1&orig_id=328&group_id=0)
- // TODO Notify listener about changes
+ // TODO(b/123706961) Notify listener about changes
// mChangeListener.xxx();
}
}
diff --git a/java/com/android/pump/fragment/AlbumFragment.java b/java/com/android/pump/fragment/AlbumFragment.java
index 07e5bc8..64ecf4e 100644
--- a/java/com/android/pump/fragment/AlbumFragment.java
+++ b/java/com/android/pump/fragment/AlbumFragment.java
@@ -64,7 +64,7 @@ public class AlbumFragment extends Fragment {
gridLayoutManager.setSpanSizeLookup(
new HeaderSpanSizeLookup(gridLayoutManager.getSpanCount()));
- // TODO Enable view caching
+ // TODO(b/123707260) Enable view caching
//mRecyclerView.setItemViewCacheSize(0);
//mRecyclerView.setRecycledViewPool(Globals.getRecycledViewPool(requireContext()));
return view;
@@ -73,7 +73,7 @@ public class AlbumFragment extends Fragment {
private static class AlbumAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
implements MediaDb.UpdateCallback {
private final MediaDb mMediaDb;
- private final List<Album> mAlbums; // TODO Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
+ private final List<Album> mAlbums; // TODO(b/123710968) Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
private AlbumAdapter(@NonNull Context context) {
setHasStableIds(true);
diff --git a/java/com/android/pump/fragment/ArtistFragment.java b/java/com/android/pump/fragment/ArtistFragment.java
index 81f908d..ce87844 100644
--- a/java/com/android/pump/fragment/ArtistFragment.java
+++ b/java/com/android/pump/fragment/ArtistFragment.java
@@ -65,7 +65,7 @@ public class ArtistFragment extends Fragment {
gridLayoutManager.setSpanSizeLookup(
new HeaderSpanSizeLookup(gridLayoutManager.getSpanCount()));
- // TODO Enable view caching
+ // TODO(b/123707260) Enable view caching
//mRecyclerView.setItemViewCacheSize(0);
//mRecyclerView.setRecycledViewPool(Globals.getRecycledViewPool(requireContext()));
return view;
@@ -74,7 +74,7 @@ public class ArtistFragment extends Fragment {
private static class ArtistAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
implements MediaDb.UpdateCallback {
private final MediaDb mMediaDb;
- private final List<Artist> mArtists; // TODO Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
+ private final List<Artist> mArtists; // TODO(b/123710968) Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
private ArtistAdapter(@NonNull Context context) {
setHasStableIds(true);
diff --git a/java/com/android/pump/fragment/AudioFragment.java b/java/com/android/pump/fragment/AudioFragment.java
index 11e102b..ad89732 100644
--- a/java/com/android/pump/fragment/AudioFragment.java
+++ b/java/com/android/pump/fragment/AudioFragment.java
@@ -56,7 +56,7 @@ public class AudioFragment extends Fragment {
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setAdapter(new AudioAdapter(requireContext()));
- // TODO Enable view caching
+ // TODO(b/123707260) Enable view caching
//mRecyclerView.setItemViewCacheSize(0);
//mRecyclerView.setRecycledViewPool(Globals.getRecycledViewPool(requireContext()));
return view;
@@ -65,7 +65,7 @@ public class AudioFragment extends Fragment {
private static class AudioAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
implements MediaDb.UpdateCallback {
private final MediaDb mMediaDb;
- private final List<Audio> mAudios; // TODO Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
+ private final List<Audio> mAudios; // TODO(b/123710968) Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
private AudioAdapter(@NonNull Context context) {
setHasStableIds(true);
diff --git a/java/com/android/pump/fragment/GenreFragment.java b/java/com/android/pump/fragment/GenreFragment.java
index 227d01f..1585847 100644
--- a/java/com/android/pump/fragment/GenreFragment.java
+++ b/java/com/android/pump/fragment/GenreFragment.java
@@ -63,7 +63,7 @@ public class GenreFragment extends Fragment {
gridLayoutManager.setSpanSizeLookup(
new HeaderSpanSizeLookup(gridLayoutManager.getSpanCount()));
- // TODO Enable view caching
+ // TODO(b/123707260) Enable view caching
//mRecyclerView.setItemViewCacheSize(0);
//mRecyclerView.setRecycledViewPool(Globals.getRecycledViewPool(requireContext()));
return view;
@@ -72,7 +72,7 @@ public class GenreFragment extends Fragment {
private static class GenreAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
implements MediaDb.UpdateCallback {
private final MediaDb mMediaDb;
- private final List<Genre> mGenres; // TODO Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
+ private final List<Genre> mGenres; // TODO(b/123710968) Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
private GenreAdapter(@NonNull Context context) {
setHasStableIds(true);
diff --git a/java/com/android/pump/fragment/MovieFragment.java b/java/com/android/pump/fragment/MovieFragment.java
index a6a6e8a..7a4bf85 100644
--- a/java/com/android/pump/fragment/MovieFragment.java
+++ b/java/com/android/pump/fragment/MovieFragment.java
@@ -68,7 +68,7 @@ public class MovieFragment extends Fragment {
((SimpleItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false);
- // TODO Enable view caching
+ // TODO(b/123707260) Enable view caching
//mRecyclerView.setItemViewCacheSize(0);
//mRecyclerView.setRecycledViewPool(Globals.getRecycledViewPool(requireContext()));
return view;
@@ -77,7 +77,7 @@ public class MovieFragment extends Fragment {
private static class MovieAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
implements MediaDb.UpdateCallback {
private final MediaDb mMediaDb;
- private final List<Movie> mMovies; // TODO Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
+ private final List<Movie> mMovies; // TODO(b/123710968) Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
private MovieAdapter(@NonNull Context context) {
setHasStableIds(true);
diff --git a/java/com/android/pump/fragment/OtherFragment.java b/java/com/android/pump/fragment/OtherFragment.java
index 19c4c2b..09dacf9 100644
--- a/java/com/android/pump/fragment/OtherFragment.java
+++ b/java/com/android/pump/fragment/OtherFragment.java
@@ -75,7 +75,7 @@ public class OtherFragment extends Fragment {
mRecyclerView.setItemAnimator(null); // TODO Re-enable add/remove animations
- // TODO Enable view caching
+ // TODO(b/123707260) Enable view caching
//mRecyclerView.setItemViewCacheSize(0);
//mRecyclerView.setRecycledViewPool(Globals.getRecycledViewPool(requireContext()));
return view;
@@ -85,7 +85,7 @@ public class OtherFragment extends Fragment {
implements MediaDb.UpdateCallback, ImageLoader.Callback {
private final ImageLoader mImageLoader;
private final MediaDb mMediaDb;
- private final List<Other> mOthers; // TODO Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
+ private final List<Other> mOthers; // TODO(b/123710968) Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
private final SparseIntArray mSpanSize = new SparseIntArray();
private OtherAdapter(@NonNull Context context) {
diff --git a/java/com/android/pump/fragment/PlaylistFragment.java b/java/com/android/pump/fragment/PlaylistFragment.java
index 7862521..545880e 100644
--- a/java/com/android/pump/fragment/PlaylistFragment.java
+++ b/java/com/android/pump/fragment/PlaylistFragment.java
@@ -71,7 +71,7 @@ public class PlaylistFragment extends Fragment {
gridLayoutManager.setSpanSizeLookup(
new HeaderSpanSizeLookup(gridLayoutManager.getSpanCount()));
- // TODO Enable view caching
+ // TODO(b/123707260) Enable view caching
//mRecyclerView.setItemViewCacheSize(0);
//mRecyclerView.setRecycledViewPool(Globals.getRecycledViewPool(requireContext()));
return view;
@@ -80,7 +80,7 @@ public class PlaylistFragment extends Fragment {
private static class PlaylistAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
implements MediaDb.UpdateCallback {
private final MediaDb mMediaDb;
- private final List<Playlist> mPlaylists; // TODO Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
+ private final List<Playlist> mPlaylists; // TODO(b/123710968) Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
private PlaylistAdapter(@NonNull Context context) {
setHasStableIds(true);
diff --git a/java/com/android/pump/fragment/SeriesFragment.java b/java/com/android/pump/fragment/SeriesFragment.java
index dbe930f..aefe3b7 100644
--- a/java/com/android/pump/fragment/SeriesFragment.java
+++ b/java/com/android/pump/fragment/SeriesFragment.java
@@ -67,7 +67,7 @@ public class SeriesFragment extends Fragment {
((SimpleItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false);
- // TODO Enable view caching
+ // TODO(b/123707260) Enable view caching
//mRecyclerView.setItemViewCacheSize(0);
//mRecyclerView.setRecycledViewPool(Globals.getRecycledViewPool(requireContext()));
return view;
@@ -76,7 +76,7 @@ public class SeriesFragment extends Fragment {
private static class SeriesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
implements MediaDb.UpdateCallback {
private final MediaDb mMediaDb;
- private final List<Series> mSeries; // TODO Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
+ private final List<Series> mSeries; // TODO(b/123710968) Use android.support.v7.util.SortedList/android.support.v7.widget.util.SortedListAdapterCallback instead
private SeriesAdapter(@NonNull Context context) {
// TODO setHasStableIds(true);
diff --git a/java/com/android/pump/util/ImageLoader.java b/java/com/android/pump/util/ImageLoader.java
index 6caab6d..59ecc59 100644
--- a/java/com/android/pump/util/ImageLoader.java
+++ b/java/com/android/pump/util/ImageLoader.java
@@ -61,7 +61,7 @@ public class ImageLoader {
}
public void addCallback(@NonNull Callback callback, @NonNull Executor executor) {
- synchronized (this) { // TODO other lock
+ synchronized (this) { // TODO(b/123708613) other lock
if (!mCallbacks.add(new SimpleEntry<>(executor, callback))) {
throw new IllegalArgumentException("Callback " + callback + " already added");
}
@@ -73,7 +73,7 @@ public class ImageLoader {
}
public void removeCallback(@NonNull Callback callback, @NonNull Executor executor) {
- synchronized (this) { // TODO other lock
+ synchronized (this) { // TODO(b/123708613) other lock
if (!mCallbacks.remove(new SimpleEntry<>(executor, callback))) {
throw new IllegalArgumentException("Callback " + callback + " not found");
}
@@ -88,7 +88,7 @@ public class ImageLoader {
@NonNull Executor executor) {
Bitmap bitmap;
Runnable loader = null;
- synchronized (this) { // TODO other lock
+ synchronized (this) { // TODO(b/123708613) other lock
bitmap = mBitmapCache.get(uri);
if (bitmap == null) {
List<Map.Entry<Executor, Callback>> callbacks = mLoadCallbacks.get(uri);
@@ -132,7 +132,7 @@ public class ImageLoader {
Bitmap bitmap = decodeBitmapFromByteArray(data);
Set<Map.Entry<Executor, Callback>> callbacks;
List<Map.Entry<Executor, Callback>> loadCallbacks;
- synchronized (ImageLoader.this) { // TODO proper lock
+ synchronized (ImageLoader.this) { // TODO(b/123708613) proper lock
if (bitmap != null) {
mBitmapCache.put(mUri, bitmap);
mOrientationCache.put(mUri, bitmap);
@@ -151,7 +151,7 @@ public class ImageLoader {
}
} catch (IOException | OutOfMemoryError e) {
Clog.e(TAG, "Failed to load image " + mUri, e);
- // TODO remove from mLoadCallbacks
+ // TODO(b/123708676) remove from mLoadCallbacks
}
}
@@ -162,7 +162,7 @@ public class ImageLoader {
BitmapFactory.decodeByteArray(data, 0, data.length, options);
options.inJustDecodeBounds = false;
- options.inSampleSize = 1; // TODO add scaling
+ options.inSampleSize = 1; // TODO(b/123708796) add scaling
return BitmapFactory.decodeByteArray(data, 0, data.length, options);
}
}
diff --git a/res/layout/activity_pump.xml b/res/layout/activity_pump.xml
index 0d0256c..b8f002f 100644
--- a/res/layout/activity_pump.xml
+++ b/res/layout/activity_pump.xml
@@ -57,7 +57,7 @@
</com.google.android.material.appbar.AppBarLayout>
- <!-- TODO Switch to androidx.viewpager2.widget.ViewPager2 -->
+ <!-- TODO(b/123715653) Switch to androidx.viewpager2.widget.ViewPager2 -->
<androidx.viewpager.widget.ViewPager
android:id="@+id/activity_pump_view_pager"
android:layout_width="match_parent"
diff --git a/res/layout/activity_video_player.xml b/res/layout/activity_video_player.xml
index dbd9f4e..4b054cd 100644
--- a/res/layout/activity_video_player.xml
+++ b/res/layout/activity_video_player.xml
@@ -15,6 +15,7 @@
limitations under the License.
-->
+<!-- TODO(b/123635879) Replace keepScreenOn with a better solution -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"