show URL suggestions and data network (DHT) settings

This commit is contained in:
Akinwale Ariwodola 2020-05-22 03:54:24 +01:00
parent 1d8f0dabe6
commit 5839821f8f
3 changed files with 55 additions and 13 deletions

View file

@ -245,7 +245,7 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener
// preference keys // preference keys
public static final String PREFERENCE_KEY_DARK_MODE = "io.lbry.browser.preference.userinterface.DarkMode"; public static final String PREFERENCE_KEY_DARK_MODE = "io.lbry.browser.preference.userinterface.DarkMode";
public static final String PREFERENCE_KEY_SHOW_MATURE_CONTENT = "io.lbry.browser.preference.userinterface.ShowMatureContent"; public static final String PREFERENCE_KEY_SHOW_MATURE_CONTENT = "io.lbry.browser.preference.userinterface.ShowMatureContent";
public static final String PREFERENCE_KEY_NOTIFICATION_URL_SUGGESTIONS = "io.lbry.browser.preference.userinterface.UrlSuggestions"; public static final String PREFERENCE_KEY_SHOW_URL_SUGGESTIONS = "io.lbry.browser.preference.userinterface.UrlSuggestions";
public static final String PREFERENCE_KEY_NOTIFICATION_SUBSCRIPTIONS = "io.lbry.browser.preference.notifications.Subscriptions"; public static final String PREFERENCE_KEY_NOTIFICATION_SUBSCRIPTIONS = "io.lbry.browser.preference.notifications.Subscriptions";
public static final String PREFERENCE_KEY_NOTIFICATION_REWARDS = "io.lbry.browser.preference.notifications.Rewards"; public static final String PREFERENCE_KEY_NOTIFICATION_REWARDS = "io.lbry.browser.preference.notifications.Rewards";
public static final String PREFERENCE_KEY_NOTIFICATION_CONTENT_INTERESTS = "io.lbry.browser.preference.notifications.ContentInterests"; public static final String PREFERENCE_KEY_NOTIFICATION_CONTENT_INTERESTS = "io.lbry.browser.preference.notifications.ContentInterests";
@ -366,13 +366,6 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener
0, insets.getSystemWindowInsetBottom())); 0, insets.getSystemWindowInsetBottom()));
} }
}); });
/*ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.url_suggestions_container), new OnApplyWindowInsetsListener() {
@Override
public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
return ViewCompat.onApplyWindowInsets(v,
insets.replaceSystemWindowInsets(0, 0,0, insets.getSystemWindowInsetBottom()));
}
});*/
// register receivers // register receivers
registerRequestsReceiver(); registerRequestsReceiver();
@ -789,6 +782,12 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener
stopExoplayer(); stopExoplayer();
nowPlayingClaim = null; nowPlayingClaim = null;
nowPlayingClaimUrl = null; nowPlayingClaimUrl = null;
appStarted = false;
if (!keepSdkBackground()) {
sendBroadcast(new Intent(LbrynetService.ACTION_STOP_SERVICE));
}
super.onDestroy(); super.onDestroy();
} }
@ -915,6 +914,17 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener
return Helper.getScaledValue(value, scale); return Helper.getScaledValue(value, scale);
} }
public boolean canShowUrlSuggestions() {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
return sp.getBoolean(MainActivity.PREFERENCE_KEY_SHOW_URL_SUGGESTIONS, false);
}
public boolean keepSdkBackground() {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
return sp.getBoolean(MainActivity.PREFERENCE_KEY_KEEP_SDK_BACKGROUND, true);
}
private void setupUriBar() { private void setupUriBar() {
findViewById(R.id.wunderbar_close).setOnClickListener(new View.OnClickListener() { findViewById(R.id.wunderbar_close).setOnClickListener(new View.OnClickListener() {
@Override @Override
@ -931,11 +941,14 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, 0); imm.showSoftInput(view, 0);
} }
if (canShowUrlSuggestions()) {
toggleUrlSuggestions(hasFocus); toggleUrlSuggestions(hasFocus);
if (hasFocus && Helper.isNullOrEmpty(Helper.getValue(((EditText) view).getText()))) { if (hasFocus && Helper.isNullOrEmpty(Helper.getValue(((EditText) view).getText()))) {
displayUrlSuggestionsForNoInput(); displayUrlSuggestionsForNoInput();
} }
} }
}
}); });
wunderbar.addTextChangedListener(new TextWatcher() { wunderbar.addTextChangedListener(new TextWatcher() {
@ -946,7 +959,7 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener
@Override @Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if (charSequence != null) { if (charSequence != null && canShowUrlSuggestions()) {
handleUriInputChanged(charSequence.toString().trim()); handleUriInputChanged(charSequence.toString().trim());
} }
} }

View file

@ -2,6 +2,7 @@ package io.lbry.browser.ui.other;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle; import android.os.Bundle;
import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.ActionBar;
@ -9,9 +10,14 @@ import androidx.appcompat.app.AppCompatDelegate;
import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceManager; import androidx.preference.PreferenceManager;
import java.io.FileOutputStream;
import java.io.PrintStream;
import io.lbry.browser.MainActivity; import io.lbry.browser.MainActivity;
import io.lbry.browser.R; import io.lbry.browser.R;
import io.lbry.browser.utils.Helper;
import io.lbry.browser.utils.LbryAnalytics; import io.lbry.browser.utils.LbryAnalytics;
import io.lbry.lbrysdk.Utils;
public class SettingsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener { public class SettingsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener {
@Override @Override
@ -69,6 +75,29 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Shared
if (key.equalsIgnoreCase(MainActivity.PREFERENCE_KEY_DARK_MODE)) { if (key.equalsIgnoreCase(MainActivity.PREFERENCE_KEY_DARK_MODE)) {
boolean darkMode = sp.getBoolean(MainActivity.PREFERENCE_KEY_DARK_MODE, false); boolean darkMode = sp.getBoolean(MainActivity.PREFERENCE_KEY_DARK_MODE, false);
AppCompatDelegate.setDefaultNightMode(darkMode ? AppCompatDelegate.MODE_NIGHT_YES : AppCompatDelegate.MODE_NIGHT_NO); AppCompatDelegate.setDefaultNightMode(darkMode ? AppCompatDelegate.MODE_NIGHT_YES : AppCompatDelegate.MODE_NIGHT_NO);
} else if (key.equalsIgnoreCase(MainActivity.PREFERENCE_KEY_PARTICIPATE_DATA_NETWORK)) {
boolean dhtEnabled = sp.getBoolean(MainActivity.PREFERENCE_KEY_PARTICIPATE_DATA_NETWORK, false);
updateDHTFileSetting(dhtEnabled);
} }
} }
private void updateDHTFileSetting(final boolean enabled) {
Context context = getContext();
(new AsyncTask<Void, Void, Void>() {
protected Void doInBackground(Void... params) {
PrintStream out = null;
try {
String fileContent = enabled ? "on" : "off";
String path = String.format("%s/%s", Utils.getAppInternalStorageDir(context), "dht");
out = new PrintStream(new FileOutputStream(path));
out.print(fileContent);
} catch (Exception ex) {
// pass
} finally {
Helper.closeCloseable(out);
}
return null;
}
}).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
} }

View file

@ -215,7 +215,7 @@
<string name="content_interests">Content Interests</string> <string name="content_interests">Content Interests</string>
<string name="keep_sdk_in_background">Keep the LBRY service running in the background for improved wallet and network performance</string> <string name="keep_sdk_in_background">Keep the LBRY service running in the background for improved wallet and network performance</string>
<string name="participate_in_data_network">Participate in the data network</string> <string name="participate_in_data_network">Participate in the data network (requires app and background service restart)</string>
<!-- URL suggestions --> <!-- URL suggestions -->
<string name="search_url_title">%1$s - Search</string> <string name="search_url_title">%1$s - Search</string>