9 Commits

17 changed files with 111 additions and 128 deletions

View File

@@ -0,0 +1,63 @@
<?xml version='1.0' encoding='utf-8'?>
<manifest package="org.eyecreate.qiflora" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.3" android:versionCode="7" android:installLocation="auto">
<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="QiFlora" android:icon="@drawable/icon">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation"
android:name="org.qtproject.qt5.android.bindings.QtActivity"
android:label="QiFlora"
android:theme="@style/AppTheme"
android:screenOrientation="unspecified"
android:windowSoftInputMode="adjustResize"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data android:name="android.app.lib_name" android:value="qiflora"/>
<meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
<meta-data android:name="android.app.repository" android:value="default"/>
<meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
<meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
<!-- Deploy Qt libs as part of package -->
<meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
<meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
<meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
<!-- Run with local libs -->
<meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
<meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
<meta-data android:name="android.app.load_local_libs" android:value="-- %%INSERT_LOCAL_LIBS%% --"/>
<meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
<meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
<!-- Messages maps -->
<meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
<meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
<meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
<!-- Messages maps -->
<!-- Splash screen -->
<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splash"/>
<!-- Splash screen -->
<!-- Background running -->
<!-- Warning: changing this value to true may cause unexpected crashes if the
application still try to draw after
"applicationStateChanged(Qt::ApplicationSuspended)"
signal is sent! -->
<meta-data android:name="android.app.background_running" android:value="false"/>
<!-- Background running -->
<!-- auto screen scale factor -->
<meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
<!-- auto screen scale factor -->
</activity>
</application>
<uses-sdk android:minSdkVersion="24" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
<!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
Remove the comment if you do not require these default features. -->
<!-- %%INSERT_FEATURES -->
</manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<solid android:color="#FF1fca05"/>
</shape>
</item>
<item>
<bitmap android:src="@drawable/qiflora_splash"
android:gravity="center"/>
</item>
</layer-list>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
<item name="android:windowBackground">@drawable/qiflora_splash</item>
</style>
</resources>

View File

@@ -0,0 +1,4 @@
#!/bin/bash
#makes use of: kdeorg/android-arm-sdk
mkdir ../build-android
cmake -B build-android -DANDROID_EXTRA_LIBS="/opt/kdeandroid-deps/lib/libcrypto.so;/opt/kdeandroid-deps/lib/libssl.so" -DQTANDROID_EXPORTED_TARGET=qiflora -DANDROID_APK_DIR=./android -DCMAKE_TOOLCHAIN_FILE=/opt/kdeandroid-deps/share/ECM/toolchain/Android.cmake -DCMAKE_PREFIX_PATH="$QT_ANDROID;/opt/kdeandroid-deps" -DKF5Kirigami2_DIR=/opt/kdeandroid-deps/lib/cmake/KF5Kirigami2 -DKF5CoreAddons_DIR=/opt/kdeandroid-deps/lib/cmake/KF5CoreAddons -DECM_DIR=/opt/kdeandroid-deps/share/ECM/cmake -DECM_ADDITIONAL_FIND_ROOT_PATH=$QT_ANDROID ..

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 126 KiB

View File

@@ -2,7 +2,7 @@
<component type="desktop-application"> <component type="desktop-application">
<id>org.eyecreate.qiflora</id> <id>org.eyecreate.qiflora</id>
<name>QiFlora</name> <name>QiFlora</name>
<summary>Mobile friendly application to monitor Mi Flora devices.</summary> <summary>Mobile friendly application to monitor plants using Mi Flora devices.</summary>
<metadata_license>FSFAP</metadata_license> <metadata_license>FSFAP</metadata_license>
<project_license>GPL-3.0-or-later</project_license> <project_license>GPL-3.0-or-later</project_license>
<content_rating type="oars-1.1" /> <content_rating type="oars-1.1" />
@@ -15,13 +15,18 @@
</description> </description>
<screenshots> <screenshots>
<screenshot type="default"> <screenshot type="default">
<image type="source">https://git.eyecreate.org/eyecreate/qiflora/raw/v1.1.1/packaging/main_window.png</image> <image type="source">https://git.eyecreate.org/eyecreate/qiflora/raw/v1.1.2/packaging/main_window.png</image>
</screenshot> </screenshot>
<screenshot> <screenshot>
<image type="source">https://git.eyecreate.org/eyecreate/qiflora/raw/v1.1.1/packaging/mobile_window.png</image> <image type="source">https://git.eyecreate.org/eyecreate/qiflora/raw/v1.1.2/packaging/mobile_window.png</image>
</screenshot> </screenshot>
</screenshots> </screenshots>
<releases> <releases>
<release version="1.1.2" date="2019-11-15" type="stable">
<description>
<p>Fixed code causing text to sometimes not appear.</p>
</description>
</release>
<release version="1.1.1" date="2019-11-14" type="stable"> <release version="1.1.1" date="2019-11-14" type="stable">
<description> <description>
<p>Cleaned up graph markings and temperature rounding.</p> <p>Cleaned up graph markings and temperature rounding.</p>

View File

@@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Name=QiFlora Name=QiFlora
Comment=Monitor plants with Mi Flora sensors. Comment=Monitor plants with Mi Flora sensors.
Version=1.1.1 Version=1.1.2
Exec=qiflora Exec=qiflora
MimeType=application/x-qiflora; MimeType=application/x-qiflora;
Icon=org.eyecreate.qiflora Icon=org.eyecreate.qiflora

View File

@@ -90,8 +90,8 @@
{ {
"type": "git", "type": "git",
"url": "https://git.eyecreate.org/eyecreate/qiflora.git", "url": "https://git.eyecreate.org/eyecreate/qiflora.git",
"tag": "v1.1.1", "tag": "v1.1.2",
"commit": "93a71a56e1853e2b0a3649bd569ae6d1c64003dc" "commit": "23fdbd27b63dc48085287dcad206786ebfadb9df"
} }
] ]
} }

View File

@@ -6,7 +6,11 @@ set(qiflora_SRCS
main.cpp main.cpp
) )
if (CMAKE_SYSTEM_NAME STREQUAL "Android")
kirigami_package_breeze_icons(ICONS view-refresh help-about filename-bpm-amarok colors-chromablue quickopen contrast window-close)
endif()
qt5_add_resources(RESOURCES resources.qrc) qt5_add_resources(RESOURCES resources.qrc)
add_executable(qiflora ${qiflora_SRCS} ${RESOURCES}) add_executable(qiflora ${qiflora_SRCS} ${RESOURCES})
target_link_libraries(qiflora Qt5::Core Qt5::Qml Qt5::Quick Qt5::Svg Qt5::Bluetooth Qt5::Charts KF5::CoreAddons) target_link_libraries(qiflora Qt5::Core Qt5::Qml Qt5::Quick Qt5::Svg Qt5::Bluetooth Qt5::Charts KF5::CoreAddons KF5::Kirigami2 Qt5::QuickControls2)
install(TARGETS qiflora ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) install(TARGETS qiflora ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})

View File

@@ -2,8 +2,9 @@ import QtQuick 2.6
import org.kde.kirigami 2.6 as Kirigami import org.kde.kirigami 2.6 as Kirigami
import QtQuick.Controls 2.0 as Controls import QtQuick.Controls 2.0 as Controls
import QtQuick.Layouts 1.12 as Layouts import QtQuick.Layouts 1.12 as Layouts
import QtQml.Models 2.2 //This only exists here to help build on android.
import QtCharts 2.3 as Charts import QtCharts 2.3 as Charts
import org.eyecreate.qiflora 1.0 import org.eyecreate.qiflora 1.1
Kirigami.ApplicationWindow { Kirigami.ApplicationWindow {
id: root id: root
@@ -25,7 +26,7 @@ Kirigami.ApplicationWindow {
id: mainPage id: mainPage
mainAction: Kirigami.Action { mainAction: Kirigami.Action {
iconName: "view-refresh" iconName: "view-refresh"
text: i18n("Query Device") text: qsTr("Query Device")
onTriggered: { onTriggered: {
deviceSelect.open(); deviceSelect.open();
} }
@@ -33,7 +34,7 @@ Kirigami.ApplicationWindow {
contextualActions: [ contextualActions: [
Kirigami.Action { Kirigami.Action {
iconName: "help-about" iconName: "help-about"
text: i18n("About") text: qsTr("About")
onTriggered: { onTriggered: {
pageStack.replace(aboutPageComponent); pageStack.replace(aboutPageComponent);
} }
@@ -113,7 +114,7 @@ Kirigami.ApplicationWindow {
delegate: Kirigami.Card { delegate: Kirigami.Card {
id: card id: card
banner { banner {
title: i18n(model.title) title: qsTr(model.title)
titleIcon: model.icon titleIcon: model.icon
titleLevel: 2 titleLevel: 2
} }
@@ -125,7 +126,7 @@ Kirigami.ApplicationWindow {
Kirigami.Heading { Kirigami.Heading {
Layouts.Layout.alignment: Qt.AlignCenter Layouts.Layout.alignment: Qt.AlignCenter
level: 4 level: 4
text: i18n("Last Measured") text: qsTr("Last Measured")
} }
Kirigami.Heading { Kirigami.Heading {
Layouts.Layout.alignment: Qt.AlignCenter Layouts.Layout.alignment: Qt.AlignCenter
@@ -207,7 +208,7 @@ Kirigami.ApplicationWindow {
color: "transparent" color: "transparent"
} }
Kirigami.Heading { Kirigami.Heading {
text: i18n("Select Device to Query") text: qsTr("Select Device to Query")
} }
Rectangle { Rectangle {
height: 10 height: 10
@@ -250,7 +251,7 @@ Kirigami.ApplicationWindow {
id: aboutPage id: aboutPage
actions.main: Kirigami.Action { actions.main: Kirigami.Action {
iconName: "window-close" iconName: "window-close"
text: "Close" text: qsTr("Close")
onTriggered: { onTriggered: {
pageStack.clear(); pageStack.clear();
pageStack.push(mainPageComponent); pageStack.push(mainPageComponent);

View File

@@ -12,7 +12,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv); QApplication app(argc, argv);
KAboutData aboutData("org.eyecreate.qiflora", "QiFlora", "1.1", "Mobile friendly application to monitor Mi Flora devices.",KAboutLicense::GPL_V3);//TODO:i18n KAboutData aboutData("org.eyecreate.qiflora", "QiFlora", "1.1.2", "Mobile friendly application to monitor Mi Flora devices.",KAboutLicense::GPL_V3);//TODO:i18n
aboutData.setProductName("qiflora"); aboutData.setProductName("qiflora");
aboutData.addAuthor("Kevin Whitaker",QString(),"eyecreate@eyecreate.org","https://www.eyecreate.org"); aboutData.addAuthor("Kevin Whitaker",QString(),"eyecreate@eyecreate.org","https://www.eyecreate.org");
aboutData.setDesktopFileName("org.eyecreate.qiflora"); aboutData.setDesktopFileName("org.eyecreate.qiflora");
@@ -26,7 +26,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
QQmlApplicationEngine engine; QQmlApplicationEngine engine;
qmlRegisterType<BluetoothDevices>(); qmlRegisterType<BluetoothDevices>();
qmlRegisterType<MiFlora>("org.eyecreate.qiflora",1,0,"QiFlora"); qmlRegisterType<MiFlora>("org.eyecreate.qiflora",1,1,"QiFlora");
engine.rootContext()->setContextProperty(QStringLiteral("appAboutData"), QVariant::fromValue(aboutData)); engine.rootContext()->setContextProperty(QStringLiteral("appAboutData"), QVariant::fromValue(aboutData));
engine.load(QUrl(QStringLiteral("qrc:///main.qml"))); engine.load(QUrl(QStringLiteral("qrc:///main.qml")));

View File

@@ -1,112 +0,0 @@
diff -Naur udev-175/extras/cdrom_id/cdrom_id.c udev-175-fix/extras/cdrom_id/cdrom_id.c
--- udev-175/extras/cdrom_id/cdrom_id.c 2011-06-17 03:28:33.251601571 +0200
+++ udev-175-fix/extras/cdrom_id/cdrom_id.c 2019-04-02 12:24:40.131653700 +0200
@@ -37,6 +37,7 @@
#include <sys/time.h>
#include <sys/ioctl.h>
#include <linux/cdrom.h>
+#include <sys/sysmacros.h>
#include "libudev.h"
#include "libudev-private.h"
diff -Naur udev-175/extras/scsi_id/scsi_serial.c udev-175-fix/extras/scsi_id/scsi_serial.c
--- udev-175/extras/scsi_id/scsi_serial.c 2011-04-15 00:14:23.739780499 +0200
+++ udev-175-fix/extras/scsi_id/scsi_serial.c 2019-04-02 12:24:18.781548109 +0200
@@ -33,6 +33,7 @@
#include <scsi/sg.h>
#include <linux/types.h>
#include <linux/bsg.h>
+#include <sys/sysmacros.h>
#include "libudev.h"
#include "libudev-private.h"
diff -Naur udev-175/libudev/libudev-device.c udev-175-fix/libudev/libudev-device.c
--- udev-175/libudev/libudev-device.c 2011-09-23 14:43:44.305381687 +0200
+++ udev-175-fix/libudev/libudev-device.c 2019-04-02 12:19:17.220061349 +0200
@@ -24,6 +24,7 @@
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <linux/sockios.h>
+#include <sys/sysmacros.h>
#include "libudev.h"
#include "libudev-private.h"
diff -Naur udev-175/libudev/libudev-device-private.c udev-175-fix/libudev/libudev-device-private.c
--- udev-175/libudev/libudev-device-private.c 2011-04-24 00:13:02.466797877 +0200
+++ udev-175-fix/libudev/libudev-device-private.c 2019-04-02 12:19:38.570166315 +0200
@@ -18,6 +18,7 @@
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include "libudev.h"
#include "libudev-private.h"
diff -Naur udev-175/libudev/libudev-enumerate.c udev-175-fix/libudev/libudev-enumerate.c
--- udev-175/libudev/libudev-enumerate.c 2011-08-04 04:26:50.130004746 +0200
+++ udev-175-fix/libudev/libudev-enumerate.c 2019-04-02 12:23:07.947864764 +0200
@@ -20,7 +20,7 @@
#include <stdbool.h>
#include <sys/stat.h>
#include <sys/param.h>
-
+#include <sys/sysmacros.h>
#include "libudev.h"
#include "libudev-private.h"
diff -Naur udev-175/udev/udevadm-info.c udev-175-fix/udev/udevadm-info.c
--- udev-175/udev/udevadm-info.c 2011-10-09 22:49:21.817999569 +0200
+++ udev-175-fix/udev/udevadm-info.c 2019-04-02 12:25:44.908641018 +0200
@@ -28,6 +28,7 @@
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <sys/sysmacros.h>
#include "udev.h"
diff -Naur udev-175/udev/udevd.c udev-175-fix/udev/udevd.c
--- udev-175/udev/udevd.c 2011-10-11 13:25:39.619713005 +0200
+++ udev-175-fix/udev/udevd.c 2019-04-02 12:17:59.529679774 +0200
@@ -43,6 +43,7 @@
#include <sys/ioctl.h>
#include <sys/inotify.h>
#include <sys/utsname.h>
+#include <sys/sysmacros.h>
#include "udev.h"
#include "sd-daemon.h"
diff -Naur udev-175/udev/udev-event.c udev-175-fix/udev/udev-event.c
--- udev-175/udev/udev-event.c 2011-10-06 00:58:11.372582876 +0200
+++ udev-175-fix/udev/udev-event.c 2019-04-02 12:18:11.513071921 +0200
@@ -33,6 +33,7 @@
#include <sys/socket.h>
#include <sys/signalfd.h>
#include <linux/sockios.h>
+#include <sys/sysmacros.h>
#include "udev.h"
diff -Naur udev-175/udev/udev-node.c udev-175-fix/udev/udev-node.c
--- udev-175/udev/udev-node.c 2011-11-01 13:08:15.803635931 +0100
+++ udev-175-fix/udev/udev-node.c 2019-04-02 12:18:21.729788742 +0200
@@ -28,6 +28,7 @@
#include <sys/time.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <sys/sysmacros.h>
#include "udev.h"
diff -Naur udev-175/udev/udev-rules.c udev-175-fix/udev/udev-rules.c
--- udev-175/udev/udev-rules.c 2011-10-22 21:17:06.587663679 +0200
+++ udev-175-fix/udev/udev-rules.c 2019-04-02 12:18:55.866623075 +0200
@@ -29,6 +29,7 @@
#include <dirent.h>
#include <fnmatch.h>
#include <time.h>
+#include <sys/sysmacros.h>
#include "udev.h"