@@ -265,7 +265,7 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
265265 button?.setOnClickListener { onToolbarAction(toolbarAction) }
266266
267267 if (toolbarAction == ToolbarAction .HEADING ) {
268- setHeaderMenu (findViewById(toolbarAction.buttonId))
268+ setHeadingMenu (findViewById(toolbarAction.buttonId))
269269 }
270270 }
271271 }
@@ -308,7 +308,7 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
308308
309309 val appliedStyles = editor!! .getAppliedStyles(selStart, selEnd)
310310 highlightActionButtons(ToolbarAction .getToolbarActionsForStyles(appliedStyles))
311- selectHeaderMenu (appliedStyles)
311+ selectHeadingMenuItem (appliedStyles)
312312 }
313313
314314 private fun onToolbarAction (action : ToolbarAction ) {
@@ -320,8 +320,8 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
320320 val textFormats = ArrayList <TextFormat >()
321321
322322 actions.forEach { if (it.isStylingAction() && it.textFormat != null ) textFormats.add(it.textFormat) }
323- if (getSelectedHeading () != null ) {
324- textFormats.add(getSelectedHeading ()!! )
323+ if (getSelectedHeadingMenuItem () != null ) {
324+ textFormats.add(getSelectedHeadingMenuItem ()!! )
325325 }
326326 return editor!! .setSelectedStyles(textFormats)
327327 }
@@ -359,31 +359,43 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
359359 }
360360 }
361361
362- private fun selectHeaderMenu (textFormats : ArrayList <TextFormat >) {
363- headingMenu?.menu?.getItem(0 )?.isChecked = true
364- textFormats.forEach {
365- when (it) {
366- TextFormat .FORMAT_HEADING_1 -> headingMenu?.menu?.getItem(1 )?.isChecked = true
367- TextFormat .FORMAT_HEADING_2 -> headingMenu?.menu?.getItem(2 )?.isChecked = true
368- TextFormat .FORMAT_HEADING_3 -> headingMenu?.menu?.getItem(3 )?.isChecked = true
369- TextFormat .FORMAT_HEADING_4 -> headingMenu?.menu?.getItem(4 )?.isChecked = true
370- TextFormat .FORMAT_HEADING_5 -> headingMenu?.menu?.getItem(5 )?.isChecked = true
371- TextFormat .FORMAT_HEADING_6 -> headingMenu?.menu?.getItem(6 )?.isChecked = true
372- else -> {
373-
362+ private fun selectHeadingMenuItem (textFormats : ArrayList <TextFormat >) {
363+ if (textFormats.size == 0 ) {
364+ // Select TextFormat.FORMAT_PARAGRAPH by default.
365+ headingMenu?.menu?.getItem(0 )?.isChecked = true
366+ } else {
367+ textFormats.forEach {
368+ when (it) {
369+ TextFormat .FORMAT_HEADING_1 -> headingMenu?.menu?.getItem(1 )?.isChecked = true
370+ TextFormat .FORMAT_HEADING_2 -> headingMenu?.menu?.getItem(2 )?.isChecked = true
371+ TextFormat .FORMAT_HEADING_3 -> headingMenu?.menu?.getItem(3 )?.isChecked = true
372+ TextFormat .FORMAT_HEADING_4 -> headingMenu?.menu?.getItem(4 )?.isChecked = true
373+ TextFormat .FORMAT_HEADING_5 -> headingMenu?.menu?.getItem(5 )?.isChecked = true
374+ TextFormat .FORMAT_HEADING_6 -> headingMenu?.menu?.getItem(6 )?.isChecked = true
375+ else -> {
376+ // Select TextFormat.FORMAT_PARAGRAPH by default.
377+ headingMenu?.menu?.getItem(0 )?.isChecked = true
378+ }
374379 }
380+
381+ return
375382 }
376383 }
377384 }
378385
379- private fun setHeaderMenu (view : View ) {
386+ fun getHeadingMenu (): PopupMenu ? {
387+ return headingMenu
388+ }
389+
390+ private fun setHeadingMenu (view : View ) {
380391 headingMenu = PopupMenu (context, view)
381392 headingMenu?.setOnMenuItemClickListener(this )
382393 headingMenu?.inflate(R .menu.heading)
383394 }
384395
385- fun getSelectedHeading (): TextFormat ? {
386- if (headingMenu?.menu?.getItem(1 )?.isChecked!! ) return TextFormat .FORMAT_HEADING_1
396+ fun getSelectedHeadingMenuItem (): TextFormat ? {
397+ if (headingMenu?.menu?.getItem(0 )?.isChecked!! ) return TextFormat .FORMAT_PARAGRAPH
398+ else if (headingMenu?.menu?.getItem(1 )?.isChecked!! ) return TextFormat .FORMAT_HEADING_1
387399 else if (headingMenu?.menu?.getItem(2 )?.isChecked!! ) return TextFormat .FORMAT_HEADING_2
388400 else if (headingMenu?.menu?.getItem(3 )?.isChecked!! ) return TextFormat .FORMAT_HEADING_3
389401 else if (headingMenu?.menu?.getItem(4 )?.isChecked!! ) return TextFormat .FORMAT_HEADING_4
0 commit comments