Skip to content
This repository has been archived by the owner on May 21, 2022. It is now read-only.

Commit

Permalink
Network Error Crash Fix
Browse files Browse the repository at this point in the history
  • Loading branch information
HumbleBeeBumbleBee authored and HumbleBeeBumbleBee committed Aug 22, 2016
1 parent 955325e commit 51ae574
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 13 deletions.
8 changes: 6 additions & 2 deletions app/src/main/java/com/adam/aslfms/service/Handshaker.java
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,9 @@ public HandshakeResult handshake() throws BadAuthException,
int resCode = conn.getResponseCode();
Log.d(TAG, "Response code Libre.fm: " + resCode);
final BufferedReader r;
if (resCode == 200) {
if (resCode == -1) {
throw new UnknownResponseException("Empty response");
} else if (resCode == 200) {
r = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
r = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
Expand Down Expand Up @@ -454,7 +456,9 @@ public HandshakeResult handshake() throws BadAuthException,
int resCode = conn.getResponseCode();
Log.d(TAG, "Response code " + netAppName + ": " + resCode);
BufferedReader r;
if (resCode == 200) {
if (resCode == -1) {
throw new UnknownResponseException("Empty response");
} else if (resCode == 200) {
r = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
r = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
Expand Down
14 changes: 8 additions & 6 deletions app/src/main/java/com/adam/aslfms/service/Heart.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
/**
* This file is part of Simple Last.fm Scrobbler.
* <p>
* <p/>
* https://github.com/tgwizard/sls
* <p>
* <p/>
* Copyright 2011 Simple Last.fm Scrobbler Team
* <p>
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Expand Down Expand Up @@ -162,7 +162,9 @@ private String postHeartTrack(Track track, String testAPI, String signature, Str
Log.d(TAG, "Response code: " + resCode);
BufferedReader r;
String out;
if (resCode == 200) {
if (resCode == -1) {
return "";
} else if (resCode == 200) {
out = "okSuccess";
} else {
r = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
Expand Down
8 changes: 6 additions & 2 deletions app/src/main/java/com/adam/aslfms/service/NPNotifier.java
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,9 @@ public void notifyNowPlaying(Track track, HandshakeResult hInfo)
int resCode = conn.getResponseCode();
Log.d(TAG, "Response code: " + resCode);
BufferedReader r;
if (resCode == 200) {
if (resCode == -1){
throw new AuthStatus.UnknownResponseException("Empty response");
} else if (resCode == 200) {
r = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
r = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
Expand Down Expand Up @@ -307,7 +309,9 @@ public void notifyNowPlaying(Track track, HandshakeResult hInfo)
int resCode = conn.getResponseCode();
Log.d(TAG, "Response code: " + resCode);
BufferedReader r;
if (resCode == 200) {
if (resCode == -1){
throw new AuthStatus.UnknownResponseException("Empty response");
} else if (resCode == 200) {
r = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
r = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
Expand Down
10 changes: 8 additions & 2 deletions app/src/main/java/com/adam/aslfms/service/Scrobbler.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import com.adam.aslfms.util.ScrobblesDatabase;
import com.adam.aslfms.util.Track;
import com.adam.aslfms.util.Util;
import com.adam.aslfms.util.enums.PowerOptions;
import com.adam.aslfms.util.enums.SubmissionType;

import org.json.JSONException;
Expand Down Expand Up @@ -358,7 +359,9 @@ public void scrobbleCommit(HandshakeResult hInfo, Track[] tracks)
int resCode = conn.getResponseCode();
Log.d(TAG, "Response code: " + resCode);
BufferedReader r;
if (resCode == 200) {
if (resCode == -1){
throw new AuthStatus.UnknownResponseException("Empty response");
} else if (resCode == 200) {
r = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
r = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
Expand All @@ -376,7 +379,10 @@ public void scrobbleCommit(HandshakeResult hInfo, Track[] tracks)
JSONObject jObject = new JSONObject(response);
if (jObject.has("scrobbles")) {
int scrobsIgnored = jObject.getJSONObject("scrobbles").getJSONObject("@attr").getInt("ignored");
mNetManager.launchGetUserInfo(getNetApp());
PowerOptions pow = Util.checkPower(mCtx);
if (settings.isNowPlayingEnabled(pow)) {
mNetManager.launchGetUserInfo(getNetApp());
}
Log.i(TAG, "Scrobble success: " + netAppName + ": Ignored Count: " + Integer.toString(scrobsIgnored));
} else if (jObject.has("error")) {
int code = jObject.getInt("error");
Expand Down
4 changes: 3 additions & 1 deletion app/src/main/java/com/adam/aslfms/service/UserInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,9 @@ private String getAllTimeScrobbles() throws IOException, NullPointerException {
int resCode = conn.getResponseCode();
Log.d(TAG, "Response code: " + this.getNetApp().getName() + ": " + resCode);
BufferedReader r;
if (resCode == 200) {
if (resCode == -1){
return "";
} else if (resCode == 200) {
r = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
r = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
Expand Down

0 comments on commit 51ae574

Please sign in to comment.