Skip to content
Snippets Groups Projects
Commit 9e794ce2 authored by Matyáš Latner's avatar Matyáš Latner
Browse files

#15 Different application ID for debug and release versions

parent da3ce29d
No related merge requests found
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cz.nic.tablexia.android"
package="cz.nic.tablexia.debug"
android:versionCode="1"
android:versionName="1.0" >
android:versionName="IDE-BUILD" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" />
......
......@@ -17,9 +17,13 @@ android {
defaultConfig {
versionName version
versionCode getVersionCodeFromGit()
applicationId rootProject.applicationIdRelease
}
buildTypes {
debug {
applicationIdSuffix rootProject.applicationIdDebugSuffix
}
release {
debuggable false
}
......
......@@ -4,13 +4,15 @@ import android.os.Bundle;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import cz.nic.tablexia.Tablexia;
import cz.nic.tablexia.debug.BuildConfig;
public class AndroidLauncher extends AndroidApplication {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
initialize(new Tablexia(BuildConfig.DEBUG, getResources().getConfiguration().locale, BuildConfig.VERSION_NAME), config);
initialize(new Tablexia(BuildConfig.DEBUG, getResources().getConfiguration().locale, BuildConfig.VERSION_NAME, BuildConfig.APPLICATION_ID), config);
}
}
......@@ -15,6 +15,10 @@ allprojects {
apply plugin: "idea"
version = getVersionNameFromGit()
project.extensions.add("applicationIdRelease", "cz.nic.tablexia")
project.extensions.add("applicationIdDebugSuffix", ".debug")
project.extensions.add("applicationIdDebug", applicationIdRelease + applicationIdDebugSuffix)
ext {
appName = 'Tablexia'
gdxVersion = '1.5.2'
......
......@@ -31,12 +31,12 @@ public class Tablexia extends TablexiaApplication {
private MainMenu mainMenu;
private ZipAssetLoader zipAssetLoader;
public Tablexia(boolean debug, Locale systemLocale, String versionName) {
TablexiaSettings.init(debug, systemLocale, versionName);
public Tablexia(boolean debug, Locale systemLocale, String versionName, String applicationId) {
TablexiaSettings.init(debug, systemLocale, versionName, applicationId);
}
public Tablexia(String buildTypeKey, Locale systemLocale, String versionName) {
TablexiaSettings.init(buildTypeKey, systemLocale, versionName);
public Tablexia(String buildTypeKey, Locale systemLocale, String versionName, String applicationId) {
TablexiaSettings.init(buildTypeKey, systemLocale, versionName, applicationId);
}
private void loadingComplete() {
......
......@@ -13,16 +13,17 @@ import cz.nic.tablexia.util.Log;
public class TablexiaSettings {
private static final int DEFAULT_SCREEN_WIDTH = 1000;
private static final double MAXIMU_RATIO = 9.0 / 16.0;
private static final int MIN_SCREEN_HEIGHT = (int) (DEFAULT_SCREEN_WIDTH * MAXIMU_RATIO);
private static final double MAXIMUM_RATIO = 9.0 / 16.0;
private static final int MIN_SCREEN_HEIGHT = (int) (DEFAULT_SCREEN_WIDTH * MAXIMUM_RATIO);
private static final boolean DEBUG_SHOW_BOUNDING_BOXES = true;
public static final String TABLEXIA_SETTINGS_KEY = "tablexia-";
public static final String LOCALE_KEY = "locale";
private static final String IDE_BUILD_APPLICATION_ID = "cz.nic.tablexia.debug";
private static final String IDE_BUILD_VERSION_NAME = "IDE-BUILD";
private final BuildType BUILD_TYPE;
private final String VERSION_NAME;
private final String APPLICATION_ID;
private Preferences preferences;
private LocaleDefinition systemLocale;
......@@ -124,9 +125,10 @@ public class TablexiaSettings {
private static TablexiaSettings instance;
private TablexiaSettings(BuildType buildType, Locale systemLocale, String versionName) {
private TablexiaSettings(BuildType buildType, Locale systemLocale, String versionName, String applicationId) {
BUILD_TYPE = buildType;
VERSION_NAME = versionName == null ? IDE_BUILD_VERSION_NAME : versionName;
APPLICATION_ID = applicationId == null ? IDE_BUILD_APPLICATION_ID : applicationId;
this.systemLocale = LocaleDefinition.getLocaleDefinitionForLocale(systemLocale);
}
......@@ -139,29 +141,29 @@ public class TablexiaSettings {
return instance;
}
public static void init(boolean debug, Locale systemLocale, String versionName) {
TablexiaSettings.init(debug ? BuildType.DEBUG : BuildType.RELEASE, systemLocale, versionName);
public static void init(boolean debug, Locale systemLocale, String versionName, String applicationId) {
TablexiaSettings.init(debug ? BuildType.DEBUG : BuildType.RELEASE, systemLocale, versionName, applicationId);
}
public static void init(String buildTypeKey, Locale systemLocale, String versionName) {
TablexiaSettings.init(BuildType.getBuildTypeForKey(buildTypeKey), systemLocale, versionName);
public static void init(String buildTypeKey, Locale systemLocale, String versionName, String applicationId) {
TablexiaSettings.init(BuildType.getBuildTypeForKey(buildTypeKey), systemLocale, versionName, applicationId);
}
public static void init(BuildType buildType, Locale systemLocale, String versionName) {
public static void init(BuildType buildType, Locale systemLocale, String versionName, String applicationId) {
if (instance != null) {
String exceptionMessage = "Tablexia settings already initialized!";
Log.err(TablexiaSettings.class, exceptionMessage);
throw new IllegalStateException(exceptionMessage);
}
instance = new TablexiaSettings(buildType, systemLocale, versionName);
instance = new TablexiaSettings(buildType, systemLocale, versionName, applicationId);
}
//////////////////////////// LIBGDX PREFERENCES
public void loadPreferences() {
preferences = Gdx.app.getPreferences(TABLEXIA_SETTINGS_KEY + BUILD_TYPE);
preferences = Gdx.app.getPreferences(getApplicationId());
selectedLocale = LocaleDefinition.getLocaleDefinitionForKey(preferences.getString(LOCALE_KEY));
}
......@@ -176,6 +178,10 @@ public class TablexiaSettings {
return VERSION_NAME;
}
public String getApplicationId() {
return APPLICATION_ID;
}
public boolean isShowBoundingBoxes() {
return isDebug() && DEBUG_SHOW_BOUNDING_BOXES;
}
......@@ -209,8 +215,8 @@ public class TablexiaSettings {
return DEFAULT_SCREEN_WIDTH;
}
public static double getMaximuRatio() {
return MAXIMU_RATIO;
public static double getMaximumRatio() {
return MAXIMUM_RATIO;
}
public static int getMinScreenHeight() {
......
......@@ -25,6 +25,7 @@ task debugJar(type: Jar) {
attributes 'Main-Class': project.mainClassName
attributes 'Build-Type': 'debug'
attributes 'Version-Name': version
attributes 'Application-Id': rootProject.applicationIdDebug
}
}
......@@ -39,6 +40,7 @@ task releaseJar(type: Jar) {
attributes 'Main-Class': project.mainClassName
attributes 'Build-Type': 'release'
attributes 'Version-Name': version
attributes 'Application-Id': rootProject.applicationIdRelease
}
}
......
......@@ -10,19 +10,21 @@ import cz.nic.tablexia.Tablexia;
public class DesktopLauncher {
public static final String BUILD_VARIANT_MANIFEST_ATTRIBUTE = "Build-Type";
public static final String VERSION_NAME_MANIFEST_ATTRIBUTE = "Version-Name";
public static final String BUILD_VARIANT_MANIFEST_ATTRIBUTE = "Build-Type";
public static final String VERSION_NAME_MANIFEST_ATTRIBUTE = "Version-Name";
public static final String APPLICATION_ID_MANIFEST_ATTRIBUTE = "Application-Id";
public static void main (String[] arg) {
String buildType = loadAttributeFromManifest(BUILD_VARIANT_MANIFEST_ATTRIBUTE);
String versionName = loadAttributeFromManifest(VERSION_NAME_MANIFEST_ATTRIBUTE);
String applicationId = loadAttributeFromManifest(APPLICATION_ID_MANIFEST_ATTRIBUTE);
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.resizable = false;
config.width = 1280;
config.height = 800;
new LwjglApplication(new Tablexia(buildType, Locale.getDefault(), versionName), config);
new LwjglApplication(new Tablexia(buildType, Locale.getDefault(), versionName, applicationId), config);
}
private static String loadAttributeFromManifest(String attributeName) {
......
......@@ -14,7 +14,7 @@ public class IOSLauncher extends IOSApplication.Delegate {
@Override
protected IOSApplication createApplication() {
IOSApplicationConfiguration config = new IOSApplicationConfiguration();
return new IOSApplication(new Tablexia(null, Locale.getDefault(), null), config);
return new IOSApplication(new Tablexia(null, Locale.getDefault(), null, null), config);
}
public static void main(String[] argv) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment