Loading java/res/layout/suggestions_strip.xml +0 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ android:layout_height="match_parent"> <TextView android:id="@+id/important_notice_title" android:text="@string/important_notice_title" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="6sp" Loading java/src/com/android/inputmethod/latin/LatinIME.java +43 −19 Original line number Diff line number Diff line Loading @@ -25,6 +25,9 @@ import android.app.AlertDialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.DialogInterface.OnDismissListener; import android.content.DialogInterface.OnShowListener; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; Loading Loading @@ -1165,27 +1168,48 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen @Override public void showImportantNoticeContents() { final Context context = this; final DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { final OnShowListener onShowListener = new OnShowListener() { @Override public void onClick(final DialogInterface di, final int position) { di.dismiss(); public void onShow(final DialogInterface dialog) { ImportantNoticeUtils.updateLastImportantNoticeVersion(context); if (position == DialogInterface.BUTTON_POSITIVE) { setNeutralSuggestionStrip(); return; onShowImportantNoticeDialog( ImportantNoticeUtils.getCurrentImportantNoticeVersion(context)); } }; final OnClickListener onClickListener = new OnClickListener() { @Override public void onClick(final DialogInterface dialog, final int position) { if (position == DialogInterface.BUTTON_NEGATIVE) { launchSettings(); return; } } }; final AlertDialog.Builder builder = new AlertDialog.Builder(context, AlertDialog.THEME_HOLO_DARK); builder.setMessage(R.string.important_notice_contents) .setPositiveButton(android.R.string.ok, listener) .setNegativeButton(R.string.go_to_settings, listener); showOptionDialog(builder.create(), true /* cancelable */); final OnDismissListener onDismissListener = new OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { setNeutralSuggestionStrip(); } }; final String importantNoticeContents = ImportantNoticeUtils.getImportantNoticeContents( context); final AlertDialog.Builder builder = new AlertDialog.Builder( context, AlertDialog.THEME_HOLO_DARK); builder.setMessage(importantNoticeContents) .setPositiveButton(android.R.string.ok, null /* listener */) .setNegativeButton(R.string.go_to_settings, onClickListener) .setOnDismissListener(onDismissListener); final AlertDialog importantNoticeDialog = builder.create(); importantNoticeDialog.setOnShowListener(onShowListener); showOptionDialog(importantNoticeDialog); } private void onShowImportantNoticeDialog(final int importantNoticeVersion) { if (importantNoticeVersion == ImportantNoticeUtils.VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS) { mSettings.writeUsePersonalizationDictionary(true /* enabled */); loadSettings(); initSuggest(); } } public void displaySettingsDialog() { Loading Loading @@ -1639,7 +1663,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen getString(R.string.language_selection_title), getString(ApplicationUtils.getActivityTitleResId(this, SettingsActivity.class)), }; final DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { final OnClickListener listener = new OnClickListener() { @Override public void onClick(DialogInterface di, int position) { di.dismiss(); Loading @@ -1660,18 +1684,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen }; final AlertDialog.Builder builder = new AlertDialog.Builder(this).setItems(items, listener).setTitle(title); showOptionDialog(builder.create(), true /*cancelable */); showOptionDialog(builder.create()); } // TODO: Move this method out of {@link LatinIME}. private void showOptionDialog(final AlertDialog dialog, final boolean cancelable) { private void showOptionDialog(final AlertDialog dialog) { final IBinder windowToken = mKeyboardSwitcher.getMainKeyboardView().getWindowToken(); if (windowToken == null) { return; } dialog.setCancelable(cancelable); dialog.setCanceledOnTouchOutside(cancelable); dialog.setCancelable(true /* cancelable */); dialog.setCanceledOnTouchOutside(true /* cancelable */); final Window window = dialog.getWindow(); final WindowManager.LayoutParams lp = window.getAttributes(); Loading java/src/com/android/inputmethod/latin/settings/Settings.java +4 −0 Original line number Diff line number Diff line Loading @@ -421,6 +421,10 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang return mPrefs.getStringSet(PREF_CORPUS_HANDLES_FOR_PERSONALIZATION, emptySet); } public void writeUsePersonalizationDictionary(final boolean enabled) { mPrefs.edit().putBoolean(PREF_USE_PERSONALIZED_DICTS, enabled).apply(); } public static void writeEmojiRecentKeys(final SharedPreferences prefs, String str) { prefs.edit().putString(PREF_EMOJI_RECENT_KEYS, str).apply(); } Loading java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java +3 −2 Original line number Diff line number Diff line Loading @@ -504,12 +504,13 @@ final class SuggestionStripLayoutHelper { hintView, 1.0f - mCenterSuggestionWeight, ViewGroup.LayoutParams.MATCH_PARENT); } public void layoutImportantNotice(final View importantNoticeStrip, final int stripWidth) { public void layoutImportantNotice(final View importantNoticeStrip, final int stripWidth, final String importantNoticeTitle) { final TextView titleView = (TextView)importantNoticeStrip.findViewById( R.id.important_notice_title); final int width = stripWidth - titleView.getPaddingLeft() - titleView.getPaddingRight(); titleView.setTextColor(mColorAutoCorrect); final CharSequence importantNoticeTitle = titleView.getText(); titleView.setText(importantNoticeTitle); titleView.setTextScaleX(1.0f); // Reset textScaleX. final float titleScaleX = getTextScaleX( importantNoticeTitle, width, titleView.getPaint()); Loading java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java +7 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Color; import android.support.v4.view.ViewCompat; import android.text.TextUtils; import android.util.AttributeSet; import android.util.TypedValue; import android.view.GestureDetector; Loading Loading @@ -236,7 +237,12 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick if (width <= 0) { return false; } mLayoutHelper.layoutImportantNotice(mImportantNoticeStrip, width); final String importantNoticeTitle = ImportantNoticeUtils.getImportantNoticeTitle( getContext()); if (TextUtils.isEmpty(importantNoticeTitle)) { return false; } mLayoutHelper.layoutImportantNotice(mImportantNoticeStrip, width, importantNoticeTitle); mStripVisibilityGroup.showImportantNoticeStrip(); mImportantNoticeStrip.setOnClickListener(this); return true; Loading Loading
java/res/layout/suggestions_strip.xml +0 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ android:layout_height="match_parent"> <TextView android:id="@+id/important_notice_title" android:text="@string/important_notice_title" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="6sp" Loading
java/src/com/android/inputmethod/latin/LatinIME.java +43 −19 Original line number Diff line number Diff line Loading @@ -25,6 +25,9 @@ import android.app.AlertDialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.DialogInterface.OnDismissListener; import android.content.DialogInterface.OnShowListener; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; Loading Loading @@ -1165,27 +1168,48 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen @Override public void showImportantNoticeContents() { final Context context = this; final DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { final OnShowListener onShowListener = new OnShowListener() { @Override public void onClick(final DialogInterface di, final int position) { di.dismiss(); public void onShow(final DialogInterface dialog) { ImportantNoticeUtils.updateLastImportantNoticeVersion(context); if (position == DialogInterface.BUTTON_POSITIVE) { setNeutralSuggestionStrip(); return; onShowImportantNoticeDialog( ImportantNoticeUtils.getCurrentImportantNoticeVersion(context)); } }; final OnClickListener onClickListener = new OnClickListener() { @Override public void onClick(final DialogInterface dialog, final int position) { if (position == DialogInterface.BUTTON_NEGATIVE) { launchSettings(); return; } } }; final AlertDialog.Builder builder = new AlertDialog.Builder(context, AlertDialog.THEME_HOLO_DARK); builder.setMessage(R.string.important_notice_contents) .setPositiveButton(android.R.string.ok, listener) .setNegativeButton(R.string.go_to_settings, listener); showOptionDialog(builder.create(), true /* cancelable */); final OnDismissListener onDismissListener = new OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { setNeutralSuggestionStrip(); } }; final String importantNoticeContents = ImportantNoticeUtils.getImportantNoticeContents( context); final AlertDialog.Builder builder = new AlertDialog.Builder( context, AlertDialog.THEME_HOLO_DARK); builder.setMessage(importantNoticeContents) .setPositiveButton(android.R.string.ok, null /* listener */) .setNegativeButton(R.string.go_to_settings, onClickListener) .setOnDismissListener(onDismissListener); final AlertDialog importantNoticeDialog = builder.create(); importantNoticeDialog.setOnShowListener(onShowListener); showOptionDialog(importantNoticeDialog); } private void onShowImportantNoticeDialog(final int importantNoticeVersion) { if (importantNoticeVersion == ImportantNoticeUtils.VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS) { mSettings.writeUsePersonalizationDictionary(true /* enabled */); loadSettings(); initSuggest(); } } public void displaySettingsDialog() { Loading Loading @@ -1639,7 +1663,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen getString(R.string.language_selection_title), getString(ApplicationUtils.getActivityTitleResId(this, SettingsActivity.class)), }; final DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { final OnClickListener listener = new OnClickListener() { @Override public void onClick(DialogInterface di, int position) { di.dismiss(); Loading @@ -1660,18 +1684,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen }; final AlertDialog.Builder builder = new AlertDialog.Builder(this).setItems(items, listener).setTitle(title); showOptionDialog(builder.create(), true /*cancelable */); showOptionDialog(builder.create()); } // TODO: Move this method out of {@link LatinIME}. private void showOptionDialog(final AlertDialog dialog, final boolean cancelable) { private void showOptionDialog(final AlertDialog dialog) { final IBinder windowToken = mKeyboardSwitcher.getMainKeyboardView().getWindowToken(); if (windowToken == null) { return; } dialog.setCancelable(cancelable); dialog.setCanceledOnTouchOutside(cancelable); dialog.setCancelable(true /* cancelable */); dialog.setCanceledOnTouchOutside(true /* cancelable */); final Window window = dialog.getWindow(); final WindowManager.LayoutParams lp = window.getAttributes(); Loading
java/src/com/android/inputmethod/latin/settings/Settings.java +4 −0 Original line number Diff line number Diff line Loading @@ -421,6 +421,10 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang return mPrefs.getStringSet(PREF_CORPUS_HANDLES_FOR_PERSONALIZATION, emptySet); } public void writeUsePersonalizationDictionary(final boolean enabled) { mPrefs.edit().putBoolean(PREF_USE_PERSONALIZED_DICTS, enabled).apply(); } public static void writeEmojiRecentKeys(final SharedPreferences prefs, String str) { prefs.edit().putString(PREF_EMOJI_RECENT_KEYS, str).apply(); } Loading
java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java +3 −2 Original line number Diff line number Diff line Loading @@ -504,12 +504,13 @@ final class SuggestionStripLayoutHelper { hintView, 1.0f - mCenterSuggestionWeight, ViewGroup.LayoutParams.MATCH_PARENT); } public void layoutImportantNotice(final View importantNoticeStrip, final int stripWidth) { public void layoutImportantNotice(final View importantNoticeStrip, final int stripWidth, final String importantNoticeTitle) { final TextView titleView = (TextView)importantNoticeStrip.findViewById( R.id.important_notice_title); final int width = stripWidth - titleView.getPaddingLeft() - titleView.getPaddingRight(); titleView.setTextColor(mColorAutoCorrect); final CharSequence importantNoticeTitle = titleView.getText(); titleView.setText(importantNoticeTitle); titleView.setTextScaleX(1.0f); // Reset textScaleX. final float titleScaleX = getTextScaleX( importantNoticeTitle, width, titleView.getPaint()); Loading
java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java +7 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Color; import android.support.v4.view.ViewCompat; import android.text.TextUtils; import android.util.AttributeSet; import android.util.TypedValue; import android.view.GestureDetector; Loading Loading @@ -236,7 +237,12 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick if (width <= 0) { return false; } mLayoutHelper.layoutImportantNotice(mImportantNoticeStrip, width); final String importantNoticeTitle = ImportantNoticeUtils.getImportantNoticeTitle( getContext()); if (TextUtils.isEmpty(importantNoticeTitle)) { return false; } mLayoutHelper.layoutImportantNotice(mImportantNoticeStrip, width, importantNoticeTitle); mStripVisibilityGroup.showImportantNoticeStrip(); mImportantNoticeStrip.setOnClickListener(this); return true; Loading