Fork of github.com/InfiniTimeOrg/InfiniTime
Find a file
Simon Willshire 2c75e7aad8 Dismiss notifications by swiping right
Add a new interface `NotificationManager::Dismiss(id)` to delete a
notification with the specified `id`.

The animate the notification dismiss the `RightAnim` transition to a
black screen is used. After the dismiss the new message is swiped in
from below or above.

If we dismiss the oldest message (when we are at 5/5, or 3/3), then the
new message after a dismiss should appear to come from below.

Otherwise (when we are at 2/3) the new message after a dismiss should
appear to come from above.

Rework the index code to show the index of the currently viewed
notification. Instead of calculating the index relative to the oldest
`id` introduce a new interface `NotificationManager::IndexOf(id)`. This
is done because the `id` of the notifications in the buffer aren't
continuous anymore (as some messages could have been dismissed).

Rework notification ring buffer to have a beginIdx and a size
internally to make the dismissal of notifications easier.

Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/176

Co-authored-by: Simon Willshire <me@simonwillshire.com>
Co-authored-by: Reinhold Gschweicher <pyro4hell@gmail.com>
2022-06-28 18:50:10 +02:00
.devcontainer Fixed container to use clang-format-12 and format on save 2021-11-28 13:57:02 +01:00
.github Minor changes to clang-format workflow (#1177) 2022-06-11 22:45:11 +03:00
.idea/codeStyles Improved CLion configuration 2021-07-02 16:29:09 +02:00
.vscode Replace more instances of old gcc ver 2022-06-11 22:59:38 +03:00
bootloader Bootloader: Ignore __pycache__ in Git 2022-06-05 09:53:22 +03:00
cmake-nRF5x Switch to freertos timers (#1095) 2022-06-06 17:47:43 +02:00
doc Add basic hardware configuration options for P8 2022-06-27 08:28:48 +03:00
docker Update arm gcc toolchain to 11.2-2022.02 2022-06-11 22:59:38 +03:00
hooks Made the pre-commit hook fail explicitly when the executable doesn't exist 2021-07-24 15:55:52 +02:00
images Documentation cleanup and reorganization 2021-11-28 13:42:37 +01:00
src Dismiss notifications by swiping right 2022-06-28 18:50:10 +02:00
tests Minor changes to clang-format workflow (#1177) 2022-06-11 22:45:11 +03:00
tools Fix various typos 2022-06-05 09:31:23 +03:00
.clang-format Apply clang-format to all C++ files 2022-06-05 09:15:46 +03:00
.clang-tidy Remove some clang-tidy checks 2021-11-13 13:37:52 +02:00
.gitattributes Create .gitattributes 2021-01-30 18:52:14 +02:00
.gitconfig Create .gitconfig 2021-01-30 18:48:06 +02:00
.gitignore Update .gitignore 2021-12-30 20:57:26 +01:00
.gitmodules Initial Weather service skeleton 2021-12-04 22:03:40 +02:00
.gitpod.yml Custom Dockerfile for gitpod.io 2021-01-05 00:34:15 +00:00
CMakeLists.txt Add basic hardware configuration options for P8 2022-06-27 08:28:48 +03:00
CONTRIBUTING.md Update contribute.md (#475) 2021-08-14 20:58:38 +02:00
gcc_nrf52-mcuboot.ld Move noinit to after BSS segment, 2021-08-23 20:13:26 +00:00
gcc_nrf52.ld Move noinit to after BSS segment, 2021-08-23 20:13:26 +00:00
LICENSE Add LICENSE file and information. 2020-08-02 17:38:51 +02:00
nrf52.svd Fix various typos 2022-06-05 09:31:23 +03:00
nrf_common.ld Fix link error because of missing file "nrf_common.ld" 2020-01-12 16:26:20 +01:00
README.md Mention that InfiniLink is searching for devs 2022-04-30 22:16:00 +02:00

InfiniTime

Build PineTime Firmware

InfiniTime logo

Fast open-source firmware for the PineTime smartwatch with many features, written in modern C++.

New to InfiniTime?

Companion apps

Development

InfiniSim Simulator

Use the InfiniSim Simulator to experience the InfiniTime user interface directly on your PC, to shorten the time until you get your hands on a real PineTime smartwatch. Or use it to develop new Watchfaces, new Screens, or quickly iterate on the user interface.

Contributing

Build, flash and debug

API

Architecture and technical topics

Licenses

This project is released under the GNU General Public License version 3 or, at your option, any later version.

It integrates the following projects:

Credits

Im not working alone on this project. First, many people create PR for this projects. Then, there is the whole #pinetime community : a lot of people all around the world who are hacking, searching, experimenting and programming the Pinetime. We exchange our ideas, experiments and code in the chat rooms and forums.

Here are some people I would like to highlight:

  • Atc1441 : He works on an Arduino based firmware for the Pinetime and many other smartwatches based on similar hardware. He was of great help when I was implementing support for the BMA421 motion sensor and I²C driver.
  • Koen : Hes working on a firmware based on RiotOS. He integrated similar libs as me : NimBLE, LittleVGL,… His help was invaluable too!
  • Lup Yuen Lee : He is everywhere: he works on a Rust firmware, builds a MCUBoot based bootloader for the Pinetime, designs a Flutter based companion app for smartphones and writes a lot of articles about the Pinetime!

If you feel like you should appear on this list, just get in touch with me or submit a PR :)