Add Check for updates button

This commit is contained in:
vhouriet 2021-10-22 21:07:53 +02:00 committed by litetex
parent 7067deb328
commit 85fb5827aa
5 changed files with 28 additions and 2 deletions

View file

@ -17,8 +17,11 @@ public class MainSettingsFragment extends BasePreferenceFragment {
addPreferencesFromResource(R.xml.main_settings);
if (!CheckForNewAppVersion.isGithubApk(App.getApp())) {
final Preference update = findPreference(getString(R.string.update_pref_screen_key));
getPreferenceScreen().removePreference(update);
if (!DEBUG) {
final Preference update
= findPreference(getString(R.string.update_pref_screen_key));
getPreferenceScreen().removePreference(update);
}
defaultPreferences.edit().putBoolean(getString(R.string.update_app_key), false).apply();
}

View file

@ -1,5 +1,7 @@
package org.schabi.newpipe.settings;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import androidx.preference.Preference;
@ -9,6 +11,8 @@ import org.schabi.newpipe.R;
import static org.schabi.newpipe.CheckForNewAppVersion.startNewVersionCheckService;
public class UpdateSettingsFragment extends BasePreferenceFragment {
private static final String RELEASES_URL = "https://github.com/TeamNewPipe/NewPipe/releases";
private final Preference.OnPreferenceChangeListener updatePreferenceChange
= (preference, checkForUpdates) -> {
defaultPreferences.edit()
@ -24,11 +28,20 @@ public class UpdateSettingsFragment extends BasePreferenceFragment {
return true;
};
private final Preference.OnPreferenceClickListener manualUpdateClick
= preference -> {
final Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(RELEASES_URL));
startActivity(browserIntent);
return true;
};
@Override
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
addPreferencesFromResource(R.xml.update_settings);
final String updateToggleKey = getString(R.string.update_app_key);
final String manualUpdateKey = getString(R.string.manual_update_key);
findPreference(updateToggleKey).setOnPreferenceChangeListener(updatePreferenceChange);
findPreference(manualUpdateKey).setOnPreferenceClickListener(manualUpdateClick);
}
}