Fix empty custom input style entry appears after orientation change

Bug: 6495828
Change-Id: I77c44e24340cff4e0702ac6dee02e4dd84076f3e
diff --git a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java
index be807ab..0bde2c0 100644
--- a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java
+++ b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java
@@ -131,6 +131,7 @@
 
     private interface SubtypeDialogProxy {
         public void onRemovePressed(SubtypePreference subtypePref);
+        public void onAddPressed(SubtypePreference subtypePref);
         public SubtypeLocaleAdapter getSubtypeLocaleAdapter();
         public KeyboardLayoutSetAdapter getKeyboardLayoutSetAdapter();
     }
@@ -241,6 +242,7 @@
             super.onClick(dialog, which);
             switch (which) {
             case DialogInterface.BUTTON_POSITIVE:
+                final boolean addPressed = isIncomplete();
                 final SubtypeLocaleItem locale =
                         (SubtypeLocaleItem) mSubtypeLocaleSpinner.getSelectedItem();
                 final KeyboardLayoutSetItem layout =
@@ -249,6 +251,9 @@
                         locale.first, layout.first, ASCII_CAPABLE);
                 setSubtype(subtype);
                 notifyChanged();
+                if (addPressed) {
+                    mProxy.onAddPressed(this);
+                }
                 break;
             case DialogInterface.BUTTON_NEUTRAL:
                 // Nothing to do
@@ -391,6 +396,11 @@
         }
 
         @Override
+        public void onAddPressed(SubtypePreference subtypePref) {
+            mIsAddingNewSubtype = false;
+        }
+
+        @Override
         public SubtypeLocaleAdapter getSubtypeLocaleAdapter() {
             return mSubtypeLocaleAdapter;
         }