Git Product home page Git Product logo

device-info-app's Introduction

device-info-app

A Android application written in Kotlin to display information about a users device.

Tech Stack

Contribution

For contributing to the project, please feel free to create an issue or submit a pull request.

device-info-app's People

Contributors

shaunplummer avatar chesire avatar youngman3009 avatar b-reynolds avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar Blake Lloyd avatar  avatar  avatar  avatar

Forkers

youngman3009

device-info-app's Issues

Add KtLint to project

Add ktlint static analysis, this can be added either via the plugin or a new Gradle file.
Once ktlint is added to the project, the github actions file should be updated, to ensure that it runs on CI as well.

This will require #2 to be merged before it can be completed.

Add support for material day night theme to support dark mode

It would be good if the app had dark theme support based on the users' OS settings.

This can be achieved by following the Material Design guidelines for Android. Once the correct theme is set in the styles.xml the system will handle most of the work. Although view elements will need to have the correct elevation to ensure they have the correct colour.

Make use of the floating action button or remove it

Currently, the app has the default FAB included with an envelope icon. The app should be updated to make use of the FAB or it should be removed.

The FAB could be used to share information about the device with other apps.

Pull basic handset information

This task could potentially be split up.

Add a class to get the basic information about a handset, this being the information mainly in the Build class.
Information provided would ideally be something like
"Manufacturer Name" to "Samsung"
"Device Name" to "S9+"

Pull device model

We should be able to pull down the model name of the handset, so something akin to "S9Plus" could be retrieved, likely from the Build class.

Pull device display information

We could pull a list of connected displays (main phone display and any connected external and virtual displays) and grab some of their properties, such as width, height, refresh rate

Setup initial structure to get device information

We need to set up an initial structure in the application, so that it is easy to add more ways to get device information down the line.

We can use this issue to discuss the structure, unless somebody is really sure they have a good way to go about it.

Add dependency injection to the project

To make it easier to get the required dependencies in all the various areas, and setup any classes correctly, we should integrate some form of dependency injection into the project. The earlier this is integrated the easier it will be going forwards. My personal suggestion is Dagger, maybe using Hilt to see how that works, but I think other frameworks like Koin could work as well.

Add Detekt to project

Add Detekt static analysis to the project, https://github.com/detekt/detekt.
Once it is added to the project, the github actions file should be updated to ensure that it runs on CI as well.

This will require #2 to be merged before it can be completed.

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.