Compare commits
3 Commits
87c9a74b97
...
1.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 564f91a96e | |||
| 5a99fec3be | |||
| 17c5596710 |
51
.meta/releases/v1.0.0.md
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# v1.0.0 - Initial Release
|
||||||
|
|
||||||
|
**Release Date:** February 2026
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
BrandManager is here! The first public release of the BrandMeister network management app for mobile devices.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
### Device Management
|
||||||
|
- View all your registered BrandMeister devices
|
||||||
|
- See device details including ID, callsign, and connection status
|
||||||
|
- Device extension display for multi-device setups
|
||||||
|
|
||||||
|
### Last Activity
|
||||||
|
- Real-time activity feed showing recent network transmissions
|
||||||
|
- Talkgroup information with ID and name
|
||||||
|
- Call duration display
|
||||||
|
- Time-ago timestamps for easy reference
|
||||||
|
|
||||||
|
### Authentication
|
||||||
|
- Secure API token authentication
|
||||||
|
- Encrypted local storage for credentials
|
||||||
|
- Easy token retrieval link to BrandMeister profile
|
||||||
|
|
||||||
|
### Settings
|
||||||
|
- Sign out functionality
|
||||||
|
- Legal information (Impressum & Privacy Policy)
|
||||||
|
- Clean, intuitive interface
|
||||||
|
|
||||||
|
## Platforms
|
||||||
|
|
||||||
|
- iOS
|
||||||
|
- Android
|
||||||
|
- macOS
|
||||||
|
|
||||||
|
## Technical Details
|
||||||
|
|
||||||
|
- Built with Flutter 3.10.7+
|
||||||
|
- Material 3 design with custom Brandmeister red theme (#a1181d)
|
||||||
|
- Secure token storage using flutter_secure_storage
|
||||||
|
- Real-time updates via WebSocket
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
This is the initial release of BrandManager. We welcome feedback and bug reports at our repository.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Developed by Bearologics GmbH*
|
||||||
|
Before Width: | Height: | Size: 187 KiB After Width: | Height: | Size: 187 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 130 KiB |
@@ -14,7 +14,7 @@ BrandManager is a mobile application for managing your [BrandMeister](https://br
|
|||||||
|
|
||||||
| | | | |
|
| | | | |
|
||||||
|:---:|:---:|:---:|:---:|
|
|:---:|:---:|:---:|:---:|
|
||||||
|  |  |  |  |
|
|  |  |  |  |
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
import java.util.Properties
|
||||||
|
import java.io.FileInputStream
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application")
|
id("com.android.application")
|
||||||
id("kotlin-android")
|
id("kotlin-android")
|
||||||
@@ -5,6 +8,12 @@ plugins {
|
|||||||
id("dev.flutter.flutter-gradle-plugin")
|
id("dev.flutter.flutter-gradle-plugin")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val keystorePropertiesFile = rootProject.file("key.properties")
|
||||||
|
val keystoreProperties = Properties()
|
||||||
|
if (keystorePropertiesFile.exists()) {
|
||||||
|
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
|
||||||
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "gmbh.bearologics.brandmanager"
|
namespace = "gmbh.bearologics.brandmanager"
|
||||||
compileSdk = flutter.compileSdkVersion
|
compileSdk = flutter.compileSdkVersion
|
||||||
@@ -19,6 +28,15 @@ android {
|
|||||||
jvmTarget = JavaVersion.VERSION_17.toString()
|
jvmTarget = JavaVersion.VERSION_17.toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
signingConfigs {
|
||||||
|
create("release") {
|
||||||
|
keyAlias = keystoreProperties["keyAlias"] as String?
|
||||||
|
keyPassword = keystoreProperties["keyPassword"] as String?
|
||||||
|
storeFile = keystoreProperties["storeFile"]?.let { file(it) }
|
||||||
|
storePassword = keystoreProperties["storePassword"] as String?
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "gmbh.bearologics.brandmanager"
|
applicationId = "gmbh.bearologics.brandmanager"
|
||||||
// You can update the following values to match your application needs.
|
// You can update the following values to match your application needs.
|
||||||
@@ -31,9 +49,7 @@ android {
|
|||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
// TODO: Add your own signing config for the release build.
|
signingConfig = signingConfigs.getByName("release")
|
||||||
// Signing with the debug keys for now, so `flutter run --release` works.
|
|
||||||
signingConfig = signingConfigs.getByName("debug")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||