Code Monkey home page Code Monkey logo

quiet_hours's Introduction

Quiet_Hours

Codacy Badge Build Status Maintainability Platform API

No more trouble to make silent mode ON/OFF manually every time.

Get it on Google Play

This App will ensure that your mobile device enters and exits the Silent Mode or Vibration Mode between a given period of time.

Screenshots

Icons made by Freepik

quiet_hours's People

Contributors

codacy-badger avatar coder2699 avatar jshah43 avatar mouryac9 avatar rob729 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

quiet_hours's Issues

Add Swipe Refresh Layout

Describe the feature you'd like
In the MainFragment.kt when a profile becomes active it does not appears unless user navigates to other screen or reopen it again. To counter this problem add a swipe refresh layout so that there's no need for the user to navigate somewhere and come back.

Screenshots

Would you like to work on the issue?

  • Yes

Allow user to add some description/short notes

Describe the feature you'd like
Add a checkbox in NewProfileFragment, if checked allow the user to add some short note/ description/ key points and display it in the details fragment
If not checked, app should work in current state.

Screenshots

Would you like to work on the issue?

  • Yes

Add an edit profile option

Describe the feature you'd like
The user should be able to change the profile name, start & end time, and the days on which the profile has to be activated by using the edit option.

Additional context
I would suggest to first work on issue #5 before working on this if it is not yet closed.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Add timestamp to the profile

Describe the feature you'd like
Add the time of creation below the profile name as shown in the below image.

Screenshots

Would you like to work on the issue?

  • Yes
  • No
  • Other: open for all

Add Snackbar when a profile is paused/resumed

Describe the feature you'd like
Add a snackbar whenever the user pauses or resumes a profile.
Message to be shown: "Profile Name" is Paused/Resumed
Snackbar time: Short

Note: You cannot pass/store the view reference from MainFragment in the profileListAdapter.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Restore system audio when active profile is deleted

Describe the bug
When an active profile is deleted, the ringtone mode remains to be in vibration/silent state. Fix this, so that when an active profile is deleted ringtone mode becomes normal.

Would you like to work on the issue?
Yes

Replace DetailsFragment by Bottom sheet

Describe the feature you'd like
Replace the details fragment by a bottom sheet to show the details of a profile.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

User Interface Improvement

UI Improvements:

  • Currently in MainFragment when there is no profile present, it shows a png image, So, we can replace that image with some
    good Lottie Animation that will improve UI & UX.
  • Currently icon at splash screen is png image (which is looking little bit blur/faddish), we can replace it with other svg image which will look clear.
  • Currently color of status bar in Splash screen is black (with white texts in it), So, we can change status bar color to white with black color texts in it.

Screenshots of current state

Screenshot_20201010-162017_Quiet_Hours 1

Screenshot_20201010-162045_Quiet_Hours 1

Would you like to work on the issue ?

  • Yes
  • No
  • Other:

Store the color of AvatarImageView

Describe the feature you'd like
Currently, the color of AvatarImageView gets change every time when the view is recreated. So for every profile assign a color by picking up a color randomly from the list of colors(which is already present in code), store it in the database and set that color to the AvatarImageView.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

App Intro

Describe the feature you'd like
Currently, the app is using MaterialIntroView to tell the users about the features of the app.
Now a view pager has to be shown in which various functionality of the app has to be shown to the user.
You can use this library to implement the same: https://github.com/AppIntro/AppIntro

Additional context
All the features highlighted using material intro view have to be shown in the view page based intro as well.
Remove the material intro view after adding this feature.
Values to be assigned when implementing the library(Have a look at documentation, you will get to know about these attributes):
Slide Transformer = AppIntroPageTransformerType.SlideOver
Wizard mode = true
Enabe ImmersiveMode
Also ask for "Do not distrub" permission in the intro itself. See the documentation, resources for permission are present there.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Update Screenshots in Readme.md

Describe the chore
Due to the following changes in the application, readme.md must be updated with fresh screenshots:-

  • Addition of Vibration state icon in details fragment
  • Addition of timestamp in MainFragment
  • Addition of Currently Active Profile Card

Would you like to work on the issue?

  • Yes
  • No
  • Other:

Background color inconsistency in dark mode

Describe the bug
In dark mode, the background color of the settings page is different from the normal background of the app.

To Reproduce

  1. Open the app.
  2. Turn on dark mode.
  3. Open settings.

Expected behavior
Find the color code of the settings page background in dark mode and use it as the background color for the app in dark mode

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Change the permission request message

Describe the feature you'd like
Currently, the app requests the user for Do Not Disturb access permission for the app to work properly.
Change the permission request message to "Please give the Do Not Disturb access permission for the app to work properly. Click OK to continue."
I have added the screenshot of the permission request which is to be changed.

Screenshots

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all.

Not able to create profile for overnight times

Describe the bug
A user can't create a profile for the time night of one day to morning of the next day. For eg 11:00 PM - 7:00AM. On choosing these times the app will show enter a valid time.

To Reproduce

  1. Open quiet hours.
  2. Try to create a new profile for the above time conditions.

Expected behavior
The user should be able to create a profile for overnight times and the app should work as expected.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Fix Vibration Mode

Describe the bug
When a user has made two profiles A(10:00 AM - 12:00 PM) and B(11:00 AM - 1:00 PM) for the same day then at 12:01 PM, when profile A ends the phone audio profile changes to Normal. But instead it should switch the audio profile as set for profile B.

Expected behavior
According to above given scenario, at 12:01PM, the phone audio settings should be same as set in profile B.

  • Yes
  • No
  • Other:

Replace the shared preferences with Preferences DataStore

Describe the feature you'd like
Currently, the app uses shared preferences for storing data used in general computation purposes.
Replace it with Preferences DataStore as it is one of the recommended ways now.
It has to implement it in an optimal way like how the shared preferences has been implemented in the app.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Fix UI Bugs

,Describe the bug

  • The Avtar icon is not centrally placed and does not looks nice when profile name is of multiple lines. Fix it.
  • When profile name is of multiple lines, the vibrator icon and Repeat Weekly icon doesn't appear. Change the position of these icons in Details fragment after discussing it with @rob729 .
  • The color of vibrator and silent icon is completely different from rest of the color scheme, which doesn't looks good. Change color of vibrator and silent icon to accent color.

Would you like to work on the issue?

  • Yes

Currently active Profile

Describe the feature you'd like
On the home screen, the app should show currently active profile in case if any profile is active at that moment otherwise nothing is required.
It should be shown just below the action bar.
Try to keep UI/UX in mind while designing it so that it looks good and complements the look of the app.
Also, show till what time the profile will remain active.

Additional context
Feel free to discuss how the UI part should look with me in case of any doubts.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Add ViewBinding in the app

Describe the feature you'd like
Currently, the app uses DataBinding in the app. Implement the ViewBinding in place of it and remove the DataBinding code.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Fix UI for Screens Where Required (Landscape Mode)

Describe the bug
For some screens UI in the Landscape mode is not as expected. Also, action bar title is not at center in Landscape mode.

Screenshots

Would you like to work on the issue?

  • Yes
  • No
  • Other:

Dark mode bug

Describe the bug
When the system dark mode is active on a device and the user opens the app after installing it then the status bar text color is black and the background color is also dark.

To Reproduce

  1. Enable dark mode on android device.
  2. Install the app.
  3. Open the app.
  4. Give permissions.
  5. Go back to the app.

Expected behavior
The app should set the value of dark mode according to the system. If the system dark mode is enabled then the app should enable dark mode automatically and the value of shared preference of dark mode should also be changed accordingly.
This has to be done only when the app is opened for the first time.

Screenshots

Smartphone Info:
Android version: Android 10

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Remove Active Profile when a Profile is deleted

Describe the bug
When a profile is active, and the user deletes it by swiping or deletes all profiles, still the currently active profile card remains present.

To Reproduce

  1. Wait for a profile to be active
  2. When it is active, delete it
  3. Observe that currently active profile remains as it is.

Expected behavior
When all profiles are deleted then no profile is active, so it shouldn't be shown as active

Screenshots

Would you like to work on the issue?

  • Yes
  • No
  • Other:

End Time format on Currently Active Profile

Describe the bug

Format of End time in Currently Active Card does not looks good in certain cases. For example, if time is 00:05, then in the card it gets displayed as 0:5 . Fix this such that in active card end time is displayed as 00:05

Screenshots

Fix Bug in Pause/Resume Feature

Describe the bug
Right now there's a bug in pause/resume profile feature. Consider you have a profile(Pro A) running, and there's another profile(Pro B) present for other day having starting time between the time of activity of active profile.
When the start time of profile B becomes equal to the current time, the sharedpreference value stored in the ACTIVE_PROFILE_ID stores id of Profile B (where ideally it should have stored id of Profile B).
When end time of profile A triggers, it does not ENDS because of the change in value of ACTIVE_PROFILE_ID.

To Reproduce

  1. Create Profile A (Start: 08:25AM ; End: 08:35AM ; DaySelected: Monday(current day))
  2. Create Profile B (Start: 08:27AM ; End: Take any(does not matter) ; DaySelected: Wednesday)
  3. For better reference add a Toast displaying value of ACTIVE_PROFILE_ID
  4. Observe that at 08:27AM, value stored in ACTIVE_PROFILE_ID changes (from id of A to id of B)

This change in value of ACTIVE_PROFILE_ID will create trouble if you further try to pause/resume profile A (after 8:27AM)

Expected behavior

In the above scenario given since Profile B must be active on Wednesday, so on Moday at 8:27AM, value of ACTIVE_PROFILE_ID must store id of profile A & not B

Would you like to work on the issue?

  • Yes
  • No
  • Other:

Add Silent/Vibrate mode selector

Describe the feature you'd like
Currently, the app has a Silent/Vibrate mode selector in the settings option. It needs to be shifted to NewProfileFragment to allow users to select the mode individually for each profile.
Detail fragment should show the mode selected by the user.
Keep the default value to vibrate.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Update Screenshots in Readme.md

Describe the chore
After the recent major changes in the UI, update the screenshots using the latest version of the app in readme.md.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Material Day picker width is getting cropped on wider screens (ex. 1080p resolution)

Describe the bug

  • Currently in profile detail bottom sheet, Day picker width is getting cropped on mobiles of wider screen resolution like 1080p (ex. galaxy j7 prime)

To Reproduce

  • Steps to reproduce the behavior:
  1. Go to fragments_details.xml
  2. Remove start & end margins of day picker.

Screenshots

Expected behavior

  • Material Day picker width shouldn't be cropped on screens like 1080p of width

Would you like to work on the issue?

  • Yes
  • No
  • Other:

UI Revamp

Describe the feature you'd like
Change the UI of the app. Have a look at the images below to get an idea of what is expected UI.
For the MainFragment, the UI should be almost similar except the dark mode toggle on the action bar is not required to be added in the fix of this issue.
For the NewProfileFragment, try to add an editText which looks visually better and complements the look of the app

Screenshots

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Disable touch on MaterialDayPicker in DetailsFragment

Describe the bug
A user can click on the MaterialDayPicker shown in the details fragment and can select the days which were not selected initially or unselect the days which they selected.

To Reproduce

  1. Open Quiet Hours
  2. Create a profile.
  3. Click on the profile.
  4. Click on the MaterialDayPicker shown in the profile.

Expected behavior
The user should not be able to change the value of MaterialDayPicker in details fragment.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Add Contribute.md file

Create a Contribute.md file to help new contributors to make a contribution in the project.

Would you like to work on the issue?

  • Yes
  • No
  • Other:

Details Fragment not displayed correctly in dark mode

Describe the bug
The details fragment has not been tuned for the dark mode. The background is shown in white color and the profile title is not shown.

To Reproduce

  1. Open Quiet Hours
  2. Create a profile.
  3. Toggle to the dark mode
  4. Click on the profile.

Expected behavior
Tune the details fragment accordingly for the dark mode by keeping the background of the bottom sheet black and the color of textviews as white

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Update Screenshots in Readme.md

Describe the chore
A decent number of bug fixes and features have been added since so time to update the screenshots in the readme file.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

Repeat Weekly feature

Describe the feature you'd like
Currently, when a user creates a profile it is active for only one week and after that, it does not work.
A Repeat weekly toggle should be present in NewProfileFragment which should allow the user to repeat the profile for consecutive weeks till they decide to stop it by deleting it.

Screenshots
scrnli_05_10_2020_01-46-05

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all.

Add Clear All profile feature

Describe the feature you'd like
If a user has 7-8 profiles and wishes to delete all profiles, he has to swipe each and click "yes" for all 7-8 alert dialog box

Add a clear all feature such that when user selects it, all the created profiles are deleted. An alert dialog box must appear to confirm yes or no.
If no profile is present and user selects delete all, then a snackbar must appear saying "no profile is present"

Would you like to work on the issue?

  • Yes
  • No
  • Other:

Add a profile pause/resume feature

Describe the feature you'd like
The user should be able to pause/resume any profile.

Screenshots
scrnli_24_09_2020_00-57-28

Additional context
Make sure that the app works as expected when a profile is resumed/paused.

Would you like to work on the issue?

  • Yes
  • No
  • Other: Open for all

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.