added an alternative suggestion scrolling method to fix invisible suggestions on some older devices
This commit is contained in:
parent
a1235e95ac
commit
936c7d3479
14 changed files with 48 additions and 1 deletions
|
|
@ -265,6 +265,10 @@ public class SettingsStore {
|
|||
|
||||
/************* internal settings *************/
|
||||
|
||||
public int getSuggestionScrollingDelay() {
|
||||
return prefs.getBoolean("pref_alternative_suggestion_scrolling", false) ? 200 : 0;
|
||||
}
|
||||
|
||||
public int getDictionaryImportProgressUpdateInterval() { return 250; /* ms */ }
|
||||
public int getDictionaryImportWordChunkSize() { return 1000; /* words */ }
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
|
|||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Handler;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
|
@ -27,12 +28,17 @@ public class SuggestionsBar {
|
|||
private final TraditionalT9 tt9;
|
||||
private SuggestionsAdapter mSuggestionsAdapter;
|
||||
|
||||
private final Handler alternativeScrollingHandler = new Handler();
|
||||
private final int suggestionScrollingDelay;
|
||||
|
||||
|
||||
public SuggestionsBar(TraditionalT9 tt9, View mainView) {
|
||||
super();
|
||||
|
||||
this.tt9 = tt9;
|
||||
|
||||
suggestionScrollingDelay = tt9.getSettings().getSuggestionScrollingDelay();
|
||||
|
||||
mView = mainView.findViewById(R.id.suggestions_bar);
|
||||
mView.setLayoutManager(new LinearLayoutManager(mainView.getContext(), RecyclerView.HORIZONTAL,false));
|
||||
|
||||
|
|
@ -148,7 +154,11 @@ public class SuggestionsBar {
|
|||
mSuggestionsAdapter.notifyItemChanged(oldIndex);
|
||||
mSuggestionsAdapter.notifyItemChanged(selectedIndex);
|
||||
|
||||
mView.scrollToPosition(selectedIndex);
|
||||
if (suggestionScrollingDelay > 0) {
|
||||
alternativeScrollingHandler.postDelayed(() -> mView.scrollToPosition(selectedIndex), suggestionScrollingDelay);
|
||||
} else {
|
||||
mView.scrollToPosition(selectedIndex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue