Add in start of artist screen and have screens listed in drawer. Refresh state should be kept even when switching fragments.
This commit is contained in:
@@ -9,6 +9,7 @@ import com.heinrichreimersoftware.materialdrawer.DrawerActivity;
|
|||||||
import com.heinrichreimersoftware.materialdrawer.structure.DrawerItem;
|
import com.heinrichreimersoftware.materialdrawer.structure.DrawerItem;
|
||||||
import com.heinrichreimersoftware.materialdrawer.structure.DrawerProfile;
|
import com.heinrichreimersoftware.materialdrawer.structure.DrawerProfile;
|
||||||
import com.magnatune.eyecreate.companionformagnatune.fragments.AlbumsFragment;
|
import com.magnatune.eyecreate.companionformagnatune.fragments.AlbumsFragment;
|
||||||
|
import com.magnatune.eyecreate.companionformagnatune.fragments.ArtistFragment;
|
||||||
import com.magnatune.eyecreate.companionformagnatune.login.MagnatuneAccountManager;
|
import com.magnatune.eyecreate.companionformagnatune.login.MagnatuneAccountManager;
|
||||||
|
|
||||||
public class BrowseActivity extends DrawerActivity {
|
public class BrowseActivity extends DrawerActivity {
|
||||||
@@ -23,6 +24,29 @@ public class BrowseActivity extends DrawerActivity {
|
|||||||
.setRoundedAvatar((BitmapDrawable) ContextCompat.getDrawable(this, R.drawable.ic_account_white_48dp))
|
.setRoundedAvatar((BitmapDrawable) ContextCompat.getDrawable(this, R.drawable.ic_account_white_48dp))
|
||||||
.setBackground(new ColorDrawable(ContextCompat.getColor(this, R.color.primary))));
|
.setBackground(new ColorDrawable(ContextCompat.getColor(this, R.color.primary))));
|
||||||
|
|
||||||
|
addItem(new DrawerItem()
|
||||||
|
.setTextPrimary(getString(R.string.albums))
|
||||||
|
.setOnItemClickListener(new DrawerItem.OnItemClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DrawerItem drawerItem, long l, int i) {
|
||||||
|
getSupportFragmentManager().beginTransaction()
|
||||||
|
.replace(R.id.fragment_holder, new AlbumsFragment(), "albums")
|
||||||
|
.commit();
|
||||||
|
closeDrawer();
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
addItem(new DrawerItem()
|
||||||
|
.setTextPrimary(getString(R.string.artists))
|
||||||
|
.setOnItemClickListener(new DrawerItem.OnItemClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DrawerItem drawerItem, long l, int i) {
|
||||||
|
getSupportFragmentManager().beginTransaction()
|
||||||
|
.replace(R.id.fragment_holder,new ArtistFragment(),"artists")
|
||||||
|
.commit();
|
||||||
|
closeDrawer();
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
if(savedInstanceState == null) {
|
if(savedInstanceState == null) {
|
||||||
getSupportFragmentManager().beginTransaction()
|
getSupportFragmentManager().beginTransaction()
|
||||||
.replace(R.id.fragment_holder,new AlbumsFragment(),"albums")
|
.replace(R.id.fragment_holder,new AlbumsFragment(),"albums")
|
||||||
|
|||||||
@@ -55,6 +55,8 @@ public class AlbumsFragment extends Fragment {
|
|||||||
if(db.where(Album.class).findAll().size()<1) {
|
if(db.where(Album.class).findAll().size()<1) {
|
||||||
recyclerView.setRefreshing(true);
|
recyclerView.setRefreshing(true);
|
||||||
triggerDBUpdate();
|
triggerDBUpdate();
|
||||||
|
} else if(!MagnatuneDBManager.isProcessingDone()) {
|
||||||
|
recyclerView.setRefreshing(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package com.magnatune.eyecreate.companionformagnatune.fragments;
|
||||||
|
|
||||||
|
import android.support.v4.app.Fragment;
|
||||||
|
|
||||||
|
public class ArtistFragment extends Fragment {
|
||||||
|
}
|
||||||
@@ -23,6 +23,7 @@ public class MagnatuneDBManager {
|
|||||||
public static final String ACTION_DB_UPDATE_DONE = "dbupdatedone";
|
public static final String ACTION_DB_UPDATE_DONE = "dbupdatedone";
|
||||||
private static final String DB_CHECK_PREFS = "dbcheckprefs";
|
private static final String DB_CHECK_PREFS = "dbcheckprefs";
|
||||||
private static final String SP_KEY_DB_HASH = "dbhash";
|
private static final String SP_KEY_DB_HASH = "dbhash";
|
||||||
|
private static boolean processingDone = true;
|
||||||
|
|
||||||
public static void updateDB() {
|
public static void updateDB() {
|
||||||
//This method should be called on another thread
|
//This method should be called on another thread
|
||||||
@@ -53,7 +54,7 @@ public class MagnatuneDBManager {
|
|||||||
try {
|
try {
|
||||||
Response<ObjectInputStream> response = MagnatuneCompainionApplication.getDataApi().getAlbumList().execute();
|
Response<ObjectInputStream> response = MagnatuneCompainionApplication.getDataApi().getAlbumList().execute();
|
||||||
Realm db = getAlbumDB();
|
Realm db = getAlbumDB();
|
||||||
boolean processingDone = false;
|
processingDone = false;
|
||||||
while(!processingDone) {
|
while(!processingDone) {
|
||||||
db.beginTransaction();
|
db.beginTransaction();
|
||||||
try {
|
try {
|
||||||
@@ -78,6 +79,10 @@ public class MagnatuneDBManager {
|
|||||||
LocalBroadcastManager.getInstance(MagnatuneCompainionApplication.getApplication()).sendBroadcast(new Intent(ACTION_DB_UPDATE_DONE));
|
LocalBroadcastManager.getInstance(MagnatuneCompainionApplication.getApplication()).sendBroadcast(new Intent(ACTION_DB_UPDATE_DONE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isProcessingDone() {
|
||||||
|
return processingDone;
|
||||||
|
}
|
||||||
|
|
||||||
public static Realm getAlbumDB() {
|
public static Realm getAlbumDB() {
|
||||||
//Remember to close each instance when done.
|
//Remember to close each instance when done.
|
||||||
return Realm.getInstance(MagnatuneCompainionApplication.getAlbumDBConfig());
|
return Realm.getInstance(MagnatuneCompainionApplication.getAlbumDBConfig());
|
||||||
|
|||||||
@@ -4,4 +4,7 @@
|
|||||||
<string name="click_to_logout">Click to Logout</string>
|
<string name="click_to_logout">Click to Logout</string>
|
||||||
<string name="anon_user">Anonymous</string>
|
<string name="anon_user">Anonymous</string>
|
||||||
<string name="invalid">Invalid</string>
|
<string name="invalid">Invalid</string>
|
||||||
|
|
||||||
|
<string name="artists">Artists</string>
|
||||||
|
<string name="albums">Albums</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user