70 lines
2.8 KiB
Java
70 lines
2.8 KiB
Java
package com.kabouzeid.gramophone;
|
|
|
|
import android.app.Application;
|
|
import android.content.Context;
|
|
import android.os.Build;
|
|
|
|
import com.kabouzeid.appthemehelper.ThemeStore;
|
|
import com.kabouzeid.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.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;
|
|
|
|
/**
|
|
* @author Karim Abou Zeid (kabouzeid)
|
|
*/
|
|
public class App extends Application {
|
|
|
|
public static final String GOOGLE_PLAY_LICENSE_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjMeADN5Ffnt/ml5SYxNPCn8kGcOYGpHEfNSCts99vVxqmCn6C01E94c17j7rUK2aeHur5uxphZylzopPlQ8P8l1fqty0GPUNRSo18FCJzfGH8HZAwZYOcnRFPaXdaq3InyFJhBiODh2oeAcVK/idH6QraQ4r9HIlzigAg6lgwzxl2wJKDh7X/GMdDntCyzDh8xDQ0wIawFgvgojHwqh2Ci8Gnq6EYRwPA9yHiIIksT8Q30QyM5ewl5QcnWepsls7enNqeHarhpmSibRUDgCsxHoOpny7SyuvZvUI3wuLckDR0ds9hrt614scHHqDOBp/qWCZiAgOPVAEQcURbV09qQIDAQAB";
|
|
public static final String PRO_VERSION_PRODUCT_ID = "pro_version";
|
|
|
|
private static App app;
|
|
private static ApiClient apiClient;
|
|
|
|
@Override
|
|
public void onCreate() {
|
|
super.onCreate();
|
|
app = this;
|
|
|
|
// default theme
|
|
if (!ThemeStore.isConfigured(this, 1)) {
|
|
ThemeStore.editTheme(this).primaryColorRes(R.color.md_indigo_500).accentColorRes(R.color.md_pink_A400).commit();
|
|
}
|
|
|
|
// dynamic shortcuts
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
|
|
new DynamicShortcutManager(this).initDynamicShortcuts();
|
|
}
|
|
}
|
|
|
|
public static ConnectionManager getConnectionManager(Context context, IJsonSerializer jsonSerializer, ILogger logger, IAsyncHttpClient httpClient) {
|
|
String appName = context.getString(R.string.app_name);
|
|
String appVersion = BuildConfig.VERSION_NAME;
|
|
|
|
IDevice device = new AndroidDevice(context);
|
|
ClientCapabilities capabilities = new ClientCapabilities();
|
|
ApiEventListener eventListener = new ApiEventListener();
|
|
|
|
return new AndroidConnectionManager(context, jsonSerializer, logger, httpClient, appName, appVersion, device, capabilities, eventListener);
|
|
}
|
|
|
|
public static ApiClient getApiClient() {
|
|
return apiClient;
|
|
}
|
|
|
|
public static void setApiClient(ApiClient client) {
|
|
apiClient = client;
|
|
}
|
|
|
|
public static App getInstance() {
|
|
return app;
|
|
}
|
|
}
|