2018-09-15 17:21:17 +02:00
|
|
|
package org.schabi.newpipe.settings;
|
|
|
|
|
2021-10-26 19:23:48 +02:00
|
|
|
import static org.schabi.newpipe.CheckForNewAppVersion.startNewVersionCheckService;
|
|
|
|
|
2018-09-15 17:21:17 +02:00
|
|
|
import android.os.Bundle;
|
2021-10-23 21:09:53 +02:00
|
|
|
import android.widget.Toast;
|
2020-03-31 19:20:15 +02:00
|
|
|
|
2019-10-04 14:59:08 +02:00
|
|
|
import androidx.preference.Preference;
|
2018-09-15 17:21:17 +02:00
|
|
|
|
|
|
|
import org.schabi.newpipe.R;
|
|
|
|
|
|
|
|
public class UpdateSettingsFragment extends BasePreferenceFragment {
|
2020-11-18 23:50:00 +01:00
|
|
|
private final Preference.OnPreferenceChangeListener updatePreferenceChange
|
2021-08-29 08:23:56 +02:00
|
|
|
= (preference, checkForUpdates) -> {
|
2020-03-31 19:20:15 +02:00
|
|
|
defaultPreferences.edit()
|
2021-08-29 08:23:56 +02:00
|
|
|
.putBoolean(getString(R.string.update_app_key), (boolean) checkForUpdates).apply();
|
|
|
|
|
2021-10-26 19:23:48 +02:00
|
|
|
if ((boolean) checkForUpdates) {
|
|
|
|
checkNewVersionNow();
|
|
|
|
}
|
2020-03-31 19:20:15 +02:00
|
|
|
return true;
|
|
|
|
};
|
2018-09-15 17:21:17 +02:00
|
|
|
|
2021-10-22 21:07:53 +02:00
|
|
|
private final Preference.OnPreferenceClickListener manualUpdateClick
|
|
|
|
= preference -> {
|
2021-10-23 21:09:53 +02:00
|
|
|
Toast.makeText(getContext(), R.string.checking_updates_toast, Toast.LENGTH_SHORT).show();
|
|
|
|
checkNewVersionNow();
|
2021-10-22 21:07:53 +02:00
|
|
|
return true;
|
|
|
|
};
|
|
|
|
|
2021-10-23 21:09:53 +02:00
|
|
|
private void checkNewVersionNow() {
|
|
|
|
// Search for updates immediately when update checks are enabled.
|
|
|
|
// Reset the expire time. This is necessary to check for an update immediately.
|
|
|
|
defaultPreferences.edit()
|
|
|
|
.putLong(getString(R.string.update_expiry_key), 0).apply();
|
|
|
|
startNewVersionCheckService();
|
|
|
|
}
|
|
|
|
|
2018-09-15 17:21:17 +02:00
|
|
|
@Override
|
2021-03-22 21:38:36 +01:00
|
|
|
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
2021-12-24 21:35:15 +01:00
|
|
|
addPreferencesFromResourceRegistry();
|
2018-09-15 17:21:17 +02:00
|
|
|
|
2021-10-26 19:23:48 +02:00
|
|
|
findPreference(getString(R.string.update_app_key))
|
|
|
|
.setOnPreferenceChangeListener(updatePreferenceChange);
|
|
|
|
findPreference(getString(R.string.manual_update_key))
|
|
|
|
.setOnPreferenceClickListener(manualUpdateClick);
|
2018-09-15 17:21:17 +02:00
|
|
|
}
|
|
|
|
}
|