Browse Source

Hunting crash in Fdroid version

master
jens 2 months ago
parent
commit
d292988737
  1. 24
      app/src/main/java/com/jens/automation2/PointOfInterest.java
  2. BIN
      app/src/main/res/drawable-hdpi/gear.png
  3. BIN
      app/src/main/res/drawable-hdpi/home.png
  4. BIN
      app/src/main/res/drawable-hdpi/map.png
  5. BIN
      app/src/main/res/drawable-hdpi/sound.png
  6. 14
      app/src/main/res/layout/main_tab_layout.xml
  7. 2
      app/src/main/res/values-de/strings.xml
  8. 2
      app/src/main/res/values-es/strings.xml
  9. 2
      app/src/main/res/values/strings.xml
  10. 2
      build.gradle
  11. 7
      fastlane/metadata/android/en-US/changelogs/105.txt
  12. BIN
      fastlane/metadata/android/it-IT/images/icon.png
  13. BIN
      fastlane/metadata/android/it-IT/images/phoneScreenshots/1.png
  14. BIN
      fastlane/metadata/android/it-IT/images/phoneScreenshots/2.png
  15. BIN
      fastlane/metadata/android/it-IT/images/phoneScreenshots/3.png
  16. BIN
      fastlane/metadata/android/it-IT/images/phoneScreenshots/4.png

24
app/src/main/java/com/jens/automation2/PointOfInterest.java

@ -491,9 +491,17 @@ public class PointOfInterest implements Comparable<PointOfInterest>
AutomationService service = AutomationService.getInstance();
if (service != null)
{
service.applySettingsAndRules();
//Easiest way to check for changes in location, reset the last known location.
service.getLocationProvider().setCurrentLocation(service.getLocationProvider().getCurrentLocation(), true);
try
{
service.applySettingsAndRules();
//Easiest way to check for changes in location, reset the last known location.
service.getLocationProvider().setCurrentLocation(service.getLocationProvider().getCurrentLocation(), true);
}
catch(Exception e)
{
// Just log the event. This should not cause an interruption in the program flow.
Miscellaneous.logEvent("e", "save POI", "Error when trying to apply settings and rules: " + Log.getStackTraceString(e), 2);
}
}
return true;
@ -530,14 +538,18 @@ public class PointOfInterest implements Comparable<PointOfInterest>
PointOfInterest.writePoisToFile();
AutomationService service = AutomationService.getInstance();
if(service != null)
try
{
service.applySettingsAndRules();
//Easiest way to check for changes in location, reset the last known location.
service.getLocationProvider().setCurrentLocation(service.getLocationProvider().getCurrentLocation(), true);
}
catch(Exception e)
{
// Just log the event. This should not cause an interruption in the program flow.
Miscellaneous.logEvent("e", "save POI", "Error when trying to apply settings and rules: " + Log.getStackTraceString(e), 2);
}
return true;
}

BIN
app/src/main/res/drawable-hdpi/gear.png

Before

Width: 800  |  Height: 798  |  Size: 60 KiB

After

Width: 50  |  Height: 50  |  Size: 2.3 KiB

BIN
app/src/main/res/drawable-hdpi/home.png

Before

Width: 100  |  Height: 100  |  Size: 7.6 KiB

After

Width: 50  |  Height: 50  |  Size: 3.3 KiB

BIN
app/src/main/res/drawable-hdpi/map.png

Before

Width: 69  |  Height: 60  |  Size: 6.2 KiB

After

Width: 58  |  Height: 50  |  Size: 5.2 KiB

BIN
app/src/main/res/drawable-hdpi/sound.png

Before

Width: 70  |  Height: 40  |  Size: 3.0 KiB

After

Width: 70  |  Height: 40  |  Size: 4.2 KiB

14
app/src/main/res/layout/main_tab_layout.xml

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_width="match_parent"
android:layout_height="match_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
</TabHost>

2
app/src/main/res/values-de/strings.xml

@ -540,7 +540,7 @@
<string name="manageLocations">Orte anlegen oder ändern</string>
<string name="publishedOn">veröffentlicht am</string>
<string name="filesHaveBeenMovedTo">Automation benutzt jetzt ein anderes Verzeichnis, um Ihre Daten zu speichern. Alle Ihre Automation-Dateien wurden hierhin verschoben: \"%s\". Die Berechtigung für den externen Speicher wird nun nicht mehr benötigt; Sie können Sie entfernen. In einer künftigen Version wird sie entfernt werden.</string>
<string name="locationEngineDisabledShort">Die Position kann nicht mehr bestimmt werden.</string>
<string name="locationEngineDisabledShort">Die Position kann nicht mehr im Hintergrund bestimmt werden. Klicken Sie hier für mehr Infos.</string>
<string name="locationEngineDisabledLong">Leider kann die Position nicht mehr bestimmt werden. Großer Dank dafür geht an Google für seine unendliche Weisheit und Großzügigkeit.\\n\\nBeginnend mit Android 10 wurde eine neue Berechtigung eingeführt, die benötigt wird, um als App die Position auch im Hintergrund bestimmen zu können, was, für eine App wie diese, natürlich notwendig ist.\\n\\nWährend ich das grundsätzlich für eine gute Idee halte, gilt das nicht für die Schikanen, die man Entwicklern damit zumutet.\\n\\nWenn man eine App entwickelt, kann man versuchen sich für diese Berechtigung zu qualifizieren, indem man einen Katalog von Bedingungen erfüllt. Leider wurden neue Versionen meiner Anwendung über einen Zeitraum von drei Monaten immer wieder abgelehnt.\\n\\nDas lief auf die immer gleiche Art ab:\\n\\nIch habe eine neue Version eingereicht, die all diese Anforderungen erfüllt hat.\\n\\nGoogles miserabler Entwickler-Support behauptete ich würde sie nicht einhalten.\\n\\nIch habe Beweise geliefert, daß ich alles einhalte.<br />Ich bekam eine Antwort wie "Ich kann Ihnen nicht weiterhelfen.\\n\\nIrgendwann habe ich aufgegeben.\\n\\nDie Folge davon ist nun, daß die Google Play Version keine Positionsbestimmung mehr im Hintergrund durchführen kann. Meine einzige Alternative wäre es gewesen, daß die ganze Anwendung aus dem Store fliegt.\\n\\nDas tut mir sehr leid, aber ich habe mein Bestes gegeben mit einem Kunden\"dienst\" zu diskutieren, der mehrfach beim Turing-Test durchgefallen ist.\\n\\nDie gute Nachricht: Die Anwendung kann es immer noch!\\n\\nAutomation ist nun Open Source Software und kann ab sofort bei F-Droid heruntergeladen werden. F-Droid ist ein freier Appstore, der Ihre Privatsphäre respektiert - statt nur so zu tun wie Google das macht.\\n\\nSichern Sie Ihre Konfiguratinsdatei, deinstallieren Sie dazu diese Anwendung, installieren sie von F-Droid neu, Konfigurationsdatei zurückspielen und fertig.\\n\\nKlicken Sie hier, um mehr herauszufinden:</string>
<string name="filesStoredAt">Konfigurations- und Logdateien werden hier gespeichert: %1$s. Klicken Sie hier auf diesen Text, um dieses Verzeichnis in einem Datei-Explorer zu öffnen. Leider funktioniert das nur auf gerooteten Geräten.\n\nFür alle anderen Geräte: Benutzen Sie einfach den Export Button, wenn Sie eine Sicherung anlegen wollen.</string>
<string name="directionStringEquals">ist gleich</string>

2
app/src/main/res/values-es/strings.xml

@ -47,7 +47,7 @@
<string name="ruleXrequiresThis">Regla \"%1$s\" lo necesita.</string>
<string name="sendTextMessage">Enviar mensaje SMS</string>
<string name="importNumberFromContacts">Importar número del directorio</string>
<string name="edit">Edit</string>
<string name="edit">Editar</string>
<string name="textToSend">Texto de enviar</string>
<string name="password">Contraseña</string>
<string name="showOnMap">Monstrar en una mapa</string>

2
app/src/main/res/values/strings.xml

@ -605,7 +605,7 @@
<string name="filesHaveBeenMovedTo">Automation now uses another path to store your files. All your Automation-files have been moved here: \"%s\". The external storage permission is not required anymore; you can revoke it. It will be removed in a future version.</string>
<string name="newsOptIn">Would you like to receive (only important) news about this app on the main screen? Those are downloaded from the developer\'s website. There will be no intrusive notification, just a text on the main screen when you open the app.</string>
<string name="locationDisabled">Location disabled</string>
<string name="locationEngineDisabledShort">Location cannot be determined anymore. Click here to find out why.</string>
<string name="locationEngineDisabledShort">Location cannot be determined in the background anymore. Click here to find out why.</string>
<string name="locationEngineDisabledLong">Unfortunately your location cannot be determined anymore. A debt of gratitude is owed to Google for its infinite wisdom and amiableness.\\n\\nLet me explain this further. Starting with Android 10 a new permission was introduced that is needed to determine your location in the background (which of course is required for an app like this). Whilst I consider that a good idea in general the chicanery it involves for developers is not.\\n\\nWhen developing an app you can try to qualify for this permission by abiding to a catalog of requirements. Unfortunately new versions of my app have been rejected over a period of three months. I fulfilled all those requirements, Google\'s shitty development support claimed I would not. After giving them proof that I did after all - I got a response like \"I cannot help you anymore\". Eventually I gave up. \\n\\nAs a consequence the Google Play version can NOT use your location as a trigger anymore. My only alternative option would have been to have this application removed from the store entirely.\\n\\nI\'m very sorry about that, but I\'ve tried my best arguing with a \"support\" that repeatedly failed to pass the Turing test.\\n\\nThe good news: You can still have it all!\\n\\nAutomation is now open source and can be found in F-Droid. That is an app store that really cares about your privacy - rather than just acting like that. Simply backup your config file, uninstall this app, install it again from F-Droid, restore your config file - done.\\n\\nClick here to find out more:</string>
<string name="filesStoredAt">Config and log files are stored in folder %1$s. Click on this text to open a file explorer. Unfortunately this will only work on a rooted device.\n\nFOR ALL OTHER DEVICES: Simply use the export button to make a backup.</string>
<string name="notification">Notification</string>

2
build.gradle

@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.0'
classpath 'com.android.tools.build:gradle:4.2.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files

7
fastlane/metadata/android/en-US/changelogs/105.txt

@ -1,3 +1,6 @@
* SSID for wifi trigger can now be picked from list
* Activate wifi tethering doesn't require root anymore
* Italian translation updated
* Spanish translation updated
* PhoneCall trigger significantly enhanced
* Fixed a problem where usage of root permissions wasn't possible
* Spanish translation updated
* Italian translation updated

BIN
fastlane/metadata/android/it-IT/images/icon.png

After

Width: 360  |  Height: 360  |  Size: 79 KiB

BIN
fastlane/metadata/android/it-IT/images/phoneScreenshots/1.png

After

Width: 1080  |  Height: 1920  |  Size: 200 KiB

BIN
fastlane/metadata/android/it-IT/images/phoneScreenshots/2.png

After

Width: 1080  |  Height: 1920  |  Size: 118 KiB

BIN
fastlane/metadata/android/it-IT/images/phoneScreenshots/3.png

After

Width: 1080  |  Height: 1920  |  Size: 137 KiB

BIN
fastlane/metadata/android/it-IT/images/phoneScreenshots/4.png

After

Width: 1080  |  Height: 1920  |  Size: 113 KiB

Loading…
Cancel
Save