fix issue #244 by adding clear search history option to settings menu
This commit is contained in:
parent
c95e86d0d9
commit
bf17a9ee61
@ -20,6 +20,7 @@ import android.content.SharedPreferences;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
|
||||||
|
import android.provider.SearchRecentSuggestions;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
import androidx.appcompat.app.AlertDialog.Builder;
|
import androidx.appcompat.app.AlertDialog.Builder;
|
||||||
@ -30,6 +31,7 @@ import androidx.preference.PreferenceFragmentCompat;
|
|||||||
import androidx.preference.SwitchPreference;
|
import androidx.preference.SwitchPreference;
|
||||||
import net.schueller.peertube.BuildConfig;
|
import net.schueller.peertube.BuildConfig;
|
||||||
import net.schueller.peertube.R;
|
import net.schueller.peertube.R;
|
||||||
|
import net.schueller.peertube.provider.SearchSuggestionsProvider;
|
||||||
|
|
||||||
public class SettingsActivity extends CommonActivity {
|
public class SettingsActivity extends CommonActivity {
|
||||||
|
|
||||||
@ -108,6 +110,28 @@ public class SettingsActivity extends CommonActivity {
|
|||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
//clear search history buttonish
|
||||||
|
Preference button = findPreference(getString(R.string.pref_clear_history_key));
|
||||||
|
button.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
new Builder(preference.getContext())
|
||||||
|
.setTitle(R.string.clear_search_history)
|
||||||
|
.setMessage(R.string.clear_search_history_prompt)
|
||||||
|
.setIcon(R.drawable.ic_info_black_24dp)
|
||||||
|
.setNegativeButton(R.string.pref_insecure_confirm_no, (dialog, whichButton) -> {
|
||||||
|
// do nothing
|
||||||
|
})
|
||||||
|
.setPositiveButton(R.string.pref_insecure_confirm_yes, (dialog, whichButton) -> {
|
||||||
|
// OK has been pressed
|
||||||
|
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(getContext(),
|
||||||
|
SearchSuggestionsProvider.AUTHORITY,
|
||||||
|
SearchSuggestionsProvider.MODE);
|
||||||
|
suggestions.clearHistory();
|
||||||
|
}).create().show();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -71,7 +71,6 @@ public class VideoPlayActivity extends AppCompatActivity {
|
|||||||
private static final String TAG = "VideoPlayActivity";
|
private static final String TAG = "VideoPlayActivity";
|
||||||
|
|
||||||
static boolean floatMode = false;
|
static boolean floatMode = false;
|
||||||
static boolean fullStop=true;
|
|
||||||
|
|
||||||
private static final int REQUEST_CODE = 101;
|
private static final int REQUEST_CODE = 101;
|
||||||
private BroadcastReceiver receiver;
|
private BroadcastReceiver receiver;
|
||||||
@ -139,7 +138,6 @@ public class VideoPlayActivity extends AppCompatActivity {
|
|||||||
receiver = new BroadcastReceiver() {
|
receiver = new BroadcastReceiver() {
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
fullStop=true;
|
|
||||||
String action = intent.getAction();
|
String action = intent.getAction();
|
||||||
assert action != null;
|
assert action != null;
|
||||||
if (action.equals(ACTION_PAUSE)) {
|
if (action.equals(ACTION_PAUSE)) {
|
||||||
@ -152,12 +150,11 @@ public class VideoPlayActivity extends AppCompatActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (action.equals(getString(R.string.app_background_audio))) {
|
if (action.equals(getString(R.string.app_background_audio))) {
|
||||||
safeUnregisterReceiver();
|
unregisterReceiver(receiver);
|
||||||
fullStop=false;
|
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
if (action.equals(ACTION_STOP)) {
|
if (action.equals(ACTION_STOP)) {
|
||||||
safeUnregisterReceiver();
|
unregisterReceiver(receiver);
|
||||||
finishAndRemoveTask();
|
finishAndRemoveTask();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -176,7 +173,7 @@ public class VideoPlayActivity extends AppCompatActivity {
|
|||||||
assert videoPlayerFragment != null;
|
assert videoPlayerFragment != null;
|
||||||
videoPlayerFragment.showControls(true);
|
videoPlayerFragment.showControls(true);
|
||||||
if (receiver != null) {
|
if (receiver != null) {
|
||||||
safeUnregisterReceiver();
|
unregisterReceiver(receiver);
|
||||||
}
|
}
|
||||||
Log.v(TAG, "switched to normal");
|
Log.v(TAG, "switched to normal");
|
||||||
floatMode = false;
|
floatMode = false;
|
||||||
@ -336,13 +333,9 @@ public class VideoPlayActivity extends AppCompatActivity {
|
|||||||
getSupportFragmentManager().findFragmentById(R.id.video_player_fragment);
|
getSupportFragmentManager().findFragmentById(R.id.video_player_fragment);
|
||||||
|
|
||||||
assert videoPlayerFragment != null;
|
assert videoPlayerFragment != null;
|
||||||
|
videoPlayerFragment.stopVideo();
|
||||||
|
|
||||||
Log.v(TAG, "onStop()...");
|
Log.v(TAG, "onStop()...");
|
||||||
safeUnregisterReceiver();
|
|
||||||
if (fullStop) {
|
|
||||||
stopService(new Intent(this, VideoPlayerService.class));
|
|
||||||
finishAndRemoveTask();
|
|
||||||
}
|
|
||||||
finish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -505,12 +498,5 @@ public class VideoPlayActivity extends AppCompatActivity {
|
|||||||
Log.e(TAG, "videoPlayerFragment is NULL");
|
Log.e(TAG, "videoPlayerFragment is NULL");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void safeUnregisterReceiver()
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
unregisterReceiver(receiver);
|
|
||||||
} catch (Exception e) {
|
|
||||||
Log.e("VideoPlayerService", "attempted to unregister a nonregistered service");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
<string name="pref_accept_insecure" translatable="false">pref_accept_insecure</string>
|
<string name="pref_accept_insecure" translatable="false">pref_accept_insecure</string>
|
||||||
|
|
||||||
|
<string name ="pref_clear_history_key" translatable="false">pref_clear_history</string>
|
||||||
<!-- defaults -->
|
<!-- defaults -->
|
||||||
<string name="pref_default_api_base_url" formatted="false" translatable="false">https://troll.tv</string>
|
<string name="pref_default_api_base_url" formatted="false" translatable="false">https://troll.tv</string>
|
||||||
<string name="app_default_theme" translatable="false">AppTheme.BLUE</string>
|
<string name="app_default_theme" translatable="false">AppTheme.BLUE</string>
|
||||||
|
@ -84,6 +84,13 @@
|
|||||||
app:title="@string/pref_title_accept_insecure"
|
app:title="@string/pref_title_accept_insecure"
|
||||||
app:iconSpaceReserved="false"/>
|
app:iconSpaceReserved="false"/>
|
||||||
|
|
||||||
|
<Preference
|
||||||
|
app:title="@string/clear_search_history"
|
||||||
|
app:key="@string/pref_clear_history_key"
|
||||||
|
app:summary="@string/clear_search_history_prompt"
|
||||||
|
app:iconSpaceReserved="false"/>
|
||||||
|
/>
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory app:title="@string/settings_activity_about_category_title" app:iconSpaceReserved="false">
|
<PreferenceCategory app:title="@string/settings_activity_about_category_title" app:iconSpaceReserved="false">
|
||||||
|
Loading…
Reference in New Issue
Block a user