Fixed Offline Mode
This commit is contained in:
@@ -341,7 +341,6 @@ public class MainActivity extends AppCompatActivity
|
|||||||
this.fragmentData = newData;
|
this.fragmentData = newData;
|
||||||
|
|
||||||
invalidateOptionsMenu();
|
invalidateOptionsMenu();
|
||||||
//TODO navigation selection
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setOfflineBanner(boolean visible) {
|
private void setOfflineBanner(boolean visible) {
|
||||||
@@ -356,7 +355,6 @@ public class MainActivity extends AppCompatActivity
|
|||||||
viewNoConnection.setVisibility(View.VISIBLE);
|
viewNoConnection.setVisibility(View.VISIBLE);
|
||||||
else
|
else
|
||||||
viewNoConnection.setVisibility(View.GONE);
|
viewNoConnection.setVisibility(View.GONE);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setNavigationSelection() {
|
private void setNavigationSelection() {
|
||||||
@@ -566,7 +564,7 @@ public class MainActivity extends AppCompatActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNetworkResponse(NetworkResponse error) {
|
public void onKVVNetworkResponse(NetworkResponse error) {
|
||||||
setRefreshFailedBanner(error != null);
|
setRefreshFailedBanner(error != null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,5 +16,5 @@ public interface KVVListener {
|
|||||||
|
|
||||||
void onModuleListChange();
|
void onModuleListChange();
|
||||||
|
|
||||||
void onNetworkResponse(NetworkResponse error);
|
void onKVVNetworkResponse(NetworkResponse error);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public class Login extends HTTPService {
|
|||||||
this.mListener = listener;
|
this.mListener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doOnlineLogin(String username, String password, NetworkCallback<LoginToken> callback, NetworkErrorCallback errorCallback) {
|
public void doOnlineLogin(@NotNull String username, @NotNull String password, NetworkCallback<LoginToken> callback, NetworkErrorCallback errorCallback) {
|
||||||
if (mLoginPending) {
|
if (mLoginPending) {
|
||||||
errorCallback.onError(new NetworkError(100160, -1, "Login already pending!"));
|
errorCallback.onError(new NetworkError(100160, -1, "Login already pending!"));
|
||||||
}
|
}
|
||||||
@@ -116,7 +116,7 @@ public class Login extends HTTPService {
|
|||||||
return isLoggedIn() && mOnlineMode;
|
return isLoggedIn() && mOnlineMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void testLoginToken(NetworkCallback<LoginToken> callback, NetworkErrorCallback errorCallback) {
|
void testLoginToken(@NotNull NetworkCallback<LoginToken> callback, @NotNull NetworkErrorCallback errorCallback) {
|
||||||
if (mToken == null) {
|
if (mToken == null) {
|
||||||
errorCallback.onError(new NetworkError(100173, -1, "Not logged in!"));
|
errorCallback.onError(new NetworkError(100173, -1, "Not logged in!"));
|
||||||
return;
|
return;
|
||||||
@@ -124,7 +124,7 @@ public class Login extends HTTPService {
|
|||||||
testLoginToken(mToken, callback, errorCallback);
|
testLoginToken(mToken, callback, errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void testLoginToken(@NotNull LoginToken token, NetworkCallback<LoginToken> callback, NetworkErrorCallback errorCallback) {
|
private void testLoginToken(@NotNull LoginToken token, @NotNull NetworkCallback<LoginToken> callback, @NotNull NetworkErrorCallback errorCallback) {
|
||||||
get(String.format("https://kvv.imp.fu-berlin.de/direct/profile/%s.json", token.getUsername()), token.getCookies(), response -> {
|
get(String.format("https://kvv.imp.fu-berlin.de/direct/profile/%s.json", token.getUsername()), token.getCookies(), response -> {
|
||||||
String body = response.getParsed();
|
String body = response.getParsed();
|
||||||
if (body == null) {
|
if (body == null) {
|
||||||
|
|||||||
@@ -56,8 +56,8 @@ public class Modules {
|
|||||||
public ModulesList list() {
|
public ModulesList list() {
|
||||||
if (mList == null) {
|
if (mList == null) {
|
||||||
mList = new ModulesList(mLogin, mListener, context);
|
mList = new ModulesList(mLogin, mListener, context);
|
||||||
mList.addErrorListener("Modules", error -> mListener.onNetworkResponse(error.networkResponse));
|
mList.addErrorListener("Modules", error -> mListener.onKVVNetworkResponse(error.networkResponse));
|
||||||
mList.addSuccessListener("Modules", success -> mListener.onNetworkResponse(null));
|
mList.addSuccessListener("Modules", success -> mListener.onKVVNetworkResponse(null));
|
||||||
}
|
}
|
||||||
return mList;
|
return mList;
|
||||||
}
|
}
|
||||||
@@ -68,8 +68,8 @@ public class Modules {
|
|||||||
Part o = mAddons.get(addon);
|
Part o = mAddons.get(addon);
|
||||||
if (o == null) {
|
if (o == null) {
|
||||||
o = creatorInterface.create();
|
o = creatorInterface.create();
|
||||||
o.addErrorListener("Modules", error -> mListener.onNetworkResponse(error.networkResponse));
|
o.addErrorListener("Modules", error -> mListener.onKVVNetworkResponse(error.networkResponse));
|
||||||
o.addSuccessListener("Modules", success -> mListener.onNetworkResponse(null));
|
o.addSuccessListener("Modules", success -> mListener.onKVVNetworkResponse(null));
|
||||||
mAddons.put(addon, o);
|
mAddons.put(addon, o);
|
||||||
}
|
}
|
||||||
return o;
|
return o;
|
||||||
|
|||||||
@@ -126,7 +126,10 @@ public class ModulesList extends HTTPService {
|
|||||||
mLogin.refreshLogin(success -> {
|
mLogin.refreshLogin(success -> {
|
||||||
recv(callback, errorCallback, forceRefresh, retries-1);
|
recv(callback, errorCallback, forceRefresh, retries-1);
|
||||||
mQueue.next();
|
mQueue.next();
|
||||||
}, errorCallback);
|
}, error1 -> {
|
||||||
|
errorCallback.onError(error1);
|
||||||
|
mQueue.next();
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
errorCallback.onError(error);
|
errorCallback.onError(error);
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ abstract class PartModules<T> extends Part<Modules.Module> {
|
|||||||
mLogin.refreshLogin(success -> {
|
mLogin.refreshLogin(success -> {
|
||||||
recv(module, callback, errorCallback, forceRefresh, retries-1);
|
recv(module, callback, errorCallback, forceRefresh, retries-1);
|
||||||
mQueue.next();
|
mQueue.next();
|
||||||
}, error2 -> {
|
}, error1 -> {
|
||||||
errorCallback.onError(error2);
|
errorCallback.onError(error1);
|
||||||
mQueue.next();
|
mQueue.next();
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -80,5 +80,5 @@
|
|||||||
<string name="summer_semester">Sommersemester %1$d</string>
|
<string name="summer_semester">Sommersemester %1$d</string>
|
||||||
<string name="lecturers">Dozenten</string>
|
<string name="lecturers">Dozenten</string>
|
||||||
<string name="mail_icon">Mail Icon</string>
|
<string name="mail_icon">Mail Icon</string>
|
||||||
<string name="mail_default_text">Hallo %1$s, \n\nMit freundlichen Grüßen\n\nGesendet von der FUPlanner Android App</string>
|
<string name="mail_default_text">Hallo %1$s, \n\n\n\nMit freundlichen Grüßen\n\n\n\nGesendet von der FUPlanner Android App</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -88,5 +88,5 @@
|
|||||||
<string name="summer_semester">Summer Semester %1$d</string>
|
<string name="summer_semester">Summer Semester %1$d</string>
|
||||||
<string name="lecturers">Lecturers</string>
|
<string name="lecturers">Lecturers</string>
|
||||||
<string name="mail_icon">Mail Icon</string>
|
<string name="mail_icon">Mail Icon</string>
|
||||||
<string name="mail_default_text">Dear %1$s, \n\nYours sincerely\n\nSend by FUPlanner Android App</string>
|
<string name="mail_default_text">Dear %1$s, \n\n\n\nYours sincerely\n\n\n\nSend by FUPlanner Android App</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user