diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-09 10:11:37 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-09 10:11:37 +0300 |
| commit | b20acce27b05d24888e3a291f3f904bec5a28109 (patch) | |
| tree | deca77a80e6cd02444d687173cb1249d7a86bbe2 /org.fox.ttrss/src/main/java | |
| parent | 08d6827c651607d6ba8696ff5fbdd7c8cb445a96 (diff) | |
switch to androidx preference stuff
Diffstat (limited to 'org.fox.ttrss/src/main/java')
9 files changed, 28 insertions, 360 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java index ac162a3e..f2fbce2c 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java @@ -192,7 +192,7 @@ public class ArticleFragment extends androidx.fragment.app.Fragment { return view; } */ - m_articleFontSize = Integer.parseInt(m_prefs.getString("article_font_size_sp", "16")); + m_articleFontSize = m_prefs.getInt("article_font_size_sp_int", 16); m_articleSmallFontSize = Math.max(10, Math.min(18, m_articleFontSize - 2)); TextView title = view.findViewById(R.id.title); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java index 723b0069..b6953bc6 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java @@ -931,7 +931,7 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { public void onBindViewHolder(final ArticleViewHolder holder, int position) { holder.article = items.get(position); - int headlineFontSize = Integer.parseInt(m_prefs.getString("headlines_font_size_sp", "13")); + int headlineFontSize = m_prefs.getInt("headlines_font_size_sp_int", 13); int headlineSmallFontSize = Math.max(10, Math.min(18, headlineFontSize - 2)); final Article article = holder.article; diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/NetworkPreferencesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/NetworkPreferencesFragment.java index 8e0e6519..b279f307 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/NetworkPreferencesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/NetworkPreferencesFragment.java @@ -1,15 +1,14 @@ package org.fox.ttrss; import android.os.Bundle; -import android.preference.PreferenceFragment; -public class NetworkPreferencesFragment extends PreferenceFragment { +import androidx.annotation.Nullable; +import androidx.preference.PreferenceFragmentCompat; - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); +public class NetworkPreferencesFragment extends PreferenceFragmentCompat { - // Load the preferences from an XML resource - addPreferencesFromResource(R.xml.preferences_network); + @Override + public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { + setPreferencesFromResource(R.xml.preferences_network, rootKey); } }
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java index 7c0c7e3e..9ac9f56c 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java @@ -5,6 +5,7 @@ import android.preference.PreferenceManager; import android.view.MenuItem; import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.FragmentTransaction; public class PreferencesActivity extends CommonActivity { @Override @@ -26,7 +27,7 @@ public class PreferencesActivity extends CommonActivity { getSupportActionBar().setHomeButtonEnabled(true); if (savedInstanceState == null) { - android.app.FragmentTransaction ft = getFragmentManager().beginTransaction(); + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.preferences_container, new PreferencesFragment()); ft.commit(); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java index 14639abb..af4c6b44 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java @@ -5,30 +5,31 @@ import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; -import android.preference.Preference; -import android.preference.PreferenceFragment; -import android.preference.PreferenceManager; + +import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.preference.Preference; +import androidx.preference.PreferenceFragmentCompat; +import androidx.preference.PreferenceManager; import java.text.SimpleDateFormat; import java.util.Date; -public class PreferencesFragment extends PreferenceFragment { +public class PreferencesFragment extends PreferenceFragmentCompat { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - // Load the preferences from an XML resource - addPreferencesFromResource(R.xml.preferences); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); findPreference("ttrss_url").setSummary(prefs.getString("ttrss_url", getString(R.string.ttrss_url_summary))); findPreference("login").setSummary(prefs.getString("login", getString(R.string.login_summary))); - findPreference("show_logcat").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + findPreference("show_logcat").setOnPreferenceClickListener(new androidx.preference.Preference.OnPreferenceClickListener() { @Override - public boolean onPreferenceClick(Preference preference) { + public boolean onPreferenceClick(@NonNull androidx.preference.Preference preference) { Intent intent = new Intent(getActivity(), LogcatActivity.class); startActivity(intent); return false; @@ -38,7 +39,7 @@ public class PreferencesFragment extends PreferenceFragment { findPreference("network_settings").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { - getFragmentManager() + getActivity().getSupportFragmentManager() .beginTransaction() .replace(R.id.preferences_container, new NetworkPreferencesFragment() ) .addToBackStack( NetworkPreferencesFragment.class.getSimpleName() ) @@ -74,4 +75,9 @@ public class PreferencesFragment extends PreferenceFragment { } } + + @Override + public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { + setPreferencesFromResource(R.xml.preferences,rootKey); + } }
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java index 853f960e..7994b576 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java @@ -662,8 +662,8 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis final ArticleViewHolder holder; final int articleId = article.getInt(0); - - int headlineFontSize = Integer.parseInt(m_prefs.getString("headlines_font_size_sp", "13")); + + int headlineFontSize = m_prefs.getInt("headlines_font_size_sp_int", 13); int headlineSmallFontSize = Math.max(10, Math.min(18, headlineFontSize - 2)); if (v == null) { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/FontSizeDialogPreference.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/FontSizeDialogPreference.java deleted file mode 100644 index 3f3d1a53..00000000 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/FontSizeDialogPreference.java +++ /dev/null @@ -1,224 +0,0 @@ -package org.fox.ttrss.util; - -// http://www.lukehorvat.com/blog/android-seekbardialogpreference/ - -import android.content.Context; -import android.content.res.TypedArray; -import android.os.Parcel; -import android.os.Parcelable; -import android.preference.DialogPreference; -import android.util.AttributeSet; -import android.util.TypedValue; -import android.view.View; -import android.widget.SeekBar; -import android.widget.SeekBar.OnSeekBarChangeListener; -import android.widget.TextView; - -import org.fox.ttrss.R; - -/** - * A {@link DialogPreference} that provides a user with the means to select an - * integer from a {@link SeekBar}, and persist it. - * - * @author lukehorvat - * - */ -public class FontSizeDialogPreference extends DialogPreference { - private static final int DEFAULT_MIN_PROGRESS = 9; - private static final int DEFAULT_MAX_PROGRESS = 24; - private static final String DEFAULT_PROGRESS = "0"; - - private int mMinProgress = DEFAULT_MIN_PROGRESS; - private int mMaxProgress = DEFAULT_MAX_PROGRESS; - private int mProgress; - private CharSequence mProgressTextSuffix; - private TextView mProgressText; - private SeekBar mSeekBar; - - public FontSizeDialogPreference(Context context) { - this(context, null); - } - - public FontSizeDialogPreference(Context context, AttributeSet attrs) { - super(context, attrs); - - setProgressTextSuffix(" " + context.getString(R.string.font_size_dialog_suffix)); - - // set layout - setDialogLayoutResource(R.layout.settings_select_font_size); - setPositiveButtonText(android.R.string.ok); - setNegativeButtonText(android.R.string.cancel); - setDialogIcon(null); - } - - @Override - protected void onSetInitialValue(boolean restore, Object defaultValue) { - setProgress(restore ? Integer.valueOf(getPersistedString(DEFAULT_PROGRESS)) - : Integer.valueOf((String)defaultValue)); - } - - @Override - protected Object onGetDefaultValue(TypedArray a, int index) { - return a.getString(index); - } - - @Override - protected void onBindDialogView(View view) { - super.onBindDialogView(view); - - mProgressText = (TextView) view.findViewById(R.id.text_progress); - - mSeekBar = (SeekBar) view.findViewById(R.id.seek_bar); - mSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { - @Override - public void onStopTrackingTouch(SeekBar seekBar) { - } - - @Override - public void onStartTrackingTouch(SeekBar seekBar) { - } - - @Override - public void onProgressChanged(SeekBar seekBar, int progress, - boolean fromUser) { - // update text that displays the current SeekBar progress value - // note: this does not persist the progress value. that is only - // ever done in setProgress() - String progressStr = String.valueOf(progress + mMinProgress); - mProgressText.setText(mProgressTextSuffix == null ? progressStr - : progressStr.concat(mProgressTextSuffix.toString())); - mProgressText.setTextSize(TypedValue.COMPLEX_UNIT_SP, progress + mMinProgress); - } - }); - - mSeekBar.setMax(mMaxProgress - mMinProgress); - mSeekBar.setProgress(mProgress - mMinProgress); - } - - public int getMinProgress() { - return mMinProgress; - } - - public void setMinProgress(int minProgress) { - mMinProgress = minProgress; - setProgress(Math.max(mProgress, mMinProgress)); - } - - public int getMaxProgress() { - return mMaxProgress; - } - - public void setMaxProgress(int maxProgress) { - mMaxProgress = maxProgress; - setProgress(Math.min(mProgress, mMaxProgress)); - } - - public int getProgress() { - return mProgress; - } - - public void setProgress(int progress) { - progress = Math.max(Math.min(progress, mMaxProgress), mMinProgress); - - if (progress != mProgress) { - mProgress = progress; - persistString(String.valueOf(progress)); - notifyChanged(); - } - } - - public CharSequence getProgressTextSuffix() { - return mProgressTextSuffix; - } - - public void setProgressTextSuffix(CharSequence progressTextSuffix) { - mProgressTextSuffix = progressTextSuffix; - } - - @Override - protected void onDialogClosed(boolean positiveResult) { - super.onDialogClosed(positiveResult); - - // when the user selects "OK", persist the new value - if (positiveResult) { - int seekBarProgress = mSeekBar.getProgress() + mMinProgress; - if (callChangeListener(seekBarProgress)) { - setProgress(seekBarProgress); - } - } - } - - @Override - protected Parcelable onSaveInstanceState() { - // save the instance state so that it will survive screen orientation - // changes and other events that may temporarily destroy it - final Parcelable superState = super.onSaveInstanceState(); - - // set the state's value with the class member that holds current - // setting value - final SavedState myState = new SavedState(superState); - myState.minProgress = getMinProgress(); - myState.maxProgress = getMaxProgress(); - myState.progress = getProgress(); - - return myState; - } - - @Override - protected void onRestoreInstanceState(Parcelable state) { - // check whether we saved the state in onSaveInstanceState() - if (state == null || !state.getClass().equals(SavedState.class)) { - // didn't save the state, so call superclass - super.onRestoreInstanceState(state); - return; - } - - // restore the state - SavedState myState = (SavedState) state; - setMinProgress(myState.minProgress); - setMaxProgress(myState.maxProgress); - setProgress(myState.progress); - - super.onRestoreInstanceState(myState.getSuperState()); - } - - private static class SavedState extends BaseSavedState { - int minProgress; - int maxProgress; - int progress; - - public SavedState(Parcelable superState) { - super(superState); - } - - public SavedState(Parcel source) { - super(source); - - minProgress = source.readInt(); - maxProgress = source.readInt(); - progress = source.readInt(); - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - super.writeToParcel(dest, flags); - - dest.writeInt(minProgress); - dest.writeInt(maxProgress); - dest.writeInt(progress); - } - - @SuppressWarnings("unused") - public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.Creator<SavedState>() { - @Override - public SavedState createFromParcel(Parcel in) { - return new SavedState(in); - } - - @Override - public SavedState[] newArray(int size) { - return new SavedState[size]; - } - }; - } -}
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenSwitchPreference.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenSwitchPreference.java deleted file mode 100644 index df116064..00000000 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenSwitchPreference.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.fox.ttrss.util; - -// android is shit garbage -// https://code.google.com/p/android/issues/detail?id=26194 - -import android.content.Context; -import android.preference.SwitchPreference; -import android.util.AttributeSet; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Switch; - -public class LessBrokenSwitchPreference extends SwitchPreference { - - /** - * Construct a new SwitchPreference with the given style options. - * - * @param context The Context that will style this preference - * @param attrs Style attributes that differ from the default - * @param defStyle Theme attribute defining the default style options - */ - public LessBrokenSwitchPreference(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - /** - * Construct a new SwitchPreference with the given style options. - * - * @param context The Context that will style this preference - * @param attrs Style attributes that differ from the default - */ - public LessBrokenSwitchPreference(Context context, AttributeSet attrs) { - super(context, attrs); - } - - /** - * Construct a new SwitchPreference with default style options. - * - * @param context The Context that will style this preference - */ - public LessBrokenSwitchPreference(Context context) { - super(context, null); - } - - @Override - protected void onBindView(View view) { - // Clean listener before invoke SwitchPreference.onBindView - ViewGroup viewGroup= (ViewGroup)view; - clearListenerInViewGroup(viewGroup); - super.onBindView(view); - } - - /** - * Clear listener in Switch for specify ViewGroup. - * - * @param viewGroup The ViewGroup that will need to clear the listener. - */ - private void clearListenerInViewGroup(ViewGroup viewGroup) { - if (null == viewGroup) { - return; - } - - int count = viewGroup.getChildCount(); - for(int n = 0; n < count; ++n) { - View childView = viewGroup.getChildAt(n); - if(childView instanceof Switch) { - final Switch switchView = (Switch) childView; - switchView.setOnCheckedChangeListener(null); - return; - } else if (childView instanceof ViewGroup){ - ViewGroup childGroup = (ViewGroup)childView; - clearListenerInViewGroup(childGroup); - } - } - } - -}
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenWebView.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenWebView.java deleted file mode 100644 index 4a3ea826..00000000 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenWebView.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.fox.ttrss.util; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.webkit.WebView; - -public class LessBrokenWebView extends WebView { - - public LessBrokenWebView(Context context) { - super(context); - // TODO Auto-generated constructor stub - } - - public LessBrokenWebView(Context context, AttributeSet attrs) { - super(context, attrs); - // TODO Auto-generated constructor stub - } - - public LessBrokenWebView(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - // TODO Auto-generated constructor stub - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - - if (event.getAction() == MotionEvent.ACTION_DOWN) { - int temp_ScrollY = getScrollY(); - scrollTo(getScrollX(), getScrollY() + 1); - scrollTo(getScrollX(), temp_ScrollY); - } - - return super.onTouchEvent(event); - } - -} |