chesire / pushie Goto Github PK
View Code? Open in Web Editor NEWAndroid application to interface with the PasswordPusher API https://github.com/pglombardo/PasswordPusher/wiki/Password-API
License: Apache License 2.0
Android application to interface with the PasswordPusher API https://github.com/pglombardo/PasswordPusher/wiki/Password-API
License: Apache License 2.0
Is your feature request related to a problem? Please describe.
I'm always frustrated when I have to manually adjust the sliders for days till expiry and views till expiry.
Describe the solution you'd like
in settings the default for days till expiry and views till expiry should be configurable IMHO.
Describe alternatives you've considered
manually using the slider
Additional context
most of the time one has the same preferences on both values
Great app nevertheless!
Try using MVI with the project, since its quite small with only a few screens it will be easy to implement and play around with it, and if it doesn't work too well easy to strip back out.
When sending a message through the api, the param expire_after_days
needs to be provided. Change from using a default to allowing the user to choose what the value should be.
Describe the solution you'd like
Creating the ViewModel looks ugly, and if any more views are added in the future it will be a pain to manually create them. Integrate Hilt into the project to make this nicer.
Is there any way to allow your app to connect to a self-hosted instance of PasswordPusher?
Not familiar whatsoever with Android app development, but I came across your app after forking and spinning up our own instance of PWPusher in Azure and I'm curious if using our own instance URL was possible.
Thank you!
Current the default android logo is being used, update to something a bit nicer.
Something like a # or * sign pushing something
Add way to open the application from selected text. So that the text can be passed straight through as a payload.
This will allow selecting a password, then sending it straight through to the application pre-filling the password box.
Later on this can be implemented to send it up without sending the user to the application.
Add link to the website that is used as an API.
Link will probably need to be in either a settings page, or in the toolbar.
Set up the CI system so it does continuous builds for PRs and merges into master. For now don't worry about setting up CI to deploy to the store.
Add a quick tutorial for users who first launch the app, so they can see how to use it.
Is your feature request related to a problem? Please describe.
Light theme currently just takes the dark theme colours.
Describe the solution you'd like
Light theme to be implemented, maybe the style used could match any light theme on the PWPush website.
Add screen to display while app is loading, should over be shown a second or so
Users should be able to input a password into a text box on the view.
This will act as a password field, hiding what is written so that it is private, it will include a button to allow viewing of the password.
There is no limit on the input length or character types.
Describe the solution you'd like
Move the various dependency versions to a buildSrc
project as recommended for Kotlin gradle projects.
Ensure that Detekt is setup to run on the project, it should use the latest version (currently 1.9.1).
I would like to translate Pushie into Japanese. Does Pushie support translation?
When sending a message through the api, the param expire_after_views needs to be provided. Change from using a default to allowing the user to choose what the value should be.
The UX is pretty ugly at the moment, at the very least update the colour scheme to match the APIs website.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
actions/download-artifact
, actions/upload-artifact
)These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
androidx.compose.ui:ui-tooling
, androidx.compose.runtime:runtime-livedata
, androidx.compose.runtime:runtime
, androidx.compose.material:material-icons-extended
, androidx.compose.material:material
)org.jetbrains.kotlinx:kotlinx-coroutines-core
, org.jetbrains.kotlinx:kotlinx-coroutines-android
)com.google.dagger:hilt-android-compiler
, com.google.dagger:hilt-android
)androidx.lifecycle:lifecycle-viewmodel-ktx
, androidx.lifecycle:lifecycle-livedata-ktx
)Gemfile
danger "> 0"
danger-android_lint "> 0"
danger-checkstyle_format "> 0"
.github/workflows/master.yml
actions/checkout v4
actions/setup-java v4
gradle/actions v3
.github/workflows/pre-merge.yml
actions/checkout v4
actions/setup-java v4
gradle/actions v3
actions/checkout v4
actions/setup-java v4
gradle/actions v3
actions/checkout v4
actions/setup-java v4
gradle/actions v3
actions/upload-artifact v3
actions/upload-artifact v3
actions/checkout v4
ruby/setup-ruby v1
actions/download-artifact v3
actions/download-artifact v3
gradle.properties
settings.gradle.kts
build.gradle.kts
com.android.tools.build:gradle 7.4.2
org.jetbrains.kotlin:kotlin-gradle-plugin 1.7.0
app/build.gradle.kts
feature/pusher/build.gradle.kts
feature/settings/build.gradle.kts
gradle/libs.versions.toml
androidx.appcompat:appcompat 1.6.1
androidx.compose.material:material 1.2.0
androidx.compose.material:material-icons-extended 1.2.0
androidx.compose.runtime:runtime 1.2.0
androidx.compose.runtime:runtime-livedata 1.2.0
androidx.compose.ui:ui-tooling 1.2.0
androidx.core:core-ktx 1.13.1
androidx.fragment:fragment-ktx 1.7.1
androidx.lifecycle:lifecycle-livedata-ktx 2.5.1
androidx.lifecycle:lifecycle-viewmodel-ktx 2.5.1
androidx.room:room-ktx 2.6.1
androidx.room:room-compiler 2.6.1
androidx.room:room-runtime 2.6.1
androidx.preference:preference-ktx 1.2.1
com.google.android.material:material 1.7.0
com.google.dagger:hilt-android 2.44.2
com.google.dagger:hilt-android-compiler 2.44.2
junit:junit 4.13.2
org.jetbrains.kotlinx:kotlinx-coroutines-android 1.6.4
org.jetbrains.kotlinx:kotlinx-coroutines-core 1.6.4
com.michael-bull.kotlin-result:kotlin-result 1.1.16
com.github.hadilq:live-event 1.3.0
com.squareup.okhttp3:okhttp 4.10.0
io.gitlab.arturbosch.detekt 1.19.0
org.jlleitschuh.gradle.ktlint 11.0.0
library/common/build.gradle.kts
library/compose/build.gradle.kts
library/datasource/pwpush/build.gradle.kts
library/datastore/build.gradle.kts
library/resources/build.gradle.kts
gradle/wrapper/gradle-wrapper.properties
gradle 7.6.4
Currently the UI is very basic with a button to send up API requests, the user could hit the button multiple times.
Update the UI so that it uses LiveData to add a loading indicator while an API request is ongoing, limiting the requests down to 1.
Also add a list somewhere in the UI to show any previous passwords sent up, with their ID, result, and time.
Add ktlint to the project, either through a Gradle file, or plugin.
Describe the solution you'd like
Switch to using Compose for the views, would be nice to see it being used here
Setup commitlint so that the commit format is consistent from now on
Upload the project to FDroid.
Currently pending publication here
Change the application to use the Material design theme
Add a link to this GitHub repo on the settings page.
Add a section that shows previous generated links from the application. Should show just the link, not the password.
Send the password through the API to get it added.
https://pwpush.com/p.json
The api is available at https://github.com/pglombardo/PasswordPusher/wiki/Password-API.
The request should be created and sent up, with the result being returned back.
Setup the initial project. Initial project should be the basics required for the repo to be pulled down and build hit to work.
Add a settings page that can be populated with various items such as a link to the PasswordPusher website, a link to this github repo, a list of open source licenses, and various application options (such as default values).
Linked to #53
Add Danger to the project so that pull requests can have static analysis issues raised up on them
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.