Skip to content

Commit e098138

Browse files
author
Chris Bellew
committed
Reimplement intent listener; each server should keep track of how many of its different types of sections have been searched.
1 parent 717fc58 commit e098138

File tree

4 files changed

+35
-33
lines changed

4 files changed

+35
-33
lines changed

AndroidManifest.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
android:allowBackup="true"
1717
android:icon="@drawable/ic_launcher"
1818
android:label="@string/app_name"
19-
android:theme="@style/AppTheme" >
19+
android:theme="@style/AppTheme"
20+
android:debuggable="false" >
2021
<activity
2122
android:name=".MainActivity"
2223
android:label="@string/app_name" >

src/com/atomjack/vcfp/MainActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ public void onSuccess(MediaContainer mediaContainer)
341341
}
342342

343343
private void getClients() {
344-
if(server.getName().equals(getResources().getString(R.string.scan_all))) {
344+
if(server == null || server.getName().equals(getResources().getString(R.string.scan_all))) {
345345
scanForClients();
346346
} else {
347347
getClients(null);

src/com/atomjack/vcfp/PlayMediaActivity.java

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import android.app.Dialog;
1313
import android.content.BroadcastReceiver;
1414
import android.content.Intent;
15+
import android.content.IntentFilter;
1516
import android.content.SharedPreferences;
1617
import android.net.Uri;
1718
import android.os.Bundle;
@@ -47,10 +48,7 @@ public class PlayMediaActivity extends Activity {
4748
private Intent mServiceIntent;
4849
private List<PlexClient> clients;
4950
private PlexClient client = null;
50-
private int movieSectionsSearched = 0;
5151
private int serversSearched = 0;
52-
private int showSectionsSearched = 0;
53-
private int musicSectionsSearched = 0;
5452
private List<PlexVideo> videos = new ArrayList<PlexVideo>();
5553
private Boolean videoPlayed = false;
5654
private List<PlexDirectory> shows = new ArrayList<PlexDirectory>();
@@ -399,10 +397,10 @@ private void handleVoiceSearch() {
399397

400398
private void searchForAlbum(final String artist, final String album) {
401399
Logger.d("Searching for album %s by %s.", album, artist);
402-
musicSectionsSearched = 0;
403400
serversSearched = 0;
404401
Logger.d("Servers: %d", this.plexmediaServers.size());
405402
for(final PlexServer server : this.plexmediaServers.values()) {
403+
server.musicSectionsSearched = 0;
406404
if(server.getMusicSections().size() == 0) {
407405
serversSearched++;
408406
if(serversSearched == plexmediaServers.size()) {
@@ -424,7 +422,7 @@ private void searchForAlbum(final String artist, final String album) {
424422
@Override
425423
public void onSuccess(MediaContainer mc)
426424
{
427-
musicSectionsSearched++;
425+
server.musicSectionsSearched++;
428426
for(int j=0;j<mc.directories.size();j++) {
429427
PlexDirectory thisAlbum = mc.directories.get(j);
430428
Logger.d("Album: %s by %s.", thisAlbum.title, thisAlbum.parentTitle);
@@ -436,7 +434,7 @@ public void onSuccess(MediaContainer mc)
436434
}
437435
}
438436

439-
if(server.getMusicSections().size() == musicSectionsSearched) {
437+
if(server.getMusicSections().size() == server.musicSectionsSearched) {
440438
serversSearched++;
441439
if(serversSearched == plexmediaServers.size()) {
442440
Logger.d("found %d albums to play.", albums.size());
@@ -467,10 +465,10 @@ public void onSuccess(MediaContainer mc)
467465
}
468466

469467
private void searchForSong(final String artist, final String track) {
470-
musicSectionsSearched = 0;
471468
serversSearched = 0;
472469
Logger.d("Servers: %d", this.plexmediaServers.size());
473470
for(final PlexServer server : this.plexmediaServers.values()) {
471+
server.musicSectionsSearched = 0;
474472
if(server.getMusicSections().size() == 0) {
475473
serversSearched++;
476474
if(serversSearched == plexmediaServers.size()) {
@@ -493,7 +491,7 @@ private void searchForSong(final String artist, final String track) {
493491
@Override
494492
public void onSuccess(MediaContainer mc)
495493
{
496-
musicSectionsSearched++;
494+
server.musicSectionsSearched++;
497495
for(int j=0;j<mc.tracks.size();j++) {
498496
PlexTrack thisTrack = mc.tracks.get(j);
499497
thisTrack.setArtist(thisTrack.getGrandparentTitle());
@@ -505,7 +503,7 @@ public void onSuccess(MediaContainer mc)
505503
}
506504
}
507505

508-
if(server.getMusicSections().size() == musicSectionsSearched) {
506+
if(server.getMusicSections().size() == server.musicSectionsSearched) {
509507
serversSearched++;
510508
if(serversSearched == plexmediaServers.size()) {
511509
Logger.d("found music to play.");
@@ -535,9 +533,9 @@ public void onSuccess(MediaContainer mc)
535533
}
536534

537535
private void doShowSearch(String episodeSpecified, final String showSpecified) {
538-
showSectionsSearched = 0;
539536
serversSearched = 0;
540537
for(final PlexServer server : this.plexmediaServers.values()) {
538+
server.showSectionsSearched = 0;
541539
if(server.getTvSections().size() == 0) {
542540
serversSearched++;
543541
if(serversSearched == plexmediaServers.size()) {
@@ -552,7 +550,7 @@ private void doShowSearch(String episodeSpecified, final String showSpecified) {
552550
@Override
553551
public void onSuccess(MediaContainer mc)
554552
{
555-
showSectionsSearched++;
553+
server.showSectionsSearched++;
556554
for(int j=0;j<mc.videos.size();j++) {
557555
Logger.d("Show: %s", mc.videos.get(j).getGrandparentTitle());
558556
PlexVideo video = mc.videos.get(j);
@@ -565,7 +563,7 @@ public void onSuccess(MediaContainer mc)
565563
}
566564
}
567565

568-
if(server.getTvSections().size() == showSectionsSearched) {
566+
if(server.getTvSections().size() == server.showSectionsSearched) {
569567
serversSearched++;
570568
if(serversSearched == plexmediaServers.size()) {
571569
playSpecificEpisode(showSpecified);
@@ -605,9 +603,9 @@ private void playSpecificEpisode(String showSpecified) {
605603

606604
private void doShowSearch(final String queryTerm, final String season, final String episode) {
607605
Logger.d("doShowSearch: %s s%s e%s", queryTerm, season, episode);
608-
showSectionsSearched = 0;
609606
serversSearched = 0;
610607
for(final PlexServer server : this.plexmediaServers.values()) {
608+
server.showSectionsSearched = 0;
611609
Logger.d("Searching server %s", server.getName());
612610
if(server.getTvSections().size() == 0) {
613611
Logger.d("%s has no tv sections", server.getName());
@@ -624,12 +622,12 @@ private void doShowSearch(final String queryTerm, final String season, final Str
624622
@Override
625623
public void onSuccess(MediaContainer mc)
626624
{
627-
showSectionsSearched++;
625+
server.showSectionsSearched++;
628626
for(int j=0;j<mc.directories.size();j++) {
629627
shows.add(mc.directories.get(j));
630628
}
631629

632-
if(server.getTvSections().size() == showSectionsSearched) {
630+
if(server.getTvSections().size() == server.showSectionsSearched) {
633631
serversSearched++;
634632
if(serversSearched == plexmediaServers.size()) {
635633
doEpisodeSearch(queryTerm, season, episode);
@@ -716,9 +714,9 @@ public void onSuccess(MediaContainer mc)
716714

717715
private void doLatestEpisodeSearch(final String queryTerm) {
718716
Logger.d("doLatestEpisodeSearch: %s", queryTerm);
719-
showSectionsSearched = 0;
720717
serversSearched = 0;
721718
for(final PlexServer server : this.plexmediaServers.values()) {
719+
server.showSectionsSearched = 0;
722720
Logger.d("Searching server %s", server.getName());
723721
if(server.getTvSections().size() == 0) {
724722
Logger.d(server.getName() + " has no tv sections");
@@ -735,7 +733,7 @@ private void doLatestEpisodeSearch(final String queryTerm) {
735733
@Override
736734
public void onSuccess(MediaContainer mc)
737735
{
738-
showSectionsSearched++;
736+
server.showSectionsSearched++;
739737
for(int j=0;j<mc.directories.size();j++) {
740738
PlexDirectory show = mc.directories.get(j);
741739
if(compareTitle(show.title, queryTerm)) {
@@ -745,7 +743,7 @@ public void onSuccess(MediaContainer mc)
745743
}
746744
}
747745

748-
if(server.getTvSections().size() == showSectionsSearched) {
746+
if(server.getTvSections().size() == server.showSectionsSearched) {
749747
serversSearched++;
750748
if(serversSearched == plexmediaServers.size()) {
751749
doLatestEpisode(queryTerm);
@@ -790,7 +788,6 @@ private void doLatestEpisode(String queryTerm) {
790788
@Override
791789
public void onSuccess(MediaContainer mc)
792790
{
793-
showSectionsSearched++;
794791
PlexVideo latestVideo = null;
795792
for(int j=0;j<mc.videos.size();j++) {
796793
PlexVideo video = mc.videos.get(j);
@@ -814,9 +811,9 @@ public void onSuccess(MediaContainer mc)
814811
}
815812

816813
private void doNextEpisodeSearch(final String queryTerm) {
817-
showSectionsSearched = 0;
818814
serversSearched = 0;
819815
for(final PlexServer server : this.plexmediaServers.values()) {
816+
server.showSectionsSearched = 0;
820817
if(server.getTvSections().size() == 0) {
821818
serversSearched++;
822819
if(serversSearched == plexmediaServers.size()) {
@@ -831,7 +828,7 @@ private void doNextEpisodeSearch(final String queryTerm) {
831828
@Override
832829
public void onSuccess(MediaContainer mc)
833830
{
834-
showSectionsSearched++;
831+
server.showSectionsSearched++;
835832
for (int j = 0; j < mc.videos.size(); j++)
836833
{
837834
PlexVideo video = mc.videos.get(j);
@@ -844,7 +841,7 @@ public void onSuccess(MediaContainer mc)
844841
}
845842
}
846843

847-
if (server.getTvSections().size() == showSectionsSearched)
844+
if (server.getTvSections().size() == server.showSectionsSearched)
848845
{
849846
serversSearched++;
850847
if (serversSearched == plexmediaServers.size())
@@ -893,9 +890,9 @@ private void onFinishedNextEpisodeSearch(String queryTerm) {
893890

894891
private void doMovieSearch(final String queryTerm) {
895892
Logger.d("Doing movie search. %d servers", plexmediaServers.size());
896-
movieSectionsSearched = 0;
897893
serversSearched = 0;
898894
for(final PlexServer server : this.plexmediaServers.values()) {
895+
server.movieSectionsSearched = 0;
899896
Logger.d("Searching server: %s, %d sections", server.getMachineIdentifier(), server.getMovieSections().size());
900897
if(server.getMovieSections().size() == 0) {
901898
serversSearched++;
@@ -911,7 +908,7 @@ private void doMovieSearch(final String queryTerm) {
911908
@Override
912909
public void onSuccess(MediaContainer mc)
913910
{
914-
movieSectionsSearched++;
911+
server.movieSectionsSearched++;
915912
for(int j=0;j<mc.videos.size();j++) {
916913
PlexVideo video = mc.videos.get(j);
917914
if(compareTitle(video.getTitle().toLowerCase(), queryTerm.toLowerCase())) {
@@ -921,8 +918,8 @@ public void onSuccess(MediaContainer mc)
921918
}
922919
}
923920
Logger.d("Videos: %d", mc.videos.size());
924-
Logger.d("sections searched: %d", movieSectionsSearched);
925-
if(server.getMovieSections().size() == movieSectionsSearched) {
921+
Logger.d("sections searched: %d", server.movieSectionsSearched);
922+
if(server.getMovieSections().size() == server.movieSectionsSearched) {
926923
serversSearched++;
927924
if(serversSearched == plexmediaServers.size()) {
928925
onMovieSearchFinished(queryTerm);
@@ -1126,10 +1123,10 @@ protected void onDestroy() {
11261123
@Override
11271124
protected void onResume() {
11281125
super.onResume();
1129-
// IntentFilter filters = new IntentFilter();
1130-
// filters.addAction(GDMService.MSG_RECEIVED);
1131-
// filters.addAction(GDMService.SOCKET_CLOSED);
1132-
// LocalBroadcastManager.getInstance(this).registerReceiver(gdmReceiver, filters);
1126+
IntentFilter filters = new IntentFilter();
1127+
filters.addAction(GDMService.MSG_RECEIVED);
1128+
filters.addAction(GDMService.SOCKET_CLOSED);
1129+
LocalBroadcastManager.getInstance(this).registerReceiver(gdmReceiver, filters);
11331130
}
11341131

11351132
private static Boolean compareTitle(String title, String queryTerm) {

src/com/atomjack/vcfp/model/PlexServer.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ public List<String> getTvSections() {
4444
public void setTvSections(List<String> tvSections) {
4545
this.tvSections = tvSections;
4646
}
47-
47+
48+
public int movieSectionsSearched = 0;
49+
public int showSectionsSearched = 0;
50+
public int musicSectionsSearched = 0;
51+
4852
public void addMovieSection(String key) {
4953
if(!movieSections.contains(key)) {
5054
movieSections.add(key);

0 commit comments

Comments
 (0)