Skip to content

Commit 2a9b4bf

Browse files
committed
Revert "Avoid having 5 sec high load."
This reverts commit d10d60b.
1 parent 8424c1b commit 2a9b4bf

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

src/android/BackgroundModeExt.java

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,11 @@ public class BackgroundModeExt extends CordovaPlugin {
8888
private AlarmManager alarmMgr;
8989
private PendingIntent alarmIntent;
9090
final String RECEIVER = ".AlarmReceiver";
91-
final int TIMEOUT = 240 * 1000; // 4 mins
91+
final int TIMEOUT = 180 * 1000; // 3 mins
92+
final int QUICK_TIMEOUT = 2 * 1000; // 2 secs
9293
final int WAKELIMIT = 2;
9394
private boolean isOnBg = false;
95+
private int timeout = 0;
9496

9597
private class AlarmReceiver extends BroadcastReceiver {
9698
private PowerManager.WakeLock wakeLock = null;
@@ -102,17 +104,12 @@ private class AlarmReceiver extends BroadcastReceiver {
102104

103105
@Override
104106
public void onReceive(Context context, Intent intent) {
105-
if(isOnBg()) {
106-
PowerManager pm = (PowerManager)context.getSystemService(POWER_SERVICE);
107-
WifiManager wm = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
107+
PowerManager pm = (PowerManager)context.getSystemService(POWER_SERVICE);
108+
WifiManager wm = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
108109

110+
timeout = TIMEOUT;
111+
if(isOnBg()) {
109112
if(++wakeCounter == WAKELIMIT) {
110-
getApp().runOnUiThread(() -> {
111-
View view = webView.getEngine().getView();
112-
Log.d("MlesAlarm", "Updating visibility " + View.VISIBLE);
113-
view.dispatchWindowVisibilityChanged(View.VISIBLE);
114-
});
115-
116113
Log.d("MlesAlarm", "Acquiring locks");
117114
if(null == wakeLock) {
118115
wakeLock = pm.newWakeLock(
@@ -124,6 +121,12 @@ public void onReceive(Context context, Intent intent) {
124121
wfl.acquire();
125122
}
126123

124+
getApp().runOnUiThread(() -> {
125+
View view = webView.getEngine().getView();
126+
Log.d("MlesAlarm", "Updating visibility " + View.VISIBLE);
127+
view.dispatchWindowVisibilityChanged(View.VISIBLE);
128+
});
129+
127130
Log.d("MlesAlarm", "Calling resync");
128131
webView.loadUrl("javascript:syncReconnect()");
129132

@@ -133,13 +136,15 @@ public void onReceive(Context context, Intent intent) {
133136
wakeLock.release();
134137
wakeLock = null;
135138

139+
wakeCounter = 0;
140+
timeout = QUICK_TIMEOUT;
141+
}
142+
else if(1 == wakeCounter) {
136143
getApp().runOnUiThread(() -> {
137144
View view = webView.getEngine().getView();
138145
Log.d("MlesAlarm", "Updating visibility " + View.GONE);
139146
view.dispatchWindowVisibilityChanged(View.GONE);
140147
});
141-
142-
wakeCounter = 0;
143148
}
144149
}
145150

@@ -148,9 +153,9 @@ public void onReceive(Context context, Intent intent) {
148153
Intent newIntent = new Intent(RECEIVER);
149154

150155
alarmIntent = PendingIntent.getBroadcast(context, 0, newIntent, 0);
151-
Log.d("MlesAlarm", "Setting timeout " + TIMEOUT);
156+
Log.d("MlesAlarm", "Setting timeout " + timeout);
152157
alarmMgr.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP,
153-
SystemClock.elapsedRealtime() + TIMEOUT, alarmIntent);
158+
SystemClock.elapsedRealtime() + timeout, alarmIntent);
154159

155160
}
156161
}

0 commit comments

Comments
 (0)