Skip to content

Commit ae6c515

Browse files
author
Chris Bellew
committed
Fix for new version of Plex Home Theater which no longer includes state of "stopped" when no media is playing.
1 parent 6a5c92d commit ae6c515

File tree

13 files changed

+31
-25
lines changed

13 files changed

+31
-25
lines changed

VoiceControlForPlex.iml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</configuration>
88
</facet>
99
</component>
10-
<component name="NewModuleRootManager" inherit-compiler-output="false">
10+
<component name="NewModuleRootManager" inherit-compiler-output="true">
1111
<output url="file://$MODULE_DIR$/build/classes/main" />
1212
<output-test url="file://$MODULE_DIR$/build/classes/test" />
1313
<exclude-output />

mobile/src/main/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools"
44
package="com.atomjack.vcfp"
5-
android:versionCode="36"
6-
android:versionName="2.0b5" >
5+
android:versionCode="37"
6+
android:versionName="2.0b6" >
77

88
<uses-permission android:name="com.mohammadag.googlesearchapi.permission.ACCESS_GGOGLE_SEARCH_API" />
99
<uses-permission android:name="android.permission.INTERNET" />

mobile/src/main/java/com/atomjack/vcfp/activities/VCFPActivity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,8 @@ public void onTimelineReceived(MediaContainer mc) {
532532
if(timelines != null) {
533533
for (Timeline timeline : timelines) {
534534
if (timeline.key != null) {
535+
if(timeline.state == null)
536+
timeline.state = "stopped";
535537
// Logger.d("[VCFPActivity] onTimelineReceived: %s", timeline.state);
536538
// Logger.d("nowPlayingMedia: %s", nowPlayingMedia);
537539
// Get this media's info
@@ -902,7 +904,7 @@ public void sendWearPlaybackChange() {
902904
if(!plexSubscription.isSubscribed() && !castPlayerManager.isSubscribed()) {
903905
new SendToDataLayerThread(WearConstants.DISCONNECTED, this).start();
904906
} else {
905-
Logger.d("Sending Wear Notification: %s", mCurrentState);
907+
Logger.d("[VCFPActivity] Sending Wear Notification: %s", mCurrentState);
906908
final DataMap data = new DataMap();
907909
String msg = null;
908910
if (mCurrentState == PlayerState.PLAYING) {

mobile/src/main/java/com/atomjack/vcfp/model/Device.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212

1313
@Root(strict=false)
1414
public class Device {
15-
@Attribute
15+
@Attribute(required=false)
1616
public String name;
17-
@Attribute
17+
@Attribute(required=false)
1818
public String product;
19-
@Attribute
19+
@Attribute(required=false)
2020
public String productVersion;
21-
@Attribute
21+
@Attribute(required=false)
2222
public String clientIdentifier;
2323
@Attribute(required=false)
2424
public String sourceTitle;

mobile/src/main/java/com/atomjack/vcfp/model/MediaContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public Timeline getTimeline(String type) {
6565

6666
public Timeline getActiveTimeline() {
6767
for(Timeline t : timelines) {
68-
if(!t.state.equals("stopped"))
68+
if(t.state != null && !t.state.equals("stopped"))
6969
return t;
7070
}
7171
return null;

mobile/src/main/java/com/atomjack/vcfp/model/PlexDevice.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
import java.util.List;
99

1010
public abstract class PlexDevice implements Parcelable {
11-
@Attribute
11+
@Attribute(required=false)
1212
public String name;
13-
@Attribute
13+
@Attribute(required=false)
1414
public String address;
15-
@Attribute
15+
@Attribute(required=false)
1616
public String port;
17-
@Attribute
17+
@Attribute(required=false)
1818
public String version;
1919
@Attribute(required=false)
2020
public String product;
@@ -24,7 +24,7 @@ public abstract class PlexDevice implements Parcelable {
2424
public String lastSeenAt;
2525
@ElementList(required=false, inline=true)
2626
public List<Connection> connections;
27-
@Attribute
27+
@Attribute(required=false)
2828
public String machineIdentifier;
2929

3030

mobile/src/main/java/com/atomjack/vcfp/model/PlexDirectory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
@Root(strict=false)
1010
public class PlexDirectory implements Parcelable {
11-
@Attribute
11+
@Attribute(required=false)
1212
public String key;
13-
@Attribute
13+
@Attribute(required=false)
1414
public String title;
1515
@Attribute(required=false)
1616
public String type;

mobile/src/main/java/com/atomjack/vcfp/model/PlexMedia.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,11 @@ else if(isClip())
6969
return "unknown";
7070
}
7171

72-
@Attribute
72+
@Attribute(required=false)
7373
public String key;
74-
@Attribute
74+
@Attribute(required=false)
7575
public String ratingKey;
76-
@Attribute
76+
@Attribute(required=false)
7777
public String title;
7878
@Attribute(required=false)
7979
public String art;

mobile/src/main/java/com/atomjack/vcfp/model/PlexUser.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
@Root(strict=false)
88
public class PlexUser {
9-
@Attribute
9+
@Attribute(required=false)
1010
public String authenticationToken;
1111
@Element
1212
public String username;

shared/shared.iml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4">
2+
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="VoiceControlForPlex" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
33
<component name="FacetManager">
44
<facet type="android-gradle" name="Android-Gradle">
55
<configuration>
@@ -9,6 +9,7 @@
99
<facet type="android" name="Android">
1010
<configuration>
1111
<option name="SELECTED_BUILD_VARIANT" value="debug" />
12+
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
1213
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
1314
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
1415
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
@@ -25,6 +26,7 @@
2526
</component>
2627
<component name="NewModuleRootManager" inherit-compiler-output="false">
2728
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
29+
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
2830
<exclude-output />
2931
<content url="file://$MODULE_DIR$">
3032
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />

0 commit comments

Comments
 (0)