diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9804ed01c144247aa3c8efe1ad09c83486cbb777..2ec2f457b6a55589c9149147b87ddfd41f2f6363 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,9 @@ + + + () { + @Override + protected Void doInBackground(Void... voids) { + MagnatuneDBManager.updateDB(); + return null; + } + }.execute(); + } + + @Override + public void onDestroy() { + super.onDestroy(); + db.close(); + } + + @Override + public void onResume() { + super.onResume(); + LocalBroadcastManager.getInstance(getActivity()).registerReceiver(refreshDone,new IntentFilter(MagnatuneDBManager.ACTION_DB_UPDATE_DONE)); + } + + @Override + public void onPause() { + super.onPause(); + LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(refreshDone); + } } diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/AlbumResponse.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/AlbumResponse.java index c8fbac0f03f6616511945d66b494e49808a604a9..e3f096675e59ab30f78119a7db4521055958c44d 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/AlbumResponse.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/AlbumResponse.java @@ -1,5 +1,7 @@ package com.magnatune.eyecreate.companionformagnatune.model; +import com.magnatune.eyecreate.companionformagnatune.model.xml.*; + import org.simpleframework.xml.ElementList; import org.simpleframework.xml.Root; @@ -8,7 +10,7 @@ import java.util.List; @Root(name="AllAlbums") public class AlbumResponse { - @ElementList(inline=true) + @ElementList(inline=true,type= com.magnatune.eyecreate.companionformagnatune.model.xml.Album.class) public List albums; } diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java index 740bf98a8fd1c58b8a8280381b253bc66a9d6c58..d536f35dcfd98a6fe25e8577535a379407456f8e 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Album.java @@ -7,7 +7,7 @@ import org.simpleframework.xml.Root; import java.util.Date; import java.util.List; -@Root +@Root(name="Album",strict = false) public class Album { @Element @@ -28,7 +28,7 @@ public class Album { @Element public int year; - @Element + @Element(required = false) public String album_notes; @Element @@ -46,6 +46,6 @@ public class Album { @Element public String albumsku; - @ElementList(inline=true) + @ElementList(inline=true,type=Track.class) public List tracks; } diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java index a8a946ac14c7ea1dd1687b4a5174b78d773bee57..5f0187302a6bc43133e5e52d8e67268cd44b4007 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/model/xml/Track.java @@ -3,7 +3,7 @@ package com.magnatune.eyecreate.companionformagnatune.model.xml; import org.simpleframework.xml.Element; import org.simpleframework.xml.Root; -@Root +@Root(name="Track",strict = false) public class Track { @Element public String artist; diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/viewholders/AlbumViewHolder.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/viewholders/AlbumViewHolder.java index c2bdf15d7f649e7fe6c6bbafa9bffe168fb77769..2639aec4f291127be6081cd7eca37cf687f4f02f 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/viewholders/AlbumViewHolder.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/viewholders/AlbumViewHolder.java @@ -1,11 +1,23 @@ package com.magnatune.eyecreate.companionformagnatune.viewholders; import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import com.magnatune.eyecreate.companionformagnatune.R; import io.realm.RealmViewHolder; public class AlbumViewHolder extends RealmViewHolder { + + public ImageView albumArt; + public TextView albumName; + public TextView artistName; + public AlbumViewHolder(View itemView) { super(itemView); + albumArt = (ImageView) itemView.findViewById(R.id.album_art); + albumName = (TextView) itemView.findViewById(R.id.album_name); + artistName = (TextView) itemView.findViewById(R.id.artist_name); } } diff --git a/app/src/main/res/layout/activity_browse.xml b/app/src/main/res/layout/activity_browse.xml index 26503bef209c9bbee95578fe8f23969287c1398b..bace6b8a16939f85166f931df8abb4dad56a4394 100644 --- a/app/src/main/res/layout/activity_browse.xml +++ b/app/src/main/res/layout/activity_browse.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".BrowseActivity"> - diff --git a/app/src/main/res/layout/fragment_albums.xml b/app/src/main/res/layout/fragment_albums.xml index c15d973e93732318fb9c85bb14a9743e98856481..54a1d32dccaa085f50459b7d8b3d71d335d57fc8 100644 --- a/app/src/main/res/layout/fragment_albums.xml +++ b/app/src/main/res/layout/fragment_albums.xml @@ -1,11 +1,10 @@ - - - \ No newline at end of file + android:id="@+id/album_grid" + app:rrvLayoutType="Grid" + app:rrvIsRefreshable="true" + app:rrvGridLayoutSpanCount="2" + xmlns:android="http://schemas.android.com/apk/res/android" /> \ No newline at end of file diff --git a/app/src/main/res/layout/listitem_album_card.xml b/app/src/main/res/layout/listitem_album_card.xml index cad06995e231a1e04dd4b68c45c01b51432a6314..e84153bb48cf388deb57e31cb5026063bdd31c5d 100644 --- a/app/src/main/res/layout/listitem_album_card.xml +++ b/app/src/main/res/layout/listitem_album_card.xml @@ -13,5 +13,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/album_name"/> + \ No newline at end of file