jamfish/app/src/main/java/com/kabouzeid/gramophone/App.java
2020-04-29 02:22:21 +09:00

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;
}
}