Skip to content

Commit 2d21588

Browse files
author
Chris Bellew
committed
Removed extra debugging from http calls. Re-implemented using up to date client settings from hardcoded home screen shortcut. Updated to version 2.0.5.
1 parent fd45f88 commit 2d21588

File tree

7 files changed

+142
-11
lines changed

7 files changed

+142
-11
lines changed

Voice Control For Plex/mobile.iml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module external.linked.project.id=":mobile" external.linked.project.path="$MODULE_DIR$/../mobile" 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">
3+
<component name="FacetManager">
4+
<facet type="android-gradle" name="Android-Gradle">
5+
<configuration>
6+
<option name="GRADLE_PROJECT_PATH" value=":mobile" />
7+
</configuration>
8+
</facet>
9+
<facet type="android" name="Android">
10+
<configuration>
11+
<option name="SELECTED_BUILD_VARIANT" value="debug" />
12+
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
13+
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
14+
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
15+
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
16+
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
17+
<afterSyncTasks>
18+
<task>generateDebugAndroidTestSources</task>
19+
<task>generateDebugSources</task>
20+
</afterSyncTasks>
21+
<option name="ALLOW_USER_CONFIGURATION" value="false" />
22+
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
23+
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
24+
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../mobile/src/main/res" />
25+
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
26+
</configuration>
27+
</facet>
28+
</component>
29+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
30+
<output url="file://$MODULE_DIR$/../mobile/build/intermediates/classes/debug" />
31+
<output-test url="file://$MODULE_DIR$/../mobile/build/intermediates/classes/androidTest/debug" />
32+
<exclude-output />
33+
<content url="file://$MODULE_DIR$/../mobile">
34+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/source/r/debug" isTestSource="false" generated="true" />
35+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
36+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
37+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/source/rs/debug" isTestSource="false" generated="true" />
38+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/res/rs/debug" type="java-resource" />
39+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/res/resValues/debug" type="java-resource" />
40+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
41+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
42+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
43+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
44+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
45+
<sourceFolder url="file://$MODULE_DIR$/../mobile/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
46+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/debug/res" type="java-resource" />
47+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/debug/resources" type="java-resource" />
48+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/debug/assets" type="java-resource" />
49+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/debug/aidl" isTestSource="false" />
50+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/debug/java" isTestSource="false" />
51+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/debug/jni" isTestSource="false" />
52+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/debug/rs" isTestSource="false" />
53+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/main/res" type="java-resource" />
54+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/main/resources" type="java-resource" />
55+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/main/assets" type="java-resource" />
56+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/main/aidl" isTestSource="false" />
57+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/main/java" isTestSource="false" />
58+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/main/jni" isTestSource="false" />
59+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/main/rs" isTestSource="false" />
60+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/androidTest/res" type="java-test-resource" />
61+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/androidTest/resources" type="java-test-resource" />
62+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/androidTest/assets" type="java-test-resource" />
63+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/androidTest/aidl" isTestSource="true" />
64+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/androidTest/java" isTestSource="true" />
65+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/androidTest/jni" isTestSource="true" />
66+
<sourceFolder url="file://$MODULE_DIR$/../mobile/src/androidTest/rs" isTestSource="true" />
67+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/assets" />
68+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/classes" />
69+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/debug" />
70+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/dependency-cache" />
71+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/dex" />
72+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.0/jars" />
73+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/exploded-aar/com.android.support/mediarouter-v7/23.0.0/jars" />
74+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/exploded-aar/com.android.support/support-v4/23.0.1/jars" />
75+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/exploded-aar/com.github.codechimp-org.apprater/library/1.0.30/jars" />
76+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/exploded-aar/com.google.android.gms/play-services-base/7.8.0/jars" />
77+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/exploded-aar/com.google.android.gms/play-services-wearable/7.8.0/jars" />
78+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/incremental" />
79+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/manifests" />
80+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/release" />
81+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/res" />
82+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/rs" />
83+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/symbols" />
84+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/intermediates/tmp" />
85+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/outputs" />
86+
<excludeFolder url="file://$MODULE_DIR$/../mobile/build/tmp" />
87+
</content>
88+
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
89+
<orderEntry type="sourceFolder" forTests="false" />
90+
<orderEntry type="library" exported="" name="converter-simplexml-2.0.0-beta1" level="project" />
91+
<orderEntry type="library" exported="" name="org.apache.http.legacy" level="project" />
92+
<orderEntry type="library" exported="" name="bugsense-3.6" level="project" />
93+
<orderEntry type="library" exported="" name="httpclient-android-4.3.5.1" level="project" />
94+
<orderEntry type="library" exported="" name="retrofit-2.0.0-beta1" level="project" />
95+
<orderEntry type="library" exported="" name="commons-io-2.4" level="project" />
96+
<orderEntry type="library" exported="" name="play-services-base-7.8.0" level="project" />
97+
<orderEntry type="library" exported="" name="disklrucache-2.0.2" level="project" />
98+
<orderEntry type="library" exported="" name="support-v4-23.0.1" level="project" />
99+
<orderEntry type="library" exported="" name="library-1.0.30" level="project" />
100+
<orderEntry type="library" exported="" name="gson-2.3.1" level="project" />
101+
<orderEntry type="library" exported="" name="mediarouter-v7-23.0.0" level="project" />
102+
<orderEntry type="library" exported="" name="stax-1.2.0" level="project" />
103+
<orderEntry type="library" exported="" name="okhttp-2.5.0" level="project" />
104+
<orderEntry type="library" exported="" name="okio-1.6.0" level="project" />
105+
<orderEntry type="library" exported="" name="play-services-wearable-7.8.0" level="project" />
106+
<orderEntry type="library" exported="" name="simple-xml-2.7.1" level="project" />
107+
<orderEntry type="library" exported="" name="appcompat-v7-23.0.0" level="project" />
108+
<orderEntry type="library" exported="" name="support-annotations-23.0.1" level="project" />
109+
<orderEntry type="module" module-name="shared" exported="" />
110+
<orderEntry type="module" module-name="CastCompanionLibrary-android" exported="" />
111+
<orderEntry type="library" exported="" name="org.apache.http.legacy-android-23" level="project" />
112+
</component>
113+
</module>

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="52"
6-
android:versionName="2.0.5b3" >
5+
android:versionCode="55"
6+
android:versionName="2.0.5" >
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/net/PlexHttpClient.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ public void onFailure(Throwable t) {
326326

327327
public static void unsubscribe(PlexClient client, int commandId, String uuid, String deviceName, final PlexHttpResponseHandler responseHandler) {
328328
String url = String.format("http://%s:%s", client.address, client.port);
329-
PlexHttpService service = getService(url, true);
329+
PlexHttpService service = getService(url);
330330
Call<PlexResponse> call = service.unsubscribe(uuid, deviceName, client.machineIdentifier);
331331
call.enqueue(new Callback<PlexResponse>() {
332332
@Override
@@ -394,7 +394,7 @@ public static void createPlayQueue(Connection connection, final PlexMedia media,
394394
for(Object name:qs.keySet()) {
395395
Logger.d("QS %s:%s", name, qs.get(name));
396396
}
397-
PlexHttpService service = getService(String.format("http://%s:%s", connection.address, connection.port), true);
397+
PlexHttpService service = getService(String.format("http://%s:%s", connection.address, connection.port));
398398
Call<MediaContainer> call = service.createPlayQueue(qs, VoiceControlForPlexApplication.getUUID());
399399
call.enqueue(new Callback<MediaContainer>() {
400400
@Override
@@ -501,7 +501,7 @@ public static byte[] getSyncBytes(String url) throws SocketTimeoutException {
501501

502502
public static void getClientTimeline(PlexClient client, final int commandId, final PlexHttpMediaContainerHandler responseHandler) {
503503
String url = String.format("http://%s:%s", client.address, client.port);
504-
PlexHttpService service = getService(url, true);
504+
PlexHttpService service = getService(url);
505505
Logger.d("Polling timeline with uuid %s", VoiceControlForPlexApplication.getInstance().prefs.getUUID());
506506
Call<MediaContainer> call = service.pollTimeline(VoiceControlForPlexApplication.getInstance().prefs.getUUID(), commandId);
507507
call.enqueue(new Callback<MediaContainer>() {

mobile/src/main/java/com/atomjack/vcfp/services/PlexSearchService.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,20 @@ public void onApplicationDisconnected(int errorCode) {
215215
if(specifiedServer != null)
216216
Logger.d("specified server %s", specifiedServer);
217217
PlexClient thisClient = VoiceControlForPlexApplication.gsonRead.fromJson(intent.getStringExtra(com.atomjack.shared.Intent.EXTRA_CLIENT), PlexClient.class);
218-
if(thisClient != null)
219-
client = thisClient;
218+
if(thisClient != null) {
219+
client = thisClient;
220+
// Logger.d("Got client from hardcoded shortcut, lastUpdated: %s.", client.lastUpdated);
221+
// See if this same client has been saved into settings more recently than the shortcut was created, and if so, use the saved client in case its IP address has changed
222+
for (PlexClient theClient : VoiceControlForPlexApplication.clients.values()) {
223+
if(theClient.machineIdentifier != null && theClient.machineIdentifier.equals(client.machineIdentifier)) {
224+
// Logger.d("Found saved client, last updated: %s", theClient.lastUpdated);
225+
if(client.lastUpdated == null || (theClient.lastUpdated != null && theClient.lastUpdated.after(client.lastUpdated))) {
226+
Logger.d("Saved client was updated after shortcut was created. Using saved client instead.");
227+
client = theClient;
228+
}
229+
}
230+
}
231+
}
220232
if(intent.getBooleanExtra(com.atomjack.shared.Intent.EXTRA_RESUME, false))
221233
resumePlayback = true;
222234

@@ -1252,7 +1264,9 @@ public void onSuccess(PlexResponse r) {
12521264

12531265
@Override
12541266
public void onFailure(Throwable error) {
1255-
feedback.e(getResources().getString(R.string.got_error), error.getMessage());
1267+
feedback.e(String.format(getResources().getString(R.string.couldnt_play_to_client), client.name));
1268+
Logger.e("Couldn't connect to client %s.", client.name);
1269+
error.printStackTrace();
12561270
}
12571271
});
12581272
}

mobile/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,4 +153,5 @@
153153
<string name="email_device_logs_write_storage_denied">Permission to write to the device\'s external storage is required in order to email device logs.</string>
154154
<string name="video_attempted_on_audio_only_device">Sorry, but video playback is not supported on %s.</string>
155155
<string name="select_plex_server">Select a Plex Server</string>
156+
<string name="couldnt_play_to_client">Sorry, I got an error trying to connect to %s. If this problem persists, recreate the homescreen shortcut after re-scanning for clients.</string>
156157
</resources>

mobile/src/main/res/xml/changelog.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<changelog>
3-
<release version="2.0.5b3" versioncode="52">
3+
<release version="2.0.5" versioncode="55">
4+
<change>On Now Playing screen, tap to pause and swipe left/right to seek back/forward.</change>
45
<change>Added support for audio-only Chromecast devices.</change>
56
<change>Fixed playing all songs by an artist.</change>
67
<change>Fixed using the mic button on the now playing screen to trigger new playback, when used with Chromecast.</change>
78
<change>Fixed display of notifications (background color).</change>
89
<change>Fixed bug that caused inconsistent connection to non-Chromecast Plex clients.</change>
10+
<change>Better support for Plex Media Player.</change>
11+
<change>Other minor bug fixes.</change>
912
</release>
1013
<release version="2.0.4" versioncode="49">
1114
<change>Added Swedish translations (Bjorn Komlanz).</change>

wear/src/main/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
package="com.atomjack.vcfp"
4-
android:versionCode="52"
5-
android:versionName="2.0.5b3">
4+
android:versionCode="55"
5+
android:versionName="2.0.5">
66

77
<uses-feature android:name="android.hardware.type.watch" />
88

0 commit comments

Comments
 (0)