Add option to disable wakelock

Этот коммит содержится в:
Anton Tananaev
2020-09-20 11:08:10 -07:00
родитель 83bf1daa84
Коммит 283d0467b4
5 изменённых файлов: 18 добавлений и 4 удалений
+2
Просмотреть файл
@@ -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
-1
Просмотреть файл
@@ -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;
+3
Просмотреть файл
@@ -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();
+3
Просмотреть файл
@@ -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>
+7
Просмотреть файл
@@ -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>