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