|
|
@ -173,9 +173,9 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
protected ArrayList<Label> lastNavigationLabels; |
|
|
|
protected ArrayList<Label> lastNavigationLabels; |
|
|
|
|
|
|
|
|
|
|
|
// Contained torrent and details fragments
|
|
|
|
// Contained torrent and details fragments
|
|
|
|
@FragmentById(resName = "torrent_list") |
|
|
|
@FragmentById(resName = "torrents_fragment") |
|
|
|
protected TorrentsFragment fragmentTorrents; |
|
|
|
protected TorrentsFragment fragmentTorrents; |
|
|
|
@FragmentById(resName = "torrent_details") |
|
|
|
@FragmentById(resName = "torrentdetails_fragment") |
|
|
|
protected DetailsFragment fragmentDetails; |
|
|
|
protected DetailsFragment fragmentDetails; |
|
|
|
|
|
|
|
|
|
|
|
// Auto refresh task
|
|
|
|
// Auto refresh task
|
|
|
@ -368,14 +368,12 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
super.onDestroy(); |
|
|
|
super.onDestroy(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@TargetApi(Build.VERSION_CODES.FROYO) |
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public boolean onCreateOptionsMenu(Menu menu) { |
|
|
|
public boolean onCreateOptionsMenu(Menu menu) { |
|
|
|
super.onCreateOptionsMenu(menu); |
|
|
|
super.onCreateOptionsMenu(menu); |
|
|
|
if (navigationHelper.enableSearchUi()) { |
|
|
|
if (navigationHelper.enableSearchUi()) { |
|
|
|
// For Android 2.1+, add an expandable SearchView to the action bar
|
|
|
|
// Add an expandable SearchView to the action bar
|
|
|
|
MenuItem item = menu.findItem(R.id.action_search); |
|
|
|
MenuItem item = menu.findItem(R.id.action_search); |
|
|
|
if (android.os.Build.VERSION.SDK_INT >= 8) { |
|
|
|
|
|
|
|
SearchView searchView = new SearchView(this); |
|
|
|
SearchView searchView = new SearchView(this); |
|
|
|
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); |
|
|
|
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); |
|
|
|
searchView.setQueryRefinementEnabled(true); |
|
|
|
searchView.setQueryRefinementEnabled(true); |
|
|
@ -387,7 +385,6 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
stopAutoRefresh(); |
|
|
|
stopAutoRefresh(); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
// NOTE ABS's OnCloseListener is not working, hence using an OnActionExpandListener
|
|
|
|
|
|
|
|
item.setOnActionExpandListener(new OnActionExpandListener() { |
|
|
|
item.setOnActionExpandListener(new OnActionExpandListener() { |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public boolean onMenuItemActionExpand(MenuItem item) { |
|
|
|
public boolean onMenuItemActionExpand(MenuItem item) { |
|
|
@ -404,7 +401,6 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
item.setActionView(searchView); |
|
|
|
item.setActionView(searchView); |
|
|
|
searchMenu = item; |
|
|
|
searchMenu = item; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -510,7 +506,7 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
|
|
|
|
|
|
|
|
// Clear the currently shown list of torrents and perhaps the details
|
|
|
|
// Clear the currently shown list of torrents and perhaps the details
|
|
|
|
fragmentTorrents.clear(true, true); |
|
|
|
fragmentTorrents.clear(true, true); |
|
|
|
if (fragmentDetails != null && fragmentDetails.getActivity() != null) { |
|
|
|
if (fragmentDetails != null && fragmentDetails.isAdded() && fragmentDetails.getActivity() != null) { |
|
|
|
fragmentDetails.updateIsLoading(false, null); |
|
|
|
fragmentDetails.updateIsLoading(false, null); |
|
|
|
fragmentDetails.clear(); |
|
|
|
fragmentDetails.clear(); |
|
|
|
fragmentDetails.setCurrentServerSettings(server); |
|
|
|
fragmentDetails.setCurrentServerSettings(server); |
|
|
@ -530,7 +526,7 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
// Remember that the user last selected this
|
|
|
|
// Remember that the user last selected this
|
|
|
|
applicationSettings.setLastUsedNavigationFilter(currentFilter); |
|
|
|
applicationSettings.setLastUsedNavigationFilter(currentFilter); |
|
|
|
// Clear the details view
|
|
|
|
// Clear the details view
|
|
|
|
if (fragmentDetails != null) { |
|
|
|
if (fragmentDetails != null && fragmentDetails.isAdded()) { |
|
|
|
fragmentDetails.updateIsLoading(false, null); |
|
|
|
fragmentDetails.updateIsLoading(false, null); |
|
|
|
fragmentDetails.clear(); |
|
|
|
fragmentDetails.clear(); |
|
|
|
} |
|
|
|
} |
|
|
@ -545,7 +541,7 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
private void updateFragmentVisibility(boolean hasServerSettings) { |
|
|
|
private void updateFragmentVisibility(boolean hasServerSettings) { |
|
|
|
if (filtersList != null) |
|
|
|
if (filtersList != null) |
|
|
|
filtersList.setVisibility(hasServerSettings ? View.VISIBLE : View.GONE); |
|
|
|
filtersList.setVisibility(hasServerSettings ? View.VISIBLE : View.GONE); |
|
|
|
if (fragmentDetails != null) { |
|
|
|
if (fragmentDetails != null && fragmentDetails.isAdded()) { |
|
|
|
if (hasServerSettings) |
|
|
|
if (hasServerSettings) |
|
|
|
getFragmentManager().beginTransaction().show(fragmentDetails).commit(); |
|
|
|
getFragmentManager().beginTransaction().show(fragmentDetails).commit(); |
|
|
|
else |
|
|
|
else |
|
|
@ -818,7 +814,7 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
* @param torrent The torrent to show detailed statistics for |
|
|
|
* @param torrent The torrent to show detailed statistics for |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public void openDetails(Torrent torrent) { |
|
|
|
public void openDetails(Torrent torrent) { |
|
|
|
if (fragmentDetails != null) { |
|
|
|
if (fragmentDetails != null && fragmentDetails.isAdded()) { |
|
|
|
fragmentDetails.updateTorrent(torrent); |
|
|
|
fragmentDetails.updateTorrent(torrent); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
DetailsActivity_.intent(this).torrent(torrent).currentLabels(lastNavigationLabels) |
|
|
|
DetailsActivity_.intent(this).torrent(torrent).currentLabels(lastNavigationLabels) |
|
|
@ -1186,7 +1182,7 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
fragmentTorrents.updateIsLoading(false); |
|
|
|
fragmentTorrents.updateIsLoading(false); |
|
|
|
if (isCritical) { |
|
|
|
if (isCritical) { |
|
|
|
fragmentTorrents.updateError(error); |
|
|
|
fragmentTorrents.updateError(error); |
|
|
|
if (fragmentDetails != null) |
|
|
|
if (fragmentDetails != null && fragmentDetails.isAdded()) |
|
|
|
fragmentDetails.updateIsLoading(false, error); |
|
|
|
fragmentDetails.updateIsLoading(false, error); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -1202,7 +1198,7 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
fragmentTorrents.updateTorrents(new ArrayList<Torrent>(torrents), lastNavigationLabels); |
|
|
|
fragmentTorrents.updateTorrents(new ArrayList<Torrent>(torrents), lastNavigationLabels); |
|
|
|
|
|
|
|
|
|
|
|
// Update the details fragment if the currently shown torrent is in the newly retrieved list
|
|
|
|
// Update the details fragment if the currently shown torrent is in the newly retrieved list
|
|
|
|
if (fragmentDetails != null) { |
|
|
|
if (fragmentDetails != null && fragmentDetails.isAdded()) { |
|
|
|
fragmentDetails.perhapsUpdateTorrent(torrents); |
|
|
|
fragmentDetails.perhapsUpdateTorrent(torrents); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1214,7 +1210,7 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
// Labels are shown in the action bar spinner
|
|
|
|
// Labels are shown in the action bar spinner
|
|
|
|
navigationSpinnerAdapter.updateLabels(lastNavigationLabels); |
|
|
|
navigationSpinnerAdapter.updateLabels(lastNavigationLabels); |
|
|
|
} |
|
|
|
} |
|
|
|
if (fragmentDetails != null) |
|
|
|
if (fragmentDetails != null && fragmentDetails.isAdded()) |
|
|
|
fragmentDetails.updateLabels(lastNavigationLabels); |
|
|
|
fragmentDetails.updateLabels(lastNavigationLabels); |
|
|
|
|
|
|
|
|
|
|
|
// Perhaps we were still waiting to preselect the last used filter (on a fresh application start)
|
|
|
|
// Perhaps we were still waiting to preselect the last used filter (on a fresh application start)
|
|
|
@ -1244,14 +1240,14 @@ public class TorrentsActivity extends Activity implements OnNavigationListener, |
|
|
|
@UiThread |
|
|
|
@UiThread |
|
|
|
protected void onTorrentDetailsRetrieved(Torrent torrent, TorrentDetails torrentDetails) { |
|
|
|
protected void onTorrentDetailsRetrieved(Torrent torrent, TorrentDetails torrentDetails) { |
|
|
|
// Update the details fragment with the new fine details for the shown torrent
|
|
|
|
// Update the details fragment with the new fine details for the shown torrent
|
|
|
|
if (fragmentDetails != null) |
|
|
|
if (fragmentDetails != null && fragmentDetails.isAdded()) |
|
|
|
fragmentDetails.updateTorrentDetails(torrent, torrentDetails); |
|
|
|
fragmentDetails.updateTorrentDetails(torrent, torrentDetails); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@UiThread |
|
|
|
@UiThread |
|
|
|
protected void onTorrentFilesRetrieved(Torrent torrent, List<TorrentFile> torrentFiles) { |
|
|
|
protected void onTorrentFilesRetrieved(Torrent torrent, List<TorrentFile> torrentFiles) { |
|
|
|
// Update the details fragment with the newly retrieved list of files
|
|
|
|
// Update the details fragment with the newly retrieved list of files
|
|
|
|
if (fragmentDetails != null) |
|
|
|
if (fragmentDetails != null && fragmentDetails.isAdded()) |
|
|
|
fragmentDetails.updateTorrentFiles(torrent, new ArrayList<TorrentFile>(torrentFiles)); |
|
|
|
fragmentDetails.updateTorrentFiles(torrent, new ArrayList<TorrentFile>(torrentFiles)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|