Skip to content

Commit

Permalink
Updated to get rid of setExact alarms
Browse files Browse the repository at this point in the history
  • Loading branch information
evilbunny2008 committed Jan 13, 2024
1 parent 52fae88 commit 9c760b0
Show file tree
Hide file tree
Showing 12 changed files with 231 additions and 304 deletions.
6 changes: 3 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ android {
applicationId "com.odiousapps.weewxweather"
minSdkVersion 23
targetSdkVersion 34
versionCode 1000016
versionName "1.0.16"
versionCode 1000017
versionName "1.0.17"
}

buildTypes {
Expand All @@ -32,7 +32,7 @@ android {

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.android.material:material:1.10.0'
implementation 'com.google.android.material:material:1.11.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core:1.12.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
Expand Down
2 changes: 0 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/>
<uses-permission android:name="android.permission.USE_EXACT_ALARM" />

<application
android:icon="@mipmap/ic_launcher"
Expand Down
29 changes: 11 additions & 18 deletions app/src/main/java/com/odiousapps/weewxweather/Common.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.Uri;
import android.os.Build;
import android.util.Base64;
import android.util.Log;
import android.widget.RemoteViews;
Expand Down Expand Up @@ -142,7 +141,7 @@ void setAlarm(String from)
if (period <= 0)
return;

long start = Math.round((double) System.currentTimeMillis() / (double) period) * period + wait;
long start = Math.round((double)System.currentTimeMillis() / (double)period) * period + wait;

if (start < System.currentTimeMillis())
start += period;
Expand All @@ -154,15 +153,8 @@ void setAlarm(String from)
Intent myAlarm = new Intent(context.getApplicationContext(), UpdateCheck.class);
PendingIntent recurringAlarm = PendingIntent.getBroadcast(context.getApplicationContext(), 0, myAlarm, PendingIntent.FLAG_IMMUTABLE);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)
{
AlarmManager alarms = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
if(alarms.canScheduleExactAlarms())
alarms.setExact(AlarmManager.RTC_WAKEUP, start, recurringAlarm);
} else {
AlarmManager alarms = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarms.setExact(AlarmManager.RTC_WAKEUP, start, recurringAlarm);
}
AlarmManager alarms = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarms.set(AlarmManager.RTC_WAKEUP, start, recurringAlarm);
}

String getAppVersion()
Expand Down Expand Up @@ -239,26 +231,26 @@ String GetStringPref(String name, String default_value)

void SetLongPref(String name, long value)
{
SetStringPref(name, "" + value);
SetStringPref(name, String.valueOf(value));
}

@SuppressWarnings({"SameParameterValue"})
long GetLongPref(String name, long default_value)
{
String val = GetStringPref(name, "" + default_value);
String val = GetStringPref(name, String.valueOf(default_value));
if (val == null)
return default_value;
return Long.parseLong(val);
}

void SetIntPref(String name, int value)
{
SetStringPref(name, "" + value);
SetStringPref(name, String.valueOf(value));
}

int GetIntPref(String name, int default_value)
{
String val = GetStringPref(name, "" + default_value);
String val = GetStringPref(name, String.valueOf(default_value));
if (val == null)
return default_value;
return Integer.parseInt(val);
Expand Down Expand Up @@ -353,7 +345,7 @@ else if(bgColour == 0xFFFFFFFF && fgColour == 0xFFFFFFFF)

private String generateForecast(List<Day> days, long timestamp, boolean showHeader)
{
if(days == null || days.size() <= 0)
if(days == null || days.size() == 0)
return null;

StringBuilder sb = new StringBuilder();
Expand Down Expand Up @@ -2325,7 +2317,6 @@ private String getCode(String icon)
{
return switch (icon)
{
case "clearsky_day" -> "01d";
case "clearsky_night" -> "01n";
case "clearsky_polartwilight" -> "01m";
case "fair_day" -> "02d";
Expand Down Expand Up @@ -2479,7 +2470,7 @@ String[] processWZ(String data, boolean showHeader)
day.day = tmp[0];
}

if (tmp.length <= 1)
if (tmp.length == 1)
continue;

String[] mybits = tmp[1].split("<br />");
Expand Down Expand Up @@ -2685,6 +2676,8 @@ String[] processYahoo(String data, boolean showHeader)

void SendIntents()
{
getWeather();
getForecast();
Intent intent = new Intent();
intent.setAction(Common.UPDATE_INTENT);
context.sendBroadcast(intent);
Expand Down
Loading

0 comments on commit 9c760b0

Please sign in to comment.