GithubHelp home page GithubHelp logo

trynoice / android-app Goto Github PK

View Code? Open in Web Editor NEW
859.0 14.0 87.0 194.07 MB

The Android app for Noice.

Home Page: https://trynoice.com

License: GNU General Public License v3.0

Kotlin 99.44% Ruby 0.11% Shell 0.45%
kotlin android material ambience noise focus productivity noisli background-noise noice

android-app's Introduction

Noice Logo

Noice for Android

Latest release GitHub license Translation status Android codecov

For a lot of people, a little uniform background noise is helpful to remain calm and focused. In some cases, it also boosts productivity and lowers the effects of stress and anxiety. Background noise also masks tinnitus, calms agitated infants and improves reading and meditation experiences.

Noice for Android allows you to create personalised sound environments. It enables you to combine different sounds at different volume levels to create perfect ambient atmospheres. These custom sound surroundings let you drown out distractions and allow you to concentrate. You can also use it to generate a serene, peaceful aura that encourages you to relax and fall asleep.

Download

Get it on Google Play Get it on F-Droid

APKs

You can also download the APKs from the GitHub Releases. The full APK has non-free dependencies (mostly related to Google Play), while the free variant only uses FOSS dependencies. The free variant doesn't support casting audio from Noice using Chromecast.

Useful Links

  1. All notable changes to the project over time.
  2. Translate Noice to your local language on Weblate.
  3. Terms of Service and Privacy Policy for application users.

License

GNU GPL v3

White Noise icon by Juraj Sedlák

android-app's People

Contributors

145818 avatar 3rg1s avatar ashutoshgngwr avatar berkaygunduzz avatar cebolabros64 avatar dependabot-preview[bot] avatar dependabot[bot] avatar enchufadoo avatar f95f706a avatar farbklex avatar github-actions[bot] avatar hitshydev avatar ihorhordiichuk avatar jakubfabijan avatar jekrock avatar julianrrr avatar lucastsantos avatar makiwolf avatar mickael-martin avatar padanian avatar palente avatar robercoding avatar sargo82 avatar schulle4u avatar sguinetti avatar tajnymag avatar watson15683 avatar web-flow avatar weblate avatar yamaks2306 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-app's Issues

Sounds turn off

Describe the bug

Starting in 0.3.1, at some point during the night, the sounds turn off. I suspect that they pause for a notification noise or something, then never turn back on.

To Reproduce

Steps to reproduce the behavior:

  1. Turn on some sounds.
  2. When you wake up, they're off.
  3. Double clicking one sound turns them all back on.

Expected behavior

Sounds remain on until you shut them off (since there is no timer).

Add AMOLED theme

Describe the solution you'd like

Add new theme to Amoled display's. Something similar to attached screenshot.

Additional context

AMOLED theme

Crash on opening the app window after sending it to background

Describe the bug

Happening due to the recent change in Service launch logic. Moving the service launch to onResume put us in crosshair of a bug in Android 9.

Original bug reports

  1. https://issuetracker.google.com/issues/110237673
  2. https://issuetracker.google.com/issues/113122354

To Reproduce

The bug is intermittent. Sometimes it crashes the app. Sometimes everything works as expected.

  1. Open Noice
  2. Press 'Home' button on the navigation bar
  3. Bring Noice to foreground again
  4. Crash

Expected behavior

No crash

Screenshots

N/A

Others

  • Device: Samsung Galaxy Note 8
  • Android Version: Pie

Crashlog

From the Play Store

java.lang.RuntimeException: 
  at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4016)
  at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4048)
  at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:51)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:145)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:70)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1950)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:214)
  at android.app.ActivityThread.main (ActivityThread.java:7073)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)
Caused by: java.lang.IllegalStateException: 
  at android.app.ContextImpl.startServiceCommon (ContextImpl.java:1666)
  at android.app.ContextImpl.startService (ContextImpl.java:1611)
  at android.content.ContextWrapper.startService (ContextWrapper.java:677)
  at com.github.ashutoshgngwr.noice.MainActivity.onResume (MainActivity.java:10)
  at android.app.Instrumentation.callActivityOnResume (Instrumentation.java:1412)
  at android.app.Activity.performResume (Activity.java:7572)
  at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4008)
  at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4048)
  at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:51)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:145)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:70)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1950)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:214)
  at android.app.ActivityThread.main (ActivityThread.java:7073)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)

Saved sound combination duplicated after sleep timer screen or wake up timer screen is opened

Describe the bug

My list of custom saved sound combinations is duplicated twice, after I've opened either of the timer screens and then go back to the sound combinations screen. If I click on one of the duplicated listings, multiples of the same combinations begin playing. If I then click to stop one of the ones playing, the remaining ones keep playing.

To Reproduce

Steps to reproduce the behavior:

  1. Go to 'sleep timer or wake up timer'
  2. Go to 'saved combinations'
  3. Scroll down the list
  4. See that all the entries are duplicated

Expected behavior

I expect the list of saved sound combinations to remain the same, wether I have opened either of the timer windows or not.

Screenshots

Screenshot_20200729-194008
Screenshot_20200729-194028

If applicable, add screenshots to help explain your problem.

Others

  • Device: Motorola Moto G6
  • Android Version: Pie 9.0

Custom sounds

Please add a feature for users to add their own sounds

crash when viewing Saved Presets after upgrading 0.2.7 -> 0.3.x

Describe the bug

Noice crashes when I select "saved presets" after updating from version 0.2.7.

To Reproduce

Steps to reproduce the behavior:

  1. Downgrade to version 0.2.7 and reset Noice's app data.
  2. Start a track and save as a preset.
  3. Upgrade to version 0.3.x (tested with 0.3.1 and 0.3.3 on F-Droid).
  4. Go to "Saved Presets".
  5. Watch Noice crash immediately.

Expected behavior

I expected my saved presets to be saved and accessible after updating Noice.

Others

  • Device: OnePlus One
  • Android Version: Pie (Android 9.0, LineageOS 16.0, built on 2020-03-19.)
  • App version: F-Droid

Suspected cause: presets JSON format changes

Using the "Preferences Manager" app from F-Droid, I found a JSON-encoded "presets" setting. The schema seems to have changed between versions, as illustrated by these examples:

  • Noice 0.2.7 "presets": [{"a":"foo","b":[{"a":"birds","b":0.2,"c":60}]}]
  • Noice 0.3.1 "presets": [{"a":"foo","b":[{"b":4,"c":30,"e":"birds"}]}]

Note that I couldn't get this for Noice 0.3.3 because it crashes when I try to save a preset. I reset app data before each of theses tests to avoid conflicts. Noice 0.3.3 additionally crashes when trying to view saved presets from 0.3.1 (in addition to the crash when trying to view presets from 0.2.7), but not when viewing an empty list of presets.

I suspect that you'll want to change this bug to be more specifically about the JSON handling (which you seem to be aware of issues with due to PR #105) or split the different crash scenarios into different bugs. But this 0.2.7 -> 0.3.x upgrade crash is the one I personally ran into as a user.

Add a timer

Is your feature request related to a problem? Please describe.

I sometimes like to use the app as background sound when I can't fall asleep. However, I do not want the app to run all night.

Describe the solution you'd like

I would really love an option to stop the sound after a period of time I can define, probably somewhere between ten minutes and two hours.

Additional context

Playback time limit?

Using this on my Galaxy S7, I've let this play through the night since I installed it. I've noticed that it appears to stop on its own after about 7 hours of continuous playback. Is there a time limit to the playback that cuts it off after a certain period of time? I don't set a timer, just opened the app and started the sound I wanted.

Suggestion for new sound

Hello, firstly lovely app. Would love it even more if you could add a few more sound options like

  • Soft Piano sound(many the merrier)
  • The current windchime sound is good, but not as peaceful
  • Bells and other sound for meditation
  • Binural beats

I hope you could add these to the already awesome collection of sounds in your app.

Thank you

Suggestions for new sounds

Hey, everybody, very cool little app.

Some suggestions for new sounds :)

  • fountain or cascade
  • footsteps in the snow
  • icebreaker

Add fade-in and fade-out effects for looping sounds

Is your feature request related to a problem? Please describe.

On clicking play button for any looping sound, it immediately starts playing at the set volume. This feels somewhat intrusive. A fade-in effect will ease in the sound on top of other (if any).

Can I import local audio?

There is a little bit less audio in the library, I think I can customize Then import the white noise audio file from the phone
Will there be such a function in the future? :)

Copycat on Google Play

Hi @ashutoshgngwr

I found this app: https://play.google.com/store/apps/details?id=cm.whitenoise.sound on the Google Play Store. This guy just took your source code, added some ads in it and put it on the Store, without warning this is free software...

As you are the owner of the source code, feel free to open a request to google here to remove this copy from the Store, if it's your wish ;)

Don't forget to tell Google that:

  • The app is licensed under MIT license and this guy is violating it;
  • He is falsely claiming he made the app;
  • Provide some screenshots of your own app.

On/Off buttons

Describe the bug

I first noticed the behavior in 0.3.3. When you click the on/off buttons, the button state doesn't immediately change. If you scroll it off screen, you can see that the state changed.

Use Ogg Vorbis codec for sound files instead of MP3

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Noice app utilizes certain type of sounds which leans toward a (mid-)high frequency band, such as sound of rain, chirping birds, sea wave, etc. But MP3 codec has a limited bandwidth and some encoders usually clip the frequency range above 16khz for compression. This leads to an audible loss of quality in such sounds. Unlike contemporary music, this is a playback in a loop, so it is even easier to notice the quality loss.

Describe the solution you'd like

A clear and concise description of what you want to happen.

I wonder if it's possible to use Ogg Vorbis codec instead of MP3 file as long as Noice can handle a gapless loop playback of it. Ogg Vorbis is far superior to MP3 in many ways, especially when it comes to preserving (mid-)high frequency band. I think modern Android devices are powerful enough to handle an extra processing for Ogg Vorbis playback. Battery capacity is sufficient too. The downside would be negligible while the sound quality can be improved much better.

Additional context

Add any other context or screenshots about the feature request here.

White font on white background when saving preset

Hello,
When saving a preset with system default (light) theme, fonts appears white (or almost white) on a white background. Then, writing a description is very difficult.

  • Device: OnePlus 7t
  • Android Version: 10
    Anyway, thank you for this app! It's GREAT!
    Pascal, from Paris suburbs

Volume controls interlinked

Describe the bug

Starting on 0.3.1 can't recall exactly which sound pair I noticed the behavior in, but for example, if the bonfire noise is on, and you turn the wind in tree nice on and raise its volume, the bonfire volume also goes up.

Add Transition capabilities

Add sound transitions

As a user, I would like to imitate rain variability. This means I would like to start off with a light rain sound and then eventually transition to a heavy rain sound and vice versa.

Use Case

I propose to add transition effects into the app.

A user can select multiple sounds and group them as 'transition sounds'. This means the app will cycle through those sounds (from the group created) after X amount of time for a single track (each group = 1 track)

So in my example, I would create a group called "Rain Sounds". in that group I would select 3 different sounds: light rain, medium rain and heavy rain. After creating the group, I could then go ahead and add other tracks separate from the group (as you normally can now).

The app will randomly start one of the 3 rain tracks which were added to the group above. For example, it starts with light rain. After an hour or so, Noice will transition to one of the other two rain tracks. It will do this until either the Noice timer goes of or the user turns Noice off.

Buggy playback after internal rename wind_in_chimes_of_shells -> wind_chimes_of_shells

Describe the bug

One of the presets I made doesn't turn its play button into a stop button when I play it, and one of its tracks isn't playing.

To Reproduce

Steps to reproduce the behavior:

  1. In an unspecified earlier version (< 0.7.0) of Noice, save a preset which includes the "Wind in chimes of shells" track.
  2. Upgrade to Noice 0.7.0.
  3. Press the play button by the saved preset from the Presets list.
  4. Listen for the wind in chimes of shells; it's not there.
  5. Try to press the stop icon, but the icon is stuck on play.

Expected behavior

After pressing the play button to play the preset, all tracks in the preset should play. Additionally, the play button should change to a stop button, just like for other presets.

Others

  • Device: OnePlus One
  • Android Version: Pie (LineageOS)
  • Noice version: 0.7.0, from F-Droid

Additional info

it looks like the track in question got renamed from wind_in_chimes_of_shells to wind_chimes_of_shells. This is based on names in the presets JSON data as viewed with "Preferences Manager" from F-Droid. I compared the old preset with a new one with just "Wind in chimes of shells". Also, manually removing _in from the buggy preset fixes it.

I suspect a grep --recursive "wind_chimes_of_shells" followed by a git blame "$FILE_THAT_GREP_FINDS" | grep "wind_chimes_of_shells" will find the problem commit. I would've done it myself, but GitHub was being excruciatingly slow at letting me clone this repo (Receiving objects: 13% (539/4023), 9.54 MiB | 23.00 KiB/s in the 8 minutes it's been downloading).

Chromecast Speaker Groups

Hi there,

There appears to be an issue playing to Chromecast speaker groups

In my own testing, audio seems to only be sent to one of the speakers in the group

In my case, I am attempting to play to two speakers, one a JBL Link 10 and the other a Sony LF-S50G.

This is a pretty highly desirable feature for me, because it helps enormously with the believability of the generated sound.

Thanks (:

Play button in Sound library not responding

Describe the bug

Play button in Sound library stops responding on performing the following steps.

To Reproduce

Steps to reproduce the behavior:

  1. Open Noice
  2. Play a random sound
  3. Stop the sound
  4. Keep Noice open and lock the screen
  5. Wait for 30 sec to 1 min
  6. Unlock the screen and try to play a sound

Expected behavior

The sound should play? jeez. what's up with all the questions

Screenshots

Nope

Others

  • Device: Every freakin where
  • Android Version: 2.1 (Froyo) 😋

Chromecast

Describe the solution you'd like

Support playing noise on Chromecast devices

Additional context

Sort in Library

(sort in title means for track order)

Is your feature request related to a problem? Please describe.

Similar tracks are not ordered/placed consecutively in Library.

Describe the solution you'd like

(idk how things work in backend, so if i say something, it means it seems like that to me - not that i know definitively)

  • Library is sorted alphabetically (implicit). So to follow that, the tracks name can be changed like Moving train --> Train - moving (i think it is called tree structure, idk)

    • pro minimum viable change (MVC) (even more minimal if
      sorting is automatic currently)
    • con naming can be criticised by some
  • Alphabetic sorting can be replaced by Sorting by similarity

    • pro kinda nice middle ground (if current sorting is not automatic)
    • con mmm... some may say that the order seems kinda random
  • There can be multiple options to sort

    • pro naming stays same
    • con not so minimal change in code, UX and UI

Additional context

Brownian Noise
Pink Noise
White noise

Heavy rain
Light rain
Moderate rain

Distant thunder
Rolling thunder
Thunder crack

Moving train
Train horn

(Wind items can also be grouped, but i dont feel like they are similar enough)

Dual Samples

Some of the included samples are terribly irritating. An example is the Bonfire sample. It's about 1 1/2 seconds long, and for all the world sounds like somebody left a record player on after the record was finished.

Sounds which by nature will have a repetitive pattern like this one are easily masked, however. You simply have two separate samples of different lengths. For example, for this bonfire, I would recommend two samples, one eight seconds long, and one 15 seconds long. If you start them both at the same time, and repeat them both (assuming a smooth transition on both samples, of course), it would be several minutes before the pattern repeats.

Both samples should be of equal volume, and could both be controlled by the same volume selector. This functionality is simply to provide a non repetative sample, it's not necessary to have it appear as two separate samples. ;)

Alternative download source

Is your feature request related to a problem? Please describe.

I'm always frustrated when [...] I can find an app only on Play Store, with no privacy-friendly alternative. I don't use Play Store at all; all my devices run LineageOS without GApps, and have F-Droid instead.

Describe the solution you'd like

I'd like to see the app available in an alternative place – like, at F-Droid, or at least the APK here at Github (ideally attached to its corresponding releases/).

Additional context

Uhm, if you ask so directly: With the APK available here, I could immediately pick it and add it to my repo, which can be used with the F-Droid client. I also gladly assist in bringing your app to the official repo, if you wish so.

Loudness Equalization

I love the app, but I find that sudden loud peaks in the audio are disruptive and distracting and undermine the whole relaxation aspect of using the app.

It would be great to get an option to enforce loudness equalization i.e. decreasing the volume difference between the highest and lowest volume parts of a track.

(BUG) (noice Current Version 0.2.5) App failed to open

Project Information

Expected behavior

When I open the application, all feature should appear and the application should not be crashed.

Actual behavior

The application crashes when I open the application

How to reproduce

  • Download the application

  • open the application

  • Note the Error

  • Browser/App version: Current Version 0.2.5

  • Operating system: 6.0

Recording Of The Bug

20190711_151904

Logcat

D/AndroidRuntime(17855): Shutting down VM

E/AndroidRuntime(17855): FATAL EXCEPTION: main

E/AndroidRuntime(17855): Process: com.github.ashutoshgngwr.noice, PID: 17855

E/AndroidRuntime(17855): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.github.ashutoshgngwr.noice/com.github.ashutoshgngwr.noice.MainActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class com.google.android.material.navigation.NavigationView

E/AndroidRuntime(17855): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2695)

E/AndroidRuntime(17855): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769)

E/AndroidRuntime(17855): 	at android.app.ActivityThread.access$900(ActivityThread.java:177)

E/AndroidRuntime(17855): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1430)

E/AndroidRuntime(17855): 	at android.os.Handler.dispatchMessage(Handler.java:102)

E/AndroidRuntime(17855): 	at android.os.Looper.loop(Looper.java:135)

E/AndroidRuntime(17855): 	at android.app.ActivityThread.main(ActivityThread.java:5910)

E/AndroidRuntime(17855): 	at java.lang.reflect.Method.invoke(Native Method)

E/AndroidRuntime(17855): 	at java.lang.reflect.Method.invoke(Method.java:372)

E/AndroidRuntime(17855): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)

E/AndroidRuntime(17855): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)

E/AndroidRuntime(17855): Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class com.google.android.material.navigation.NavigationView

E/AndroidRuntime(17855): 	at android.view.LayoutInflater.createView(LayoutInflater.java:633)

E/AndroidRuntime(17855): 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)

E/AndroidRuntime(17855): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)

E/AndroidRuntime(17855): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:504)

E/AndroidRuntime(17855): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:414)

E/AndroidRuntime(17855): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:365)

E/AndroidRuntime(17855): 	at b.b.a.x.b()

E/AndroidRuntime(17855): 	at b.b.a.m.setContentView()

E/AndroidRuntime(17855): 	at com.github.ashutoshgngwr.noice.MainActivity.onCreate()

E/AndroidRuntime(17855): 	at android.app.Activity.performCreate(Activity.java:6178)

E/AndroidRuntime(17855): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)

E/AndroidRuntime(17855): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2648)

E/AndroidRuntime(17855): 	... 10 more

E/AndroidRuntime(17855): Caused by: java.lang.reflect.InvocationTargetException

E/AndroidRuntime(17855): 	at java.lang.reflect.Constructor.newInstance(Native Method)

E/AndroidRuntime(17855): 	at java.lang.reflect.Constructor.newInstance(Constructor.java:288)

E/AndroidRuntime(17855): 	at android.view.LayoutInflater.createView(LayoutInflater.java:607)

E/AndroidRuntime(17855): 	... 21 more

E/AndroidRuntime(17855): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f070077

E/AndroidRuntime(17855): 	at android.content.res.Resources.getValue(Resources.java:1542)

E/AndroidRuntime(17855): 	at b.b.f.ca.d(:4)

E/AndroidRuntime(17855): 	at b.b.f.ca.a(:11)

E/AndroidRuntime(17855): 	at b.b.f.ca.b()

E/AndroidRuntime(17855): 	at b.b.b.a.a.c()

E/AndroidRuntime(17855): 	at b.b.e.a.o.getIcon(:2)

E/AndroidRuntime(17855): 	at c.c.a.a.n.j$b.c(:5)

E/AndroidRuntime(17855): 	at c.c.a.a.n.j.a(:1)

E/AndroidRuntime(17855): 	at com.google.android.material.navigation.NavigationView.c()

E/AndroidRuntime(17855): 	at com.google.android.material.navigation.NavigationView.(:24)

E/AndroidRuntime(17855): 	at com.google.android.material.navigation.NavigationView.()

E/AndroidRuntime(17855): 	... 24 more

Instrumented unit tests intermittently fail in CI environment

Describe the bug

Most of the times, this happens due to efficiency issues with emulator. However, recently the following two test cases are more likely fail than anything else.

  1. https://github.com/ashutoshgngwr/noice/blob/1dde94f6c3802f51988d2ab9b202ab1fe0c3d877/app/src/androidTest/java/com/github/ashutoshgngwr/noice/MainActivityTest.kt#L74-L103
    This fails with following logs (mostly on Android 29)

    com.github.ashutoshgngwr.noice.MainActivityTest > testThemeMenuItem[android-29(AVD) - 10] FAILED 
        java.lang.AssertionError: expected:<2> but was:<1>
        at org.junit.Assert.fail(Assert.java:89)
    
  2. https://github.com/ashutoshgngwr/noice/blob/1dde94f6c3802f51988d2ab9b202ab1fe0c3d877/app/src/androidTest/java/com/github/ashutoshgngwr/noice/sound/PlaybackTest.kt#L126-L149

To Reproduce

Steps to reproduce the behavior: N/A

Expected behavior

The tests shouldn't fail this often. In other words, these tests should be more tolerant to thread sync lag and/or CPU throttle.

Screenshots

N/A

Others

  • Device: Android Emulator with Google APIs
  • Android Version: N/A

Time duration between various sounds

It will be very nice addition to the app and will make it stand different for every other app if the time between the sound, for example thunders or rain drops or village sound were randomised

FDroid link to changelog.md

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Thank you for the great app. I'm not sure what this entails or if a change is even needed on this side of things. The FDroid page appropriately links to the source code, website, issues, and other related pages for this project, but it is missing a link to your changelog.md.

Describe the solution you'd like

A clear and concise description of what you want to happen.
A link to the changelog within the FDroid app, like other FDroid apps have.

Additional context

Add any other context or screenshots about the feature request here.

What does timer slider do?

Is your feature request related to a problem? Please describe.

I cant understand clearly what the small timer icon on some sound tracks EXACTLY does? (like sea belt beeps, distant thunder, or train horn.) I know that these tracks are non looping, and that the timer slider is maybe related to the gap between repetition, but i couldn't say exactly as i couldn't see the difference in the short trial.

Describe the solution you'd like

Some about page here on gitlab, oops, github maybe.

Label can be ~support_question or smth like that.

Clicking on 'About' in the menu crashes the app.

Describe the bug

Clicking on 'About' in the menu crashes the app.

To Reproduce

Steps to reproduce the behavior:

  1. Open the Menu.
  2. Click on 'About'

Expected behavior

Should show some information about the app.

Screenshots

Others

  • Device: MI A1,
  • Android Version: [9]

Fix bird and heavy rain sound samples

Describe the bug

  • Bird sample is too intense
  • Heavy rain has a crackling noise and the sample is very short. This results in a very irritating experience overall.

To Reproduce

Steps to reproduce the behavior: N/A

Expected behavior

N/A

Screenshots

N/A

Others

N/A

Sounds not moving to the top of the list

Starting in version 0.3.1, sounds do not automatically move to the top of the list when enabled.

Not sure if this feature is necessary, but I noticed it.

Edit:
...not sure why there's no 'bug' tag on this.

Cricket Sound

Could we get the plain cricket noise back? I grew up being sung to sleep be crickets, and it was by far my favorite noise. The current one with the cicadas jars me awake every time the cicada chirps.. until I'm too tired to care.

In would suggest adding 'Crickets' to the list. I'm sure that there are plenty of people from the south who prefer the noise with the cicadas. ;)

Need translators for app localization

Please help in translating Noice to your local language.

Note: Even if translations for your local language exist in Noice, it is a good idea to revisit them. The project is always under development and translations are lagging behind. If you have Android Studio environment setup on your local machine, clone the repository and take a look at values/strings.xml. Android Lint will highlight missing translations.

Steps to translate

  • Creating a new strings.xml file for translations
    1. Open the new file wizard under File > New > Android resource file in the Android Studio
    2. From Available qualifiers add Locale to Chosen qualifiers
    3. Select the correct language and region and create the new strings.xml file.
  • Translate all the translatable strings in values/strings.xml
  • [Bonus] Translate the F-Droid/Play Store metadata. See docs.
  • Create a new Pull Request
  • [Optional] Add your name to the Credits section in AboutFragment. See example.

Also, see CONTRIBUTING.md.

Speeding up the process

You can use Google translate to quickly come up with rough translations of all the strings. But since additional context is needed to translate English to most languages properly, you should edit these rough translations by hand until it conveys same message as its English counterpart.

add option not to move playing sounds to the top

Is your feature request related to a problem?

When listening to all the sounds in the library one after another, sometimes it would be handy if you wouldn't have to scroll to the top to stop the sound again

Describe the solution you'd like

A clear and concise description of what you want to happen.

Please add an option to turn off this behaviour

Autoplay continue after interruption

Love this app and it's potential! Already deleted another that does similar :)

Maybe this is isolated to my Samsung Galaxy S7, but I noticed that after an alarm turned on (set in the Clock app), I dismiss the alarm to turn it off but Noice didn't immediately play again, or restart the sound, as I expected? It'd be great for this feature to be updated to continue after the interruption is dismissed.

fastlane/metadata/android/fr-FR/images/featureGraphic.png is corrupted

This icon will not be used by fdroid as python pillow cannot read it.
Also imagemagick identify shows the error:

$ identify build/com.github.ashutoshgngwr.noice/fastlane/metadata/android/fr-FR/images/featureGraphic.png
build/com.github.ashutoshgngwr.noice/fastlane/metadata/android/fr-FR/images/featureGraphic.png PNG 1024x500 1024x500+0+0 8-bit sRGB 944954B 0.000u 0:00.001
identify: iCCP: CRC error `build/com.github.ashutoshgngwr.noice/fastlane/metadata/android/fr-FR/images/featureGraphic.png' @ warning/png.c/MagickPNGWarningHandler/1748.

Alarm (Time based)

Is your feature request related to a problem? Please describe.

I prefer to set my alarm based on time and not a countdown timer.

Describe the solution you'd like

Instead of having a wake-up timer, I would like an option to set an actual time for an alarm (7AM).

Additional context

N/A.

Add sleep timer presets

Add preset times

As a user, I would like to have some quick presets for the sleep timer as it currently takes too much effort to set the timer. For example, there could be buttons for:

  • 1 hour
  • 2 Hours
  • 4 Hours
  • 8 Hours

Presets as the default - Time selector as advanced option

There should be a number of presets instead of the current radial dials (which can be confusing for tired people). Allow the user to select a specific time like it is now BUT present pre-sets before making the user have to hop through the loops of that radial dial.

I guess the real point of this request is that the radial dial is not very nice. Image you are going to bed and don't have your glasses on... it's really hard to set that dial.

No playback on non-loop sounds on Android 9

Describe the bug

Playing non-loopable sounds on Android 9 results in no playback. Furthermore, if time-period seek is reduced to minimum, the app crashes.

To Reproduce

Steps to reproduce the behavior:

  1. Play 'Distant Thunder'
  2. Seek volume to max
  3. Seek time period to min

Expected behavior

Well some playback without any crashes would be marvellous.

Screenshots

N/A

Others

  • Device: Xiaomi Mi A3
  • Android Version: 9

Crash Logs

java.lang.ArithmeticException: 
  at com.github.ashutoshgngwr.noice.SoundManager.play (SoundManager.java)
  at com.github.ashutoshgngwr.noice.SoundManager.play (SoundManager.java)
  at com.github.ashutoshgngwr.noice.fragment.SoundLibraryFragment$SoundListAdapter$ViewHolder$1.onClick (SoundLibraryFragment.java)
  at android.view.View.performClick (View.java:6597)
  at android.view.View.performClickInternal (View.java:6574)
  at android.view.View.access$3100 (View.java:778)
  at android.view.View$PerformClick.run (View.java:25889)
  at android.os.Handler.handleCallback (Handler.java:873)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:193)
  at android.app.ActivityThread.main (ActivityThread.java:6746)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)

Allow user-supplied audio samples

Some of the samples are small enough to have a noticeable pattern when repeating, which can be distracting. While pondering possible solutions, I thought it would be a great feature (and solve the issue) if users were allowed to supply their own samples.

[Espresso] The return of the flakiness

Describe the bug

AppIntroTest suite has somehow retriggered flakiness in the tests. Tests fail continuously until they pass, by retrying indefinitely. I ran these tests for about an hour on an infinite loop on my machine and they didn't even crash/fail once. The only difference between runtime environments was that CI runs on macOS while I was running on Linux.

To Reproduce

  • Trigger the UI tests job (Android workflow)
    • Either one of testOnDonePressed and testOnSkipPressed or both the tests fail.

Expected behaviour

All tests pass! Duh!

Others

  • Device: Emulator x86_64
  • Android Version: 28

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.