diff --git a/app/build.gradle b/app/build.gradle index a65e679..c2ffeda 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -71,7 +71,6 @@ dependencies { apkFlavorImplementation 'com.google.android.gms:play-services-location:17.1.0' implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'com.google.android.material:material:1.3.0' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.2' diff --git a/app/src/apkFlavor/AndroidManifest.xml b/app/src/apkFlavor/AndroidManifest.xml index 49db54f..cc416a8 100644 --- a/app/src/apkFlavor/AndroidManifest.xml +++ b/app/src/apkFlavor/AndroidManifest.xml @@ -196,6 +196,10 @@ + + + + diff --git a/app/src/fdroidFlavor/AndroidManifest.xml b/app/src/fdroidFlavor/AndroidManifest.xml index 94b9ca5..fff232e 100644 --- a/app/src/fdroidFlavor/AndroidManifest.xml +++ b/app/src/fdroidFlavor/AndroidManifest.xml @@ -182,6 +182,8 @@ + + \ No newline at end of file diff --git a/app/src/googlePlayFlavor/AndroidManifest.xml b/app/src/googlePlayFlavor/AndroidManifest.xml index ee4526a..7a98c27 100644 --- a/app/src/googlePlayFlavor/AndroidManifest.xml +++ b/app/src/googlePlayFlavor/AndroidManifest.xml @@ -198,6 +198,8 @@ + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 10ddd54..21ce1bf 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -187,6 +187,9 @@ + + + \ No newline at end of file diff --git a/app/src/main/java/com/jens/automation2/News.java b/app/src/main/java/com/jens/automation2/News.java index 9e3e6f6..1b37c5c 100644 --- a/app/src/main/java/com/jens/automation2/News.java +++ b/app/src/main/java/com/jens/automation2/News.java @@ -10,6 +10,7 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; +import java.io.File; import java.lang.reflect.Array; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -28,13 +29,15 @@ public class News Calendar now = Calendar.getInstance(); String newsContent; - if (Settings.lastNewsPolltime == -1 || now.getTimeInMillis() >= Settings.lastNewsPolltime + (long)(Settings.pollNewsEveryXDays * 24 * 60 * 60 * 1000)) + String filePath = context.getFilesDir() + "/appNews.xml"; + + if (!(new File(filePath)).exists() || Settings.lastNewsPolltime == -1 || now.getTimeInMillis() >= Settings.lastNewsPolltime + (long)(Settings.pollNewsEveryXDays * 24 * 60 * 60 * 1000)) { String newsUrl = "https://server47.de/automation/appNews.php"; newsContent = Miscellaneous.downloadURL(newsUrl, null, null); // Cache content to local storage - if(Miscellaneous.writeStringToFile(context.getFilesDir() + "/appNews.xml", newsContent)) + if(Miscellaneous.writeStringToFile(filePath, newsContent)) { Settings.lastNewsPolltime = now.getTimeInMillis(); Settings.writeSettings(context); @@ -43,7 +46,7 @@ public class News else { // Just read local cache file - newsContent = Miscellaneous.readFileToString(context.getFilesDir() + "/appNews.xml"); + newsContent = Miscellaneous.readFileToString(filePath); } ArrayList returnList = new ArrayList<>(); @@ -164,7 +167,9 @@ public class News @Override protected ArrayList doInBackground(Context... contexts) { - return downloadNews(contexts[0]); + Calendar limit = Calendar.getInstance(); + limit.add(Calendar.DAY_OF_MONTH, -Settings.pollNewsEveryXDays); + return downloadNews(contexts[0], limit); } @Override