nextcloud / android

📱 Nextcloud Android app
https://play.google.com/store/apps/details?id=com.nextcloud.client
GNU General Public License v2.0
4.18k stars 1.75k forks source link

Auto upload does not work - Crash with `Parameter specified as non-null is null` (NPE) #12586

Open MihailCosmin opened 7 months ago

MihailCosmin commented 7 months ago

⚠️ Before posting ⚠️

Steps to reproduce

  1. Go to Settings > Auto upload
  2. Select local Folder > Configure
  3. Enable Auto upload
  4. Select Remote Folder - for example Photos
  5. Click Choose
  6. Back in the Auto Upload Menu the selected folder is not displayed as the Remote Folder and the app crashes with below error (see Android Logs)

Expected behaviour

Selected folder should be displayed and Auto upload should work

Actual behaviour

Selected folder does not display and Auto upload does not work

Without Auto upload the app is useless.... this hasn't worked for months now....

Android version

13

Device brand and model

Samsung Galaxy Note 10 Lite

Stock or custom OS?

Stock

Nextcloud android app version

3.28.0

Nextcloud server version

28.0.2

Using a reverse proxy?

No

Android logs

Cause of error

Exception in thread "main" java.lang.NullPointerException: Parameter specified as non-null is null: method com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment$setupListeners$1$5.onItemSelected, parameter view
    at com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment$setupListeners$1$5.onItemSelected(Unknown Source:2)
    at android.widget.AdapterView.fireOnSelected(AdapterView.java:1396)
    at android.widget.AdapterView.dispatchOnItemSelected(AdapterView.java:1385)
    at android.widget.AdapterView.selectionChanged(AdapterView.java:1368)
    at android.widget.AdapterView.checkSelectionChanged(AdapterView.java:1557)
    at android.widget.AdapterView.handleDataChanged(AdapterView.java:1533)
    at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:193)
    at android.widget.Spinner.onMeasure(Spinner.java:645)
    at androidx.appcompat.widget.AppCompatSpinner.onMeasure(AppCompatSpinner.java:444)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7352)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7352)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
    at android.view.View.measure(View.java:27731)
    at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:2352)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at android.widget.ScrollView.onMeasure(ScrollView.java:699)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7352)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7352)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7352)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at android.view.View.measure(View.java:27731)
    at androidx.appcompat.widget.AlertDialogLayout.tryOnMeasure(AlertDialogLayout.java:134)
    at androidx.appcompat.widget.AlertDialogLayout.onMeasure(AlertDialogLayout.java:64)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7352)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:145)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7352)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7352)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7352)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7352)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at com.android.internal.policy.DecorView.onMeasure(DecorView.java:1379)
    at android.view.View.measure(View.java:27731)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:4841)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:3397)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3732)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3116)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10885)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1301)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1309)
    at android.view.Choreographer.doCallbacks(Choreographer.java:923)
    at android.view.Choreographer.doFrame(Choreographer.java:852)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1283)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:226)
    at android.os.Looper.loop(Looper.java:313)
    at android.app.ActivityThread.main(ActivityThread.java:8762)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

App information

Device information

Firmware

Server error logs

No response

Additional information

No response

awptechnologies commented 7 months ago

I am also having this problem as well as the server not available error. If i log in through web browser i can see all of my files. The error only happens on the android app

PYCODR commented 6 months ago

same here, server not available @Android 14, Client App 3.28.0, NextCloudPi 26.0.3 EDIT: updated server to 27.0.1, working fine now.

awptechnologies commented 6 months ago

im on 28.0.2 and issue still exists

antmarra commented 5 months ago

Hi everybody, I'm on Samsung Galaxy S23 Ultra with Android 14 and OneUI 6.1 Auto upload of my photos doesn't work anymore since last 25 March (it has worked flawlessly since 3/25). I've tried to disable and re-enable auto upload of DCIM/Camera local folder, I've tried to move the missing photos to another folder and then to move them back to the original folder, but to no avail. Then, I've downloaded and installed the 3.28.1 version from GitHub, but again it doesn't work. Moreover, the new installed version was reported as 3.28.0 in the App Info on the phone... Please help! Thanks

joshtrichards commented 2 months ago

May be fixed by #13070 / #13102

Please check in >=v3.29.1

joshtrichards commented 2 weeks ago

@MihailCosmin Are you still seeing this behavior in newer versions of the client?