|
32 | 32 | import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException; |
33 | 33 | import com.nextcloud.android.sso.exceptions.NoCurrentAccountSelectedException; |
34 | 34 | import com.nextcloud.android.sso.helper.SingleAccountHelper; |
| 35 | +import com.owncloud.android.lib.common.utils.Log_OC; |
35 | 36 |
|
36 | 37 | import java.util.ArrayList; |
37 | 38 | import java.util.Calendar; |
@@ -141,7 +142,7 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat |
141 | 142 | requireActivity().invalidateOptionsMenu(); |
142 | 143 | } |
143 | 144 | } catch (NextcloudFilesAppAccountNotFoundException | NoCurrentAccountSelectedException e) { |
144 | | - e.printStackTrace(); |
| 145 | + Log_OC.e(TAG, e.getLocalizedMessage()); |
145 | 146 | } |
146 | 147 | }); |
147 | 148 | setHasOptionsMenu(true); |
@@ -240,16 +241,26 @@ public boolean onOptionsItemSelected(MenuItem item) { |
240 | 241 | repo.updateNoteAndSync(localAccount, originalNote, null, null, null); |
241 | 242 | } |
242 | 243 | }); |
243 | | - listener.close(); |
| 244 | + |
| 245 | + if (listener != null) { |
| 246 | + listener.close(); |
| 247 | + } |
244 | 248 | return true; |
245 | 249 | } else if (itemId == R.id.menu_delete) { |
246 | 250 | repo.deleteNoteAndSync(localAccount, note.getId()); |
247 | | - listener.close(); |
| 251 | + |
| 252 | + if (listener != null) { |
| 253 | + listener.close(); |
| 254 | + } |
248 | 255 | return true; |
249 | 256 | } else if (itemId == R.id.menu_favorite) { |
250 | 257 | note.setFavorite(!note.getFavorite()); |
251 | 258 | repo.toggleFavoriteAndSync(localAccount, note); |
252 | | - listener.onNoteUpdated(note); |
| 259 | + |
| 260 | + if (listener != null) { |
| 261 | + listener.onNoteUpdated(note); |
| 262 | + } |
| 263 | + |
253 | 264 | prepareFavoriteOption(item); |
254 | 265 | return true; |
255 | 266 | } else if (itemId == R.id.menu_category) { |
@@ -288,22 +299,35 @@ public boolean onOptionsItemSelected(MenuItem item) { |
288 | 299 | } |
289 | 300 |
|
290 | 301 | protected void shareNote() { |
| 302 | + if (note == null) { |
| 303 | + Log_OC.w(TAG, "Note is null in shareNote"); |
| 304 | + return; |
| 305 | + } |
| 306 | + |
291 | 307 | ShareUtil.openShareDialog(requireContext(), note.getTitle(), note.getContent()); |
292 | 308 | } |
293 | 309 |
|
294 | 310 | @CallSuper |
295 | 311 | protected void onNoteLoaded(Note note) { |
| 312 | + if (note == null) { |
| 313 | + Log_OC.w(TAG, "Note is null in onNoteLoaded"); |
| 314 | + return; |
| 315 | + } |
| 316 | + |
296 | 317 | this.originalScrollY = note.getScrollY(); |
297 | 318 | scrollToY(originalScrollY); |
298 | 319 | final var scrollView = getScrollView(); |
299 | | - if (scrollView != null) { |
300 | | - scrollView.setOnScrollChangeListener((View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) -> { |
301 | | - if (scrollY > 0) { |
302 | | - note.setScrollY(scrollY); |
303 | | - } |
304 | | - onScroll(scrollY, oldScrollY); |
305 | | - }); |
| 320 | + if (scrollView == null) { |
| 321 | + Log_OC.w(TAG, "Scroll view is null, onNoteLoaded"); |
| 322 | + return; |
306 | 323 | } |
| 324 | + |
| 325 | + scrollView.setOnScrollChangeListener((View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) -> { |
| 326 | + if (scrollY > 0) { |
| 327 | + note.setScrollY(scrollY); |
| 328 | + } |
| 329 | + onScroll(scrollY, oldScrollY); |
| 330 | + }); |
307 | 331 | } |
308 | 332 |
|
309 | 333 | /** |
|
0 commit comments