Compare commits

...

15 Commits

Author SHA1 Message Date
Herbert Reiter e0399f7075 New release 2021-12-29 22:29:49 +01:00
Herbert Reiter b49f2d5427 Update Gradle version in moasdawiki-server and in app to fix build issue 2021-12-29 22:29:31 +01:00
Herbert Reiter 19717b6bef Update to moasdawiki-server 3.2.1 2021-12-29 22:28:58 +01:00
Herbert Reiter 81c00ef2da New release 2021-12-25 16:01:44 +01:00
Herbert Reiter 54456f9629 New release 2021-12-25 15:55:55 +01:00
Herbert Reiter da2bab9db5 Small layout optimizations 2021-12-25 15:55:19 +01:00
Herbert Reiter 37e92222d5 Update to moasdawiki-server 3.1.0 2021-12-25 15:54:35 +01:00
Herbert Reiter e2cda6afb1 Upgrade library dependencies 2021-12-25 15:53:55 +01:00
Herbert Reiter bb52a69ff7 Support for Android 12 2021-12-25 15:53:27 +01:00
Herbert Reiter ce33ef40d6 Update copyright year 2021-12-25 15:51:36 +01:00
Herbert Reiter e27651e9dd New release 2021-06-09 22:15:10 +02:00
Herbert Reiter cd01a5390d New release 2021-06-09 22:11:55 +02:00
Herbert Reiter 1597613f72 Upgrade library dependencies 2021-06-09 22:11:17 +02:00
Herbert Reiter ec78f31ce5 Update to moasdawiki-server 2.6.1 2021-06-09 22:10:53 +02:00
Herbert Reiter e8833dd11b Remove double back key press to close the app 2021-06-09 22:09:22 +02:00
29 changed files with 141 additions and 93 deletions
+20
View File
@@ -1,8 +1,28 @@
# Changelog
## 3.2.1.0 (versionCode 29, 2021-12-29)
- Update Gradle version in moasdawiki-server and in app to fix build issue
- Update to moasdawiki-server 3.2.1
## 3.1.0.0 (versionCode 28, 2021-12-25)
- Small layout optimizations
- Update to moasdawiki-server 3.1.0
- Support for Android 12
- Upgrade library dependencies
- Update copyright year
## 2.6.1.0 (versionCode 27, 2021-06-09)
- Remove double back key press to close the app
- Update to moasdawiki-server 2.6.1
- Upgrade library dependencies
## 2.6.0.0 (versionCode 26, 2021-05-13)
- Make GPL-3.0-only licensing more clear
- Update to moasdawiki-server 2.6.0
## 2.5.2.1 (versionCode 25, 2021-05-08)
+14 -10
View File
@@ -1,13 +1,13 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 30 // 30 = Android 11
compileSdkVersion 31 // 31 = Android 12
defaultConfig {
applicationId "net.moasdawiki.app"
minSdkVersion 26 // 26 = Oreo 8.0
targetSdkVersion 30 // should be same as compileSdkVersion
versionCode 26
versionName "2.6.0.0"
minSdkVersion 28 // 28 = Android 9
targetSdkVersion 31 // should be same as compileSdkVersion
versionCode 29
versionName "3.2.1.0"
archivesBaseName = "moasdawiki-" + versionName + "-" + versionCode
}
sourceSets {
@@ -18,16 +18,20 @@ android {
}
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
lintOptions {
// Workaround for KotlinNullPointerException in :app:lintVitalAnalyzeRelease
checkReleaseBuilds false
}
}
dependencies {
implementation 'net.moasdawiki:moasdawiki-server:2.6.0'
implementation 'net.moasdawiki:moasdawiki-server:3.2.1'
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.appcompat:appcompat:1.4.0'
implementation 'androidx.preference:preference:1.1.1'
compileOnly 'org.jetbrains:annotations:20.1.0'
compileOnly 'org.jetbrains:annotations:22.0.0'
testImplementation 'org.testng:testng:7.4.0'
}
+4 -2
View File
@@ -20,7 +20,8 @@
<activity
android:name=".MainActivity"
android:label="@string/app_name">
android:label="@string/app_name"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
@@ -44,7 +45,8 @@
<service
android:name="net.moasdawiki.app.CalendarAccountAuthenticatorService"
tools:ignore="ExportedService">
tools:ignore="ExportedService"
android:exported="true">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator"/>
</intent-filter>
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -64,7 +64,6 @@ import org.jetbrains.annotations.Nullable;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.URLDecoder;
import java.util.Arrays;
import java.util.Calendar;
@@ -88,7 +87,6 @@ public class MainActivity extends AppCompatActivity {
private RequestDispatcher requestDispatcher;
private WebView webview;
private long backButtonPressedTimestamp;
private ExecutorService synchronizationExecutorService;
@@ -172,14 +170,8 @@ public class MainActivity extends AppCompatActivity {
}
// dispatch URL path
HttpRequest httpRequest = new HttpRequest();
httpRequest.clientIP = InetAddress.getLocalHost();
httpRequest.httpHeader = Collections.emptyMap();
httpRequest.method = "GET";
httpRequest.url = urlPath;
httpRequest.urlPath = urlPath;
httpRequest.urlParameters = convertParameters(uri);
httpRequest.httpBody = new byte[0];
HttpRequest httpRequest = new HttpRequest(Collections.emptyMap(),
"GET", urlPath, urlPath, convertParameters(uri), new byte[0]);
HttpResponse response = requestDispatcher.handleRequest(httpRequest);
// send wiki content to browser
@@ -273,17 +265,8 @@ public class MainActivity extends AppCompatActivity {
if (backForwardList.getCurrentIndex() > 0) {
webview.goBack();
} else {
long currentTimeMillis = System.currentTimeMillis();
if (backButtonPressedTimestamp + 5000 < currentTimeMillis) {
// First click on back button or previous click was more than 5 seconds ago
Log.d(TAG, "Back button 1x, show close hint");
showToast(getString(R.string.action_back_close_hint));
backButtonPressedTimestamp = currentTimeMillis;
} else {
// Second click on back button within 5 seconds -> close app
Log.d(TAG, "Back button 2x, closing app");
finish();
}
// Close app
finish();
}
}
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -1,6 +1,6 @@
/*
* MoasdaWiki App
* Copyright (C) 2008 - 2021 Herbert Reiter (herbert@moasdawiki.net)
* Copyright (C) 2008 - 2022 Herbert Reiter (herbert@moasdawiki.net)
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
@@ -28,6 +28,8 @@ import net.moasdawiki.service.handler.SearchHandler;
import net.moasdawiki.service.handler.ViewPageHandler;
import net.moasdawiki.service.render.HtmlService;
import net.moasdawiki.service.repository.RepositoryService;
import net.moasdawiki.service.search.SearchIgnoreList;
import net.moasdawiki.service.search.SearchIndex;
import net.moasdawiki.service.search.SearchService;
import net.moasdawiki.service.transform.IncludePageTransformer;
import net.moasdawiki.service.transform.KontaktseiteTransformer;
@@ -67,11 +69,13 @@ public class WikiEngineApplication extends Application {
File internalStorageRepositoryRoot = new File(getFilesDir(), REPOSITORY_ROOT_PATH_DEFAULT);
// basic services
repositoryService = new RepositoryService(logger, internalStorageRepositoryRoot, false);
repositoryService = new RepositoryService(logger, internalStorageRepositoryRoot, null, false);
settings = new AndroidSettings(logger, repositoryService, Settings.getConfigFileApp());
messages = new Messages(logger, settings, repositoryService);
wikiService = new WikiService(logger, repositoryService, false);
searchService = new SearchService(logger, repositoryService, wikiService, false);
SearchIgnoreList searchIgnoreList = new SearchIgnoreList(logger, repositoryService);
SearchIndex searchIndex = new SearchIndex(logger, repositoryService, wikiService, searchIgnoreList, true);
searchService = new SearchService(logger, wikiService, searchIgnoreList, searchIndex, false);
// App: use SynchronizeWikiClient instead of SynchronizationService
synchronizeWikiClient = new SynchronizeWikiClient(this, logger, settings, repositoryService);
+4 -2
View File
@@ -16,13 +16,14 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp"
android:orientation="horizontal">
<View
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center_vertical"
android:layout_margin="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/ic_info_outline_black" />
<TextView
@@ -50,13 +51,14 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp"
android:orientation="horizontal">
<View
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center_vertical"
android:layout_margin="20dp"
android:layout_marginEnd="20dp"
android:background="@drawable/ic_info_outline_black" />
<TextView
-1
View File
@@ -4,7 +4,6 @@
<string name="about_version">Version %1$s</string>
<string name="action_help">Hilfe</string>
<string name="action_about">Über</string>
<string name="action_back_close_hint">Erneut drücken um die App zu beenden.</string>
<string name="action_settings">Einstellungen</string>
<string name="action_startpage">Startseite</string>
<string name="action_synchronize">Synchronisieren</string>
-1
View File
@@ -4,7 +4,6 @@
<string name="about_homepage_url" translatable="false">https://www.moasdawiki.net/</string>
<string name="about_version">Version %1$s</string>
<string name="action_about">About</string>
<string name="action_back_close_hint">Press again to exit the app.</string>
<string name="action_help">Help</string>
<string name="action_settings">Settings</string>
<string name="action_startpage">Start page</string>
+1 -1
View File
@@ -6,7 +6,7 @@ buildscript {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.0'
classpath 'com.android.tools.build:gradle:7.0.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -0,0 +1,3 @@
- Entferne doppeltes Drücken der Rückwärtstaste zum Schließen der App
- Auf moasdawiki-server 2.6.1 aktualisieren
- Bibliotheks-Abhängigkeiten aktualisieren
@@ -0,0 +1,4 @@
- Kleine Layoutverbesserungen
- Auf moasdawiki-server 3.1.0 aktualisieren
- Unterstützung für Android 12
- Bibliotheks-Abhängigkeiten aktualisieren
@@ -0,0 +1,2 @@
- Gradle-Version in moasdawiki-server und in der App aktualisieren um ein Build-Problem zu beheben
- Auf moasdawiki-server 3.2.1 aktualisieren
@@ -0,0 +1,3 @@
- Remove double back key press to close the app
- Update to moasdawiki-server 2.6.1
- Upgrade library dependencies
@@ -0,0 +1,4 @@
- Small layout optimizations
- Update to moasdawiki-server 3.1.0
- Support for Android 12
- Upgrade library dependencies
@@ -0,0 +1,2 @@
- Update Gradle version in moasdawiki-server and in app to fix build issue
- Update to moasdawiki-server 3.2.1
Binary file not shown.
+1 -2
View File
@@ -1,6 +1,5 @@
#Sun Dec 27 12:01:31 CET 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
Vendored Regular → Executable
+33 -20
View File
@@ -1,5 +1,21 @@
#!/usr/bin/env sh
#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
##
## Gradle start up script for UN*X
@@ -28,7 +44,7 @@ APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
@@ -66,6 +82,7 @@ esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
@@ -109,10 +126,11 @@ if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
@@ -138,19 +156,19 @@ if $cygwin ; then
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
i=`expr $i + 1`
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
@@ -159,14 +177,9 @@ save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"
Vendored
+24 -19
View File
@@ -1,3 +1,19 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@@ -13,15 +29,18 @@ if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@@ -35,7 +54,7 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@@ -45,28 +64,14 @@ echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell