Giter Site home page Giter Site logo

stefan-niedermann / nextcloud-deck Goto Github PK

View Code? Open in Web Editor NEW
478.0 27.0 52.0 46.35 MB

๐Ÿ“‹ Android client for nextcloud deck app

Home Page: https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play

License: GNU General Public License v3.0

Java 99.90% Shell 0.01% Kotlin 0.09%
nextcloud deck nextcloud-deck board agile scrum kanban android card trello

nextcloud-deck's People

Contributors

andyscherzinger avatar dan0xii avatar david-development avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar desperatecoder avatar fm-sys avatar juliushaertl avatar kesselb avatar morrisjobke avatar neilseligmann avatar newhinton avatar nextcloud-bot avatar rakekniven avatar randy-jr-olive avatar stefan-niedermann avatar svbergerem avatar tacothedank avatar tobiaskaminsky avatar valdnet 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nextcloud-deck's Issues

Offline capabilities

I am very much looking forward to the release of this app. The readme mentions "offline capabilties". What offline capabilties are you planning? A viewer capable of viewing all data from the time of the last sync? I imagine resolving conflicts between changes to two offline instances would get very messy -- will the app be read-only when offline?

Crash after account selection on Nexus 5X

First of all, thanks for the effort and I'm looking forward to your app! I just cloned the master branch and compiled in android studio, however, it does not work for me as I get an FC after account selection on my Nexus 5X. I know, it's far from productive state, but I thought I'd let you know anyway.
I have Android 6.0.1 (SDK 23) on my phone (rather old cyanogenmod installation...) and NC14 with Deck 0.50 (newest release) running and the nextcloud files app from f-droid installed (v 3.3.2).
This is the logcat output:

11-21 21:24:19.906 31831-31831/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.nextcloud.client, PID: 31831
    Theme: themes:{default=overlay:it.lucci.cm.greyscaletheme, iconPack:system, com.android.systemui=overlay:it.lucci.cm.greyscaletheme, com.android.systemui.navbar=overlay:it.lucci.cm.greyscaletheme}
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nextcloud.client/com.owncloud.android.ui.activity.SsoGrantPermissionActivity}: java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.accounts.Account.name' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2450)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510)
        at android.app.ActivityThread.-wrap11(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5461)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
     Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.accounts.Account.name' on a null object reference
        at com.owncloud.android.ui.activity.SsoGrantPermissionActivity.onCreate(SsoGrantPermissionActivity.java:106)
        at android.app.Activity.performCreate(Activity.java:6251)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510)ย 
        at android.app.ActivityThread.-wrap11(ActivityThread.java)ย 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)ย 
        at android.os.Handler.dispatchMessage(Handler.java:102)ย 
        at android.os.Looper.loop(Looper.java:148)ย 
        at android.app.ActivityThread.main(ActivityThread.java:5461)ย 
        at java.lang.reflect.Method.invoke(Native Method)ย 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)ย 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)ย 

Privacy guard is turned off for both files app and deck, also firewall is currently deactivated for testing.
Actually, the files app seems to be crashing with a NPE.

Attach a file to a card,or add text to a card through the android Intent system

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

Not really.

Describe the solution you'd like

As proposed recently in here, the Files app could share to a Deck card (avoiding the need to download the file first, or sharing a link only).

If ever that gets done, there could be the same kind of attachment process on the android versions of both apps.
The Deck android app could register an android sharing intent so that Nextcloud android apps (or any app!!) could share a file directly to a Deck Card. The intent could also be for text, to share a piece of text directly to a new or existing Card.

Describe alternatives you've considered

The Android Intent system is supposed to be a very easy way to share between apps. So I haven't really thought about alternative.

Additional context

Apps register to the android system to be in the list of apps that can recieve "Share to..." actions. Deck could use that if and when we get card creation and edition. As an intermediate step, any sharing action could just result in a new card creation (instead of a more complex addition to an existing card).

Not working on OnePlus 3T

Hi, thank you for making an android app for the deck app, we really need it ๐Ÿ‘ .

I build the app using android studio and I ran it on my phone, a OnePlus 3T.
A popup asked me to connect to my nextcloud instance, which I did, and then, nothing happened. I have a Deck on my cloud and it is not showing up here.

I'm using the deck app version 0.4.1 on my nextcloud instance version 13.0.6.

If you need more details, feel free to ask. ๐Ÿ˜ƒ

CalledFromWrongThreadException

2018-12-09 14:10:34.280 17670-20631/? E/AndroidRuntime: FATAL EXCEPTION: Thread-36
    Process: it.niedermann.nextcloud.deck, PID: 17670
    android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
        at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:7753)
        at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1225)
        at android.view.View.requestLayout(View.java:23093)
        at android.view.View.requestLayout(View.java:23093)
        at android.view.View.requestLayout(View.java:23093)
        at android.view.View.requestLayout(View.java:23093)
        at android.view.View.requestLayout(View.java:23093)
        at android.view.View.requestLayout(View.java:23093)
        at android.support.v4.widget.DrawerLayout.requestLayout(DrawerLayout.java:1303)
        at android.view.View.requestLayout(View.java:23093)
        at android.view.View.requestLayout(View.java:23093)
        at android.support.constraint.ConstraintLayout.requestLayout(ConstraintLayout.java:3172)
        at android.view.View.requestLayout(View.java:23093)
        at android.view.View.requestLayout(View.java:23093)
        at android.view.View.requestLayout(View.java:23093)
        at android.view.View.requestLayout(View.java:23093)
        at android.support.v7.widget.RecyclerView.requestLayout(RecyclerView.java:4202)
        at android.support.v7.widget.RecyclerView$RecyclerViewDataObserver.onChanged(RecyclerView.java:5286)
        at android.support.v7.widget.RecyclerView$AdapterDataObservable.notifyChanged(RecyclerView.java:11997)
        at android.support.v7.widget.RecyclerView$Adapter.notifyDataSetChanged(RecyclerView.java:7070)
        at it.niedermann.nextcloud.deck.ui.card.CardAdapter.setCardList(CardAdapter.java:79)
        at it.niedermann.nextcloud.deck.ui.stack.StackFragment$1.onResponse(StackFragment.java:81)
        at it.niedermann.nextcloud.deck.ui.stack.StackFragment$1.onResponse(StackFragment.java:75)
        at it.niedermann.nextcloud.deck.persistence.sync.adapters.DataBaseAdapter.lambda$respond$0(DataBaseAdapter.java:38)
        at it.niedermann.nextcloud.deck.persistence.sync.adapters.-$$Lambda$DataBaseAdapter$U3N7eFNxmQsJezBFG2B6ELKH524.run(Unknown Source:4)
        at java.lang.Thread.run(Thread.java:764)

Crash after login

Android version: 8.1.0 (LineageOS)
Nextcloud server: selfhosted v15.0.5
Nextcloud Deck: last version
Nextcloud Android: 3.5.0 RC2 (f-droid)

I just successfully build this app (last commit: 7cfcebd) but it crashes immediately after login.

FATAL EXCEPTION: main Process: it.niedermann.nextcloud.deck, PID: 16661 java.lang.NullPointerException: Attempt to invoke virtual method 'void it.niedermann.nextcloud.deck.persistence.sync.helpers.providers.AbstractSyncDataProvider.childDone(it.niedermann.nextcloud.deck.persistence.sync.helpers.providers.AbstractSyncDataProvider, it.niedermann.nextcloud.deck.api.IResponseCallback, boolean)' on a null object reference at it.niedermann.nextcloud.deck.persistence.sync.helpers.providers.AbstractSyncDataProvider.onError(AbstractSyncDataProvider.java:78) at it.niedermann.nextcloud.deck.persistence.sync.helpers.SyncHelper$1.onError(SyncHelper.java:66) at it.niedermann.nextcloud.deck.api.RequestHelper$ResponseConsumer$1.lambda$accept$0(RequestHelper.java:46) at it.niedermann.nextcloud.deck.api.-$$Lambda$RequestHelper$ResponseConsumer$1$pdGUKOypjSaz8W9wp-deyLX5HGQ.run(Unknown Source:4) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Create boards

Remaining work

  • When selecting a color, the previous color has to be deselected
  • Depending on screen size and resolution, not all colors are displayed yet

Current state

Creating new boards is already possible

grafik

Actionbar has wrong text color on Android 4

Describe the bug
On Android 4 the text color of the

  • board titles
  • the stacks is black on a blue background.
  • Icons in MainActivity

Expected behavior
It should be white on blue background, just like the toolbar in the about activity

Screenshots
device-2019-05-09-172927

Smartphone (please complete the following information):

  • Device: every
  • Android-Version: 4

For sure has something to do with the styles.xml, but i have no clue what... @AndyScherzinger any idea? You chose the Bridge-theme, maybe this has some issues?

Donation broken?

Hey Stefan,
just wanted to buy you a few beers or coffe :)
But I got this message on Liberapay: Your donation to stefan-niedermann cannot be processed right now because the account of the beneficiary isn't ready to receive money.

Left menu empty after the startup

Describe the bug

After the start of the app (fdroid 0.0.2) I do not have any accounts (see #78 ).

When I wanted to add a new account by hand I did not know on what I need to click. The left menu is empty and it took me a while to click on the top text.

To Reproduce
Steps to reproduce the behavior:

  1. Open the left menu when having no accounts.
  2. The menu is empty.
  3. To add a new account I need to click on the top text.

Expected behavior

I am not sure how it looks when having some account, but when having no accounts I would like to have a add a new account option in the left menu.

The app should look good and intuitive also when having no account.

Screenshots

Screenshot_2019-05-16-07-23-21-632_it niedermann nextcloud deck

Smartphone (please complete the following information):

  • Device: Xiaomi Mi4c
  • Android-Version: 7

Thanks!

Drag 'n' drop cards

Remaining work

  • persist new position of card
  • enable drag 'n' drop between different stacks

Edit mode: back button jumps to first stack

When opening edit-view of a card inside the second and following stack/column and pressing the back button, the first stack/column is active.

I'd expect returning to the same stack/column i tapped on a card, maybe even restoring the scroll state.

NPE on Labels

@desperateCoder maybe you have an idea :)

actual master keeps crashing for me every once in a while:

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Long it.niedermann.nextcloud.deck.model.Label.getLocalId()' on a null object reference
        at it.niedermann.nextcloud.deck.persistence.sync.SyncManager$3.onResponse(SyncManager.java:173)
        at it.niedermann.nextcloud.deck.persistence.sync.SyncManager$3.onResponse(SyncManager.java:123)
        at it.niedermann.nextcloud.deck.api.RequestHelper$ResponseConsumer.lambda$accept$0(RequestHelper.java:95)
        at it.niedermann.nextcloud.deck.api.-$$Lambda$RequestHelper$ResponseConsumer$bhqy13PaF1IbxLhOB_pn8whheHA.run(Unknown Source:4)
        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:6718)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Column should have card_spacing padding at the bottom

Currently a column does not have a padding at the bottom, therefore it looks like the last card in the column is cut (when having enough columns to fill the screen). Each column should have a padding with the value card_spacing at the bottom. Pay attention to the scrollbar, because i tried it once and the scrollbar no longer was able to reach the top of the column.

Implement free color chooser for board creation

Currently there is a hard coded set of colors which can be chosen when one creates a new board.

This issue is about implementing a "last" color, which displays a pipette to choose a arbitrary color when the given colors are not enough.

If someone wants to work on this issue, please start a discussion and offer some scribble of how it could look like - let's talk about it first and then start implementing it and providing a PR. It would be a pitty if work would not be accepted due to different design ideas ๐Ÿš€

SSO: "Invalid If-Modified-Since header provided."

In order to test/fix problems with SSO I checked out lastest SSO and integrated into deck, but after authenticated I do get:

2019-03-18 11:37:43.164 15554-15591/com.nextcloud.client E/InputStreamBinder: {"status":500,"message":"Invalid If-Modified-Since header provided."}
2019-03-18 11:37:43.165 15554-15591/com.nextcloud.client E/InputStreamBinder: Error during Nextcloud request
    java.lang.IllegalStateException: CE_5
        at com.nextcloud.android.sso.InputStreamBinder.processRequest(InputStreamBinder.java:304)
        at com.nextcloud.android.sso.InputStreamBinder.performNextcloudRequestAndBodyStream(InputStreamBinder.java:133)
        at com.nextcloud.android.sso.InputStreamBinder.performNextcloudRequest(InputStreamBinder.java:112)
        at com.nextcloud.android.sso.aidl.IInputStreamService$Stub.onTransact(IInputStreamService.java:86)
        at android.os.Binder.execTransact(Binder.java:731)

Deck: master
SSO: master
Files app: master
Nextcloud server: master

Multi account support

Not sure if you already have that in mind, but it would be awesome if users could set up and use multiple accounts at once.

Icon not displayed properly

Hi, another thing I noticed is that the deck icon is not showing up properly, the background is the right one but the icon itself is the default android icon. Here's what it looks like on my OnePlus 3T:
screenshot

Description rendering

Right now, the description is shown directly on the card. I would expect it to be

  • visible in the cards detail view only.
  • Markdown should also be supported when viewing the description.

Release availability and/or f-droid release

Dear developpers,
Thanks for this project, it would bring some real improvement in my Nextcloud use.

Unless I'm too lazy/blind/unaware, I can't find any released apk for this app. Search on f-droid returns nothing, neither does a Play Store search. Please tell me where I can find a release package (and close this issue as it's not a bug report).

Kind regards,
Olivier

Encoding trouble with string results in bad string at Transifex

<string name="about_icons_disclaimer">&lt;p>Original icon made by %1$s&lt;/p>&lt;p>All further icons used by this app are &lt;a href="https://materialdesignicons.com/">Material Design Icons&lt;/a> made by Google Inc. and licensed under the Apache 2.0 License.&lt;/p></string>

See https://www.transifex.com/nextcloud/nextcloud/translate/#de_DE/$/157711546?q=issue%3Aopen

Cannot add any image here, sorry.

Context menu for stacks

The current three dot menu to manage stacks looks out of place, because it is positioned in another row. Noone associates it with the stacks.

Initially i thought we should make the stacks draggabke, but this would cause too many moveable elements on the screen.

Instead we should have a popover menu on long press which provides the following actions:

  • Rename
  • Move left
  • Move right
  • Delete

This solves both issues: Movebale columns & removing the 3-dot-menu.

@desperateCoder i need APIs for the move-methods. Just saw you already added them in 95ff069


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

how to install

Hi
I was wondering how to install the code or zip to my Fairphone 2 LOS 15.1 (or how to install it generally on Android) - do you have any advice for me? I'm new with this topic.

Thanks a lot and thanks for the great work so far.

Refresh problem

I've compiled master branch and tested it on my phone with 2 nextcloud decks I'm working with.

To Reproduce
Steps to reproduce the behavior:

  1. Add account
  2. Decks fetched, but not columns and not tasks.
  3. Wait some time (I had to wait one day once).
  4. Add new column via web and new card.
  5. Even after some waiting and refreshing, I don't see new columns and new cards.

Closing and opening app don't help.
Refresh gesture (scroll down) don't help.
Switching between accounts don't help.

Expected behavior
Refresh should fetch latest data

Is there any way I can do force-refresh in current version?
I think this is required even for viewer app without full editing.

Create stacks

Remaining Work

  • When creating a new stack via android app, the new stack is at the last position. Opening at the webapp, the created stack is on the first position. Maybe has something to do with the sync (cc @desperateCoder)
  • When a new stack has been created, it should be focused directly

Current state

Creating new stacks is already possible

grafik

Change scroll behavior of edit mode

When the edit mode does not fit into the screen (e. g. because of a huge description), then currently the scrollable area is only the details tab.
Instead the whole screen including the title and the tabs should be scrollable (ActionBar should stay fixed on top).

Nextcloud files app (dev) from fdroid not recognised

Describe the bug
The app (fdroid 0.0.2) shows the pop-up, that the Nextcloud files app is not installed. I am already using dev version of files app from the fdroid (20190502 version).

To Reproduce
Steps to reproduce the behavior:

  1. Start the app
  2. See the pop-up, that the Nextcloud files app is not installed.
  3. Try to add a new account from the side menu. (what was weird, I'll fill a new issue for that.)
  4. See the pop-up, that the Nextcloud files app is not installed.
  5. Try clicking on โž• , but it raises an error: ... Account.getId() on a null object reference.` (Should I need to create a new issue for this one?)

Expected behavior

  • It would be nice if the app can recognise dev version of Nextcloud from fdroid. (Is the problem here, or on the site of the Nextcloud app.)
  • Or at least allow adding a new account by hand.
  • Handle the actions like โž• without error, when there is no account.

Screenshots

(Sorry for the czech version.)

Screenshot_2019-05-16-07-09-30-203_it niedermann nextcloud deck

Screenshot_2019-05-16-07-09-10-413_it niedermann nextcloud deck

Smartphone (please complete the following information):

  • Device: Xiami Mi4c
  • Android-Version: 7

Stacktrace

Attempt to invoke virtual method `.....ck.model.Account.getId()` on a null object reference.

Thanks for your work! Looking forward to using it!

Edit label should contain the current title

When editing a card, the title in the ActionBar says currently only "Edit". Instead it should be "Edit <current title>".
When changing the title in EditText then the title in the ActionBar should be updated on every key stroke.

Release as Viewer App

Hi,
what are the last necessary steps/issues until this App can be released (on F-Droid?) as a Viewer App? And any recommendations where help would be appreciated?
Best,
Tim

Recreate database completely onUpgrade

Since we are not downward-compatible yet, we should completely recreate the database on an app upgrade and trigger a sync.

This is a requirement for a first F-Droid beta release (#65).

Single Sign-on not working with Android 7

Nextcloud deck 0.6.2 on Nextcloud 15.0.5.
Android 7.1.2. with

  • Android Nextcloud 3.6.0 (from f-Droid)
  • Adroid Nextcloud Deck 0.0.2 (from f-Droid)

When I first open Nextcloud Deck on my Android device, I have to choose a Nextcloud account on the account chooser dialogue. I select an existing one and immediately I have a pop-up "Error : You have to accept the requested permissions to use the single sign-on feature" (see 2 first pictures at nextcloud/Android-SingleSignOn#60 (comment))

So I can't log in to my existing Nextcloud account.
Android Nextcloud Deck doesn't crash but is unable to open my Nextcloud account.

According to nextcloud/Android-SingleSignOn#60 it seems to be a known issue, but I am not clear if the fix has been implemented yet and if Nextcloud Deck need to integrate a fix.

After adding second account list of boards dont refresh

Describe the bug
After adding second account list of boards dont refresh

To Reproduce
Steps to reproduce the behavior:

  1. Add one account
  2. Left sidebar display correct boards for this account now
  3. Add another account
  4. Select it from accounts menu
  5. Left sidebar still shows boards from old account
  6. Switching accounts and refresh gesture don't help - lost of boards have only boards from first account.

Expected behavior
I expect list of boards from second account in left sidebar.

Smartphone (please complete the following information):

  • Device: Moto Z Play
  • Android-Version: 8

App version: 0.0.2 from fdroid

Horizontal Scrolling on Desktop

It would be nice to have an easier way to scroll horizontally across lists on desktop devices. Currently using the horizontal scrollbar is the only way. This could possibly be done by dragging the background (as is implemented in Trello)

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.