upgraded stuff, prepared for notifications, renamed app. No actual code-changes :/

This commit is contained in:
Nicole Dresselhaus 2023-01-16 00:02:19 +01:00
parent 367c1cecbf
commit 9cb8730d6d
22 changed files with 141 additions and 75 deletions

View File

@ -1,42 +0,0 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled.
version:
revision: 135454af32477f815a7525073027a3ff9eff1bfd
channel: stable
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: android
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: ios
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: linux
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: macos
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
- platform: windows
create_revision: 135454af32477f815a7525073027a3ff9eff1bfd
base_revision: 135454af32477f815a7525073027a3ff9eff1bfd
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'

View File

@ -1,4 +1,4 @@
# nextcloud_reminder
# todotxt_reminder
A Reminder based on todo.txt synced via nextcloud
@ -10,6 +10,7 @@ A Reminder based on todo.txt synced via nextcloud
- [x] save/load data to/from disk
- [x] adding/removing tasks
- [x] respect ordering that was used when starting the app when saving.
- [ ] add annoying pop-up message so you actually do your tasks ^^
- [ ] add Nextcloud-login for getting a Token
- [ ] use webdav for synchronizing with Nextcloud using that token
- [ ] sorting by "next up", "priority"

View File

@ -26,10 +26,13 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion flutter.compileSdkVersion
//compileSdkVersion flutter.compileSdkVersion
compileSdkVersion 33 //default: 31, flutter_local_notification needs min 33
ndkVersion flutter.ndkVersion
compileOptions {
//coreLibraryDesugaringEnabled true //flutter_local_notification
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
@ -43,14 +46,18 @@ android {
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "cloud.dresselhaus.nextcloud_reminder.nextcloud_reminder"
applicationId "cloud.dresselhaus.todotxt_reminder"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
minSdkVersion flutter.minSdkVersion
targetSdkVersion flutter.targetSdkVersion
//minSdkVersion flutter.minSdkVersion
minSdkVersion 20
//targetSdkVersion flutter.targetSdkVersion
targetSdkVersion 33 //flutter.targetSdkVersion //33 = Android 13 = needed for request of notification-permissions.
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
//flutter_local_notification
multiDexEnabled true
}
buildTypes {
@ -67,5 +74,8 @@ flutter {
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.0' //1.1.5
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'androidx.window:window:1.0.0' //flutter_local_notification for Android 12L
implementation 'androidx.window:window-java:1.0.0' //flutter_local_notification for Android 12L
}

28
android/app/proguard-rules.pro vendored Normal file
View File

@ -0,0 +1,28 @@
# FROM: https://github.com/MaikuB/flutter_local_notifications/blob/master/flutter_local_notifications/example/android/app/proguard-rules.pro
## Gson rules
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-dontwarn sun.misc.**
#-keep class com.google.gson.stream.** { *; }
# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * extends com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}
# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken

View File

@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cloud.dresselhaus.nextcloud_reminder.nextcloud_reminder">
package="cloud.dresselhaus.todotxt_reminder">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.

View File

@ -1,7 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cloud.dresselhaus.nextcloud_reminder.nextcloud_reminder">
package="cloud.dresselhaus.todotxt_reminder">
<application
android:label="nextcloud_reminder"
android:label="Todo.txt Reminder"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity

View File

@ -1,4 +1,4 @@
package cloud.dresselhaus.nextcloud_reminder.nextcloud_reminder
package cloud.dresselhaus.todotxt_reminder
import io.flutter.embedding.android.FlutterActivity

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- example from https://github.com/MaikuB/flutter_local_notifications/blob/master/flutter_local_notifications/example/android/app/src/main/res/raw/keep.xml
See: https://pub.dev/packages/flutter_local_notifications#release-build-configuration
-->
<!--resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@drawable/*,@raw/slow_spring_board" /-->
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@drawable/*" />

View File

@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cloud.dresselhaus.nextcloud_reminder.nextcloud_reminder">
package="cloud.dresselhaus.todotxt_reminder">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.

View File

@ -1,12 +1,12 @@
buildscript {
ext.kotlin_version = '1.6.10'
ext.kotlin_version = '1.7.10'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
classpath 'com.android.tools.build:gradle:7.3.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

View File

@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip

View File

@ -294,7 +294,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = cloud.dresselhaus.nextcloudreminder.nextcloudReminder;
PRODUCT_BUNDLE_IDENTIFIER = cloud.dresselhaus.todotxt_reminder;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
@ -422,7 +422,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = cloud.dresselhaus.nextcloudreminder.nextcloudReminder;
PRODUCT_BUNDLE_IDENTIFIER = cloud.dresselhaus.todotxt_reminder;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@ -444,7 +444,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = cloud.dresselhaus.nextcloudreminder.nextcloudReminder;
PRODUCT_BUNDLE_IDENTIFIER = cloud.dresselhaus.todotxt_reminder;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;

View File

@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Nextcloud Reminder</string>
<string>Todo.txt Reminder</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
@ -13,7 +13,7 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>nextcloud_reminder</string>
<string>Todo.txt Reminder</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>

View File

@ -40,7 +40,7 @@ class TodoTxtReminderApp extends StatelessWidget {
const inputDecorationTheme = InputDecorationTheme(border: OutlineInputBorder(), focusColor: secondaryColor);
return MaterialApp(
title: 'Nextcloud Reminder',
title: 'Todo.txt Reminder',
theme: ThemeData(
brightness: Brightness.light,
colorScheme: ThemeData.light().colorScheme.copyWith(primary: primaryColor, secondary: secondaryColor, background: primaryColor.shade50),
@ -60,7 +60,7 @@ class TodoTxtReminderApp extends StatelessWidget {
),
),
themeMode: ThemeMode.system,
home: const HomeWidget(title: 'todo.txt reminder'),
home: const HomeWidget(title: 'Todo.txt Reminder'),
);
}
}

View File

@ -4,10 +4,10 @@ project(runner LANGUAGES CXX)
# The name of the executable created for the application. Change this to change
# the on-disk name of your application.
set(BINARY_NAME "nextcloud_reminder")
set(BINARY_NAME "Todo.txt Reminder")
# The unique GTK application identifier for this application. See:
# https://wiki.gnome.org/HowDoI/ChooseApplicationID
set(APPLICATION_ID "cloud.dresselhaus.nextcloud_reminder.nextcloud_reminder")
set(APPLICATION_ID "cloud.dresselhaus.todotxt_reminder")
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
# versions of CMake.

8
local.properties Normal file
View File

@ -0,0 +1,8 @@
## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Sun Jan 15 22:45:27 CET 2023
sdk.dir=C\:\\Users\\Drezi\\AppData\\Local\\Android\\Sdk

View File

@ -5,10 +5,12 @@
import FlutterMacOS
import Foundation
import flutter_local_notifications
import flutter_window_close
import path_provider_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
FlutterWindowClosePlugin.register(with: registry.registrar(forPlugin: "FlutterWindowClosePlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
}

View File

@ -5,10 +5,10 @@
// 'flutter create' template.
// The application's name. By default this is also the title of the Flutter window.
PRODUCT_NAME = nextcloud_reminder
PRODUCT_NAME = Todo.txt Reminder;
// The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = cloud.dresselhaus.nextcloudreminder.nextcloudReminder
PRODUCT_BUNDLE_IDENTIFIER = cloud.dresselhaus.todotxt_reminder;
// The copyright displayed in application information
PRODUCT_COPYRIGHT = Copyright © 2023 cloud.dresselhaus.nextcloud_reminder. All rights reserved.

View File

@ -1,6 +1,13 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
args:
dependency: transitive
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.1"
async:
dependency: transitive
description:
@ -50,6 +57,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.2"
dbus:
dependency: transitive
description:
name: dbus
url: "https://pub.dartlang.org"
source: hosted
version: "0.7.8"
fake_async:
dependency: transitive
description:
@ -83,6 +97,27 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
flutter_local_notifications:
dependency: "direct main"
description:
name: flutter_local_notifications
url: "https://pub.dartlang.org"
source: hosted
version: "13.0.0"
flutter_local_notifications_linux:
dependency: transitive
description:
name: flutter_local_notifications_linux
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
flutter_local_notifications_platform_interface:
dependency: transitive
description:
name: flutter_local_notifications_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.0"
flutter_test:
dependency: "direct dev"
description: flutter
@ -190,7 +225,7 @@ packages:
name: path_provider_macos
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.6"
version: "2.0.7"
path_provider_platform_interface:
dependency: transitive
description:
@ -280,6 +315,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.12"
timezone:
dependency: transitive
description:
name: timezone
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.1"
tuple:
dependency: "direct main"
description:
@ -307,7 +349,14 @@ packages:
name: xdg_directories
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0+2"
version: "0.2.0+3"
xml:
dependency: transitive
description:
name: xml
url: "https://pub.dartlang.org"
source: hosted
version: "6.1.0"
sdks:
dart: ">=2.18.6 <3.0.0"
flutter: ">=3.0.0"

View File

@ -44,6 +44,7 @@ dependencies:
date_field: ^3.0.2
gap: ^2.0.1
intl: ^0.17.0
flutter_local_notifications: ^13.0.0
dev_dependencies:
flutter_test:

View File

@ -90,12 +90,12 @@ BEGIN
BLOCK "040904e4"
BEGIN
VALUE "CompanyName", "cloud.dresselhaus.nextcloud_reminder" "\0"
VALUE "FileDescription", "nextcloud_reminder" "\0"
VALUE "FileDescription", "Todo.txt Reminder" "\0"
VALUE "FileVersion", VERSION_AS_STRING "\0"
VALUE "InternalName", "nextcloud_reminder" "\0"
VALUE "InternalName", "Todo.txt Reminder" "\0"
VALUE "LegalCopyright", "Copyright (C) 2023 cloud.dresselhaus.nextcloud_reminder. All rights reserved." "\0"
VALUE "OriginalFilename", "nextcloud_reminder.exe" "\0"
VALUE "ProductName", "nextcloud_reminder" "\0"
VALUE "ProductName", "Todo.txt Reminder" "\0"
VALUE "ProductVersion", VERSION_AS_STRING "\0"
END
END

View File

@ -27,7 +27,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
FlutterWindow window(project);
Win32Window::Point origin(10, 10);
Win32Window::Size size(1280, 720);
if (!window.CreateAndShow(L"nextcloud_reminder", origin, size)) {
if (!window.CreateAndShow(L"Todo.txt Reminder", origin, size)) {
return EXIT_FAILURE;
}
window.SetQuitOnClose(true);