update the api client and several other dependencies

This commit is contained in:
dkanada 2020-08-30 17:44:57 +09:00
commit 9f973bb1c6
6 changed files with 94 additions and 122 deletions

View file

@ -1,22 +1,23 @@
package com.dkanada.gramophone;
import android.annotation.SuppressLint;
import android.app.Application;
import android.content.Context;
import android.os.Build;
import android.provider.Settings;
import com.dkanada.gramophone.util.PreferenceUtil;
import com.kabouzeid.appthemehelper.ThemeStore;
import com.dkanada.gramophone.shortcuts.DynamicShortcutManager;
import org.jellyfin.apiclient.interaction.AndroidConnectionManager;
import org.jellyfin.apiclient.interaction.AndroidDevice;
import org.jellyfin.apiclient.interaction.ApiClient;
import org.jellyfin.apiclient.interaction.ApiEventListener;
import org.jellyfin.apiclient.interaction.connectionmanager.ConnectionManager;
import org.jellyfin.apiclient.interaction.VolleyHttpClient;
import org.jellyfin.apiclient.interaction.device.IDevice;
import org.jellyfin.apiclient.interaction.http.IAsyncHttpClient;
import org.jellyfin.apiclient.model.logging.ILogger;
import org.jellyfin.apiclient.model.serialization.IJsonSerializer;
import org.jellyfin.apiclient.model.session.ClientCapabilities;
import org.jellyfin.apiclient.logging.AndroidLogger;
import org.jellyfin.apiclient.logging.ILogger;
public class App extends Application {
private static App app;
@ -26,7 +27,9 @@ public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
app = this;
apiClient = createApiClient(this);
// default theme
if (!ThemeStore.isConfigured(this, 1)) {
@ -39,25 +42,27 @@ public class App extends Application {
}
}
public static ConnectionManager getConnectionManager(Context context, IJsonSerializer jsonSerializer, ILogger logger, IAsyncHttpClient httpClient) {
public static ApiClient createApiClient(Context context) {
String appName = context.getString(R.string.app_name);
String appVersion = BuildConfig.VERSION_NAME;
IDevice device = new AndroidDevice(context);
ClientCapabilities capabilities = new ClientCapabilities();
@SuppressLint("HardwareIds")
String deviceId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
String deviceName = android.os.Build.MODEL;
String server = PreferenceUtil.getInstance(context).getServer();
ILogger logger = new AndroidLogger(context.getClass().getName());
IAsyncHttpClient httpClient = new VolleyHttpClient(logger, context);
IDevice device = new AndroidDevice(deviceId, deviceName);
ApiEventListener eventListener = new ApiEventListener();
return new AndroidConnectionManager(context, jsonSerializer, logger, httpClient, appName, appVersion, device, capabilities, eventListener);
return new ApiClient(httpClient, logger, server, appName, appVersion, device, eventListener);
}
public static ApiClient getApiClient() {
return apiClient;
}
public static void setApiClient(ApiClient client) {
apiClient = client;
}
public static App getInstance() {
return app;
}