diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-08-11 21:18:08 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-08-11 21:18:08 -0700 |
commit | 43eb6995e8b9896fc208fcb14d5ebf925a66540f (patch) | |
tree | f095f6d9123b8b2d9793234c21cd1f9e290f03d0 /app/src/main/java/github/daneren2005/dsub/fragments/MainFragment.java | |
parent | 011fdc8967cf7f6118f28b1371a19b23fc198fd0 (diff) | |
download | dsub-43eb6995e8b9896fc208fcb14d5ebf925a66540f.tar.gz dsub-43eb6995e8b9896fc208fcb14d5ebf925a66540f.tar.bz2 dsub-43eb6995e8b9896fc208fcb14d5ebf925a66540f.zip |
#535 Move online/offline to pull out drawer
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/fragments/MainFragment.java')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/fragments/MainFragment.java | 156 |
1 files changed, 22 insertions, 134 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/MainFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/MainFragment.java index d25315ac..0c072864 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/MainFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/MainFragment.java @@ -100,38 +100,28 @@ public class MainFragment extends SelectRecyclerFragment<Integer> { List<List<Integer>> sections = new ArrayList<>(); List<String> headers = new ArrayList<>(); - if (!Util.isOffline(context)) { - List<Integer> offline = Arrays.asList(R.string.main_offline); - sections.add(offline); - headers.add(null); - - List<Integer> albums = new ArrayList<>(); - albums.add(R.string.main_albums_newest); - albums.add(R.string.main_albums_random); - if(ServerInfo.checkServerVersion(context, "1.8")) { - albums.add(R.string.main_albums_alphabetical); - } - if(!Util.isTagBrowsing(context)) { - albums.add(R.string.main_albums_highest); - } - albums.add(R.string.main_albums_starred); - albums.add(R.string.main_albums_genres); - albums.add(R.string.main_albums_year); - albums.add(R.string.main_albums_recent); + List<Integer> albums = new ArrayList<>(); + albums.add(R.string.main_albums_newest); + albums.add(R.string.main_albums_random); + if(ServerInfo.checkServerVersion(context, "1.8")) { + albums.add(R.string.main_albums_alphabetical); + } + if(!Util.isTagBrowsing(context)) { albums.add(R.string.main_albums_highest); - - sections.add(albums); - headers.add("albums"); - - if(ServerInfo.checkServerVersion(context, "1.8") && !Util.isTagBrowsing(context)) { - List<Integer> videos = Arrays.asList(R.string.main_videos); - sections.add(videos); - headers.add("videos"); - } - } else { - List<Integer> online = Arrays.asList(R.string.main_online); - sections.add(online); - headers.add(null); + } + albums.add(R.string.main_albums_starred); + albums.add(R.string.main_albums_genres); + albums.add(R.string.main_albums_year); + albums.add(R.string.main_albums_recent); + albums.add(R.string.main_albums_highest); + + sections.add(albums); + headers.add("albums"); + + if(ServerInfo.checkServerVersion(context, "1.8") && !Util.isTagBrowsing(context)) { + List<Integer> videos = Arrays.asList(R.string.main_videos); + sections.add(videos); + headers.add("videos"); } return new MainAdapter(context, headers, sections, this); @@ -147,28 +137,6 @@ public class MainFragment extends SelectRecyclerFragment<Integer> { return R.string.common_appname; } - private void toggleOffline() { - boolean isOffline = Util.isOffline(context); - Util.setOffline(context, !isOffline); - context.invalidate(); - DownloadService service = getDownloadService(); - if (service != null) { - service.setOnline(isOffline); - } - - // Coming back online - if(isOffline) { - int scrobblesCount = Util.offlineScrobblesCount(context); - int starsCount = Util.offlineStarsCount(context); - if(scrobblesCount > 0 || starsCount > 0){ - showOfflineSyncDialog(scrobblesCount, starsCount); - } - } - - UserUtil.seedCurrentUser(context); - context.updateDrawerHeader(); - } - private void showAlbumList(String type) { if("genres".equals(type)) { SubsonicFragment fragment = new SelectGenreFragment(); @@ -198,84 +166,6 @@ public class MainFragment extends SelectRecyclerFragment<Integer> { SubsonicFragment fragment = new SelectVideoFragment(); replaceFragment(fragment); } - - private void showOfflineSyncDialog(final int scrobbleCount, final int starsCount) { - String syncDefault = Util.getSyncDefault(context); - if(syncDefault != null) { - if("sync".equals(syncDefault)) { - syncOffline(scrobbleCount, starsCount); - return; - } else if("delete".equals(syncDefault)) { - deleteOffline(); - return; - } - } - - View checkBoxView = context.getLayoutInflater().inflate(R.layout.sync_dialog, null); - final CheckBox checkBox = (CheckBox)checkBoxView.findViewById(R.id.sync_default); - - AlertDialog.Builder builder = new AlertDialog.Builder(context); - builder.setIcon(android.R.drawable.ic_dialog_info) - .setTitle(R.string.offline_sync_dialog_title) - .setMessage(context.getResources().getString(R.string.offline_sync_dialog_message, scrobbleCount, starsCount)) - .setView(checkBoxView) - .setPositiveButton(R.string.common_ok, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - if(checkBox.isChecked()) { - Util.setSyncDefault(context, "sync"); - } - syncOffline(scrobbleCount, starsCount); - } - }).setNeutralButton(R.string.common_cancel, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - dialogInterface.dismiss(); - } - }).setNegativeButton(R.string.common_delete, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - if(checkBox.isChecked()) { - Util.setSyncDefault(context, "delete"); - } - deleteOffline(); - } - }); - - builder.create().show(); - } - - private void syncOffline(final int scrobbleCount, final int starsCount) { - new SilentBackgroundTask<Integer>(context) { - @Override - protected Integer doInBackground() throws Throwable { - MusicService musicService = MusicServiceFactory.getMusicService(context); - return musicService.processOfflineSyncs(context, null); - } - - @Override - protected void done(Integer result) { - if(result == scrobbleCount) { - Util.toast(context, context.getResources().getString(R.string.offline_sync_success, result)); - } else { - Util.toast(context, context.getResources().getString(R.string.offline_sync_partial, result, scrobbleCount + starsCount)); - } - } - - @Override - protected void error(Throwable error) { - Log.w(TAG, "Failed to sync offline stats", error); - String msg = context.getResources().getString(R.string.offline_sync_error) + " " + getErrorMessage(error); - Util.toast(context, msg); - } - }.execute(); - } - private void deleteOffline() { - SharedPreferences.Editor offline = Util.getOfflineSync(context).edit(); - offline.putInt(Constants.OFFLINE_SCROBBLE_COUNT, 0); - offline.putInt(Constants.OFFLINE_STAR_COUNT, 0); - offline.commit(); - } private void showAboutDialog() { new LoadingTask<Void>(context) { @@ -405,9 +295,7 @@ public class MainFragment extends SelectRecyclerFragment<Integer> { @Override public void onItemClicked(Integer item) { - if(item == R.string.main_offline || item == R.string.main_online) { - toggleOffline(); - } else if (item == R.string.main_albums_newest) { + if (item == R.string.main_albums_newest) { showAlbumList("newest"); } else if (item == R.string.main_albums_random) { showAlbumList("random"); |