2017-09-03 08:04:18 +02:00
|
|
|
package org.schabi.newpipe.settings;
|
|
|
|
|
2020-01-25 18:00:49 +01:00
|
|
|
import android.content.SharedPreferences;
|
|
|
|
import android.os.Build;
|
2017-09-03 08:04:18 +02:00
|
|
|
import android.os.Bundle;
|
2020-01-25 18:00:49 +01:00
|
|
|
import android.provider.Settings;
|
|
|
|
import android.view.View;
|
|
|
|
|
|
|
|
import androidx.annotation.Nullable;
|
|
|
|
|
|
|
|
import com.google.android.material.snackbar.Snackbar;
|
2017-09-03 08:04:18 +02:00
|
|
|
|
|
|
|
import org.schabi.newpipe.R;
|
2020-01-25 18:00:49 +01:00
|
|
|
import org.schabi.newpipe.util.PermissionHelper;
|
2017-09-03 08:04:18 +02:00
|
|
|
|
|
|
|
public class VideoAudioSettingsFragment extends BasePreferenceFragment {
|
2020-01-25 18:00:49 +01:00
|
|
|
|
|
|
|
private SharedPreferences.OnSharedPreferenceChangeListener listener;
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
|
|
|
|
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
|
|
|
|
@Override
|
|
|
|
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) {
|
2020-01-28 15:44:35 +01:00
|
|
|
|
|
|
|
//on M and above, if user chooses to minimise to popup player on exit and the app doesn't have
|
|
|
|
//display over other apps permission, show a snackbar to let the user give permission
|
2020-01-28 16:24:24 +01:00
|
|
|
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
|
|
|
|
s.equals(getString(R.string.minimize_on_exit_key))){
|
2020-01-28 15:44:35 +01:00
|
|
|
|
2020-01-25 18:00:49 +01:00
|
|
|
String newSetting = sharedPreferences.getString(s,null);
|
2020-01-28 16:24:24 +01:00
|
|
|
if(newSetting != null
|
|
|
|
&& newSetting.equals(getString(R.string.minimize_on_exit_popup_key))
|
|
|
|
&& !Settings.canDrawOverlays(getContext())){
|
|
|
|
|
|
|
|
Snackbar.make(getListView(),R.string.permission_display_over_apps,Snackbar.LENGTH_INDEFINITE)
|
|
|
|
.setAction(R.string.settings, new View.OnClickListener() {
|
|
|
|
@Override
|
|
|
|
public void onClick(View view) {
|
|
|
|
PermissionHelper.checkSystemAlertWindowPermission(getContext());
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.show();
|
2020-01-28 15:44:35 +01:00
|
|
|
|
2020-01-25 18:00:49 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-01-28 16:24:24 +01:00
|
|
|
|
2020-01-25 18:00:49 +01:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-03 08:04:18 +02:00
|
|
|
@Override
|
|
|
|
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
|
|
|
addPreferencesFromResource(R.xml.video_audio_settings);
|
|
|
|
}
|
2020-01-25 18:00:49 +01:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onResume() {
|
|
|
|
super.onResume();
|
|
|
|
getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(listener);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onPause() {
|
|
|
|
super.onPause();
|
|
|
|
getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(listener);
|
|
|
|
}
|
2017-09-03 08:04:18 +02:00
|
|
|
}
|