From e310f112aa7815e3a4c70fb67d3295dfee12d021 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 23 Mar 2020 13:22:44 +0100 Subject: [PATCH 1/5] Allow overriding the complete android packaging structure for branding --- nymea-app/nymea-app.pro | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nymea-app/nymea-app.pro b/nymea-app/nymea-app.pro index d8dd59f2..de1b6d26 100644 --- a/nymea-app/nymea-app.pro +++ b/nymea-app/nymea-app.pro @@ -51,7 +51,12 @@ win32 { } android { - ANDROID_PACKAGE_SOURCE_DIR = $$PWD/../packaging/android + !equals(STYLES_PATH, ""):!equals(BRANDING, "") { + ANDROID_PACKAGE_SOURCE_DIR = $${STYLES_PATH}/packaging/android_$$BRANDING + } else { + ANDROID_PACKAGE_SOURCE_DIR = $${top_srcdir}/packaging/android + } + message("andorid package dir $${ANDROID_PACKAGE_SOURCE_DIR}") android-clang { FIREBASE_STL_VARIANT = c++ From e02274fce1aa1f80bb93008ce378136c2a7a8146 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Fri, 16 Oct 2020 13:21:23 +0200 Subject: [PATCH 2/5] Try to move Java code to a more common place --- androidservice/androidservice.pro | 16 ++++++++-------- nymea-app/nymea-app.pro | 16 +++++++++------- .../android}/io/guh/nymeaapp/Action.java | 0 .../io/guh/nymeaapp/NymeaAppActivity.java | 0 .../io/guh/nymeaapp/NymeaAppControlService.java | 0 .../guh/nymeaapp/NymeaAppControlsActivity.java | 0 .../nymeaapp/NymeaAppNotificationService.java | 3 +++ .../io/guh/nymeaapp/NymeaAppService.java | 0 .../guh/nymeaapp/NymeaAppServiceConnection.java | 0 .../android}/io/guh/nymeaapp/NymeaHost.java | 0 .../android}/io/guh/nymeaapp/State.java | 0 .../android}/io/guh/nymeaapp/Thing.java | 0 12 files changed, 20 insertions(+), 15 deletions(-) rename {packaging/android/src => nymea-app/platformintegration/android}/io/guh/nymeaapp/Action.java (100%) rename {packaging/android/src => nymea-app/platformintegration/android}/io/guh/nymeaapp/NymeaAppActivity.java (100%) rename {packaging/android/src => nymea-app/platformintegration/android}/io/guh/nymeaapp/NymeaAppControlService.java (100%) rename {packaging/android/src => nymea-app/platformintegration/android}/io/guh/nymeaapp/NymeaAppControlsActivity.java (100%) rename {packaging/android/src => nymea-app/platformintegration/android}/io/guh/nymeaapp/NymeaAppNotificationService.java (98%) rename {packaging/android/src => nymea-app/platformintegration/android}/io/guh/nymeaapp/NymeaAppService.java (100%) rename {packaging/android/src => nymea-app/platformintegration/android}/io/guh/nymeaapp/NymeaAppServiceConnection.java (100%) rename {packaging/android/src => nymea-app/platformintegration/android}/io/guh/nymeaapp/NymeaHost.java (100%) rename {packaging/android/src => nymea-app/platformintegration/android}/io/guh/nymeaapp/State.java (100%) rename {packaging/android/src => nymea-app/platformintegration/android}/io/guh/nymeaapp/Thing.java (100%) diff --git a/androidservice/androidservice.pro b/androidservice/androidservice.pro index 75b241f7..2f43ab8a 100644 --- a/androidservice/androidservice.pro +++ b/androidservice/androidservice.pro @@ -45,13 +45,13 @@ HEADERS += \ ../nymea-app/platformintegration/android/platformhelperandroid.h \ DISTFILES += \ - ../packaging/android/src/io/guh/nymeaapp/Action.java \ - ../packaging/android/src/io/guh/nymeaapp/NymeaAppControlService.java \ - ../packaging/android/src/io/guh/nymeaapp/NymeaAppService.java \ - ../packaging/android/src/io/guh/nymeaapp/NymeaAppControlsActivity.java \ - ../packaging/android/src/io/guh/nymeaapp/NymeaAppServiceConnection.java \ - ../packaging/android/src/io/guh/nymeaapp/Thing.java \ - ../packaging/android/src/io/guh/nymeaapp/State.java \ - ../packaging/android/src/io/guh/nymeaapp/NymeaHost.java \ + ../nymea-app/platformintegration/android/io/guh/nymeaapp/Action.java \ + ../nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlService.java \ + ../nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppService.java \ + ../nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlsActivity.java \ + ../nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppServiceConnection.java \ + ../nymea-app/platformintegration/android/io/guh/nymeaapp/Thing.java \ + ../nymea-app/platformintegration/android/io/guh/nymeaapp/State.java \ + ../nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaHost.java \ controlviews/Main.qml diff --git a/nymea-app/nymea-app.pro b/nymea-app/nymea-app.pro index de1b6d26..b9112280 100644 --- a/nymea-app/nymea-app.pro +++ b/nymea-app/nymea-app.pro @@ -51,8 +51,8 @@ win32 { } android { - !equals(STYLES_PATH, ""):!equals(BRANDING, "") { - ANDROID_PACKAGE_SOURCE_DIR = $${STYLES_PATH}/packaging/android_$$BRANDING + !equals(OVERLAY_PATH, ""):!equals(BRANDING, "") { + ANDROID_PACKAGE_SOURCE_DIR = $${OVERLAY_PATH}/packaging/android_$$BRANDING } else { ANDROID_PACKAGE_SOURCE_DIR = $${top_srcdir}/packaging/android } @@ -75,6 +75,10 @@ android { HEADERS += platformintegration/android/platformhelperandroid.h SOURCES += platformintegration/android/platformhelperandroid.cpp + javafiles.commands = $(COPY_DIR) $${PWD}/platformintegration/android/io $${ANDROID_PACKAGE_SOURCE_DIR}/src + QMAKE_EXTRA_TARGETS += javafiles + POST_TARGETDEPS += javafiles + DISTFILES += \ $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml \ $$ANDROID_PACKAGE_SOURCE_DIR/google-services.json \ @@ -84,14 +88,12 @@ android { $$ANDROID_PACKAGE_SOURCE_DIR/build.gradle \ $$ANDROID_PACKAGE_SOURCE_DIR/gradle/wrapper/gradle-wrapper.properties \ $$ANDROID_PACKAGE_SOURCE_DIR/gradlew.bat \ - $$ANDROID_PACKAGE_SOURCE_DIR/src/io/guh/nymeaapp/NymeaAppActivity.java \ - $$ANDROID_PACKAGE_SOURCE_DIR/src/io/guh/nymeaapp/NymeaAppNotificationService.java \ - $$ANDROID_PACKAGE_SOURCE_DIR/LICENSE + $$ANDROID_PACKAGE_SOURCE_DIR/LICENSE \ + platformintegration/android/io/guh/nymeaapp/NymeaAppActivity.java \ + platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java \ # https://bugreports.qt.io/browse/QTBUG-83165 LIBS += -L$${top_builddir}/libnymea-app/$${ANDROID_TARGET_ARCH} - - ANDROID_ABIS = armeabi-v7a arm64-v8a } macx: { diff --git a/packaging/android/src/io/guh/nymeaapp/Action.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/Action.java similarity index 100% rename from packaging/android/src/io/guh/nymeaapp/Action.java rename to nymea-app/platformintegration/android/io/guh/nymeaapp/Action.java diff --git a/packaging/android/src/io/guh/nymeaapp/NymeaAppActivity.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppActivity.java similarity index 100% rename from packaging/android/src/io/guh/nymeaapp/NymeaAppActivity.java rename to nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppActivity.java diff --git a/packaging/android/src/io/guh/nymeaapp/NymeaAppControlService.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlService.java similarity index 100% rename from packaging/android/src/io/guh/nymeaapp/NymeaAppControlService.java rename to nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlService.java diff --git a/packaging/android/src/io/guh/nymeaapp/NymeaAppControlsActivity.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlsActivity.java similarity index 100% rename from packaging/android/src/io/guh/nymeaapp/NymeaAppControlsActivity.java rename to nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlsActivity.java diff --git a/packaging/android/src/io/guh/nymeaapp/NymeaAppNotificationService.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java similarity index 98% rename from packaging/android/src/io/guh/nymeaapp/NymeaAppNotificationService.java rename to nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java index 5b8d2da3..aaa433c7 100644 --- a/packaging/android/src/io/guh/nymeaapp/NymeaAppNotificationService.java +++ b/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java @@ -18,6 +18,8 @@ import android.support.v4.app.NotificationCompat; import java.util.Random; +import R; + public class NymeaAppNotificationService extends FirebaseMessagingService { @@ -48,6 +50,7 @@ public class NymeaAppNotificationService extends FirebaseMessagingService { // PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, PendingIntent.FLAG_ONE_SHOT); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, 0); + Resources r = Context.getResources(); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, "notify_001") .setSmallIcon(R.drawable.ic_stat_notificationicon) .setColor(0xFF57BAAE) diff --git a/packaging/android/src/io/guh/nymeaapp/NymeaAppService.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppService.java similarity index 100% rename from packaging/android/src/io/guh/nymeaapp/NymeaAppService.java rename to nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppService.java diff --git a/packaging/android/src/io/guh/nymeaapp/NymeaAppServiceConnection.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppServiceConnection.java similarity index 100% rename from packaging/android/src/io/guh/nymeaapp/NymeaAppServiceConnection.java rename to nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppServiceConnection.java diff --git a/packaging/android/src/io/guh/nymeaapp/NymeaHost.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaHost.java similarity index 100% rename from packaging/android/src/io/guh/nymeaapp/NymeaHost.java rename to nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaHost.java diff --git a/packaging/android/src/io/guh/nymeaapp/State.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/State.java similarity index 100% rename from packaging/android/src/io/guh/nymeaapp/State.java rename to nymea-app/platformintegration/android/io/guh/nymeaapp/State.java diff --git a/packaging/android/src/io/guh/nymeaapp/Thing.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/Thing.java similarity index 100% rename from packaging/android/src/io/guh/nymeaapp/Thing.java rename to nymea-app/platformintegration/android/io/guh/nymeaapp/Thing.java From d375ad387dce5a85e18e46399a433a51d805a965 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Fri, 16 Oct 2020 19:45:51 +0200 Subject: [PATCH 3/5] some cleanup --- nymea-app/nymea-app.pro | 2 +- .../nymeaapp/NymeaAppNotificationService.java | 19 ++++++++++++++----- .../android/platformhelperandroid.cpp | 5 ----- nymea-app/ui/RootItem.qml | 7 ++++++- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/nymea-app/nymea-app.pro b/nymea-app/nymea-app.pro index b9112280..103f31b0 100644 --- a/nymea-app/nymea-app.pro +++ b/nymea-app/nymea-app.pro @@ -75,7 +75,7 @@ android { HEADERS += platformintegration/android/platformhelperandroid.h SOURCES += platformintegration/android/platformhelperandroid.cpp - javafiles.commands = $(COPY_DIR) $${PWD}/platformintegration/android/io $${ANDROID_PACKAGE_SOURCE_DIR}/src + javafiles.commands = $(COPY_DIR) $${PWD}/platformintegration/android/io $${ANDROID_PACKAGE_SOURCE_DIR}/src/ QMAKE_EXTRA_TARGETS += javafiles POST_TARGETDEPS += javafiles diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java b/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java index aaa433c7..aa5d86ab 100644 --- a/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java +++ b/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java @@ -5,6 +5,7 @@ import com.google.firebase.messaging.FirebaseMessagingService; import android.util.Log; import android.content.Intent; +import android.graphics.drawable.Drawable; import android.app.PendingIntent; import android.app.Notification; import android.app.NotificationChannel; @@ -13,15 +14,16 @@ import android.net.Uri; import android.content.Context; import android.provider.Settings.System; import android.os.Build; - +import android.content.pm.PackageManager; +import android.content.res.Resources; import android.support.v4.app.NotificationCompat; import java.util.Random; -import R; public class NymeaAppNotificationService extends FirebaseMessagingService { + private static final String TAG = "nymea-app: NymeaAppNotificationService"; /** * Called when message is received. @@ -50,9 +52,16 @@ public class NymeaAppNotificationService extends FirebaseMessagingService { // PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, PendingIntent.FLAG_ONE_SHOT); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, 0); - Resources r = Context.getResources(); + // We can't directly access R.drawable.ic_stat_notification from here: + // When the package is branded, the package name is not "io.guh.nymeaapp" and resources in + // the res/ folder are built into the app's package which isn't the same as this files package. + // Because of this, we need to dynamically fetch the resource from the package resources + int resId = getResources().getIdentifier("ic_stat_notificationicon", "drawable", getPackageName()); + + Log.d(TAG, "notification icon resource: " + resId + " Package:" + getPackageName()); + NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, "notify_001") - .setSmallIcon(R.drawable.ic_stat_notificationicon) + .setSmallIcon(resId) .setColor(0xFF57BAAE) .setContentTitle(remoteMessage.getData().get("title")) .setContentText(remoteMessage.getData().get("body")) @@ -70,7 +79,7 @@ public class NymeaAppNotificationService extends FirebaseMessagingService { int notificationId = new Random().nextInt(60000); - Log.d("Posting Notification", remoteMessage.getMessageId()); + Log.d(TAG, "Posting Notification: " + remoteMessage.getMessageId()); notificationManager.notify(notificationId, notificationBuilder.build()); } diff --git a/nymea-app/platformintegration/android/platformhelperandroid.cpp b/nymea-app/platformintegration/android/platformhelperandroid.cpp index 7dcdb315..697f1cf4 100644 --- a/nymea-app/platformintegration/android/platformhelperandroid.cpp +++ b/nymea-app/platformintegration/android/platformhelperandroid.cpp @@ -53,11 +53,6 @@ static QAndroidJniObject getAndroidWindow() PlatformHelperAndroid::PlatformHelperAndroid(QObject *parent) : PlatformHelper(parent) { -// QAndroidIntent serviceIntent(QtAndroid::androidActivity().object(), "io.guh.nymeaapp.NymeaAppControlService"); - -// m_serviceConnection = new DeviceControlServiceConnection(); -// QtAndroid::bindService(serviceIntent, *m_serviceConnection, QtAndroid::BindFlag::AutoCreate); - m_instance = this; } diff --git a/nymea-app/ui/RootItem.qml b/nymea-app/ui/RootItem.qml index e38bc904..990f14e9 100644 --- a/nymea-app/ui/RootItem.qml +++ b/nymea-app/ui/RootItem.qml @@ -237,7 +237,12 @@ Item { PlatformHelper.requestPermissions(); } } else { - AWSClient.registerPushNotificationEndpoint(PushNotifications.token, PlatformHelper.machineHostname, PlatformHelper.deviceSerial + "+io.guh.nymeaapp", PlatformHelper.deviceManufacturer, PlatformHelper.deviceModel); + AWSClient.registerPushNotificationEndpoint( + PushNotifications.token, + PlatformHelper.machineHostname, + PlatformHelper.deviceSerial + "+io.guh.nymeaapp" + (appBranding.length > 0 ? "-" + appBranding : ""), + PlatformHelper.deviceManufacturer, + PlatformHelper.deviceModel); } } From b2eea8db8bb1bdbd60017405babaf294f68dc8d6 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 19 Oct 2020 18:57:23 +0200 Subject: [PATCH 4/5] be more verbose --- nymea-app/nymea-app.pro | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nymea-app/nymea-app.pro b/nymea-app/nymea-app.pro index 103f31b0..8b311a20 100644 --- a/nymea-app/nymea-app.pro +++ b/nymea-app/nymea-app.pro @@ -75,7 +75,8 @@ android { HEADERS += platformintegration/android/platformhelperandroid.h SOURCES += platformintegration/android/platformhelperandroid.cpp - javafiles.commands = $(COPY_DIR) $${PWD}/platformintegration/android/io $${ANDROID_PACKAGE_SOURCE_DIR}/src/ + QMAKE_COPY_DIR=cp -f -R -v + javafiles.commands = $$quote($(COPY_DIR) $${PWD}/platformintegration/android/io $${ANDROID_PACKAGE_SOURCE_DIR}/src/) QMAKE_EXTRA_TARGETS += javafiles POST_TARGETDEPS += javafiles From fca61ca7b53fe191c7cda7459eb954d1264189bc Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 19 Oct 2020 19:24:32 +0200 Subject: [PATCH 5/5] change copying of android java files a bit --- androidservice/androidservice.pro | 22 ++++++++++------ .../java}/io/guh/nymeaapp/Action.java | 0 .../guh/nymeaapp/NymeaAppControlService.java | 0 .../nymeaapp/NymeaAppControlsActivity.java | 0 .../io/guh/nymeaapp/NymeaAppService.java | 0 .../nymeaapp/NymeaAppServiceConnection.java | 0 .../java}/io/guh/nymeaapp/NymeaHost.java | 0 .../java}/io/guh/nymeaapp/State.java | 0 .../java}/io/guh/nymeaapp/Thing.java | 0 config.pri | 13 +++++++++- nymea-app/nymea-app.pro | 25 ++++++++----------- .../io/guh/nymeaapp/NymeaAppActivity.java | 0 .../nymeaapp/NymeaAppNotificationService.java | 0 13 files changed, 37 insertions(+), 23 deletions(-) rename {nymea-app/platformintegration/android => androidservice/java}/io/guh/nymeaapp/Action.java (100%) rename {nymea-app/platformintegration/android => androidservice/java}/io/guh/nymeaapp/NymeaAppControlService.java (100%) rename {nymea-app/platformintegration/android => androidservice/java}/io/guh/nymeaapp/NymeaAppControlsActivity.java (100%) rename {nymea-app/platformintegration/android => androidservice/java}/io/guh/nymeaapp/NymeaAppService.java (100%) rename {nymea-app/platformintegration/android => androidservice/java}/io/guh/nymeaapp/NymeaAppServiceConnection.java (100%) rename {nymea-app/platformintegration/android => androidservice/java}/io/guh/nymeaapp/NymeaHost.java (100%) rename {nymea-app/platformintegration/android => androidservice/java}/io/guh/nymeaapp/State.java (100%) rename {nymea-app/platformintegration/android => androidservice/java}/io/guh/nymeaapp/Thing.java (100%) rename nymea-app/platformintegration/android/{ => java}/io/guh/nymeaapp/NymeaAppActivity.java (100%) rename nymea-app/platformintegration/android/{ => java}/io/guh/nymeaapp/NymeaAppNotificationService.java (100%) diff --git a/androidservice/androidservice.pro b/androidservice/androidservice.pro index 2f43ab8a..093a7da1 100644 --- a/androidservice/androidservice.pro +++ b/androidservice/androidservice.pro @@ -45,13 +45,19 @@ HEADERS += \ ../nymea-app/platformintegration/android/platformhelperandroid.h \ DISTFILES += \ - ../nymea-app/platformintegration/android/io/guh/nymeaapp/Action.java \ - ../nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlService.java \ - ../nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppService.java \ - ../nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlsActivity.java \ - ../nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppServiceConnection.java \ - ../nymea-app/platformintegration/android/io/guh/nymeaapp/Thing.java \ - ../nymea-app/platformintegration/android/io/guh/nymeaapp/State.java \ - ../nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaHost.java \ + java/io/guh/nymeaapp/Action.java \ + java/io/guh/nymeaapp/NymeaAppControlService.java \ + java/io/guh/nymeaapp/NymeaAppService.java \ + java/io/guh/nymeaapp/NymeaAppControlsActivity.java \ + java/io/guh/nymeaapp/NymeaAppServiceConnection.java \ + java/io/guh/nymeaapp/Thing.java \ + java/io/guh/nymeaapp/State.java \ + java/io/guh/nymeaapp/NymeaHost.java \ controlviews/Main.qml +QMAKE_COPY_DIR=cp -f -R -v +javafiles.commands = $(MKDIR) $${ANDROID_PACKAGE_SOURCE_DIR}/src; +javafiles.commands += $(COPY_DIR) $${PWD}/java/io $${ANDROID_PACKAGE_SOURCE_DIR}/src/ +QMAKE_EXTRA_TARGETS += javafiles +POST_TARGETDEPS += javafiles + diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/Action.java b/androidservice/java/io/guh/nymeaapp/Action.java similarity index 100% rename from nymea-app/platformintegration/android/io/guh/nymeaapp/Action.java rename to androidservice/java/io/guh/nymeaapp/Action.java diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlService.java b/androidservice/java/io/guh/nymeaapp/NymeaAppControlService.java similarity index 100% rename from nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlService.java rename to androidservice/java/io/guh/nymeaapp/NymeaAppControlService.java diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlsActivity.java b/androidservice/java/io/guh/nymeaapp/NymeaAppControlsActivity.java similarity index 100% rename from nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppControlsActivity.java rename to androidservice/java/io/guh/nymeaapp/NymeaAppControlsActivity.java diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppService.java b/androidservice/java/io/guh/nymeaapp/NymeaAppService.java similarity index 100% rename from nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppService.java rename to androidservice/java/io/guh/nymeaapp/NymeaAppService.java diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppServiceConnection.java b/androidservice/java/io/guh/nymeaapp/NymeaAppServiceConnection.java similarity index 100% rename from nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppServiceConnection.java rename to androidservice/java/io/guh/nymeaapp/NymeaAppServiceConnection.java diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaHost.java b/androidservice/java/io/guh/nymeaapp/NymeaHost.java similarity index 100% rename from nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaHost.java rename to androidservice/java/io/guh/nymeaapp/NymeaHost.java diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/State.java b/androidservice/java/io/guh/nymeaapp/State.java similarity index 100% rename from nymea-app/platformintegration/android/io/guh/nymeaapp/State.java rename to androidservice/java/io/guh/nymeaapp/State.java diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/Thing.java b/androidservice/java/io/guh/nymeaapp/Thing.java similarity index 100% rename from nymea-app/platformintegration/android/io/guh/nymeaapp/Thing.java rename to androidservice/java/io/guh/nymeaapp/Thing.java diff --git a/config.pri b/config.pri index 9d0cae52..076e3907 100644 --- a/config.pri +++ b/config.pri @@ -10,4 +10,15 @@ APP_VERSION=$$member(VERSION_INFO, 0) APP_REVISION=$$member(VERSION_INFO, 1) DEFINES+=APP_VERSION=\\\"$${APP_VERSION}\\\" -android:QMAKE_POST_LINK += cp $$top_srcdir/version.txt $$top_builddir/ + +android: { + QMAKE_POST_LINK += cp $$top_srcdir/version.txt $$top_builddir/ + + !equals(OVERLAY_PATH, ""):!equals(BRANDING, "") { + ANDROID_PACKAGE_SOURCE_DIR = $${OVERLAY_PATH}/packaging/android_$$BRANDING + } else { + ANDROID_PACKAGE_SOURCE_DIR = $${top_srcdir}/packaging/android + } + message("Andorid package source dir $${ANDROID_PACKAGE_SOURCE_DIR}") +} + diff --git a/nymea-app/nymea-app.pro b/nymea-app/nymea-app.pro index 8b311a20..7bc95ec8 100644 --- a/nymea-app/nymea-app.pro +++ b/nymea-app/nymea-app.pro @@ -51,12 +51,6 @@ win32 { } android { - !equals(OVERLAY_PATH, ""):!equals(BRANDING, "") { - ANDROID_PACKAGE_SOURCE_DIR = $${OVERLAY_PATH}/packaging/android_$$BRANDING - } else { - ANDROID_PACKAGE_SOURCE_DIR = $${top_srcdir}/packaging/android - } - message("andorid package dir $${ANDROID_PACKAGE_SOURCE_DIR}") android-clang { FIREBASE_STL_VARIANT = c++ @@ -75,10 +69,8 @@ android { HEADERS += platformintegration/android/platformhelperandroid.h SOURCES += platformintegration/android/platformhelperandroid.cpp - QMAKE_COPY_DIR=cp -f -R -v - javafiles.commands = $$quote($(COPY_DIR) $${PWD}/platformintegration/android/io $${ANDROID_PACKAGE_SOURCE_DIR}/src/) - QMAKE_EXTRA_TARGETS += javafiles - POST_TARGETDEPS += javafiles + # https://bugreports.qt.io/browse/QTBUG-83165 + LIBS += -L$${top_builddir}/libnymea-app/$${ANDROID_TARGET_ARCH} DISTFILES += \ $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml \ @@ -90,11 +82,16 @@ android { $$ANDROID_PACKAGE_SOURCE_DIR/gradle/wrapper/gradle-wrapper.properties \ $$ANDROID_PACKAGE_SOURCE_DIR/gradlew.bat \ $$ANDROID_PACKAGE_SOURCE_DIR/LICENSE \ - platformintegration/android/io/guh/nymeaapp/NymeaAppActivity.java \ - platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java \ + platformintegration/android/java/io/guh/nymeaapp/NymeaAppActivity.java \ + platformintegration/android/java/io/guh/nymeaapp/NymeaAppNotificationService.java \ + + QMAKE_COPY_DIR=cp -f -R -v + QMAKE_MKDIR_COMMAND=echo tralala; mkdir + javafiles.commands = $(MKDIR) $${ANDROID_PACKAGE_SOURCE_DIR}/src/; + javafiles.commands += $(COPY_DIR) $${PWD}/platformintegration/android/java/io $${ANDROID_PACKAGE_SOURCE_DIR}/src/; + QMAKE_EXTRA_TARGETS += javafiles + POST_TARGETDEPS += javafiles - # https://bugreports.qt.io/browse/QTBUG-83165 - LIBS += -L$${top_builddir}/libnymea-app/$${ANDROID_TARGET_ARCH} } macx: { diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppActivity.java b/nymea-app/platformintegration/android/java/io/guh/nymeaapp/NymeaAppActivity.java similarity index 100% rename from nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppActivity.java rename to nymea-app/platformintegration/android/java/io/guh/nymeaapp/NymeaAppActivity.java diff --git a/nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java b/nymea-app/platformintegration/android/java/io/guh/nymeaapp/NymeaAppNotificationService.java similarity index 100% rename from nymea-app/platformintegration/android/io/guh/nymeaapp/NymeaAppNotificationService.java rename to nymea-app/platformintegration/android/java/io/guh/nymeaapp/NymeaAppNotificationService.java