Change sensor setup logic.
Now it activates only if enable in the settings and the screen is off while navigation. Remove router checkbox from preferences
This commit is contained in:
parent
794a76ae99
commit
4716f94500
5 changed files with 28 additions and 31 deletions
|
@ -74,16 +74,15 @@
|
|||
|
||||
<PreferenceCategory
|
||||
android:key="turn_screen_on"
|
||||
android:layout="@layout/preference_category_summary"
|
||||
android:summary="@string/wake_on_voice_descr"
|
||||
android:title="@string/wake_on_voice">
|
||||
|
||||
<ListPreference
|
||||
android:key="turn_screen_on_time_int"
|
||||
android:summary="@string/turn_screen_on_time_descr"
|
||||
android:title="@string/shared_string_time"/>
|
||||
<CheckBoxPreference
|
||||
android:key="turn_screen_on_router"
|
||||
android:summary="@string/wake_on_voice_descr"
|
||||
android:title="@string/turn_screen_on_router"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="turn_screen_on_sensor"
|
||||
android:summary="@string/turn_screen_on_sensor_descr"
|
||||
|
|
|
@ -1387,17 +1387,21 @@ public class OsmandSettings {
|
|||
KEEP_INFORMING.setModeDefaultValue(ApplicationMode.PEDESTRIAN, 0);
|
||||
}
|
||||
|
||||
public final CommonPreference<Integer> TURN_SCREEN_ON_TIME_INT = new IntPreference("turn_screen_on_time_int", 0).makeGlobal();
|
||||
|
||||
public final CommonPreference<Boolean> TURN_SCREEN_ON_ROUTER = new BooleanPreference("turn_screen_on_router", false).makeProfile();
|
||||
public final CommonPreference<Integer> TURN_SCREEN_ON_TIME_INT = new IntPreference("turn_screen_on_time_int", 0).makeProfile();
|
||||
|
||||
{
|
||||
TURN_SCREEN_ON_ROUTER.setModeDefaultValue(ApplicationMode.CAR, false);
|
||||
TURN_SCREEN_ON_ROUTER.setModeDefaultValue(ApplicationMode.BICYCLE, false);
|
||||
TURN_SCREEN_ON_ROUTER.setModeDefaultValue(ApplicationMode.PEDESTRIAN, false);
|
||||
TURN_SCREEN_ON_TIME_INT.setModeDefaultValue(ApplicationMode.CAR, 0);
|
||||
TURN_SCREEN_ON_TIME_INT.setModeDefaultValue(ApplicationMode.BICYCLE, 0);
|
||||
TURN_SCREEN_ON_TIME_INT.setModeDefaultValue(ApplicationMode.PEDESTRIAN, 0);
|
||||
}
|
||||
|
||||
public final CommonPreference<Boolean> TURN_SCREEN_ON_SENSOR = new BooleanPreference("turn_screen_on_sensor", false).makeGlobal();
|
||||
public final CommonPreference<Boolean> TURN_SCREEN_ON_SENSOR = new BooleanPreference("turn_screen_on_sensor", false).makeProfile();
|
||||
|
||||
{
|
||||
TURN_SCREEN_ON_SENSOR.setModeDefaultValue(ApplicationMode.CAR, false);
|
||||
TURN_SCREEN_ON_SENSOR.setModeDefaultValue(ApplicationMode.BICYCLE, false);
|
||||
TURN_SCREEN_ON_SENSOR.setModeDefaultValue(ApplicationMode.PEDESTRIAN, false);
|
||||
}
|
||||
|
||||
// this value string is synchronized with settings_pref.xml preference name
|
||||
// try without AUTO_FOLLOW_ROUTE_NAV (see forum discussion 'Simplify our navigation preference menu')
|
||||
|
|
|
@ -48,7 +48,6 @@ import net.osmand.SecondSplashScreenFragment;
|
|||
import net.osmand.StateChangedListener;
|
||||
import net.osmand.ValueHolder;
|
||||
import net.osmand.access.MapAccessibilityActions;
|
||||
import net.osmand.aidl.OsmandAidlApi;
|
||||
import net.osmand.aidl.OsmandAidlApi.AMapPointUpdateListener;
|
||||
import net.osmand.aidl.map.ALatLon;
|
||||
import net.osmand.aidl.maplayer.point.AMapPoint;
|
||||
|
@ -88,7 +87,6 @@ import net.osmand.plus.dashboard.DashboardOnMap.DashboardType;
|
|||
import net.osmand.plus.dialogs.CrashBottomSheetDialogFragment;
|
||||
import net.osmand.plus.dialogs.RateUsBottomSheetDialogFragment;
|
||||
import net.osmand.plus.dialogs.SendAnalyticsBottomSheetDialogFragment;
|
||||
import net.osmand.plus.dialogs.RateUsBottomSheetDialog;
|
||||
import net.osmand.plus.dialogs.WhatsNewDialogFragment;
|
||||
import net.osmand.plus.dialogs.XMasDialogFragment;
|
||||
import net.osmand.plus.download.DownloadActivity;
|
||||
|
@ -1295,6 +1293,7 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
|
|||
protected void onStart() {
|
||||
super.onStart();
|
||||
stopped = false;
|
||||
lockHelper.setSensor(false); //switch off sensor when activity active
|
||||
getMyApplication().getNotificationHelper().showNotifications();
|
||||
}
|
||||
|
||||
|
@ -1313,6 +1312,7 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
|
|||
onPauseActivity();
|
||||
}
|
||||
stopped = true;
|
||||
lockHelper.refreshSensorSettings();
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
|
@ -1415,7 +1415,7 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
|
|||
getMapView().refreshMap(true);
|
||||
}
|
||||
});
|
||||
lockHelper.refreshProfilesSettings();
|
||||
lockHelper.refreshRouterSettings();
|
||||
getMapView().refreshMap(true);
|
||||
}
|
||||
|
||||
|
|
|
@ -193,7 +193,6 @@ public class SettingsNavigationActivity extends SettingsBaseActivity {
|
|||
+ getString(R.string.int_seconds);
|
||||
}
|
||||
registerListPreference(settings.TURN_SCREEN_ON_TIME_INT, screen, screenPowerSaveNames, screenPowerSaveValues);
|
||||
registerBooleanPreference(settings.TURN_SCREEN_ON_ROUTER, screen);
|
||||
registerBooleanPreference(settings.TURN_SCREEN_ON_SENSOR, screen);
|
||||
}
|
||||
|
||||
|
@ -396,12 +395,9 @@ public class SettingsNavigationActivity extends SettingsBaseActivity {
|
|||
return true;
|
||||
}
|
||||
super.onPreferenceChange(preference, newValue);
|
||||
if (id.equals(settings.TURN_SCREEN_ON_ROUTER.getId())) {
|
||||
boolean isRoutingListnerEnabled = Boolean.valueOf(newValue.toString());
|
||||
getMyApplication().getLockHelper().setVoiceRouterListener(isRoutingListnerEnabled);
|
||||
} else if (id.equals(settings.TURN_SCREEN_ON_SENSOR.getId())) {
|
||||
boolean isSensorEnabled = Boolean.valueOf(newValue.toString());
|
||||
getMyApplication().getLockHelper().setSensor(isSensorEnabled);
|
||||
if (id.equals(settings.TURN_SCREEN_ON_TIME_INT.getId())) {
|
||||
boolean isRoutingListenerEnabled = Integer.valueOf(newValue.toString()) > 0;
|
||||
getMyApplication().getLockHelper().setVoiceRouterListener(isRoutingListenerEnabled);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ import android.hardware.SensorManager;
|
|||
import android.os.Handler;
|
||||
import android.os.PowerManager;
|
||||
|
||||
import net.osmand.AndroidUtils;
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
|
@ -59,8 +58,6 @@ public class LockHelper implements SensorEventListener {
|
|||
unlockEvent();
|
||||
}
|
||||
};
|
||||
|
||||
refreshGlobalSettings();
|
||||
}
|
||||
|
||||
private void releaseWakeLocks() {
|
||||
|
@ -98,10 +95,10 @@ public class LockHelper implements SensorEventListener {
|
|||
}
|
||||
|
||||
public void unlockEvent() {
|
||||
int screenPowerSave = app.getSettings().TURN_SCREEN_ON_TIME_INT.get();
|
||||
int unlockTime = app.getSettings().TURN_SCREEN_ON_TIME_INT.get();
|
||||
|
||||
if (screenPowerSave > 0) {
|
||||
timedUnlock(screenPowerSave * 1000L);
|
||||
if (unlockTime > 0) {
|
||||
timedUnlock(unlockTime * 1000L);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -136,13 +133,14 @@ public class LockHelper implements SensorEventListener {
|
|||
}
|
||||
}
|
||||
|
||||
public void refreshProfilesSettings() {
|
||||
boolean isVRListenerEnabled = settings.TURN_SCREEN_ON_ROUTER.get();
|
||||
public void refreshRouterSettings() {
|
||||
boolean isVRListenerEnabled = settings.TURN_SCREEN_ON_TIME_INT.get() > 0;
|
||||
setVoiceRouterListener(isVRListenerEnabled);
|
||||
}
|
||||
|
||||
public void refreshGlobalSettings() {
|
||||
boolean isSensorEnabled = settings.TURN_SCREEN_ON_SENSOR.get();
|
||||
public void refreshSensorSettings() {
|
||||
boolean isSensorEnabled = settings.TURN_SCREEN_ON_SENSOR.get()
|
||||
&& app.getRoutingHelper().isFollowingMode();
|
||||
setSensor(isSensorEnabled);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue