@@ -68,19 +68,22 @@ class GutenbergKitEditorFragment : GutenbergKitEditorFragmentBase() {
6868 }
6969
7070 private fun initializeFragmentListeners () {
71+ // Set up history change listener
7172 historyChangeListener = object : HistoryChangeListener {
7273 override fun onHistoryChanged (hasUndo : Boolean , hasRedo : Boolean ) {
7374 mEditorFragmentListener.onToggleUndo(! hasUndo)
7475 mEditorFragmentListener.onToggleRedo(! hasRedo)
7576 }
7677 }
7778
79+ // Set up featured image change listener
7880 featuredImageChangeListener = object : FeaturedImageChangeListener {
7981 override fun onFeaturedImageChanged (mediaID : Long ) {
8082 mEditorFragmentListener.onFeaturedImageIdChanged(mediaID, true )
8183 }
8284 }
8385
86+ // Set up media library listener
8487 openMediaLibraryListener = object : OpenMediaLibraryListener {
8588 override fun onOpenMediaLibrary (
8689 config : GutenbergView .OpenMediaLibraryConfig
@@ -89,6 +92,7 @@ class GutenbergKitEditorFragment : GutenbergKitEditorFragmentBase() {
8992 }
9093 }
9194
95+ // Set up JS exception listener
9296 onLogJsExceptionListener = object : LogJsExceptionListener {
9397 override fun onLogJsException (
9498 exception : org.wordpress.gutenberg.GutenbergJsException
@@ -125,6 +129,7 @@ class GutenbergKitEditorFragment : GutenbergKitEditorFragmentBase() {
125129 }
126130 }
127131
132+ // Set up modal dialog state listener
128133 modalDialogStateListener = object : GutenbergView .ModalDialogStateListener {
129134 override fun onModalDialogOpened (dialogType : String ) {
130135 mEditorFragmentListener.onModalDialogOpened(dialogType)
@@ -140,6 +145,7 @@ class GutenbergKitEditorFragment : GutenbergKitEditorFragmentBase() {
140145 override fun onCreateView (
141146 inflater : LayoutInflater , container : ViewGroup ? , savedInstanceState : Bundle ?
142147 ): View ? {
148+ // Set up fragment's own listeners before initializing the editor
143149 initializeFragmentListeners()
144150
145151 mEditorFragmentListener.onEditorFragmentInitialized()
@@ -221,6 +227,7 @@ class GutenbergKitEditorFragment : GutenbergKitEditorFragmentBase() {
221227 " at-symbol" ->
222228 mEditorFragmentListener.showUserSuggestions { result ->
223229 result?.let {
230+ // Appended space completes the autocomplete session
224231 gutenbergView.appendTextAtCursor(" $it " )
225232 }
226233 }
@@ -229,6 +236,7 @@ class GutenbergKitEditorFragment : GutenbergKitEditorFragmentBase() {
229236 mEditorFragmentListener
230237 .showXpostSuggestions { result ->
231238 result?.let {
239+ // Appended space completes the autocomplete session
232240 gutenbergView
233241 .appendTextAtCursor(" $it " )
234242 }
@@ -452,6 +460,10 @@ class GutenbergKitEditorFragment : GutenbergKitEditorFragmentBase() {
452460 override fun appendMediaFiles (
453461 mediaList : MutableMap <String ?, MediaFile ?>
454462 ) {
463+ // appendMediaFile may be called from a background thread
464+ // (example: EditPostActivity.java#L2165) and Activity may
465+ // have already be gone.
466+ // Ticket: https://github.com/wordpress-mobile/WordPress-Android/issues/7386
455467 if (activity == null ) {
456468 AppLog .d(
457469 AppLog .T .MEDIA ,
@@ -460,6 +472,8 @@ class GutenbergKitEditorFragment : GutenbergKitEditorFragmentBase() {
460472 return
461473 }
462474
475+ // Get media URL of first of media first to check
476+ // if it is network or local one.
463477 var mediaUrl: String? = " "
464478 val mediaUrls: Array <Any ?> = mediaList.keys.toTypedArray()
465479 if (mediaUrls.isNotEmpty()) {
@@ -468,6 +482,7 @@ class GutenbergKitEditorFragment : GutenbergKitEditorFragmentBase() {
468482
469483 val isNetworkUrl = URLUtil .isNetworkUrl(mediaUrl)
470484
485+ // Disable upload handling until supported--e.g., media shared to the app
471486 if (gutenbergView == null || ! isNetworkUrl) {
472487 return
473488 }
0 commit comments