Merge pull request #664 from Riksu9000/disable_notif_only
Toggle notifications only, keep vibrations.
This commit is contained in:
@@ -79,14 +79,6 @@ bool NotificationManager::AreNewNotificationsAvailable() {
|
||||
return newNotification;
|
||||
}
|
||||
|
||||
bool NotificationManager::IsVibrationEnabled() {
|
||||
return vibrationEnabled;
|
||||
}
|
||||
|
||||
void NotificationManager::ToggleVibrations() {
|
||||
vibrationEnabled = !vibrationEnabled;
|
||||
}
|
||||
|
||||
bool NotificationManager::ClearNewNotificationFlag() {
|
||||
return newNotification.exchange(false);
|
||||
}
|
||||
|
@@ -44,8 +44,6 @@ namespace Pinetime {
|
||||
Notification GetPrevious(Notification::Id id);
|
||||
bool ClearNewNotificationFlag();
|
||||
bool AreNewNotificationsAvailable();
|
||||
bool IsVibrationEnabled();
|
||||
void ToggleVibrations();
|
||||
|
||||
static constexpr size_t MaximumMessageSize() {
|
||||
return MessageSize;
|
||||
@@ -60,7 +58,6 @@ namespace Pinetime {
|
||||
uint8_t writeIndex = 0;
|
||||
bool empty = true;
|
||||
std::atomic<bool> newNotification {false};
|
||||
bool vibrationEnabled = true;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -9,9 +9,6 @@ APP_TIMER_DEF(longVibTimer);
|
||||
|
||||
using namespace Pinetime::Controllers;
|
||||
|
||||
MotorController::MotorController(Controllers::Settings& settingsController) : settingsController {settingsController} {
|
||||
}
|
||||
|
||||
void MotorController::Init() {
|
||||
nrf_gpio_cfg_output(PinMap::Motor);
|
||||
nrf_gpio_pin_set(PinMap::Motor);
|
||||
@@ -27,18 +24,11 @@ void MotorController::Ring(void* p_context) {
|
||||
}
|
||||
|
||||
void MotorController::RunForDuration(uint8_t motorDuration) {
|
||||
if (settingsController.GetVibrationStatus() == Controllers::Settings::Vibration::OFF) {
|
||||
return;
|
||||
}
|
||||
|
||||
nrf_gpio_pin_clear(PinMap::Motor);
|
||||
app_timer_start(shortVibTimer, APP_TIMER_TICKS(motorDuration), nullptr);
|
||||
}
|
||||
|
||||
void MotorController::StartRinging() {
|
||||
if (settingsController.GetVibrationStatus() == Controllers::Settings::Vibration::OFF) {
|
||||
return;
|
||||
}
|
||||
Ring(this);
|
||||
app_timer_start(longVibTimer, APP_TIMER_TICKS(1000), this);
|
||||
}
|
||||
|
@@ -1,14 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include "components/settings/Settings.h"
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Controllers {
|
||||
|
||||
class MotorController {
|
||||
public:
|
||||
MotorController(Controllers::Settings& settingsController);
|
||||
MotorController() = default;
|
||||
|
||||
void Init();
|
||||
void RunForDuration(uint8_t motorDuration);
|
||||
void StartRinging();
|
||||
@@ -16,7 +16,6 @@ namespace Pinetime {
|
||||
|
||||
private:
|
||||
static void Ring(void* p_context);
|
||||
Controllers::Settings& settingsController;
|
||||
static void StopMotor(void* p_context);
|
||||
};
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@ namespace Pinetime {
|
||||
class Settings {
|
||||
public:
|
||||
enum class ClockType : uint8_t { H24, H12 };
|
||||
enum class Vibration : uint8_t { ON, OFF };
|
||||
enum class Notification : uint8_t { ON, OFF };
|
||||
enum class WakeUpMode : uint8_t {
|
||||
SingleTap = 0,
|
||||
DoubleTap = 1,
|
||||
@@ -93,14 +93,14 @@ namespace Pinetime {
|
||||
return settings.clockType;
|
||||
};
|
||||
|
||||
void SetVibrationStatus(Vibration status) {
|
||||
if (status != settings.vibrationStatus) {
|
||||
void SetNotificationStatus(Notification status) {
|
||||
if (status != settings.notificationStatus) {
|
||||
settingsChanged = true;
|
||||
}
|
||||
settings.vibrationStatus = status;
|
||||
settings.notificationStatus = status;
|
||||
};
|
||||
Vibration GetVibrationStatus() const {
|
||||
return settings.vibrationStatus;
|
||||
Notification GetNotificationStatus() const {
|
||||
return settings.notificationStatus;
|
||||
};
|
||||
|
||||
void SetScreenTimeOut(uint32_t timeout) {
|
||||
@@ -170,7 +170,7 @@ namespace Pinetime {
|
||||
uint32_t screenTimeOut = 15000;
|
||||
|
||||
ClockType clockType = ClockType::H24;
|
||||
Vibration vibrationStatus = Vibration::ON;
|
||||
Notification notificationStatus = Notification::ON;
|
||||
|
||||
uint8_t clockFace = 0;
|
||||
|
||||
|
Reference in New Issue
Block a user