Add option to disable wakelock
Этот коммит содержится в:
@@ -66,6 +66,7 @@ public class MainFragment extends PreferenceFragmentCompat implements OnSharedPr
|
||||
public static final String KEY_ACCURACY = "accuracy";
|
||||
public static final String KEY_STATUS = "status";
|
||||
public static final String KEY_BUFFER = "buffer";
|
||||
public static final String KEY_WAKELOCK = "wakelock";
|
||||
|
||||
private static final int PERMISSIONS_REQUEST_LOCATION = 2;
|
||||
|
||||
@@ -206,6 +207,7 @@ public class MainFragment extends PreferenceFragmentCompat implements OnSharedPr
|
||||
findPreference(KEY_ANGLE).setEnabled(enabled);
|
||||
findPreference(KEY_ACCURACY).setEnabled(enabled);
|
||||
findPreference(KEY_BUFFER).setEnabled(enabled);
|
||||
findPreference(KEY_WAKELOCK).setEnabled(enabled);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,7 +25,6 @@ public class TrackingController implements PositionProvider.PositionListener, Ne
|
||||
|
||||
private static final String TAG = TrackingController.class.getSimpleName();
|
||||
private static final int RETRY_DELAY = 30 * 1000;
|
||||
private static final int WAKE_LOCK_TIMEOUT = 120 * 1000;
|
||||
|
||||
private boolean isOnline;
|
||||
private boolean isWaiting;
|
||||
|
||||
@@ -29,6 +29,7 @@ import androidx.core.app.NotificationCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import android.os.PowerManager;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
|
||||
public class TrackingService extends Service {
|
||||
@@ -87,9 +88,11 @@ public class TrackingService extends Service {
|
||||
|
||||
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
|
||||
|
||||
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
||||
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName());
|
||||
wakeLock.acquire();
|
||||
if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(MainFragment.KEY_WAKELOCK, true)) {
|
||||
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
||||
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName());
|
||||
wakeLock.acquire();
|
||||
}
|
||||
|
||||
trackingController = new TrackingController(this);
|
||||
trackingController.start();
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
<string name="settings_buffer">Offline buffering</string>
|
||||
<string name="settings_buffer_off_summary">Buffering off</string>
|
||||
<string name="settings_buffer_on_summary">Buffering on</string>
|
||||
<string name="settings_wakelock">Wake lock</string>
|
||||
<string name="settings_wakelock_off_summary">Wake lock off</string>
|
||||
<string name="settings_wakelock_on_summary">Wake lock on</string>
|
||||
<string name="settings_accuracy_title">Location accuracy</string>
|
||||
<string name="settings_accuracy_summary">Desired location accuracy</string>
|
||||
<string name="settings_accuracy_high">High</string>
|
||||
|
||||
@@ -56,4 +56,11 @@
|
||||
android:summaryOn="@string/settings_buffer_on_summary"
|
||||
android:title="@string/settings_buffer" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="wakelock"
|
||||
android:summaryOff="@string/settings_wakelock_off_summary"
|
||||
android:summaryOn="@string/settings_wakelock_on_summary"
|
||||
android:title="@string/settings_wakelock" />
|
||||
|
||||
</PreferenceScreen>
|
||||
|
||||
Ссылка в новой задаче
Block a user