@@ -57,6 +57,8 @@ public class SpaceNavigationView extends RelativeLayout {
5757
5858 private static final String SPACE_BACKGROUND_COLOR_KEY = "backgroundColorKey" ;
5959
60+ private static final String BADGE_FULL_TEXT_KEY = "badgeFullTextKey" ;
61+
6062 private static final int NOT_DEFINED = -777 ; //random number, not - 1 because it is Color.WHITE
6163
6264 private static final int MAX_SPACE_ITEM_SIZE = 4 ;
@@ -127,6 +129,8 @@ public class SpaceNavigationView extends RelativeLayout {
127129
128130 private boolean isCustomFont = false ;
129131
132+ private boolean shouldShowBadgeWithNinePlus = true ;
133+
130134 /**
131135 * Constructors
132136 */
@@ -584,11 +588,21 @@ private void restoreCurrentItem() {
584588 @ SuppressWarnings ("unchecked" )
585589 private void restoreBadges () {
586590 Bundle restoredBundle = savedInstanceState ;
587- if (restoredBundle != null && restoredBundle .containsKey (BUDGES_ITEM_BUNDLE_KEY )) {
588- badgeSaveInstanceHashMap = (HashMap <Integer , Object >) savedInstanceState .getSerializable (BUDGES_ITEM_BUNDLE_KEY );
589- if (badgeSaveInstanceHashMap != null ) {
590- for (Integer integer : badgeSaveInstanceHashMap .keySet ()) {
591- BadgeHelper .forceShowBadge (badgeList .get (integer ), (BadgeItem ) badgeSaveInstanceHashMap .get (integer ));
591+
592+ if (restoredBundle != null ) {
593+ if (restoredBundle .containsKey (BADGE_FULL_TEXT_KEY )) {
594+ shouldShowBadgeWithNinePlus = restoredBundle .getBoolean (BADGE_FULL_TEXT_KEY );
595+ }
596+
597+ if (restoredBundle .containsKey (BUDGES_ITEM_BUNDLE_KEY )) {
598+ badgeSaveInstanceHashMap = (HashMap <Integer , Object >) savedInstanceState .getSerializable (BUDGES_ITEM_BUNDLE_KEY );
599+ if (badgeSaveInstanceHashMap != null ) {
600+ for (Integer integer : badgeSaveInstanceHashMap .keySet ()) {
601+ BadgeHelper .forceShowBadge (
602+ badgeList .get (integer ),
603+ (BadgeItem ) badgeSaveInstanceHashMap .get (integer ),
604+ shouldShowBadgeWithNinePlus );
605+ }
592606 }
593607 }
594608 }
@@ -667,6 +681,7 @@ public void onSaveInstanceState(Bundle outState) {
667681 outState .putInt (CURRENT_SELECTED_ITEM_BUNDLE_KEY , currentSelectedItem );
668682 outState .putInt (CENTRE_BUTTON_ICON_KEY , centreButtonIcon );
669683 outState .putInt (SPACE_BACKGROUND_COLOR_KEY , spaceBackgroundColor );
684+ outState .putBoolean (BADGE_FULL_TEXT_KEY , shouldShowBadgeWithNinePlus );
670685
671686 if (badgeSaveInstanceHashMap .size () > 0 )
672687 outState .putSerializable (BUDGES_ITEM_BUNDLE_KEY , badgeSaveInstanceHashMap );
@@ -831,7 +846,7 @@ public void showBadgeAtIndex(int itemIndex, int badgeText, @ColorInt int badgeCo
831846 }
832847
833848 BadgeItem badgeItem = new BadgeItem (itemIndex , badgeText , badgeColor );
834- BadgeHelper .showBadge (badgeView , badgeItem );
849+ BadgeHelper .showBadge (badgeView , badgeItem , shouldShowBadgeWithNinePlus );
835850 badgeSaveInstanceHashMap .put (itemIndex , badgeItem );
836851 }
837852 }
@@ -872,7 +887,10 @@ public void changeBadgeTextAtIndex(int badgeIndex, int badgeText) {
872887 (((BadgeItem ) badgeSaveInstanceHashMap .get (badgeIndex )).getIntBadgeText () != badgeText )) {
873888 BadgeItem currentBadgeItem = (BadgeItem ) badgeSaveInstanceHashMap .get (badgeIndex );
874889 BadgeItem badgeItemForSave = new BadgeItem (badgeIndex , badgeText , currentBadgeItem .getBadgeColor ());
875- BadgeHelper .forceShowBadge (badgeList .get (badgeIndex ), badgeItemForSave );
890+ BadgeHelper .forceShowBadge (
891+ badgeList .get (badgeIndex ),
892+ badgeItemForSave ,
893+ shouldShowBadgeWithNinePlus );
876894 badgeSaveInstanceHashMap .put (badgeIndex , badgeItemForSave );
877895 }
878896 }
@@ -955,4 +973,14 @@ public void changeSpaceBackgroundColor(@ColorInt int color) {
955973 setBackgroundColors ();
956974 centreContent .changeBackgroundColor (color );
957975 }
976+
977+
978+ /**
979+ * If you want to show full badge text or show 9+
980+ *
981+ * @param shouldShowBadgeWithNinePlus false for full text
982+ */
983+ public void shouldShowFullBadgeText (boolean shouldShowBadgeWithNinePlus ) {
984+ this .shouldShowBadgeWithNinePlus = shouldShowBadgeWithNinePlus ;
985+ }
958986}
0 commit comments