Skip to content

Commit ef5449e

Browse files
author
Yevhen Beshkarov
authored
Release 1.6.0
* Fixed issues: - Cannot get back from customers screen. - routes is not working for notifications at all * Fixed an issue when the user has two-factor authentication on the user can use "Back"button to return to the login page. * Fixed an issue where devices query too often. * Fixed unit tests. * Esp32 Ble/SoftAp device provisioning and TB claiming. * Esp32 BLE provisioning. * Device provisioning. * Esp32 BLE provisioning. * Smart Config removed. * Fixed an issue The back button is displayed on the "Home" page when the default dashboard is set. * Fixed an issue The push notification, counter, log in don't work after the user logs in to the custom server using the QR-code setting and returns to the Сloud server during the same app session * Adaptation to a new device provision mobile action. * Fixed an issue When scanning the QR code from another server 2 times-a fatal error occurs, the user can no longer use the application. * Fixed an issue alarm details wasn't opened. * Fixed an issue The app terminates when the user taps the "Try Again" button after failing to claim the device. * More logs to the god of logs! * Fixed an issue The login page is opened when user taps on the widget-button with "Device provision" action on the default dashboard and than close it. * Fixed an issue If user enter an incorrect password or user in the "Log in" page, the pop-up "Invalid username or password" is missing. * Revert "Fixed an issue When scanning the QR code from another server 2 times-a fatal error occurs, the user can no longer use the application." This reverts commit 9b9b041. * Fixed an issue Show a message about "Unsupported TB version" when the user tries to log in by QR code to the TB with the old version. * Removed progress bar from toast notifications. * Fixed an issue The default dashboard does not appear when the user logs in via QR code. * Fixed an issue The long text of the toast is truncated on the phones with the small extension. * Logging for switch by qr code api calls. * Android build fix. * Minor esp softap refactoring. * Fixed connect to device issue when using softap. * Commit plist changes. * Added connection retry feature for softap. * Fixed unable to connect after wrong wifi password. * Dashboard placeholder icon changed. * Adaptation to the new tb storage interface. * Dart client v4.0.0
1 parent 01cfa9b commit ef5449e

File tree

104 files changed

+3794
-343
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+3794
-343
lines changed

android/app/build.gradle

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ android {
3232
defaultConfig {
3333
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
3434
applicationId "org.thingsboard.app"
35-
minSdkVersion 21
35+
minSdkVersion 24
3636
targetSdkVersion 33
3737
versionCode flutterVersionCode.toInteger()
3838
versionName flutterVersionName
@@ -43,6 +43,9 @@ android {
4343
// TODO: Add your own signing config for the release build.
4444
// Signing with the debug keys for now, so `flutter run --release` works.
4545
signingConfig signingConfigs.debug
46+
// Custom proguard rules
47+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
48+
4649
}
4750
}
4851

android/app/proguard-rules.pro

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# The espressif library needs to have all their names and fields preserved.
2+
-keep,allowoptimization class espressif.* { *; }
Lines changed: 50 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2+
xmlns:tools="http://schemas.android.com/tools"
23
package="org.thingsboard.app">
4+
35
<uses-permission android:name="android.permission.INTERNET" />
4-
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
6+
<uses-permission
7+
android:name="android.permission.ACCESS_FINE_LOCATION"
8+
android:maxSdkVersion="35"
9+
tools:replace="android:maxSdkVersion" />
510
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
611
<uses-permission android:name="android.permission.CAMERA" />
712
<uses-permission android:name="android.permission.RECORD_AUDIO" />
@@ -10,6 +15,19 @@
1015
<uses-permission android:name="android.permission.AUDIO_CAPTURE" />
1116
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
1217
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
18+
19+
<!-- Permissions options for the provisioning -->
20+
<uses-permission
21+
android:name="android.permission.BLUETOOTH_SCAN"
22+
android:usesPermissionFlags="neverForLocation" />
23+
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
24+
<uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES" />
25+
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
26+
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
27+
<uses-feature android:name="android.hardware.wifi" />
28+
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
29+
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
30+
1331
<queries>
1432
<intent>
1533
<action android:name="android.intent.action.VIEW" />
@@ -27,64 +45,66 @@
2745
<application
2846
android:allowBackup="false"
2947
android:fullBackupContent="false"
30-
android:requestLegacyExternalStorage="true"
48+
android:icon="@mipmap/launcher_icon"
3149
android:label="ThingsBoard App"
3250
android:networkSecurityConfig="@xml/network_security_config"
33-
android:icon="@mipmap/launcher_icon">
51+
android:requestLegacyExternalStorage="true">
3452
<!-- Set custom default icon. This is used when no icon is set for incoming notification messages.
3553
See README(https://goo.gl/l4GJaQ) for more. -->
3654
<meta-data
3755
android:name="com.google.firebase.messaging.default_notification_icon"
38-
android:resource="@mipmap/thingsboard"
39-
/>
56+
android:resource="@mipmap/thingsboard" />
57+
4058
<activity
4159
android:name=".MainActivity"
60+
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
4261
android:exported="true"
62+
android:hardwareAccelerated="true"
4363
android:launchMode="singleTask"
4464
android:theme="@style/LaunchTheme"
45-
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
46-
android:hardwareAccelerated="true"
4765
android:windowSoftInputMode="adjustResize">
4866
<!-- Specifies an Android theme to apply to this Activity as soon as
4967
the Android process has started. This theme is visible to the user
5068
while the Flutter UI initializes. After that, this theme continues
5169
to determine the Window background behind the Flutter UI. -->
5270
<meta-data
53-
android:name="io.flutter.embedding.android.NormalTheme"
54-
android:resource="@style/NormalTheme"
55-
/>
71+
android:name="io.flutter.embedding.android.NormalTheme"
72+
android:resource="@style/NormalTheme" />
5673
<!-- Displays an Android View that continues showing the launch screen
5774
Drawable until Flutter paints its first frame, then this splash
5875
screen fades out. A splash screen is useful to avoid any visual
5976
gap between the end of Android's launch screen and the painting of
6077
Flutter's first frame. -->
6178
<meta-data
62-
android:name="io.flutter.embedding.android.SplashScreenDrawable"
63-
android:resource="@drawable/launch_background"
64-
/>
79+
android:name="io.flutter.embedding.android.SplashScreenDrawable"
80+
android:resource="@drawable/launch_background" />
6581
<intent-filter>
66-
<action android:name="android.intent.action.MAIN"/>
67-
<category android:name="android.intent.category.LAUNCHER"/>
82+
<action android:name="android.intent.action.MAIN" />
83+
<category android:name="android.intent.category.LAUNCHER" />
6884
</intent-filter>
6985
<!-- App Links -->
7086
<intent-filter android:autoVerify="true">
7187
<action android:name="android.intent.action.VIEW" />
88+
7289
<category android:name="android.intent.category.DEFAULT" />
7390
<category android:name="android.intent.category.BROWSABLE" />
91+
7492
<data
75-
android:scheme="https"
7693
android:host="demo.thingsboard.io"
77-
android:pathPrefix="/api/noauth/qr" />
94+
android:pathPrefix="/api/noauth/qr"
95+
android:scheme="https" />
7896
</intent-filter>
7997
</activity>
8098

81-
<activity
82-
android:name=".TbWebCallbackActivity"
83-
android:exported="true" >
99+
<activity
100+
android:name=".TbWebCallbackActivity"
101+
android:exported="true">
84102
<intent-filter android:label="tb_web_auth">
85103
<action android:name="android.intent.action.VIEW" />
104+
86105
<category android:name="android.intent.category.DEFAULT" />
87106
<category android:name="android.intent.category.BROWSABLE" />
107+
88108
<data android:scheme="org.thingsboard.app.auth" />
89109
</intent-filter>
90110
</activity>
@@ -93,24 +113,24 @@
93113
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
94114
<meta-data
95115
android:name="flutterEmbedding"
96-
android:value="2"
97-
/>
98-
<meta-data android:name="io.flutter.network-policy"
99-
android:resource="@xml/network_security_config"/>
116+
android:value="2" />
117+
<meta-data
118+
android:name="io.flutter.network-policy"
119+
android:resource="@xml/network_security_config" />
100120

101121
<!-- A custom Android Notification Channel to deliver FCM notifications on a non-default channel -->
102122
<meta-data
103123
android:name="com.google.firebase.messaging.default_notification_channel_id"
104124
android:value="general" />
105125

106126
<provider
107-
android:name="androidx.core.content.FileProvider"
108-
android:authorities="${applicationId}.flutter_inappwebview.fileprovider"
109-
android:exported="false"
110-
android:grantUriPermissions="true">
127+
android:name="androidx.core.content.FileProvider"
128+
android:authorities="${applicationId}.flutter_inappwebview.fileprovider"
129+
android:exported="false"
130+
android:grantUriPermissions="true">
111131
<meta-data
112-
android:name="android.support.FILE_PROVIDER_PATHS"
113-
android:resource="@xml/provider_paths" />
132+
android:name="android.support.FILE_PROVIDER_PATHS"
133+
android:resource="@xml/provider_paths" />
114134
</provider>
115135
</application>
116136
</manifest>

android/build.gradle

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,26 @@ allprojects {
22
repositories {
33
google()
44
jcenter()
5+
mavenCentral()
6+
maven { url ("https://jitpack.io/") }
57
}
68
}
79

810
rootProject.buildDir = '../build'
911
subprojects {
1012
project.buildDir = "${rootProject.buildDir}/${project.name}"
1113
}
14+
subprojects {
15+
afterEvaluate { project ->
16+
if (project.plugins.hasPlugin("com.android.application") ||
17+
project.plugins.hasPlugin("com.android.library")) {
18+
project.android {
19+
compileSdkVersion 34
20+
buildToolsVersion "34.0.0"
21+
}
22+
}
23+
}
24+
}
1225
subprojects {
1326
project.evaluationDependsOn(':app')
1427
}

assets/images/connect_mobile.svg

Lines changed: 26 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)