update the api client and several other dependencies
This commit is contained in:
parent
85952d670d
commit
9f973bb1c6
6 changed files with 94 additions and 122 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue