radu-raicea / signalandroid Goto Github PK
View Code? Open in Web Editor NEWThis project forked from signalapp/signal-android
A private messenger for Android.
Home Page: https://whispersystems.org
License: GNU General Public License v3.0
This project forked from signalapp/signal-android
A private messenger for Android.
Home Page: https://whispersystems.org
License: GNU General Public License v3.0
As an user, I don't want to see the pin message icon in group chats because the functionality is not implemented.
[SP: 2]
[Priority: Low]
[Risk: Medium]
No sub-tasks.
Time to complete: 3h
User Story #34
Estimated Time: 1h
User Story #22
Estimated Time: 6h
As an user, I want to be able to set another user’s nickname in a conversation or a chat.
[SP: 8]
[Priority: High]
[Risk: Medium]
Total: 7h
User Story #19
Estimated Time: 3h
Check the feasibility, and introduce OkBuck wrapper, if possible, to replace gradle in development environment. The purpose of using such library is to reduce the build time required after introducing new modifications to the code base. Such practice is followed by teams at Uber, Whatsup, and Facebook
Estimated time: 2h
As an user, I want to differentiate between pinned and not pinned messages in my conversations.
[SP: 8]
[Priority: Medium]
[Risk: Low]
Total: 15h
User Story #34
Estimated Time: 4h
User Story #54
Estimated Time: 2h
As a developer, I want to be able to run the application.
[SP: 1]
[Priority: High]
[Risk: Low]
Task 1: Install dependencies for Signal (0h)
Task 2: Create documentation about how to run the application (3h) -> (shelbaz)
Total: 3h
As an user, I want to pin images (as opposed to just text messages).
[SP: 8]
[Priority: high]
[Risk: low]
Total: 13-24h
User Story #54
Estimated Time: 1h
As an user, I want to have a better experience using the pinned messages functionality of my app.
User Stories:
#19 Add indication of pinned messages in conversation
#20 Show pinned images
#21 Having the phone number show up if SMS
#22 Improve the pinned messages view UI (differentiate between sent and received, make messages smaller)
#23 Remove icon/menu-item for pinned messages in group chats
As an user, I want to see the selected nickname in every instance I would see the username.
[SP: 3]
[Priority: High]
[Risk: High]
Total: 3h
Original names get displayed instead of the nicknames once the app is restarted.
Goal: Make the nicknames persistent beyond the current session.
Reasons: Once the app starts, it reads the nickname values as null even though the database is properly filled.
Target Classes: RecipientSettings
User Story #36
Estimated Time: 1h
As an user, I want to see the phone number of the sender of pinned messages in my pinned messages screen (as opposed to a blank space).
[SP: 0]
[Priority: High]
[Risk: Low]
No sub-tasks.
Time to complete: 2h
User Story #20
Estimated Time: 1-10h
User Story #20
Estimated Time: 2h
Story points: 0
As a user, I want to be able to pin all type of messages in regular conversations, and group conversations.
[SP: 3]
[Priority: High]
[Risk: Low]
#80 : Create Mockups
#58 : Allow pinning/unpinning any type of messages (2h) -> (veken1199)
#62 : Allow displaying any type pinned messages in pinned messages activity (1h) -> (veken1199)
#55 : Fix the bug : The app breaks when I pin my own text message in a group chat (1h) -> (veken1199)
#63: Allow fully functional pin feature in group chat (1h) -> (veken1199)
#85: UI Tests (5h) -> (veken1199, g-harel )
Total: 10h
Acceptance tests:
TASK | INPUTS | EXPECTED OUTPUT | STATUS |
---|---|---|---|
Pinning my own text message in group chat | The user sends a text message in a group chat | The user can pin that message in the group chat and is able to see it in the pinned messages activity | PASS |
Pinning and unpinning video in a conversation | received or sent video file in a conversation | The user is able to pin and unpin the video file and then retrieve it in the pinned messages activity | PASS |
Pinning and unpinning audio in a conversation | received or sent audio file in a conversation | The user is able to pin and unpin the audio file and then retrieve it in the pinned messages activity | PASS |
Pinning and unpinning documents in a conversation | received or sent document file in a conversation | The user is able to pin and unpin the document file and then retrieve it in the pinned messages activity | PASS |
Pinning and unpinning documents in a group chat | received or sent document file in a group chat | The user is able to pin and unpin the document file and then retrieve it in the pinned messages activity | PASS |
Pinning and unpinning audio in a group chat | received or sent audio file in a group chat | The user is able to pin and unpin the audio file and then retrieve it in the pinned messages activity | PASS |
Pinning and unpinning video in a group chat | received or sent video file in a group chat | The user is able to pin and unpin the video file and then retrieve it in the pinned messages activity | PASS |
Loading the content of an audio file in pinned messages activity | A pinned received or sent audio file in a conversation or group chat | The user is able to load and listen the pinned audio file in pinned messages activity when they click on it | PASS |
Loading the content of a video file in pinned messages activity | A pinned received or sent video file in a conversation or group chat | The user is able to load and play the pinned video file in pinned messages activity when they click on it | PASS |
Loading the content of a document file in pinned messages activity | A pinned received or sent document file in a conversation or group chat | The user is able to load and view the pinned document file in pinned message activity when they click on it | PASS |
User Story #34
Estimated Time: 2h
As a user, I want to be able to send and view code snippets in 1-1 conversation and group chat in a well-formatted views
User Story #54
Estimated Time: 1h
As a developer, I want to run CI tests to verify the correctness of my code.
[SP: 3]
[Priority: Low]
[Risk: Medium]
Task 1: Setup Travis CI (1h) -> (Radu-Raicea)
Task 2: Implement an automated test pipeline that is triggered after every commit/push (10h) -> (shelbaz, Radu-Raicea)
Total: 11h
As a user, I want to interact with an UI to search for messages in my conversations.
[SP: 20]
[Priority: High]
[Risk: Medium]
#67 Create mockups (2h) -> (Radu-Raicea)
#68 Add search bar UI (Display search bar UI and return to previous UI) (6h) -> (erinb90, shelbaz)
#69 Add method to highlight parts of messages (3h) -> (g-harel)
#70 Display result messages (6h) -> (Dan-Yoo, Radu-Raicea)
#71 Add scroll between messages (3h) -> (g-harel)
#72 Create espresso tests (delayed to Sprint 5) (7h) -> (shelbaz, g-harel)
Total: 27h
Acceptance tests
TASK | INPUTS | EXPECTED OUTPUT | STATUS |
---|---|---|---|
Search UI | 1-1 Conversation with search mode deactivated | When the user clicks "Search conversation", an empty search bar is displayed | PASSED |
Search UI | 1-1 Conversation with search mode activated | User can deactivate the search mode and go back to the original conversation view by pressing the "back" button | PASSED |
Search UI | Message position | When messages matched the search term, the Recycler View should scroll to the provided position | PASSED |
Search UI | Searched string | The Conversation item should highlight matching substrings | PASSED |
Search UI | Matched messages | The Recycler view should move the view to the next message in the conversation that matches the search term when "next button" is clicked | PASSED |
Search UI | Matched messages | The Recycler view should move up "older messages" the view to the previous message in the conversation that matches the search term when "up button" is clicked | PASSED |
Search UI | Matched messages | The Recycler view should move the view to the next message in the conversation that matches the search term when "down button" is clicked | PASSED |
Search UI | Matched messages | A toast is displayed when the user clicks on the "up button" when oldest messages containing the search term is reached | PASSED |
Search UI | Matched messages | A toast is displayed when the user clicks on the "down button" when newest messages containing the search term is reached | PASSED |
User Story #20
Estimated Time: 3-5h
The Release 1 Report must be handed in at the end of Sprint 2.
Here are the tasks that must be done for it:
Task 1: Count story points completed for each member of the team (everyone)
Task 2: Elevator pitch description at a high level (Shawn)
Task 3: Velocity (Radu)
Task 4: Plan up to next release (Radu, Gabriel)
Task 5: Write one paragraph here to describe the architecture and the diagrams (Radu - Shawn)
Task 6: Discussion about the frameworks used in the app (Dan)
Task 7: List 2 most important parts of the code that we changed (Erin)
Task 8: Continuous integration description (Shawn, Gabriel)
Release 1 demo on Monday, Feb 12 from 11:30 am to 12:00 pm.
Code Style Guidelines: https://github.com/Radu-Raicea/SignalAndroid/wiki/Code-Style-Guidelines
User Story #20
Estimated Time: 2h
User Story #54
Estimated Time: 1h
User Story #36
Estimated Time: 2h
User Story #35
Estimated Time: 3h
User Story #19
Estimated Time: 2h
As a developer, I want to view architectural diagrams to understand how the application works.
[SP: 13]
[Priority: Medium]
[Risk: High]
Task 1: Verify with TA if the diagrams can have smaller scope due to size of app (0h)
Task 2: Create overall layers diagram (21h) -> (g-harel, Dan-Yoo, veken1199)
Task 3: Component Diagram using a tool (18h) -> (g-harel, veken1199, erinb90)
Task 4: Create mockups (5h) -> (Dan-Yoo)
Task 5: Create the task diagram (2h) -> (erinb90, Radu-Raicea)
Total: 46h
User Story #22
Estimated Time: 2h
User Story #20
Estimated Time: 5h
User Story #19
Estimated Time: 6h
As we discussed previously, It will be nice to see, on GitHub, why my ci build has failed. for example, which test has failed, how many passed, etc
Prevent users from pinning audio/video type mms .
User Story: #20
Estimated time: 3h
As a user, I want to unpin a pinned message.
[SP: 8]
[Priority: Medium]
[Risk: Low]
1- Expose an interface to the Activities to unpin a message (4h) -> (g-harel, Dan-Yoo, veken1199)
2- Implement a solution to delete relative info from the persistence entity (4h) -> (g-harel, Dan-Yoo, veken1199)
3- Add unpin button to top menu bar (2h) -> (erinb90, Radu-Raicea, shelbaz)
4- Link unpin to interface created (2h) -> (erinb90, Radu-Raicea, shelbaz)
Total: ?
5- Reflect the changes after unpin message is completed (3h) -> (erinb90, Radu-Raicea, shelbaz)
Total: 15h
User Story #19
Estimated Time: 6h
User Story: #20
Estimated Time : 2 h
As a user, I want to select and pin a message.
[SP: 8]
[Priority: High ]
[Risk: low]
1- Expose an interface to the Activities for pinning messages functionality (6h) -> (g-harel, Dan-Yoo, veken1199)
2- Come up with a persistent system to store pinned messages (5h) -> (g-harel, Dan-Yoo, veken1199)
3- Add pin button to top menu bar (2h) -> (erinb90, Radu-Raicea, shelbaz)
4- Link pin button to interface created (4h) -> (erinb90, Radu-Raicea, shelbaz)
Total: 17h
As a user, I want to display all pinned messages.
[SP: 5]
[Priority: High]
[Risk: Low]
1- Expose an interface to the Activities to load all pinned message (4h) -> (g-harel, Dan-Yoo, veken1199)
2- Add conversation options menu item to view pinned messages (3h) -> (erinb90, Radu-Raicea, shelbaz)
3- Create a new activity for the pinned message view (2h) -> (erinb90, Radu-Raicea, shelbaz)
4- Link menu item with new activity (1h) -> (erinb90, Radu-Raicea, shelbaz)
5- Implement a solution to read and filter the pinned messages from the persistence entity (5h) -> (g-harel, Dan-Yoo, veken1199)
6- Create fragments for text bubbles (5h) -> (erinb90, Radu-Raicea, shelbaz)
Total: 20h
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.