From 4d1dfbf3251b060361e8e941056578cd0608da47 Mon Sep 17 00:00:00 2001 From: dkanada Date: Sat, 20 Jun 2020 22:25:16 +0900 Subject: [PATCH] add version check for server --- .../ui/activities/LoginActivity.java | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java index 72f3296e..9c13df58 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/LoginActivity.java @@ -28,6 +28,7 @@ import org.jellyfin.apiclient.model.apiclient.ServerInfo; import org.jellyfin.apiclient.model.logging.ILogger; import org.jellyfin.apiclient.model.serialization.GsonJsonSerializer; import org.jellyfin.apiclient.model.serialization.IJsonSerializer; +import org.jellyfin.apiclient.model.system.SystemInfo; import org.jellyfin.apiclient.model.users.AuthenticationResult; import java.util.List; @@ -36,7 +37,8 @@ import butterknife.BindView; import butterknife.ButterKnife; public class LoginActivity extends AbsBaseActivity implements View.OnClickListener { - public static final String TAG = SplashActivity.class.getSimpleName(); + public String TAG = SplashActivity.class.getSimpleName(); + public AndroidCredentialProvider credentialProvider; @BindView(R.id.toolbar) Toolbar toolbar; @@ -96,7 +98,7 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen ILogger logger = new AndroidLogger(TAG); IAsyncHttpClient httpClient = new VolleyHttpClient(logger, this); - AndroidCredentialProvider credentialProvider = new AndroidCredentialProvider(jsonSerializer, this, logger); + credentialProvider = new AndroidCredentialProvider(jsonSerializer, this, logger); ConnectionManager connectionManager = App.getConnectionManager(context, jsonSerializer, logger, httpClient); connectionManager.Connect(server.getText().toString(), new Response() { @Override @@ -114,16 +116,27 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen @Override public void onResponse(AuthenticationResult result) { if (result.getAccessToken() == null) return; - serverCredentials.GetServer(result.getServerId()).setAccessToken(result.getAccessToken()); - credentialProvider.SaveCredentials(serverCredentials); - - Intent intent = new Intent(context, MainActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); - context.startActivity(intent); + check(context, serverCredentials, result); } }); } }); } } + + public void check(Context context, ServerCredentials serverCredentials, AuthenticationResult authenticationResult) { + App.getApiClient().GetSystemInfoAsync(new Response() { + @Override + public void onResponse(SystemInfo result) { + if (Integer.parseInt(result.getVersion().substring(0, 1)) == 1) { + serverCredentials.GetServer(authenticationResult.getServerId()).setAccessToken(authenticationResult.getAccessToken()); + credentialProvider.SaveCredentials(serverCredentials); + + Intent intent = new Intent(context, MainActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + context.startActivity(intent); + } + } + }); + } }