Browse Source

Merge pull request #529 from twig/auto-daynight-theme

Automatically switch between day/night themes
pull/536/head
Eric Kok 5 years ago committed by GitHub
parent
commit
505688eb6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      app/src/main/java/org/transdroid/core/app/settings/ApplicationSettings.java
  2. 38
      app/src/main/java/org/transdroid/core/app/settings/SettingsUtils.java
  3. 9
      app/src/main/java/org/transdroid/core/app/settings/SystemSettings.java
  4. 7
      app/src/main/java/org/transdroid/core/gui/DetailsActivity.java
  5. 6
      app/src/main/java/org/transdroid/core/gui/DetailsFragment.java
  6. 8
      app/src/main/java/org/transdroid/core/gui/TorrentsActivity.java
  7. 39
      app/src/main/java/org/transdroid/core/gui/navigation/SetLabelDialog.java
  8. 25
      app/src/main/java/org/transdroid/core/gui/navigation/SetStorageLocationDialog.java
  9. 22
      app/src/main/java/org/transdroid/core/gui/navigation/SetTrackersDialog.java
  10. 49
      app/src/main/java/org/transdroid/core/gui/navigation/SetTransferRatesDialog.java
  11. 7
      app/src/main/java/org/transdroid/core/gui/remoterss/RemoteRssActivity.java
  12. 7
      app/src/main/java/org/transdroid/core/gui/rss/RssfeedsActivity.java
  13. 7
      app/src/main/java/org/transdroid/core/gui/rss/RssitemsActivity.java
  14. 7
      app/src/main/java/org/transdroid/core/gui/search/SearchActivity.java
  15. 6
      app/src/main/java/org/transdroid/core/gui/search/SearchResultsFragment.java
  16. 8
      app/src/main/java/org/transdroid/core/widget/ListWidgetConfig.java
  17. 5
      app/src/main/java/org/transdroid/core/widget/ListWidgetConfigActivity.java
  18. 4
      app/src/main/java/org/transdroid/core/widget/ListWidgetPreviewAdapter.java
  19. 3
      app/src/main/java/org/transdroid/core/widget/ListWidgetProvider.java
  20. 5
      app/src/main/java/org/transdroid/core/widget/ListWidgetViewsService.java
  21. 4
      app/src/main/res/drawable-night/details_list_background.xml
  22. 0
      app/src/main/res/drawable-night/loading_progress.xml
  23. 4
      app/src/main/res/drawable/details_list_background.xml
  24. 0
      app/src/main/res/drawable/loading_progress.xml
  25. 12
      app/src/main/res/layout/activity_widgetconfig.xml
  26. 4
      app/src/main/res/layout/list_item_widget.xml
  27. 70
      app/src/main/res/layout/list_item_widget_light.xml
  28. 17
      app/src/main/res/layout/widget_torrents.xml
  29. 222
      app/src/main/res/layout/widget_torrents_dark.xml
  30. 1
      app/src/main/res/values-bg/strings.xml
  31. 1
      app/src/main/res/values-cs/strings.xml
  32. 1
      app/src/main/res/values-da/strings.xml
  33. 1
      app/src/main/res/values-de/strings.xml
  34. 1
      app/src/main/res/values-es/strings.xml
  35. 1
      app/src/main/res/values-fa/strings.xml
  36. 1
      app/src/main/res/values-fr/strings.xml
  37. 1
      app/src/main/res/values-he/strings.xml
  38. 1
      app/src/main/res/values-hu/strings.xml
  39. 1
      app/src/main/res/values-it/strings.xml
  40. 1
      app/src/main/res/values-ja/strings.xml
  41. 1
      app/src/main/res/values-ko/strings.xml
  42. 9
      app/src/main/res/values-night/colors_transdroid.xml
  43. 15
      app/src/main/res/values-night/styles_transdroid.xml
  44. 1
      app/src/main/res/values-nl/strings.xml
  45. 1
      app/src/main/res/values-pl/strings.xml
  46. 1
      app/src/main/res/values-pt-rBR/strings.xml
  47. 1
      app/src/main/res/values-pt/strings.xml
  48. 1
      app/src/main/res/values-ru/strings.xml
  49. 1
      app/src/main/res/values-sl/strings.xml
  50. 1
      app/src/main/res/values-sv/strings.xml
  51. 1
      app/src/main/res/values-tr/strings.xml
  52. 10
      app/src/main/res/values-v21/styles.xml
  53. 1
      app/src/main/res/values-zh-rCN/strings.xml
  54. 10
      app/src/main/res/values/colors_transdroid.xml
  55. 863
      app/src/main/res/values/strings.xml
  56. 8
      app/src/main/res/values/styles.xml
  57. 15
      app/src/main/res/values/styles_transdroid.xml
  58. 4
      app/src/main/res/xml/listwidget_info.xml
  59. 8
      app/src/main/res/xml/pref_system.xml

4
app/src/main/java/org/transdroid/core/app/settings/ApplicationSettings.java

@ -712,8 +712,7 @@ public class ApplicationSettings { @@ -712,8 +712,7 @@ public class ApplicationSettings {
StatusType.valueOf(prefs.getString("widget_status_" + appWidgetId, StatusType.ShowAll.name())),
TorrentsSortBy.valueOf(prefs.getString("widget_sortby_" + appWidgetId, TorrentsSortBy.Alphanumeric.name())),
prefs.getBoolean("widget_reverse_" + appWidgetId, false),
prefs.getBoolean("widget_showstatus_" + appWidgetId, false),
prefs.getBoolean("widget_darktheme_" + appWidgetId, false));
prefs.getBoolean("widget_showstatus_" + appWidgetId, false));
// @formatter:on
}
@ -733,7 +732,6 @@ public class ApplicationSettings { @@ -733,7 +732,6 @@ public class ApplicationSettings {
edit.putString("widget_sortby_" + appWidgetId, settings.getSortBy().name());
edit.putBoolean("widget_reverse_" + appWidgetId, settings.shouldReserveSort());
edit.putBoolean("widget_showstatus_" + appWidgetId, settings.shouldShowStatusView());
edit.putBoolean("widget_darktheme_" + appWidgetId, settings.shouldUseDarkTheme());
edit.apply();
}

38
app/src/main/java/org/transdroid/core/app/settings/SettingsUtils.java

@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
package org.transdroid.core.app.settings;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.AppCompatDelegate;
import com.afollestad.materialdialogs.MaterialDialog;
import com.afollestad.materialdialogs.Theme;
public class SettingsUtils {
/**
* Set the theme according to the user preference.
*/
public static void applyDayNightTheme(AppCompatActivity activity) {
SystemSettings settings = SystemSettings_.getInstance_(activity);
if (settings.autoDarkTheme()) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
} else {
AppCompatDelegate.setDefaultNightMode(settings.useDarkTheme() ?
AppCompatDelegate.MODE_NIGHT_YES :
AppCompatDelegate.MODE_NIGHT_NO
);
}
}
public static MaterialDialog.Builder applyDialogTheme(MaterialDialog.Builder builder) {
SystemSettings settings = SystemSettings_.getInstance_(builder.getContext());
if (settings.autoDarkTheme()) {
return builder;
}
return builder.theme(settings.useDarkTheme() ? Theme.DARK: Theme.LIGHT);
}
}

9
app/src/main/java/org/transdroid/core/app/settings/SystemSettings.java

@ -26,7 +26,6 @@ import android.content.Context; @@ -26,7 +26,6 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import com.afollestad.materialdialogs.Theme;
/**
* Allows instantiation of the settings specified in R.xml.pref_system.
@ -59,12 +58,12 @@ public class SystemSettings { @@ -59,12 +58,12 @@ public class SystemSettings {
return prefs.getBoolean("system_checkupdates", true);
}
public boolean useDarkTheme() {
return prefs.getBoolean("system_usedarktheme", false);
public boolean autoDarkTheme() {
return prefs.getBoolean("system_autodarktheme", true);
}
public Theme getMaterialDialogtheme() {
return useDarkTheme() ? Theme.DARK: Theme.LIGHT;
public boolean useDarkTheme() {
return prefs.getBoolean("system_usedarktheme", false);
}
/**

7
app/src/main/java/org/transdroid/core/gui/DetailsActivity.java

@ -40,7 +40,7 @@ import org.androidannotations.annotations.ViewById; @@ -40,7 +40,7 @@ import org.androidannotations.annotations.ViewById;
import org.transdroid.R;
import org.transdroid.core.app.settings.ApplicationSettings;
import org.transdroid.core.app.settings.ServerSetting;
import org.transdroid.core.app.settings.SystemSettings_;
import org.transdroid.core.app.settings.SettingsUtils;
import org.transdroid.core.gui.lists.LocalTorrent;
import org.transdroid.core.gui.log.Log;
import org.transdroid.core.gui.navigation.Label;
@ -114,10 +114,7 @@ public class DetailsActivity extends AppCompatActivity implements TorrentTasksEx @@ -114,10 +114,7 @@ public class DetailsActivity extends AppCompatActivity implements TorrentTasksEx
@Override
public void onCreate(Bundle savedInstanceState) {
// Set the theme according to the user preference
if (SystemSettings_.getInstance_(this).useDarkTheme()) {
setTheme(R.style.TransdroidTheme_Dark);
}
SettingsUtils.applyDayNightTheme(this);
super.onCreate(savedInstanceState);
}

6
app/src/main/java/org/transdroid/core/gui/DetailsFragment.java

@ -122,11 +122,7 @@ public class DetailsFragment extends Fragment implements OnTrackersUpdatedListen @@ -122,11 +122,7 @@ public class DetailsFragment extends Fragment implements OnTrackersUpdatedListen
// On large screens where this fragment is shown next to the torrents list, we show a continues grey vertical
// line to separate the lists visually
if (!NavigationHelper_.getInstance_(getActivity()).isSmallScreen()) {
if (SystemSettings_.getInstance_(getActivity()).useDarkTheme()) {
detailsContainer.setBackgroundResource(R.drawable.details_list_background_dark);
} else {
detailsContainer.setBackgroundResource(R.drawable.details_list_background_light);
}
detailsContainer.setBackgroundResource(R.drawable.details_list_background);
}
createMenuOptions();

8
app/src/main/java/org/transdroid/core/gui/TorrentsActivity.java

@ -68,8 +68,8 @@ import org.transdroid.R; @@ -68,8 +68,8 @@ import org.transdroid.R;
import org.transdroid.core.app.search.SearchHelper_;
import org.transdroid.core.app.settings.ApplicationSettings;
import org.transdroid.core.app.settings.ServerSetting;
import org.transdroid.core.app.settings.SettingsUtils;
import org.transdroid.core.app.settings.SystemSettings;
import org.transdroid.core.app.settings.SystemSettings_;
import org.transdroid.core.app.settings.WebsearchSetting;
import org.transdroid.core.gui.lists.LocalTorrent;
import org.transdroid.core.gui.lists.SimpleListItem;
@ -221,10 +221,8 @@ public class TorrentsActivity extends AppCompatActivity implements TorrentTasksE @@ -221,10 +221,8 @@ public class TorrentsActivity extends AppCompatActivity implements TorrentTasksE
@Override
public void onCreate(Bundle savedInstanceState) {
// Set the theme according to the user preference
if (SystemSettings_.getInstance_(this).useDarkTheme()) {
setTheme(R.style.TransdroidTheme_Dark);
}
SettingsUtils.applyDayNightTheme(this);
// Catch any uncaught exception to log it
Thread.setDefaultUncaughtExceptionHandler(new LogUncaughtExceptionHandler(this, Thread.getDefaultUncaughtExceptionHandler()));
super.onCreate(savedInstanceState);

39
app/src/main/java/org/transdroid/core/gui/navigation/SetLabelDialog.java

@ -30,7 +30,7 @@ import com.nispok.snackbar.Snackbar; @@ -30,7 +30,7 @@ import com.nispok.snackbar.Snackbar;
import com.nispok.snackbar.SnackbarManager;
import org.transdroid.R;
import org.transdroid.core.app.settings.SystemSettings_;
import org.transdroid.core.app.settings.SettingsUtils;
import java.util.Iterator;
import java.util.List;
@ -56,23 +56,30 @@ public class SetLabelDialog { @@ -56,23 +56,30 @@ public class SetLabelDialog {
final ListView labelsList = (ListView) setLabelLayout.findViewById(R.id.labels_list);
final EditText newLabelEdit = (EditText) setLabelLayout.findViewById(R.id.newlabel_edit);
final MaterialDialog dialog = new MaterialDialog.Builder(context).customView(setLabelLayout, false).positiveText(R.string.status_update)
.neutralText(R.string.status_label_remove).negativeText(android.R.string.cancel).callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(MaterialDialog dialog) {
// User should have provided a new label
if (TextUtils.isEmpty(newLabelEdit.getText())) {
SnackbarManager.show(Snackbar.with(context).text(R.string.error_notalabel).colorResource(R.color.red));
return;
}
onLabelPickedListener.onLabelPicked(newLabelEdit.getText().toString());
MaterialDialog.Builder builder = new MaterialDialog.Builder(context)
.customView(setLabelLayout, false)
.positiveText(R.string.status_update)
.neutralText(R.string.status_label_remove)
.negativeText(android.R.string.cancel)
.callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(MaterialDialog dialog) {
// User should have provided a new label
if (TextUtils.isEmpty(newLabelEdit.getText())) {
SnackbarManager.show(Snackbar.with(context).text(R.string.error_notalabel).colorResource(R.color.red));
return;
}
onLabelPickedListener.onLabelPicked(newLabelEdit.getText().toString());
}
@Override
public void onNeutral(MaterialDialog dialog) {
onLabelPickedListener.onLabelPicked(null);
}
}).theme(SystemSettings_.getInstance_(context).getMaterialDialogtheme()).build();
@Override
public void onNeutral(MaterialDialog dialog) {
onLabelPickedListener.onLabelPicked(null);
}
});
final MaterialDialog dialog = SettingsUtils
.applyDialogTheme(builder)
.build();
if (currentLabels.size() == 0) {
// Hide the list (and its label) if there are no labels yet

25
app/src/main/java/org/transdroid/core/gui/navigation/SetStorageLocationDialog.java

@ -24,7 +24,7 @@ import android.widget.EditText; @@ -24,7 +24,7 @@ import android.widget.EditText;
import com.afollestad.materialdialogs.MaterialDialog;
import org.transdroid.R;
import org.transdroid.core.app.settings.SystemSettings_;
import org.transdroid.core.app.settings.SettingsUtils;
public class SetStorageLocationDialog {
@ -38,14 +38,21 @@ public class SetStorageLocationDialog { @@ -38,14 +38,21 @@ public class SetStorageLocationDialog {
View locationLayout = LayoutInflater.from(context).inflate(R.layout.dialog_storagelocation, null);
final EditText locationText = (EditText) locationLayout.findViewById(R.id.location_edit);
locationText.setText(currentLocation);
new MaterialDialog.Builder(context).customView(locationLayout, false).positiveText(R.string.status_update)
.negativeText(android.R.string.cancel).callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(MaterialDialog dialog) {
// User is done editing and requested to update given the text input
onStorageLocationUpdatedListener.onStorageLocationUpdated(locationText.getText().toString());
}
}).theme(SystemSettings_.getInstance_(context).getMaterialDialogtheme()).show();
MaterialDialog.Builder builder = new MaterialDialog.Builder(context)
.customView(locationLayout, false)
.positiveText(R.string.status_update)
.negativeText(android.R.string.cancel)
.callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(MaterialDialog dialog) {
// User is done editing and requested to update given the text input
onStorageLocationUpdatedListener.onStorageLocationUpdated(locationText.getText().toString());
}
});
SettingsUtils
.applyDialogTheme(builder)
.show();
}
public interface OnStorageLocationUpdatedListener {

22
app/src/main/java/org/transdroid/core/gui/navigation/SetTrackersDialog.java

@ -25,7 +25,7 @@ import android.widget.EditText; @@ -25,7 +25,7 @@ import android.widget.EditText;
import com.afollestad.materialdialogs.MaterialDialog;
import org.transdroid.R;
import org.transdroid.core.app.settings.SystemSettings_;
import org.transdroid.core.app.settings.SettingsUtils;
import java.util.Arrays;
import java.util.List;
@ -42,14 +42,18 @@ public class SetTrackersDialog extends DialogFragment { @@ -42,14 +42,18 @@ public class SetTrackersDialog extends DialogFragment {
View trackersLayout = LayoutInflater.from(context).inflate(R.layout.dialog_trackers, null);
final EditText trackersText = (EditText) trackersLayout.findViewById(R.id.trackers_edit);
trackersText.setText(currentTrackers);
new MaterialDialog.Builder(context).customView(trackersLayout, false).positiveText(R.string.status_update)
.negativeText(android.R.string.cancel).callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(MaterialDialog dialog) {
// User is done editing and requested to update given the text input
onTrackersUpdatedListener.onTrackersUpdated(Arrays.asList(trackersText.getText().toString().split("\n")));
}
}).theme(SystemSettings_.getInstance_(context).getMaterialDialogtheme()).show();
MaterialDialog.Builder builder = new MaterialDialog.Builder(context)
.customView(trackersLayout, false)
.positiveText(R.string.status_update)
.negativeText(android.R.string.cancel)
.callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(MaterialDialog dialog) {
// User is done editing and requested to update given the text input
onTrackersUpdatedListener.onTrackersUpdated(Arrays.asList(trackersText.getText().toString().split("\n")));
}
});
SettingsUtils.applyDialogTheme(builder).show();
}
public interface OnTrackersUpdatedListener {

49
app/src/main/java/org/transdroid/core/gui/navigation/SetTransferRatesDialog.java

@ -26,7 +26,7 @@ import android.widget.TextView; @@ -26,7 +26,7 @@ import android.widget.TextView;
import com.afollestad.materialdialogs.MaterialDialog;
import org.transdroid.R;
import org.transdroid.core.app.settings.SystemSettings_;
import org.transdroid.core.app.settings.SettingsUtils;
public class SetTransferRatesDialog {
@ -41,29 +41,34 @@ public class SetTransferRatesDialog { @@ -41,29 +41,34 @@ public class SetTransferRatesDialog {
final TextView maxSpeedDown = (TextView) transferRatesLayout.findViewById(R.id.maxspeeddown_text);
final TextView maxSpeedUp = (TextView) transferRatesLayout.findViewById(R.id.maxspeedup_text);
MaterialDialog dialog = new MaterialDialog.Builder(context).customView(transferRatesLayout, false).positiveText(R.string.status_update)
.neutralText(R.string.status_maxspeed_reset).negativeText(android.R.string.cancel).callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(MaterialDialog dialog) {
int maxDown = -1, maxUp = -1;
try {
maxDown = Integer.parseInt(maxSpeedDown.getText().toString());
maxUp = Integer.parseInt(maxSpeedUp.getText().toString());
} catch (NumberFormatException e) {
// Impossible as we only input via the number buttons
}
if (maxDown <= 0 || maxUp <= 0) {
onRatesPickedListener.onInvalidNumber();
return;
}
onRatesPickedListener.onRatesPicked(maxDown, maxUp);
MaterialDialog.Builder builder = new MaterialDialog.Builder(context)
.customView(transferRatesLayout, false)
.positiveText(R.string.status_update)
.neutralText(R.string.status_maxspeed_reset)
.negativeText(android.R.string.cancel)
.callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(MaterialDialog dialog) {
int maxDown = -1, maxUp = -1;
try {
maxDown = Integer.parseInt(maxSpeedDown.getText().toString());
maxUp = Integer.parseInt(maxSpeedUp.getText().toString());
} catch (NumberFormatException e) {
// Impossible as we only input via the number buttons
}
@Override
public void onNeutral(MaterialDialog dialog) {
onRatesPickedListener.resetRates();
if (maxDown <= 0 || maxUp <= 0) {
onRatesPickedListener.onInvalidNumber();
return;
}
}).theme(SystemSettings_.getInstance_(context).getMaterialDialogtheme()).build();
onRatesPickedListener.onRatesPicked(maxDown, maxUp);
}
@Override
public void onNeutral(MaterialDialog dialog) {
onRatesPickedListener.resetRates();
}
});
MaterialDialog dialog = SettingsUtils.applyDialogTheme(builder).build();
bindButtons(dialog.getCustomView(), maxSpeedDown, R.id.down1Button, R.id.down2Button, R.id.down3Button, R.id.down4Button, R.id.down5Button,
R.id.down6Button, R.id.down7Button, R.id.down8Button, R.id.down9Button, R.id.down0Button);

7
app/src/main/java/org/transdroid/core/gui/remoterss/RemoteRssActivity.java

@ -44,7 +44,7 @@ import org.androidannotations.annotations.ViewById; @@ -44,7 +44,7 @@ import org.androidannotations.annotations.ViewById;
import org.transdroid.R;
import org.transdroid.core.app.settings.ApplicationSettings;
import org.transdroid.core.app.settings.ServerSetting;
import org.transdroid.core.app.settings.SystemSettings_;
import org.transdroid.core.app.settings.SettingsUtils;
import org.transdroid.core.gui.lists.LocalTorrent;
import org.transdroid.core.gui.lists.SimpleListItemAdapter;
import org.transdroid.core.gui.log.Log;
@ -108,10 +108,7 @@ public class RemoteRssActivity extends AppCompatActivity implements RefreshableA @@ -108,10 +108,7 @@ public class RemoteRssActivity extends AppCompatActivity implements RefreshableA
@Override
public void onCreate(Bundle savedInstanceState) {
// Set the theme according to the user preference
if (SystemSettings_.getInstance_(this).useDarkTheme()) {
setTheme(R.style.TransdroidTheme_Dark);
}
SettingsUtils.applyDayNightTheme(this);
super.onCreate(savedInstanceState);
}

7
app/src/main/java/org/transdroid/core/gui/rss/RssfeedsActivity.java

@ -39,7 +39,7 @@ import org.androidannotations.annotations.ViewById; @@ -39,7 +39,7 @@ import org.androidannotations.annotations.ViewById;
import org.transdroid.R;
import org.transdroid.core.app.settings.ApplicationSettings;
import org.transdroid.core.app.settings.RssfeedSetting;
import org.transdroid.core.app.settings.SystemSettings_;
import org.transdroid.core.app.settings.SettingsUtils;
import org.transdroid.core.gui.TorrentsActivity_;
import org.transdroid.core.gui.log.Log;
import org.transdroid.core.gui.navigation.NavigationHelper;
@ -70,10 +70,7 @@ public class RssfeedsActivity extends AppCompatActivity { @@ -70,10 +70,7 @@ public class RssfeedsActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
// Set the theme according to the user preference
if (SystemSettings_.getInstance_(this).useDarkTheme()) {
setTheme(R.style.TransdroidTheme_Dark);
}
SettingsUtils.applyDayNightTheme(this);
super.onCreate(savedInstanceState);
}

7
app/src/main/java/org/transdroid/core/gui/rss/RssitemsActivity.java

@ -30,7 +30,7 @@ import org.androidannotations.annotations.FragmentById; @@ -30,7 +30,7 @@ import org.androidannotations.annotations.FragmentById;
import org.androidannotations.annotations.OptionsItem;
import org.androidannotations.annotations.ViewById;
import org.transdroid.R;
import org.transdroid.core.app.settings.SystemSettings_;
import org.transdroid.core.app.settings.SettingsUtils;
import org.transdroid.core.gui.TorrentsActivity_;
import org.transdroid.core.gui.navigation.NavigationHelper;
import org.transdroid.core.rssparser.Channel;
@ -52,10 +52,7 @@ public class RssitemsActivity extends AppCompatActivity { @@ -52,10 +52,7 @@ public class RssitemsActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
// Set the theme according to the user preference
if (SystemSettings_.getInstance_(this).useDarkTheme()) {
setTheme(R.style.TransdroidTheme_Dark);
}
SettingsUtils.applyDayNightTheme(this);
super.onCreate(savedInstanceState);
}

7
app/src/main/java/org/transdroid/core/gui/search/SearchActivity.java

@ -48,7 +48,7 @@ import org.transdroid.core.app.search.SearchHelper; @@ -48,7 +48,7 @@ import org.transdroid.core.app.search.SearchHelper;
import org.transdroid.core.app.search.SearchHelper.SearchSortOrder;
import org.transdroid.core.app.search.SearchSite;
import org.transdroid.core.app.settings.ApplicationSettings;
import org.transdroid.core.app.settings.SystemSettings_;
import org.transdroid.core.app.settings.SettingsUtils;
import org.transdroid.core.app.settings.WebsearchSetting;
import org.transdroid.core.gui.TorrentsActivity_;
import org.transdroid.core.gui.navigation.NavigationHelper;
@ -88,10 +88,7 @@ public class SearchActivity extends AppCompatActivity { @@ -88,10 +88,7 @@ public class SearchActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
// Set the theme according to the user preference
if (SystemSettings_.getInstance_(this).useDarkTheme()) {
setTheme(R.style.TransdroidTheme_Dark);
}
SettingsUtils.applyDayNightTheme(this);
super.onCreate(savedInstanceState);
}

6
app/src/main/java/org/transdroid/core/gui/search/SearchResultsFragment.java

@ -86,11 +86,7 @@ public class SearchResultsFragment extends Fragment { @@ -86,11 +86,7 @@ public class SearchResultsFragment extends Fragment {
// On large screens where this fragment is shown next to the sites list; we show a continues grey vertical line
// to separate the lists visually
if (!NavigationHelper_.getInstance_(getActivity()).isSmallScreen()) {
if (SystemSettings_.getInstance_(getActivity()).useDarkTheme()) {
resultsList.setBackgroundResource(R.drawable.details_list_background_dark);
} else {
resultsList.setBackgroundResource(R.drawable.details_list_background_light);
}
resultsList.setBackgroundResource(R.drawable.details_list_background);
}
// Set up the list adapter, which allows multi-select

8
app/src/main/java/org/transdroid/core/widget/ListWidgetConfig.java

@ -30,16 +30,14 @@ public class ListWidgetConfig { @@ -30,16 +30,14 @@ public class ListWidgetConfig {
private final TorrentsSortBy sortBy;
private final boolean reserveSort;
private final boolean showStatusView;
private final boolean useDarkTheme;
public ListWidgetConfig(int serverId, StatusType statusType, TorrentsSortBy sortBy, boolean reverseSort,
boolean showStatusView, boolean useDarkTheme) {
boolean showStatusView) {
this.serverId = serverId;
this.statusType = statusType;
this.sortBy = sortBy;
this.reserveSort = reverseSort;
this.showStatusView = showStatusView;
this.useDarkTheme = useDarkTheme;
}
public int getServerId() {
@ -62,8 +60,4 @@ public class ListWidgetConfig { @@ -62,8 +60,4 @@ public class ListWidgetConfig {
return showStatusView;
}
public boolean shouldUseDarkTheme() {
return useDarkTheme;
}
}

5
app/src/main/java/org/transdroid/core/widget/ListWidgetConfigActivity.java

@ -73,7 +73,7 @@ public class ListWidgetConfigActivity extends AppCompatActivity { @@ -73,7 +73,7 @@ public class ListWidgetConfigActivity extends AppCompatActivity {
@ViewById
protected Spinner serverSpinner, filterSpinner, sortSpinner;
@ViewById
protected CheckBox reverseorderCheckBox, showstatusCheckBox, darkthemeCheckBox;
protected CheckBox reverseorderCheckBox, showstatusCheckBox;
@ViewById
protected TextView filterText, serverText, errorText;
@ViewById
@ -127,8 +127,7 @@ public class ListWidgetConfigActivity extends AppCompatActivity { @@ -127,8 +127,7 @@ public class ListWidgetConfigActivity extends AppCompatActivity {
TorrentsSortBy sortBy = ((SortByListItem) sortSpinner.getSelectedItem()).getSortBy();
boolean reverseSort = reverseorderCheckBox.isChecked();
boolean showstatus = showstatusCheckBox.isChecked();
boolean useDarkTheme = darkthemeCheckBox.isChecked();
ListWidgetConfig config = new ListWidgetConfig(server, statusType, sortBy, reverseSort, showstatus, useDarkTheme);
ListWidgetConfig config = new ListWidgetConfig(server, statusType, sortBy, reverseSort, showstatus);
applicationSettings.setWidgetConfig(appWidgetId, config);
// Return the widget configuration result

4
app/src/main/java/org/transdroid/core/widget/ListWidgetPreviewAdapter.java

@ -42,7 +42,7 @@ public class ListWidgetPreviewAdapter extends ArrayAdapter<Torrent> { @@ -42,7 +42,7 @@ public class ListWidgetPreviewAdapter extends ArrayAdapter<Torrent> {
* @param torrents The already-retrieved, non-null list of torrents to show
*/
public ListWidgetPreviewAdapter(Context context, int foo, List<Torrent> torrents) {
super(context, R.layout.list_item_widget_light, torrents);
super(context, R.layout.list_item_widget, torrents);
}
@Override
@ -51,7 +51,7 @@ public class ListWidgetPreviewAdapter extends ArrayAdapter<Torrent> { @@ -51,7 +51,7 @@ public class ListWidgetPreviewAdapter extends ArrayAdapter<Torrent> {
// Get the views
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item_widget_light, parent, false);
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item_widget, parent, false);
holder = new ViewHolder();
holder.nameText = (TextView) convertView.findViewById(R.id.name_text);
holder.progressText = (TextView) convertView.findViewById(R.id.progress_text);

3
app/src/main/java/org/transdroid/core/widget/ListWidgetProvider.java

@ -79,8 +79,7 @@ public class ListWidgetProvider extends AppWidgetProvider { @@ -79,8 +79,7 @@ public class ListWidgetProvider extends AppWidgetProvider {
}
// Load the dark or light widget layout xml
RemoteViews rv = new RemoteViews(context.getPackageName(),
config.shouldUseDarkTheme() ? R.layout.widget_torrents_dark : R.layout.widget_torrents_light);
RemoteViews rv = new RemoteViews(context.getPackageName(), R.layout.widget_torrents);
// Set up the widget's list view loading service which refers to the WidgetViewsFactory
Intent data = new Intent(context, ListWidgetViewsService_.class);

5
app/src/main/java/org/transdroid/core/widget/ListWidgetViewsService.java

@ -30,7 +30,7 @@ import org.transdroid.R; @@ -30,7 +30,7 @@ import org.transdroid.R;
import org.transdroid.core.app.settings.*;
import org.transdroid.core.gui.lists.LocalTorrent;
import org.transdroid.core.gui.log.*;
import org.transdroid.core.service.*;
import org.transdroid.core.service.ConnectivityHelper_;
import org.transdroid.daemon.Daemon;
import org.transdroid.daemon.IDaemonAdapter;
import org.transdroid.daemon.Torrent;
@ -166,8 +166,7 @@ class WidgetViewsFactory implements RemoteViewsService.RemoteViewsFactory { @@ -166,8 +166,7 @@ class WidgetViewsFactory implements RemoteViewsService.RemoteViewsFactory {
public RemoteViews getViewAt(int position) {
// Load the dark or light widget list item layout xml
RemoteViews rv = new RemoteViews(context.getPackageName(),
config.shouldUseDarkTheme() ? R.layout.list_item_widget_dark : R.layout.list_item_widget_light);
RemoteViews rv = new RemoteViews(context.getPackageName(), R.layout.list_item_widget);
// Bind the torrent details texts and status colour
Torrent torrent = torrents.get(position);

4
app/src/main/res/drawable/details_list_background_dark.xml → app/src/main/res/drawable-night/details_list_background.xml

@ -16,6 +16,6 @@ @@ -16,6 +16,6 @@
along with Transdroid. If not, see <http://www.gnu.org/licenses/>.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:left="2dp" android:drawable="@color/divider_dark" />
<item android:left="4dp" android:drawable="@color/background_dark" />
<item android:left="2dp" android:drawable="@color/transdroid_divider" />
<item android:left="4dp" android:drawable="@color/transdroid_background" />
</layer-list>

0
app/src/main/res/drawable/loading_progress_dark.xml → app/src/main/res/drawable-night/loading_progress.xml

4
app/src/main/res/drawable/details_list_background_light.xml → app/src/main/res/drawable/details_list_background.xml

@ -16,6 +16,6 @@ @@ -16,6 +16,6 @@
along with Transdroid. If not, see <http://www.gnu.org/licenses/>.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:left="2dp" android:drawable="@color/divider_light" />
<item android:left="4dp" android:drawable="@color/background_light" />
<item android:left="2dp" android:drawable="@color/transdroid_divider" />
<item android:left="4dp" android:drawable="@color/transdroid_background" />
</layer-list>

0
app/src/main/res/drawable/loading_progress_light.xml → app/src/main/res/drawable/loading_progress.xml

12
app/src/main/res/layout/activity_widgetconfig.xml

@ -28,13 +28,13 @@ @@ -28,13 +28,13 @@
android:background="@null"
android:padding="@dimen/widget_preview_padding" >
<include layout="@layout/widget_torrents_light" />
<include layout="@layout/widget_torrents" />
</FrameLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_light"
android:background="@color/transdroid_background"
android:fillViewport="true"
android:paddingLeft="@dimen/margin_default"
android:paddingRight="@dimen/margin_default" >
@ -99,14 +99,6 @@ @@ -99,14 +99,6 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_half"
android:text="@string/widget_showstatusview" />
<CheckBox
android:id="@+id/darktheme_check_box"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/margin_half"
android:layout_marginTop="@dimen/margin_half"
android:text="@string/widget_usedarktheme" />
</LinearLayout>
</ScrollView>

4
app/src/main/res/layout/list_item_widget_dark.xml → app/src/main/res/layout/list_item_widget.xml

@ -36,7 +36,7 @@ @@ -36,7 +36,7 @@
android:fontFamily="sans-serif-condensed"
android:maxLines="1"
android:paddingTop="@dimen/widget_list_item_padding"
android:textColor="@color/text_bright_dark"
android:textColor="@color/transdroid_text_bright"
android:textIsSelectable="false"
android:textSize="@dimen/text_enlarged" />
@ -49,6 +49,7 @@ @@ -49,6 +49,7 @@
android:layout_marginLeft="@dimen/widget_list_item_padding"
android:layout_marginTop="4dip"
android:maxLines="1"
android:textColor="@color/transdroid_text_bright"
android:paddingBottom="@dimen/widget_list_item_padding"
android:textIsSelectable="false"
android:textSize="@dimen/text_small" />
@ -62,6 +63,7 @@ @@ -62,6 +63,7 @@
android:layout_marginLeft="@dimen/widget_list_item_padding_left"
android:layout_toLeftOf="@id/ratio_text"
android:maxLines="1"
android:textColor="@color/transdroid_text_bright"
android:textIsSelectable="false"
android:textSize="@dimen/text_small" />

70
app/src/main/res/layout/list_item_widget_light.xml

@ -1,70 +0,0 @@ @@ -1,70 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2010-2018 Eric Kok et al.
Transdroid is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Transdroid is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Transdroid. If not, see <http://www.gnu.org/licenses/>.
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget_line_layout"
android:layout_width="fill_parent"
android:layout_height="@dimen/widget_list_item_height"
android:background="?android:attr/selectableItemBackground"
android:paddingRight="@dimen/widget_list_item_padding" >
<TextView
android:id="@+id/status_view"
android:layout_width="6dp"
android:layout_height="@dimen/widget_list_item_height" />
<TextView
android:id="@+id/name_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/widget_list_item_padding_left"
android:ellipsize="end"
android:fontFamily="sans-serif-condensed"
android:maxLines="1"
android:paddingTop="@dimen/widget_list_item_padding"
android:textColor="@color/text_bright_light"
android:textIsSelectable="false"
android:textSize="@dimen/text_enlarged" />
<TextView
android:id="@+id/ratio_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/name_text"
android:layout_marginLeft="@dimen/widget_list_item_padding"
android:layout_marginTop="4dip"
android:maxLines="1"
android:textColor="@color/text_bright_light"
android:paddingBottom="@dimen/widget_list_item_padding"
android:textIsSelectable="false"
android:textSize="@dimen/text_small" />
<TextView
android:id="@+id/progress_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/ratio_text"
android:layout_alignParentLeft="true"
android:layout_marginLeft="@dimen/widget_list_item_padding_left"
android:layout_toLeftOf="@id/ratio_text"
android:maxLines="1"
android:textColor="@color/text_bright_light"
android:textIsSelectable="false"
android:textSize="@dimen/text_small" />
</RelativeLayout>

17
app/src/main/res/layout/widget_torrents_light.xml → app/src/main/res/layout/widget_torrents.xml

@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_light">
android:background="@color/transdroid_background">
<LinearLayout
android:id="@+id/header_wrapper"
@ -56,10 +56,10 @@ @@ -56,10 +56,10 @@
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:fontFamily="sans-serif-condensed"
android:maxLines="1"
android:textColor="@color/text_actionbar_dark"
android:singleLine="true"
android:textIsSelectable="false"
android:textSize="@dimen/ui_navigation_filter"
android:textColor="@color/transdroid_text_actionbar"
tools:text="Filter" />
<TextView
@ -69,10 +69,10 @@ @@ -69,10 +69,10 @@
android:layout_marginTop="-4dip"
android:ellipsize="marquee"
android:fontFamily="sans-serif-light"
android:maxLines="1"
android:textColor="@color/text_actionbar_dark"
android:singleLine="true"
android:textIsSelectable="false"
android:textSize="@dimen/ui_navigation_server"
android:textColor="@color/transdroid_text_actionbar"
tools:text="Server"/>
</LinearLayout>
@ -94,7 +94,6 @@ @@ -94,7 +94,6 @@
android:fontFamily="sans-serif-light"
android:paddingTop="@dimen/ui_serverstatus_signmargin"
android:text="↑"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_sign"
tools:ignore="HardcodedText" />
@ -105,7 +104,6 @@ @@ -105,7 +104,6 @@
android:layout_toLeftOf="@id/upcount_sign"
android:fontFamily="sans-serif-light"
android:gravity="end"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_bignumber" />
<TextView
@ -116,7 +114,6 @@ @@ -116,7 +114,6 @@
android:fontFamily="sans-serif-light"
android:paddingTop="@dimen/ui_serverstatus_signmargin"
android:text="↓"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_sign"
tools:ignore="HardcodedText" />
@ -127,7 +124,6 @@ @@ -127,7 +124,6 @@
android:layout_toLeftOf="@id/downcount_sign"
android:fontFamily="sans-serif-light"
android:gravity="end"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_bignumber" />
<TextView
@ -140,7 +136,6 @@ @@ -140,7 +136,6 @@
android:layout_marginTop="-4dip"
android:fontFamily="sans-serif-light"
android:gravity="end"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_smallnumber" />
<TextView
@ -153,7 +148,6 @@ @@ -153,7 +148,6 @@
android:layout_marginTop="-4dip"
android:fontFamily="sans-serif-light"
android:gravity="end"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_smallnumber" />
</RelativeLayout>
@ -209,7 +203,6 @@ @@ -209,7 +203,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/bottomline_view"
android:layout_below="@id/topline_view"
android:layout_gravity="center"
android:gravity="center"
android:maxWidth="400dip"

222
app/src/main/res/layout/widget_torrents_dark.xml

@ -1,222 +0,0 @@ @@ -1,222 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2010-2018 Eric Kok et al.
Transdroid is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Transdroid is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Transdroid. If not, see <http://www.gnu.org/licenses/>.
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_dark">
<ImageButton
android:id="@+id/icon_image"
android:layout_width="@dimen/widget_header_height"
android:layout_height="@dimen/widget_header_height"
android:background="?android:attr/selectableItemBackground"
android:contentDescription="@string/widget_opentransdroid"
android:padding="@dimen/widget_header_padding"
android:scaleType="fitXY"
android:src="@drawable/ic_launcher" />
<ImageButton
android:id="@+id/refresh_button"
android:layout_width="@dimen/widget_header_height"
android:layout_height="@dimen/widget_header_height"
android:layout_alignParentRight="true"
android:background="?android:attr/selectableItemBackground"
android:contentDescription="@string/action_refresh"
android:padding="@dimen/widget_header_padding"
android:scaleType="fitXY"
android:src="@drawable/ic_action_refresh" />
<ImageButton
android:id="@+id/pauseall_button"
android:layout_width="@dimen/widget_header_height"
android:layout_height="@dimen/widget_header_height"
android:layout_toLeftOf="@id/refresh_button"
android:background="?android:attr/selectableItemBackground"
android:contentDescription="@string/action_pauseall"
android:padding="@dimen/widget_header_padding"
android:scaleType="fitXY"
android:src="@drawable/ic_action_pause" />
<ImageButton
android:id="@+id/resumeall_button"
android:layout_width="@dimen/widget_header_height"
android:layout_height="@dimen/widget_header_height"
android:layout_toLeftOf="@id/pauseall_button"
android:background="?android:attr/selectableItemBackground"
android:contentDescription="@string/action_resumeall"
android:padding="@dimen/widget_header_padding"
android:scaleType="fitXY"
android:src="@drawable/ic_action_resume" />
<LinearLayout
android:id="@+id/navigation_view"
android:layout_width="match_parent"
android:layout_height="@dimen/widget_header_height"
android:layout_toLeftOf="@id/resumeall_button"
android:layout_toRightOf="@id/icon_image"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:orientation="vertical"
android:paddingRight="@dimen/margin_half"
android:paddingTop="3dp">
<TextView
android:id="@+id/filter_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:fontFamily="sans-serif-condensed"
android:maxLines="1"
android:textColor="@color/text_actionbar_dark"
android:textIsSelectable="false"
android:textSize="@dimen/ui_navigation_filter"
tools:text="Filter" />
<TextView
android:id="@+id/server_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-4dip"
android:ellipsize="marquee"
android:fontFamily="sans-serif-light"
android:maxLines="1"
android:textColor="@color/text_actionbar_dark"
android:textIsSelectable="false"
android:textSize="@dimen/ui_navigation_server"
tools:text="Server" />
</LinearLayout>
<RelativeLayout
android:id="@+id/serverstatus_view"
android:layout_width="match_parent"
android:layout_height="@dimen/widget_header_height"
android:layout_toLeftOf="@id/resumeall_button"
android:layout_toRightOf="@id/icon_image"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:paddingTop="@dimen/ui_serverstatus_margin"
android:visibility="gone">
<TextView
android:id="@+id/upcount_sign"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif-light"
android:paddingTop="@dimen/ui_serverstatus_signmargin"
android:text="↑"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_sign"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/upcount_text"
android:layout_width="@dimen/ui_serverstatus_width"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/upcount_sign"
android:fontFamily="sans-serif-light"
android:gravity="end"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_bignumber" />
<TextView
android:id="@+id/downcount_sign"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/upcount_text"
android:fontFamily="sans-serif-light"
android:paddingTop="@dimen/ui_serverstatus_signmargin"
android:text="↓"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_sign"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/downcount_text"
android:layout_width="@dimen/ui_serverstatus_width"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/downcount_sign"
android:fontFamily="sans-serif-light"
android:gravity="end"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_bignumber" />
<TextView
android:id="@+id/upspeed_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/upcount_text"
android:layout_alignParentRight="true"
android:layout_below="@id/upcount_text"
android:layout_marginTop="-4dip"
android:fontFamily="sans-serif-light"
android:gravity="end"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_smallnumber" />
<TextView
android:id="@+id/downspeed_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/downcount_text"
android:layout_alignRight="@id/downcount_sign"
android:layout_below="@id/downcount_text"
android:layout_marginTop="-4dip"
android:fontFamily="sans-serif-light"
android:gravity="end"
android:textColor="@color/text_bright_dark"
android:textSize="@dimen/ui_serverstatus_smallnumber" />
</RelativeLayout>
<TextView
android:id="@+id/topline_view"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="@id/icon_image"
android:background="@color/green" />
<TextView
android:id="@+id/bottomline_view"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_alignParentBottom="true"
android:background="@color/green" />
<ListView
android:id="@+id/torrents_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/bottomline_view"
android:layout_below="@id/topline_view"
android:visibility="gone" />
<TextView
android:id="@+id/error_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/bottomline_view"
android:layout_below="@id/topline_view"
android:layout_gravity="center"
android:gravity="center"
android:maxWidth="400dip"
android:padding="@dimen/margin_default"
android:textIsSelectable="false"
android:visibility="gone" />
</RelativeLayout>

1
app/src/main/res/values-bg/strings.xml

@ -126,7 +126,6 @@ @@ -126,7 +126,6 @@
<string name="rss_service_newfor">Нови торенти за %1$s</string>
<string name="widget_loading">Зареждане&#8230;</string>
<string name="widget_opentransdroid">Отвори Transdroid</string>
<string name="widget_usedarktheme">Тъмна тема за интерфейса (няма преглед)</string>
<string name="pref_servers">Сървъри</string>
<string name="pref_addserver">Добавяне на нов сървър</string>
<string name="pref_defaultserver">Стандартен сървър</string>

1
app/src/main/res/values-cs/strings.xml

@ -171,7 +171,6 @@ @@ -171,7 +171,6 @@
<string name="widget_sortby">SEŘADIT VÝSLEDKY</string>
<string name="widget_reversesortorder">Obrátit seřazení</string>
<string name="widget_showstatusview">Stav serveru místo jeho názvu</string>
<string name="widget_usedarktheme">Použít tmavé téma (není náhled)</string>
<string name="widget_done">HOTOVO</string>
<string name="pref_servers">Servery</string>
<string name="pref_addserver">Přidat nový server</string>

1
app/src/main/res/values-da/strings.xml

@ -187,7 +187,6 @@ @@ -187,7 +187,6 @@
<string name="widget_sortby">SORTERINGS RÆKKEFØLGE</string>
<string name="widget_reversesortorder">Omvendt sorterings rækkefølge</string>
<string name="widget_showstatusview">Server status i stedet for titel</string>
<string name="widget_usedarktheme">Brug mørkt tema (ingen preview)</string>
<string name="widget_done">FÆRDIG</string>
<string name="pref_servers">Servere</string>
<string name="pref_addserver">Tilføj ny server</string>

1
app/src/main/res/values-de/strings.xml

@ -203,7 +203,6 @@ @@ -203,7 +203,6 @@
<string name="widget_sortby">SORTIERREIHENFOLGE</string>
<string name="widget_reversesortorder">Umgekehrte Sortierreihenfolge</string>
<string name="widget_showstatusview">Serverstatus anstelle des Titels</string>
<string name="widget_usedarktheme">Dunkles Thema benutzen (keine Vorschau)</string>
<string name="widget_done">FERTIG</string>
<string name="pref_servers">Server</string>
<string name="pref_addserver">Neuen Server hinzufügen</string>

1
app/src/main/res/values-es/strings.xml

@ -156,7 +156,6 @@ @@ -156,7 +156,6 @@
<string name="widget_sortby">CRITERIO DE ORDENACIÓN</string>
<string name="widget_reversesortorder">Invertir criterio de ordenación</string>
<string name="widget_showstatusview">Estado del servidor en lugar del título</string>
<string name="widget_usedarktheme">Usar tema oscuro (sin vista previa)</string>
<string name="widget_done">HECHO</string>
<string name="pref_servers">Servidores</string>
<string name="pref_addserver">Añadir nuevo servidor</string>

1
app/src/main/res/values-fa/strings.xml

@ -195,7 +195,6 @@ @@ -195,7 +195,6 @@
<string name="widget_sortby">مرتب کردن بر اساس سفارش </string>
<string name="widget_reversesortorder">معکوس مرتب کردن بر اساس سفارش </string>
<string name="widget_showstatusview">وضعیت کارگزار بهجای عنوان</string>
<string name="widget_usedarktheme">استفاده از تم تیره (بدون پیش نمایش) </string>
<string name="widget_done">تمام</string>
<string name="pref_servers">سرورها</string>
<string name="pref_addserver">اضافه کردن سرور جدید </string>

1
app/src/main/res/values-fr/strings.xml

@ -187,7 +187,6 @@ @@ -187,7 +187,6 @@
<string name="widget_sortby">ORDRE DE TRI</string>
<string name="widget_reversesortorder">Ordre de tri inversé</string>
<string name="widget_showstatusview">Statut du serveur plutôt que le titre</string>
<string name="widget_usedarktheme">Utilisez thème sombre (pas d\'aperçu)</string>
<string name="widget_done">FINI</string>
<string name="pref_servers">Serveurs</string>
<string name="pref_addserver">Ajouter un nouveau serveur</string>

1
app/src/main/res/values-he/strings.xml

@ -160,7 +160,6 @@ @@ -160,7 +160,6 @@
<string name="widget_loading">טוען...</string>
<string name="widget_sortby">ממוין לפי</string>
<string name="widget_reversesortorder">הפוך את הרשימה</string>
<string name="widget_usedarktheme">השתמש בעיצוב כהה</string>
<string name="widget_done">סיים</string>
<string name="pref_servers">שרתים</string>
<string name="pref_addserver">הוסף שרת חדש</string>

1
app/src/main/res/values-hu/strings.xml

@ -203,7 +203,6 @@ @@ -203,7 +203,6 @@
<string name="widget_sortby">RENDEZÉSI SORREND</string>
<string name="widget_reversesortorder">Fordított sorrend</string>
<string name="widget_showstatusview">Kiszolgáló állapota a címe helyett</string>
<string name="widget_usedarktheme">Sötét téma használata (nincs előnézet)</string>
<string name="widget_done">KÉSZ</string>
<string name="pref_servers">Szerverek</string>
<string name="pref_addserver">Új szerver hozzáadása</string>

1
app/src/main/res/values-it/strings.xml

@ -203,7 +203,6 @@ @@ -203,7 +203,6 @@
<string name="widget_sortby">TIPO ORDINAMENTO</string>
<string name="widget_reversesortorder">Inverti ordinamento</string>
<string name="widget_showstatusview">Stato del server anzichè il titolo</string>
<string name="widget_usedarktheme">Utilizza tema scuro (nessuna anteprima)</string>
<string name="widget_done">FINE</string>
<string name="pref_servers">Server</string>
<string name="pref_addserver">Aggiungi nuovo server</string>

1
app/src/main/res/values-ja/strings.xml

@ -195,7 +195,6 @@ @@ -195,7 +195,6 @@
<string name="widget_sortby">ソート順</string>
<string name="widget_reversesortorder">ソート順を逆にする</string>
<string name="widget_showstatusview">タイトルにサーバーステータスを表示</string>
<string name="widget_usedarktheme">ダーク・テーマを使用 (プレビューなし)</string>
<string name="widget_done">完了</string>
<string name="pref_servers">サーバー</string>
<string name="pref_addserver">新しいサーバーを追加</string>

1
app/src/main/res/values-ko/strings.xml

@ -195,7 +195,6 @@ @@ -195,7 +195,6 @@
<string name="widget_sortby">정렬 순서</string>
<string name="widget_reversesortorder">역순 정렬</string>
<string name="widget_showstatusview">제목 대신 서버 상태 표시</string>
<string name="widget_usedarktheme">어두운 테마 사용 (미리보기 없음)</string>
<string name="widget_done">완료</string>
<string name="pref_servers">서버</string>
<string name="pref_addserver">새 서버 추가</string>

9
app/src/main/res/values/colors_transdroid_dark.xml → app/src/main/res/values-night/colors_transdroid.xml

@ -18,9 +18,8 @@ @@ -18,9 +18,8 @@
-->
<resources>
<color name="pressed_transdroid_dark">#CCaada62</color>
<color name="divider_dark">#303030</color>
<color name="background_dark">#000</color>
<color name="text_bright_dark">#fff</color>
<color name="text_actionbar_dark">#fff</color>
<color name="transdroid_pressed">#CCaada62</color>
<color name="transdroid_divider">#303030</color>
<color name="transdroid_background">#2e2e2e</color>
<color name="transdroid_text_bright">#fff</color>
</resources>

15
app/src/main/res/values/styles_transdroid_dark.xml → app/src/main/res/values-night/styles_transdroid.xml

@ -18,17 +18,20 @@ @@ -18,17 +18,20 @@
<resources>
<style name="Theme.Transdroid.Dark" parent="Theme.AppCompat.NoActionBar">
<style name="Theme.Transdroid.Auto" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="drawer_background">@color/transdroid_background</item>
<item name="activatable_background">@drawable/activatable_background</item>
<item name="colorPrimary">@color/green</item>
<item name="colorPrimaryDark">@color/green_dark</item>
<item name="windowActionModeOverlay">true</item>
<item name="actionModeBackground">@color/grey</item>
<item name="android:textViewStyle">@style/DefaultTextView</item>
<item name="android:windowBackground">@color/background_dark</item>
<item name="loading_progress">@drawable/loading_progress_dark</item>
<item name="text_bright">@color/text_bright_dark</item>
<item name="text_actionbar">@color/text_actionbar_dark</item>
<item name="text_actionbar_secondary">@color/text_actionbar_light</item>
<item name="android:windowBackground">@color/transdroid_background</item>
<item name="loading_progress">@drawable/loading_progress</item>
<item name="text_bright">@color/transdroid_text_bright</item>
<item name="text_actionbar">@color/transdroid_text_actionbar</item>
<item name="text_actionbar_secondary">@color/transdroid_text_actionbar</item>
</style>
</resources>

1
app/src/main/res/values-nl/strings.xml

@ -199,7 +199,6 @@ @@ -199,7 +199,6 @@
<string name="widget_sortby">SORTEERVOLGORDE</string>
<string name="widget_reversesortorder">Omgekeerde sorteervolgorde</string>
<string name="widget_showstatusview">Serverstatus i.p.v. titel</string>
<string name="widget_usedarktheme">Gebruik donker kleurenschema (geen preview)</string>
<string name="widget_done">KLAAR</string>
<string name="pref_servers">Servers</string>
<string name="pref_addserver">Nieuwe server toevoegen</string>

1
app/src/main/res/values-pl/strings.xml

@ -171,7 +171,6 @@ @@ -171,7 +171,6 @@
<string name="widget_sortby">SORTOWANIE</string>
<string name="widget_reversesortorder">Odwrócony porządek sortowania</string>
<string name="widget_showstatusview">Status serwera zamiast tytułu</string>
<string name="widget_usedarktheme">Użyj ciemnego motywu (brak podglądu)</string>
<string name="widget_done">GOTOWE</string>
<string name="pref_servers">Serwery</string>
<string name="pref_addserver">Dodaj nowy serwer</string>

1
app/src/main/res/values-pt-rBR/strings.xml

@ -203,7 +203,6 @@ @@ -203,7 +203,6 @@
<string name="widget_sortby">Ordem de classificação</string>
<string name="widget_reversesortorder">Ordem Invertida</string>
<string name="widget_showstatusview">Estado do servidor ao invés do título</string>
<string name="widget_usedarktheme">Usar tema escuro (sem visualização)</string>
<string name="widget_done">Concluído</string>
<string name="pref_servers">Servidores</string>
<string name="pref_addserver">Adicionar novo servidor</string>

1
app/src/main/res/values-pt/strings.xml

@ -203,7 +203,6 @@ @@ -203,7 +203,6 @@
<string name="widget_sortby">CRITÉRIO DE ORDENAÇÃO</string>
<string name="widget_reversesortorder">Inverter critério de ordenação</string>
<string name="widget_showstatusview">Estado do servidor em vez de título</string>
<string name="widget_usedarktheme">Usar o tema escuro (sem antevisão)</string>
<string name="widget_done">FEITO</string>
<string name="pref_servers">Servidores</string>
<string name="pref_addserver">Adicionar novo servidor</string>

1
app/src/main/res/values-ru/strings.xml

@ -220,7 +220,6 @@ @@ -220,7 +220,6 @@
<string name="widget_sortby">ПОРЯДОК СОРТИРОВКИ</string>
<string name="widget_reversesortorder">Обратный порядок сортировки</string>
<string name="widget_showstatusview">Статистика сервера вместо названия</string>
<string name="widget_usedarktheme">Использовать темную тему (без предпросмотра)</string>
<string name="widget_done">ГОТОВО</string>
<string name="pref_servers">Серверы</string>
<string name="pref_addserver">Добавить новый сервер</string>

1
app/src/main/res/values-sl/strings.xml

@ -219,7 +219,6 @@ @@ -219,7 +219,6 @@
<string name="widget_sortby">VRSTNI RED</string>
<string name="widget_reversesortorder">Obratni vrstni red</string>
<string name="widget_showstatusview">Status strežnika namesto naziva</string>
<string name="widget_usedarktheme">Uporabi temno temo (ni predogleda)</string>
<string name="widget_done">OPRAVLJENO</string>
<string name="pref_servers">Strežniki</string>
<string name="pref_addserver">Dodaj nov strežnik</string>

1
app/src/main/res/values-sv/strings.xml

@ -203,7 +203,6 @@ @@ -203,7 +203,6 @@
<string name="widget_sortby">SÖKORDNING</string>
<string name="widget_reversesortorder">Omvänd sökordning</string>
<string name="widget_showstatusview">Serverstatus iställer för titel</string>
<string name="widget_usedarktheme">Använd mörkt tema (ingen förhandsvisning)</string>
<string name="widget_done">FÄRDIG</string>
<string name="pref_servers">Servrar</string>
<string name="pref_addserver">Lägg til ny server</string>

1
app/src/main/res/values-tr/strings.xml

@ -202,7 +202,6 @@ @@ -202,7 +202,6 @@
<string name="widget_sortby">SIRALAMA DÜZENİ</string>
<string name="widget_reversesortorder">Ters sıralama düzeni</string>
<string name="widget_showstatusview">Başlık yerine sunucu durumu</string>
<string name="widget_usedarktheme">Karanlık temayı kullanın (önizleme yok)</string>
<string name="widget_done">BİTTİ</string>
<string name="pref_servers">Sunucular</string>
<string name="pref_addserver">Yeni sunucu ekle</string>

10
app/src/main/res/values-v21/styles.xml

@ -16,16 +16,6 @@ @@ -16,16 +16,6 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="TransdroidTheme" parent="Theme.Transdroid.Light">
<item name="drawer_background">@color/background_light</item>
<item name="activatable_background">@drawable/activatable_background</item>
</style>
<style name="TransdroidTheme.Dark" parent="Theme.Transdroid.Dark">
<item name="drawer_background">@color/background_dark</item>
<item name="activatable_background">@drawable/activatable_background</item>
</style>
<style name="DefaultToolbar">
<item name="android:background">?attr/colorPrimary</item>
<item name="android:elevation">3dp</item>

1
app/src/main/res/values-zh-rCN/strings.xml

@ -179,7 +179,6 @@ @@ -179,7 +179,6 @@
<string name="widget_sortby">排序顺序</string>
<string name="widget_reversesortorder">反向排序</string>
<string name="widget_showstatusview">服务器状态而不是标题</string>
<string name="widget_usedarktheme">使用暗色主题(无预览)</string>
<string name="widget_done">完成</string>
<string name="pref_servers">服务器</string>
<string name="pref_addserver">添加服务器</string>

10
app/src/main/res/values/colors_transdroid_light.xml → app/src/main/res/values/colors_transdroid.xml

@ -18,9 +18,9 @@ @@ -18,9 +18,9 @@
-->
<resources>
<color name="pressed_transdroid_light">#CC8ACC12</color>
<color name="divider_light">#bdbdbd</color>
<color name="background_light">#fff</color>
<color name="text_bright_light">#000</color>
<color name="text_actionbar_light">#000</color>
<color name="transdroid_pressed">#CC8ACC12</color>
<color name="transdroid_divider">#bdbdbd</color>
<color name="transdroid_background">#fff</color>
<color name="transdroid_text_bright">#000</color>
<color name="transdroid_text_actionbar">#fff</color>
</resources>

863
app/src/main/res/values/strings.xml

@ -17,379 +17,380 @@ @@ -17,379 +17,380 @@
-->
<resources>
<string name="action_add">Add</string>
<string name="action_addall">Add all</string>
<string name="action_addfromfile">From file</string>
<string name="action_addfromurl">From URL</string>
<string name="action_scanbarcode">Scan barcode</string>
<string name="action_search">Search</string>
<string name="action_refresh">Refresh</string>
<string name="action_rss">RSS</string>
<string name="action_remoterss">Remote RSS</string>
<string name="action_enableturtle">Enable turtle mode</string>
<string name="action_disableturtle">Disable turtle mode</string>
<string name="action_sort">Sort list</string>
<string name="action_sort_alpha">Name</string>
<string name="action_sort_status">Status</string>
<string name="action_sort_done">Date done</string>
<string name="action_sort_added">Date added</string>
<string name="action_sort_seeders">Seeders</string>
<string name="action_sort_percent">Percent downloaded</string>
<string name="action_sort_downspeed">Download speed</string>
<string name="action_sort_upspeed">Upload speed</string>
<string name="action_sort_ratio">Ratio</string>
<string name="action_sort_size">Size</string>
<string name="action_filter">Filter list</string>
<string name="action_settings">Settings</string>
<string name="action_help">Help</string>
<string name="action_start">Start</string>
<string name="action_start_default">Normal start</string>
<string name="action_start_forced">Force start</string>
<string name="action_startall">Start all</string>
<string name="action_stop">Stop</string>
<string name="action_stopall">Stop all</string>
<string name="action_resume">Resume</string>
<string name="action_resumeall">Resume all</string>
<string name="action_pause">Pause</string>
<string name="action_pauseall">Pause all</string>
<string name="action_remove">Remove</string>
<string name="action_remove_default">Remove torrent</string>
<string name="action_remove_withdata">Remove and delete data</string>
<string name="action_setlabel">Set label</string>
<string name="action_download_mode">Download mode</string>
<string name="action_toggle_sequential">Download sequentially</string>
<string name="action_toggle_firstlastpiece">Prioritize first and last piece</string>
<string name="action_updatetrackers">Update trackers</string>
<string name="action_changelocation">Change storage location</string>
<string name="action_forcerecheck">Force data recheck</string>
<string name="action_priority_off">Off</string>
<string name="action_priority_low">Low</string>
<string name="action_priority_normal">Normal</string>
<string name="action_priority_high">High</string>
<string name="action_remoteplay">Remote play in VLC</string>
<string name="action_download">Download using FTP(S)</string>
<string name="action_copytoclipboard">Copy to clipboard</string>
<string name="action_showdetails">Show details</string>
<string name="action_openwebsite">Open website</string>
<string name="action_useassearch">Use as new search</string>
<string name="action_removesettings">Remove settings</string>
<string name="action_visitwebsite">Visit transdroid.org</string>
<string name="action_close">Close</string>
<string name="action_add">Add</string>
<string name="action_addall">Add all</string>
<string name="action_addfromfile">From file</string>
<string name="action_addfromurl">From URL</string>
<string name="action_scanbarcode">Scan barcode</string>
<string name="action_search">Search</string>
<string name="action_refresh">Refresh</string>
<string name="action_rss">RSS</string>
<string name="action_remoterss">Remote RSS</string>
<string name="action_enableturtle">Enable turtle mode</string>
<string name="action_disableturtle">Disable turtle mode</string>
<string name="action_sort">Sort list</string>
<string name="action_sort_alpha">Name</string>
<string name="action_sort_status">Status</string>
<string name="action_sort_done">Date done</string>
<string name="action_sort_added">Date added</string>
<string name="action_sort_seeders">Seeders</string>
<string name="action_sort_percent">Percent downloaded</string>
<string name="action_sort_downspeed">Download speed</string>
<string name="action_sort_upspeed">Upload speed</string>
<string name="action_sort_ratio">Ratio</string>
<string name="action_sort_size">Size</string>
<string name="action_filter">Filter list</string>
<string name="action_settings">Settings</string>
<string name="action_help">Help</string>
<string name="action_start">Start</string>
<string name="action_start_default">Normal start</string>
<string name="action_start_forced">Force start</string>
<string name="action_startall">Start all</string>
<string name="action_stop">Stop</string>
<string name="action_stopall">Stop all</string>
<string name="action_resume">Resume</string>
<string name="action_resumeall">Resume all</string>
<string name="action_pause">Pause</string>
<string name="action_pauseall">Pause all</string>
<string name="action_remove">Remove</string>
<string name="action_remove_default">Remove torrent</string>
<string name="action_remove_withdata">Remove and delete data</string>
<string name="action_setlabel">Set label</string>
<string name="action_download_mode">Download mode</string>
<string name="action_toggle_sequential">Download sequentially</string>
<string name="action_toggle_firstlastpiece">Prioritize first and last piece</string>
<string name="action_updatetrackers">Update trackers</string>
<string name="action_changelocation">Change storage location</string>
<string name="action_forcerecheck">Force data recheck</string>
<string name="action_priority_off">Off</string>
<string name="action_priority_low">Low</string>
<string name="action_priority_normal">Normal</string>
<string name="action_priority_high">High</string>
<string name="action_remoteplay">Remote play in VLC</string>
<string name="action_download">Download using FTP(S)</string>
<string name="action_copytoclipboard">Copy to clipboard</string>
<string name="action_showdetails">Show details</string>
<string name="action_openwebsite">Open website</string>
<string name="action_useassearch">Use as new search</string>
<string name="action_removesettings">Remove settings</string>
<string name="action_visitwebsite">Visit transdroid.org</string>
<string name="action_close">Close</string>
<string name="navigation_opendrawer">Select server and filter</string>
<string name="navigation_closedrawer">Close filters list</string>
<string name="navigation_nosettings">%1$s allows you to monitor and manage the torrent client you run at home or on your seedbox. Setting things up can be a bit tricky, but we offer step-by-step guides and promise it\'ll be worth it!</string>
<string name="navigation_emptytorrents">Connected, but no torrents are active within the current filter</string>
<string name="navigation_emptydetails">Select a torrent to view its details</string>
<string name="navigation_servers">Servers</string>
<string name="navigation_status">Status</string>
<string name="navigation_labels">Labels</string>
<string name="navigation_status_showall">All</string>
<string name="navigation_status_onlydown">Downloading</string>
<string name="navigation_status_onlyup">Seeding</string>
<string name="navigation_status_onlyactive">Active</string>
<string name="navigation_status_onlyinactive">Inactive</string>
<plurals name="navigation_torrentsselected">
<item quantity="one">%1$d torrent selected</item>
<item quantity="other">%1$d torrents selected</item>
</plurals>
<plurals name="navigation_filesselected">
<item quantity="one">%1$d files selected</item>
<item quantity="other">%1$d files selected</item>
</plurals>
<string name="navigation_selectall">Select all</string>
<string name="navigation_selectfinished">Select finished</string>
<string name="navigation_invertselection">Invert selection</string>
<string name="navigation_pickserver">Add torrent to&#8230;</string>
<string name="navigation_url_hint" translatable="false">http://…</string>
<string name="navigation_opendrawer">Select server and filter</string>
<string name="navigation_closedrawer">Close filters list</string>
<string name="navigation_nosettings">%1$s allows you to monitor and manage the torrent client you run at home or on your seedbox. Setting things up can be a bit tricky, but we offer step-by-step guides and promise it\'ll be worth it!</string>
<string name="navigation_emptytorrents">Connected, but no torrents are active within the current filter</string>
<string name="navigation_emptydetails">Select a torrent to view its details</string>
<string name="navigation_servers">Servers</string>
<string name="navigation_status">Status</string>
<string name="navigation_labels">Labels</string>
<string name="navigation_status_showall">All</string>
<string name="navigation_status_onlydown">Downloading</string>
<string name="navigation_status_onlyup">Seeding</string>
<string name="navigation_status_onlyactive">Active</string>
<string name="navigation_status_onlyinactive">Inactive</string>
<plurals name="navigation_torrentsselected">
<item quantity="one">%1$d torrent selected</item>
<item quantity="other">%1$d torrents selected</item>
</plurals>
<plurals name="navigation_filesselected">
<item quantity="one">%1$d files selected</item>
<item quantity="other">%1$d files selected</item>
</plurals>
<string name="navigation_selectall">Select all</string>
<string name="navigation_selectfinished">Select finished</string>
<string name="navigation_invertselection">Invert selection</string>
<string name="navigation_pickserver">Add torrent to&#8230;</string>
<string name="navigation_url_hint" translatable="false">http://…</string>
<string name="status_status">STATUS: %1$s</string>
<string name="status_waiting">Waiting to check&#8230;</string>
<string name="status_checking">Verifying local data&#8230;</string>
<string name="status_waitingtodl">Waiting to download %s</string>
<string name="status_error">Error&#8230;</string>
<string name="status_size1">%1$s OF %2$s (%3$s)</string>
<string name="status_size2">%1$s, UPLOADED %2$s</string>
<string name="status_sincedate">SINCE %1$s</string>
<string name="status_eta">~ %1$s</string>
<string name="status_etalong">ETA %1$s</string>
<string name="status_ofsize">OF %1$s</string>
<string name="status_unknowneta">UNKNOWN ETA</string>
<string name="status_ratio">RATIO %1$s</string>
<string name="status_seeders">%1$s OF %2$s SEEDERS</string>
<string name="status_leechers">%1$s OF %2$s LEECHERS</string>
<string name="status_speed_up" translatable="false">↑ %1$s</string>
<string name="status_speed_down" translatable="false">↓ %1$s</string>
<string name="status_speed_down_details" translatable="false">%1$s ↓</string>
<string name="status_downloading">Downloading</string>
<string name="status_seeding">Seeding</string>
<string name="status_paused">Paused</string>
<string name="status_queued">Queued</string>
<string name="status_stopped">Stopped</string>
<string name="status_unknown">Unknown status</string>
<string name="status_priority_off">Not downloaded</string>
<string name="status_priority_low">Low priority</string>
<string name="status_priority_normal">Normal priority</string>
<string name="status_priority_high">High priority</string>
<string name="status_pieces">PIECES</string>
<string name="status_trackers">TRACKERS</string>
<string name="status_errors">ERRORS</string>
<string name="status_files">FILES</string>
<string name="status_maxspeed">Maximum transfer speeds</string>
<string name="status_maxspeed_down">MAX DOWNLOAD</string>
<string name="status_maxspeed_up">MAX UPLOAD</string>
<string name="status_maxspeed_unit">KB/S</string>
<string name="status_maxspeed_reset">Reset</string>
<string name="status_maxspeed_novalue" translatable="false">-</string>
<string name="status_update">Update</string>
<plurals name="status_service_added">
<item quantity="one">New torrent added</item>
<item quantity="other">%1$s new torrents added</item>
</plurals>
<plurals name="status_service_finished">
<item quantity="one">Torrent is finished</item>
<item quantity="other">%1$s torrents are finished</item>
</plurals>
<plurals name="status_service_addedfinished">
<item quantity="one">%1$s added, %2$s finished torrent</item>
<item quantity="other">%1$s added, %2$s finished torrents</item>
</plurals>
<string name="status_service_andothers">%1$s and others</string>
<string name="status_status">STATUS: %1$s</string>
<string name="status_waiting">Waiting to check&#8230;</string>
<string name="status_checking">Verifying local data&#8230;</string>
<string name="status_waitingtodl">Waiting to download %s</string>
<string name="status_error">Error&#8230;</string>
<string name="status_size1">%1$s OF %2$s (%3$s)</string>
<string name="status_size2">%1$s, UPLOADED %2$s</string>
<string name="status_sincedate">SINCE %1$s</string>
<string name="status_eta">~ %1$s</string>
<string name="status_etalong">ETA %1$s</string>
<string name="status_ofsize">OF %1$s</string>
<string name="status_unknowneta">UNKNOWN ETA</string>
<string name="status_ratio">RATIO %1$s</string>
<string name="status_seeders">%1$s OF %2$s SEEDERS</string>
<string name="status_leechers">%1$s OF %2$s LEECHERS</string>
<string name="status_speed_up" translatable="false">↑ %1$s</string>
<string name="status_speed_down" translatable="false">↓ %1$s</string>
<string name="status_speed_down_details" translatable="false">%1$s ↓</string>
<string name="status_downloading">Downloading</string>
<string name="status_seeding">Seeding</string>
<string name="status_paused">Paused</string>
<string name="status_queued">Queued</string>
<string name="status_stopped">Stopped</string>
<string name="status_unknown">Unknown status</string>
<string name="status_priority_off">Not downloaded</string>
<string name="status_priority_low">Low priority</string>
<string name="status_priority_normal">Normal priority</string>
<string name="status_priority_high">High priority</string>
<string name="status_pieces">PIECES</string>
<string name="status_trackers">TRACKERS</string>
<string name="status_errors">ERRORS</string>
<string name="status_files">FILES</string>
<string name="status_maxspeed">Maximum transfer speeds</string>
<string name="status_maxspeed_down">MAX DOWNLOAD</string>
<string name="status_maxspeed_up">MAX UPLOAD</string>
<string name="status_maxspeed_unit">KB/S</string>
<string name="status_maxspeed_reset">Reset</string>
<string name="status_maxspeed_novalue" translatable="false">-</string>
<string name="status_update">Update</string>
<plurals name="status_service_added">
<item quantity="one">New torrent added</item>
<item quantity="other">%1$s new torrents added</item>
</plurals>
<plurals name="status_service_finished">
<item quantity="one">Torrent is finished</item>
<item quantity="other">%1$s torrents are finished</item>
</plurals>
<plurals name="status_service_addedfinished">
<item quantity="one">%1$s added, %2$s finished torrent</item>
<item quantity="other">%1$s added, %2$s finished torrents</item>
</plurals>
<string name="status_service_andothers">%1$s and others</string>
<string name="labels_showall">All labels</string>
<string name="labels_unlabeled">Unlabeled</string>
<string name="labels_newlabel">New label</string>
<string name="labels_no_support">Setting a label is not supported by your client</string>
<string name="status_label_pick">PICK A LABEL</string>
<string name="status_label_new">NEW LABEL</string>
<string name="status_label_remove">Remove label</string>
<string name="status_label_hint">E.g. movies or linux</string>
<string name="labels_showall">All labels</string>
<string name="labels_unlabeled">Unlabeled</string>
<string name="labels_newlabel">New label</string>
<string name="labels_no_support">Setting a label is not supported by your client</string>
<string name="status_label_pick">PICK A LABEL</string>
<string name="status_label_new">NEW LABEL</string>
<string name="status_label_remove">Remove label</string>
<string name="status_label_hint">E.g. movies or linux</string>
<string name="result_added">%1$s added (refreshing)</string>
<string name="result_removed">%1$s removed</string>
<string name="result_removed_with_data">%1$s removed and data deleted</string>
<string name="result_resumed">%1$s resumed (refreshing)</string>
<string name="result_stopped">%1$s stopped (refreshing)</string>
<string name="result_started">%1$s started (refreshing)</string>
<string name="result_paused">%1$s paused (refreshing)</string>
<string name="result_paused_all">Torrents paused (refreshing)</string>
<string name="result_resumed_all">Torrents resumed (refreshing)</string>
<string name="result_stopped_all">Torrents stopped (refreshing)</string>
<string name="result_started_all">Torrents started (refreshing)</string>
<string name="result_trackersupdated">Trackers updated</string>
<string name="result_labelset">Label set to \'%1$s\'</string>
<string name="result_labelremoved">Label removed</string>
<string name="result_togglesequential">%1$s is downloading %2$s</string>
<string name="result_togglesequential_offstate">normally</string>
<string name="result_togglesequential_onstate">sequentially</string>
<string name="result_togglefirstlastpiece">%1$s has %2$s</string>
<string name="result_togglefirstlastpiece_onstate">first and last piece priority</string>
<string name="result_togglefirstlastpiece_offstate">normal piece priority</string>
<string name="result_recheckedstarted">Checking %1$s data</string>
<string name="result_locationset">Torrent moved to \'%1$s\'</string>
<string name="result_priotitiesset">File priorities updated</string>
<string name="result_maxspeedsset">Maximum transfer speeds set</string>
<string name="result_added">%1$s added (refreshing)</string>
<string name="result_removed">%1$s removed</string>
<string name="result_removed_with_data">%1$s removed and data deleted</string>
<string name="result_resumed">%1$s resumed (refreshing)</string>
<string name="result_stopped">%1$s stopped (refreshing)</string>
<string name="result_started">%1$s started (refreshing)</string>
<string name="result_paused">%1$s paused (refreshing)</string>
<string name="result_paused_all">Torrents paused (refreshing)</string>
<string name="result_resumed_all">Torrents resumed (refreshing)</string>
<string name="result_stopped_all">Torrents stopped (refreshing)</string>
<string name="result_started_all">Torrents started (refreshing)</string>
<string name="result_trackersupdated">Trackers updated</string>
<string name="result_labelset">Label set to \'%1$s\'</string>
<string name="result_labelremoved">Label removed</string>
<string name="result_togglesequential">%1$s is downloading %2$s</string>
<string name="result_togglesequential_offstate">normally</string>
<string name="result_togglesequential_onstate">sequentially</string>
<string name="result_togglefirstlastpiece">%1$s has %2$s</string>
<string name="result_togglefirstlastpiece_onstate">first and last piece priority</string>
<string name="result_togglefirstlastpiece_offstate">normal piece priority</string>
<string name="result_recheckedstarted">Checking %1$s data</string>
<string name="result_locationset">Torrent moved to \'%1$s\'</string>
<string name="result_priotitiesset">File priorities updated</string>
<string name="result_maxspeedsset">Maximum transfer speeds set</string>
<string name="search_torrentsearch">Torrent search</string>
<string name="search_queryonsite">\'%1$s\' on %2$s</string>
<string name="search_hint">Search for torrents</string>
<string name="search_noresults">No results for your query</string>
<string name="search_seeders">S: %1$s</string>
<string name="search_leechers">L: %1$s</string>
<string name="search_installsearch">This feature requires a one-time installation of the Torrent Search module. Click download to get the install package (apk) from transdroid.org and restart your search.</string>
<string name="search_download">Download module</string>
<string name="search_openingdetails">Opening details for %1$s</string>
<string name="search_barcodescannernotfound">The Barcode Scanner could not be found. Would you like to install it from the Play Store?</string>
<string name="search_filemanagernotfound">No compatible file manager could not be found. Would you like to install IO File Manager from the Play Store?</string>
<plurals name="search_resutlsselected">
<item quantity="one">%1$d result selected</item>
<item quantity="other">%1$d results selected</item>
</plurals>
<string name="search_torrentsearch">Torrent search</string>
<string name="search_queryonsite">\'%1$s\' on %2$s</string>
<string name="search_hint">Search for torrents</string>
<string name="search_noresults">No results for your query</string>
<string name="search_seeders">S: %1$s</string>
<string name="search_leechers">L: %1$s</string>
<string name="search_installsearch">This feature requires a one-time installation of the Torrent Search module. Click download to get the install package (apk) from transdroid.org and restart your search.</string>
<string name="search_download">Download module</string>
<string name="search_openingdetails">Opening details for %1$s</string>
<string name="search_barcodescannernotfound">The Barcode Scanner could not be found. Would you like to install it from the Play Store?</string>
<string name="search_filemanagernotfound">No compatible file manager could not be found. Would you like to install IO File Manager from the Play Store?</string>
<plurals name="search_resutlsselected">
<item quantity="one">%1$d result selected</item>
<item quantity="other">%1$d results selected</item>
</plurals>
<string name="rss_feeds">RSS feeds</string>
<string name="rss_nosettings">You have not defined any RSS feeds yet to monitor. Torrent-specific RSS feeds keep you up to date with new releases and you are notified of new items.</string>
<string name="rss_noselection">Select an RSS feed to view the new items</string>
<string name="rss_empty">The RSS feed is not available or it contains no items</string>
<string name="rss_notloaded">Sorry, please wait until the RSS feed is loaded</string>
<string name="rss_error">Sorry, this RSS feed could not be loaded at this time</string>
<plurals name="rss_itemsselected">
<item quantity="one">%1$d item selected</item>
<item quantity="other">%1$d items selected</item>
</plurals>
<plurals name="rss_service_new">
<item quantity="one">New RSS feed torrent available</item>
<item quantity="other">%1$s new RSS feed torrents</item>
</plurals>
<string name="rss_service_newfor">New torrents for %1$s</string>
<string name="rss_feeds">RSS feeds</string>
<string name="rss_nosettings">You have not defined any RSS feeds yet to monitor. Torrent-specific RSS feeds keep you up to date with new releases and you are notified of new items.</string>
<string name="rss_noselection">Select an RSS feed to view the new items</string>
<string name="rss_empty">The RSS feed is not available or it contains no items</string>
<string name="rss_notloaded">Sorry, please wait until the RSS feed is loaded</string>
<string name="rss_error">Sorry, this RSS feed could not be loaded at this time</string>
<plurals name="rss_itemsselected">
<item quantity="one">%1$d item selected</item>
<item quantity="other">%1$d items selected</item>
</plurals>
<plurals name="rss_service_new">
<item quantity="one">New RSS feed torrent available</item>
<item quantity="other">%1$s new RSS feed torrents</item>
</plurals>
<string name="rss_service_newfor">New torrents for %1$s</string>
<string name="remoterss_filter_allrecent">(All recent)</string>
<string name="remoterss_no_files">No torrent files found.\n\nAre your RSS feeds configured correctly?</string>
<string name="remoterss_loading">Loading RSS feeds…</string>
<string name="remoterss_filter_allrecent">(All recent)</string>
<string name="remoterss_no_files">No torrent files found.\n\nAre your RSS feeds configured correctly?</string>
<string name="remoterss_loading">Loading RSS feeds…</string>
<string name="widget_loading">Loading&#8230;</string>
<string name="widget_opentransdroid">Open Transdroid</string>
<string name="widget_filter">SERVER VIEW</string>
<string name="widget_lookfeel">LOOK &amp; FEEL</string>
<string name="widget_sortby">SORT ORDER</string>
<string name="widget_reversesortorder">Reversed sort order</string>
<string name="widget_showstatusview">Server status instead of title</string>
<string name="widget_usedarktheme">Use dark theme (no preview)</string>
<string name="widget_done">DONE</string>
<string name="widget_loading">Loading&#8230;</string>
<string name="widget_opentransdroid">Open Transdroid</string>
<string name="widget_filter">SERVER VIEW</string>
<string name="widget_lookfeel">LOOK &amp; FEEL</string>
<string name="widget_sortby">SORT ORDER</string>
<string name="widget_reversesortorder">Reversed sort order</string>
<string name="widget_showstatusview">Server status instead of title</string>
<string name="widget_done">DONE</string>
<string name="pref_servers">Servers</string>
<string name="pref_addserver">Add new server</string>
<string name="pref_addserver_normal">Add normal, custom server</string>
<string name="pref_addseedbox">Add seedbox</string>
<string name="pref_defaultserver">Default server</string>
<string name="pref_defaultserver_lastused">Last used</string>
<string name="pref_defaultserver_askonadd">Ask when adding torrent</string>
<string name="pref_searchsites">Search sites</string>
<string name="pref_setsearchsite">Set default site</string>
<string name="pref_addwebsearch">Add web search site</string>
<string name="pref_rssfeeds">RSS feeds</string>
<string name="pref_addrssfeed">Add RSS feed</string>
<string name="pref_others">Other settings</string>
<string name="pref_confirmremove">Are you sure you want to remove these settings?</string>
<string name="pref_servers">Servers</string>
<string name="pref_addserver">Add new server</string>
<string name="pref_addserver_normal">Add normal, custom server</string>
<string name="pref_addseedbox">Add seedbox</string>
<string name="pref_defaultserver">Default server</string>
<string name="pref_defaultserver_lastused">Last used</string>
<string name="pref_defaultserver_askonadd">Ask when adding torrent</string>
<string name="pref_searchsites">Search sites</string>
<string name="pref_setsearchsite">Set default site</string>
<string name="pref_addwebsearch">Add web search site</string>
<string name="pref_rssfeeds">RSS feeds</string>
<string name="pref_addrssfeed">Add RSS feed</string>
<string name="pref_others">Other settings</string>
<string name="pref_confirmremove">Are you sure you want to remove these settings?</string>
<string name="pref_name">Name</string>
<string name="pref_name_optional">Optional personal name</string>
<string name="pref_searchurl">Direct search URL</string>
<string name="pref_searchurl_info">%s will be replaced by the search query</string>
<string name="pref_cookies">Cookies</string>
<string name="pref_cookies_info">Optional; use the key1=value1;key2=value2 format</string>
<string name="pref_feedurl">Feed URL</string>
<string name="pref_reqauth">Requires authentication</string>
<string name="pref_reqauth_info">Opens links in the webbrowser for user login</string>
<string name="pref_alarmrssnew">New item notification</string>
<string name="pref_alarmrssnew_info">Notify when new torrents are released</string>
<string name="pref_alarmrssexclude">Exclude filter</string>
<string name="pref_alarmrssexclude_info">Don\'t show torrents whose name matches these |-separated words</string>
<string name="pref_alarmrssinclude">Include filter</string>
<string name="pref_alarmrssinclude_info">Only show torrents whose name matches these |-separated words</string>
<string name="pref_name">Name</string>
<string name="pref_name_optional">Optional personal name</string>
<string name="pref_searchurl">Direct search URL</string>
<string name="pref_searchurl_info">%s will be replaced by the search query</string>
<string name="pref_cookies">Cookies</string>
<string name="pref_cookies_info">Optional; use the key1=value1;key2=value2 format</string>
<string name="pref_feedurl">Feed URL</string>
<string name="pref_reqauth">Requires authentication</string>
<string name="pref_reqauth_info">Opens links in the webbrowser for user login</string>
<string name="pref_alarmrssnew">New item notification</string>
<string name="pref_alarmrssnew_info">Notify when new torrents are released</string>
<string name="pref_alarmrssexclude">Exclude filter</string>
<string name="pref_alarmrssexclude_info">Don\'t show torrents whose name matches these |-separated words</string>
<string name="pref_alarmrssinclude">Include filter</string>
<string name="pref_alarmrssinclude_info">Only show torrents whose name matches these |-separated words</string>
<string name="pref_servertype">Server type</string>
<string name="pref_address">IP or host name</string>
<string name="pref_port">Port number</string>
<string name="pref_user">User name</string>
<string name="pref_pass">Password</string>
<string name="pref_extrapassword">Deluge web password</string>
<string name="pref_secret">Secret token</string>
<string name="pref_advanced">Advanced settings</string>
<string name="pref_localaddress">Local IP or host</string>
<string name="pref_localaddress_info">When connected to the specified local network</string>
<string name="pref_localport">Local port number</string>
<string name="pref_localnetwork">Local network</string>
<string name="pref_localnetwork_info">The server\'s local network SSID</string>
<string name="pref_local_permission_title">Location permission</string>
<string name="pref_local_permission_rationale">To known the connected Wifi network SSID name, %1$s requires the location permission</string>
<string name="pref_folder">Folder</string>
<string name="pref_folder_info">Usually empty</string>
<string name="pref_scgifolder">SCGI mount point</string>
<string name="pref_optional">Optional settings</string>
<string name="pref_alarmdone">Finished notification</string>
<string name="pref_alarmdone_info">Notify when a torrent finishes</string>
<string name="pref_alarmnew">New torrent notification</string>
<string name="pref_alarmnew_info">Notify when a torrent was added</string>
<string name="pref_alarmexclude">Exclude filter</string>
<string name="pref_alarmexclude_info">Notify only if torrent name matches these |-separated words</string>
<string name="pref_alarminclude">Include filter</string>
<string name="pref_alarminclude_info">Notify never if torrent name matches these |-separated words</string>
<string name="pref_os">Server OS</string>
<string name="pref_downdir">Download directory</string>
<string name="pref_downdir_info">Manually set absolute path for remote connections</string>
<string name="pref_timeout">Connection timeout</string>
<string name="pref_timeout_info">Number of seconds before a connection attempt is aborted</string>
<string name="pref_ftpurl">Base FTP(S) url</string>
<string name="pref_ftpurl_info">For example ftp://me@server/downloads/</string>
<string name="pref_ftppass">FTP(S) password</string>
<string name="pref_disableauth">Disable authentication</string>
<string name="pref_disableauth_info">Don\'t send username and password</string>
<string name="pref_sslenable">Use SSL</string>
<string name="pref_sslenable_info">Connect using https</string>
<string name="pref_local_sslenable">Use SSL on local network</string>
<string name="pref_local_sslenable_info">Connect using https</string>
<string name="pref_sslkey">Custom SSL thumbprint (SHA-1)</string>
<string name="pref_sslkey_info">Permit only connections to this specific certificate</string>
<string name="pref_sslacceptall">Accept all SSL certificates</string>
<string name="pref_sslacceptall_info">Allow all connections from any thumbprint</string>
<string name="pref_servertype">Server type</string>
<string name="pref_address">IP or host name</string>
<string name="pref_port">Port number</string>
<string name="pref_user">User name</string>
<string name="pref_pass">Password</string>
<string name="pref_extrapassword">Deluge web password</string>
<string name="pref_secret">Secret token</string>
<string name="pref_advanced">Advanced settings</string>
<string name="pref_localaddress">Local IP or host</string>
<string name="pref_localaddress_info">When connected to the specified local network</string>
<string name="pref_localport">Local port number</string>
<string name="pref_localnetwork">Local network</string>
<string name="pref_localnetwork_info">The server\'s local network SSID</string>
<string name="pref_local_permission_title">Location permission</string>
<string name="pref_local_permission_rationale">To known the connected Wifi network SSID name, %1$s requires the location permission</string>
<string name="pref_folder">Folder</string>
<string name="pref_folder_info">Usually empty</string>
<string name="pref_scgifolder">SCGI mount point</string>
<string name="pref_optional">Optional settings</string>
<string name="pref_alarmdone">Finished notification</string>
<string name="pref_alarmdone_info">Notify when a torrent finishes</string>
<string name="pref_alarmnew">New torrent notification</string>
<string name="pref_alarmnew_info">Notify when a torrent was added</string>
<string name="pref_alarmexclude">Exclude filter</string>
<string name="pref_alarmexclude_info">Notify only if torrent name matches these |-separated words</string>
<string name="pref_alarminclude">Include filter</string>
<string name="pref_alarminclude_info">Notify never if torrent name matches these |-separated words</string>
<string name="pref_os">Server OS</string>
<string name="pref_downdir">Download directory</string>
<string name="pref_downdir_info">Manually set absolute path for remote connections</string>
<string name="pref_timeout">Connection timeout</string>
<string name="pref_timeout_info">Number of seconds before a connection attempt is aborted</string>
<string name="pref_ftpurl">Base FTP(S) url</string>
<string name="pref_ftpurl_info">For example ftp://me@server/downloads/</string>
<string name="pref_ftppass">FTP(S) password</string>
<string name="pref_disableauth">Disable authentication</string>
<string name="pref_disableauth_info">Don\'t send username and password</string>
<string name="pref_sslenable">Use SSL</string>
<string name="pref_sslenable_info">Connect using https</string>
<string name="pref_local_sslenable">Use SSL on local network</string>
<string name="pref_local_sslenable_info">Connect using https</string>
<string name="pref_sslkey">Custom SSL thumbprint (SHA-1)</string>
<string name="pref_sslkey_info">Permit only connections to this specific certificate</string>
<string name="pref_sslacceptall">Accept all SSL certificates</string>
<string name="pref_sslacceptall_info">Allow all connections from any thumbprint</string>
<string name="pref_background">Background notifications</string>
<string name="pref_notifications_rss">Enable RSS notifications</string>
<string name="pref_notifications_torrent">Enable torrent notifications</string>
<string name="pref_notifications_info">Enables the background service</string>
<string name="pref_notifyinterval">Interval</string>
<string name="pref_notifyinterval_info">How often to check RSS or torrents</string>
<string name="pref_notifysound">Sound</string>
<string name="pref_notifyvibrate">Vibrate</string>
<string name="pref_notifyled">LED colour</string>
<string name="pref_notifyled_info">If supported by your device</string>
<string name="pref_adw">Support ADW notifications</string>
<string name="pref_adw_info">Show torrent counter in ADW Launcher</string>
<string name="pref_background">Background notifications</string>
<string name="pref_notifications_rss">Enable RSS notifications</string>
<string name="pref_notifications_torrent">Enable torrent notifications</string>
<string name="pref_notifications_info">Enables the background service</string>
<string name="pref_notifyinterval">Interval</string>
<string name="pref_notifyinterval_info">How often to check RSS or torrents</string>
<string name="pref_notifysound">Sound</string>
<string name="pref_notifyvibrate">Vibrate</string>
<string name="pref_notifyled">LED colour</string>
<string name="pref_notifyled_info">If supported by your device</string>
<string name="pref_adw">Support ADW notifications</string>
<string name="pref_adw_info">Show torrent counter in ADW Launcher</string>
<string name="pref_system">System</string>
<string name="pref_autorefresh">Automatic refreshing</string>
<string name="pref_autorefresh_info">Interval-based refresh of the main screen</string>
<string-array name="pref_autorefresh_intervals">
<item>Disabled</item>
<item>2 seconds</item>
<item>5 seconds</item>
<item>10 seconds</item>
<item>30 seconds</item>
</string-array>
<string-array name="pref_autorefresh_intervalvalues" translatable="false">
<item>0</item>
<item>2</item>
<item>5</item>
<item>10</item>
<item>30</item>
</string-array>
<string name="pref_dormantasinactive">Treat dormant torrents as inactive</string>
<string name="pref_dormantasinactive_info">Torrents at 0KB/s (no data transfer) will be filtered as being inactive</string>
<string name="pref_checkupdates">Check for updates</string>
<string name="pref_checkupdates_info">Check transdroid.org for latest app version</string>
<string name="pref_usedarktheme">Use dark UI theme</string>
<string name="pref_usedarktheme_info">Requires a restart to take effect</string>
<string name="pref_clearsearch">Clear search history</string>
<string name="pref_clearsearch_success">Search history is cleared</string>
<string name="pref_import">Import settings</string>
<string name="pref_import_dialog">%1$s will try to import server, web search, RSS and system settings from: %2$s</string>
<string name="pref_import_fromfile">Use file</string>
<string name="pref_import_fromqr">Use QR code</string>
<string name="pref_import_success">Settings successfully imported</string>
<string name="pref_export">Export settings</string>
<string name="pref_export_dialog">%1$s will export server (including passwords), web search, RSS and system settings to the following plain text JSON file: %2$s</string>
<string name="pref_export_tofile">To file</string>
<string name="pref_export_toqr">To QR code</string>
<string name="pref_export_success">Settings successfully exported</string>
<string name="pref_system">System</string>
<string name="pref_autorefresh">Automatic refreshing</string>
<string name="pref_autorefresh_info">Interval-based refresh of the main screen</string>
<string-array name="pref_autorefresh_intervals">
<item>Disabled</item>
<item>2 seconds</item>
<item>5 seconds</item>
<item>10 seconds</item>
<item>30 seconds</item>
</string-array>
<string-array name="pref_autorefresh_intervalvalues" translatable="false">
<item>0</item>
<item>2</item>
<item>5</item>
<item>10</item>
<item>30</item>
</string-array>
<string name="pref_dormantasinactive">Treat dormant torrents as inactive</string>
<string name="pref_dormantasinactive_info">Torrents at 0KB/s (no data transfer) will be filtered as being inactive</string>
<string name="pref_checkupdates">Check for updates</string>
<string name="pref_checkupdates_info">Check transdroid.org for latest app version</string>
<string name="pref_autodarktheme">Auto night mode</string>
<string name="pref_autodarktheme_info">Automatically choose between light or dark theme</string>
<string name="pref_usedarktheme">Use dark UI theme</string>
<string name="pref_usedarktheme_info">Requires a restart to take effect</string>
<string name="pref_clearsearch">Clear search history</string>
<string name="pref_clearsearch_success">Search history is cleared</string>
<string name="pref_import">Import settings</string>
<string name="pref_import_dialog">%1$s will try to import server, web search, RSS and system settings from: %2$s</string>
<string name="pref_import_fromfile">Use file</string>
<string name="pref_import_fromqr">Use QR code</string>
<string name="pref_import_success">Settings successfully imported</string>
<string name="pref_export">Export settings</string>
<string name="pref_export_dialog">%1$s will export server (including passwords), web search, RSS and system settings to the following plain text JSON file: %2$s</string>
<string name="pref_export_tofile">To file</string>
<string name="pref_export_toqr">To QR code</string>
<string name="pref_export_success">Settings successfully exported</string>
<string name="pref_help">Transdroid help</string>
<string name="pref_sendlog">Send error log</string>
<string name="pref_sendlog_info">Get support or report a bug</string>
<string name="pref_installhelp">View install guides</string>
<string name="pref_installhelp_info">Available at transdroid.org/download</string>
<string name="pref_changelog">Recent changes</string>
<string name="pref_about">About %1$s</string>
<string name="pref_help">Transdroid help</string>
<string name="pref_sendlog">Send error log</string>
<string name="pref_sendlog_info">Get support or report a bug</string>
<string name="pref_installhelp">View install guides</string>
<string name="pref_installhelp_info">Available at transdroid.org/download</string>
<string name="pref_changelog">Recent changes</string>
<string name="pref_about">About %1$s</string>
<string name="pref_seedbox_addseedbox">Add %1$s seedbox</string>
<string name="pref_seedbox_client">Torrent client</string>
<string name="pref_seedbox_client_info">Client to connect to</string>
<string name="pref_seedbox_server">Server address</string>
<string name="pref_seedbox_xirvikhint">Like eplus001.xirvik.com</string>
<string name="pref_seedbox_xirvikhint2">Like semixl001a.xirvik.com</string>
<string name="pref_seedbox_xirvikhint3">Like desharedgbit001.xirvik.com</string>
<string name="pref_seedbox_xirviknofolder">Cannot retrieve the Xirvik SCGI folder setting; please try again later or correct your server address setting</string>
<string name="pref_seedbox_seedstuffhint">Like 001.seedstuff.ca</string>
<string name="pref_seedbox_dediseedboxhint">Like abcd123.dediseedbox.com</string>
<string-array name="pref_seedbox_xirvikclients" translatable="false">
<item>rTorrent</item>
<item>uTorrent</item>
<item>Deluge</item>
</string-array>
<string-array name="pref_seedbox_xirviktypes" translatable="false">
<item>daemon_rtorrent</item>
<item>daemon_utorrent</item>
<item>daemon_deluge</item>
</string-array>
<string name="pref_seedbox_addseedbox">Add %1$s seedbox</string>
<string name="pref_seedbox_client">Torrent client</string>
<string name="pref_seedbox_client_info">Client to connect to</string>
<string name="pref_seedbox_server">Server address</string>
<string name="pref_seedbox_xirvikhint">Like eplus001.xirvik.com</string>
<string name="pref_seedbox_xirvikhint2">Like semixl001a.xirvik.com</string>
<string name="pref_seedbox_xirvikhint3">Like desharedgbit001.xirvik.com</string>
<string name="pref_seedbox_xirviknofolder">Cannot retrieve the Xirvik SCGI folder setting; please try again later or correct your server address setting</string>
<string name="pref_seedbox_seedstuffhint">Like 001.seedstuff.ca</string>
<string name="pref_seedbox_dediseedboxhint">Like abcd123.dediseedbox.com</string>
<string-array name="pref_seedbox_xirvikclients" translatable="false">
<item>rTorrent</item>
<item>uTorrent</item>
<item>Deluge</item>
</string-array>
<string-array name="pref_seedbox_xirviktypes" translatable="false">
<item>daemon_rtorrent</item>
<item>daemon_utorrent</item>
<item>daemon_deluge</item>
</string-array>
<string-array name="pref_daemon_types" translatable="false">
<item>Aria2</item>
@ -399,14 +400,14 @@ @@ -399,14 +400,14 @@
<item>Buffalo NAS -1.31</item>
<item>Deluge 1.2+</item>
<item>Deluge RPC</item>
<item>Deluge 2 RPC</item>
<item>DLink Router BT</item>
<item>Deluge 2 RPC</item>
<item>DLink Router BT</item>
<item>Ktorrent</item>
<item>qBittorrent</item>
<item>rTorrent</item>
<item>Synology</item>
<item>Torrentflux-b4rt</item>
<item>tTorrent</item>
<item>Torrentflux-b4rt</item>
<item>tTorrent</item>
<item>Transmission</item>
<item>µTorrent</item>
<item>Vuze</item>
@ -419,86 +420,86 @@ @@ -419,86 +420,86 @@
<item>daemon_buffalonas</item>
<item>daemon_deluge</item>
<item>daemon_deluge_rpc</item>
<item>daemon_deluge2_rpc</item>
<item>daemon_dlinkrouterbt</item>
<item>daemon_deluge2_rpc</item>
<item>daemon_dlinkrouterbt</item>
<item>daemon_ktorrent</item>
<item>daemon_qbittorrent</item>
<item>daemon_rtorrent</item>
<item>daemon_synology</item>
<item>daemon_tfb4rt</item>
<item>daemon_ttorrent</item>
<item>daemon_tfb4rt</item>
<item>daemon_ttorrent</item>
<item>daemon_transmission</item>
<item>daemon_utorrent</item>
<item>daemon_vuze</item>
</string-array>
<string-array name="pref_os_types" translatable="false">
<item>Windows</item>
<item>Mac</item>
<item>Linux</item>
</string-array>
<string-array name="pref_os_values" translatable="false">
<item>type_windows</item>
<item>type_mac</item>
<item>type_linux</item>
</string-array>
<string-array name="pref_notifyinterval_types">
<item>15 minutes</item>
<item>30 minutes</item>
<item>1 hour</item>
<item>3 hours</item>
<item>12 hours</item>
<item>1 day</item>
</string-array>
<string-array name="pref_notifyinterval_values" translatable="false">
<item>900</item>
<item>1800</item>
<item>3600</item>
<item>10800</item>
<item>43200</item>
<item>86400</item>
</string-array>
<string-array name="pref_os_types" translatable="false">
<item>Windows</item>
<item>Mac</item>
<item>Linux</item>
</string-array>
<string-array name="pref_os_values" translatable="false">
<item>type_windows</item>
<item>type_mac</item>
<item>type_linux</item>
</string-array>
<string-array name="pref_notifyinterval_types">
<item>15 minutes</item>
<item>30 minutes</item>
<item>1 hour</item>
<item>3 hours</item>
<item>12 hours</item>
<item>1 day</item>
</string-array>
<string-array name="pref_notifyinterval_values" translatable="false">
<item>900</item>
<item>1800</item>
<item>3600</item>
<item>10800</item>
<item>43200</item>
<item>86400</item>
</string-array>
<string name="permission_readtorrent">Transdroid requires read access to your file storage in order to read local .torrent files</string>
<string name="permission_readsettings">Transdroid requires read access to your file storage if you want to read from a local settings file</string>
<string name="permission_writesettings">Transdroid requires write access to your file storage to write the local settings file</string>
<string name="permission_readtorrent">Transdroid requires read access to your file storage in order to read local .torrent files</string>
<string name="permission_readsettings">Transdroid requires read access to your file storage if you want to read from a local settings file</string>
<string name="permission_writesettings">Transdroid requires write access to your file storage to write the local settings file</string>
<string name="error_httperror">Error during communication; check your connection</string>
<string name="error_unsupported">Your torrent client does not support this operation</string>
<string name="error_magnet_links_unsupported">Your torrent client does not support magnet links</string>
<string name="error_jsonrequesterror">Internal error building request</string>
<string name="error_jsonresponseerror">Error parsing server response (please check your settings)</string>
<string name="error_daemonnotconnected">Web interface not connected to a running daemon</string>
<string name="error_401">Access denied (please check your settings)</string>
<string name="error_torrentfile">Can\'t read .torrent file</string>
<string name="error_parsingrss">Error while parsing the RSS feed</string>
<string name="error_invalid_url_form">This URL is not well-formed</string>
<string name="error_invalid_search_url">Your web search URL is invalid:</string>
<string name="error_invalid_ip_or_hostname">Input is not a valid IP address or host name</string>
<string name="error_invalid_port_number">Port number is always numeric</string>
<string name="error_invalid_directory">Directory paths end with a / or \</string>
<string name="error_invalid_timeout">Timeout can not be empty and is a positive number</string>
<string name="error_notorrentfile">The search result does not link to a .torrent file</string>
<string name="error_noproductforcode">Can\'t find torrent link or product information for this barcode</string>
<string name="error_no_url_enclosure">The RSS feed item didn\'t provide an URL enclosure or link tag pointing to the .torrent file</string>
<string name="error_no_link">The RSS feed item does not provide a link to browse to</string>
<string name="error_norssfeed">URL is not a (valid) RSS feed</string>
<string name="error_media_not_available">SD card not available to read/write</string>
<string name="error_no_valid_settings_file">File does not seem to contain %1$s settings</string>
<string name="error_file_not_found">The settings file could not be found</string>
<string name="error_cant_write_settings_file">Can\'t write to the settings file</string>
<string name="error_notanumber">Please enter a positive number for both speeds</string>
<string name="error_notalabel">Please enter a valid label or pick from the list</string>
<string name="error_stillloadingdetails">Please wait until the torrent details have been loaded</string>
<string name="error_noftpapp">No app found that can download %1$s</string>
<string name="error_httperror">Error during communication; check your connection</string>
<string name="error_unsupported">Your torrent client does not support this operation</string>
<string name="error_magnet_links_unsupported">Your torrent client does not support magnet links</string>
<string name="error_jsonrequesterror">Internal error building request</string>
<string name="error_jsonresponseerror">Error parsing server response (please check your settings)</string>
<string name="error_daemonnotconnected">Web interface not connected to a running daemon</string>
<string name="error_401">Access denied (please check your settings)</string>
<string name="error_torrentfile">Can\'t read .torrent file</string>
<string name="error_parsingrss">Error while parsing the RSS feed</string>
<string name="error_invalid_url_form">This URL is not well-formed</string>
<string name="error_invalid_search_url">Your web search URL is invalid:</string>
<string name="error_invalid_ip_or_hostname">Input is not a valid IP address or host name</string>
<string name="error_invalid_port_number">Port number is always numeric</string>
<string name="error_invalid_directory">Directory paths end with a / or \</string>
<string name="error_invalid_timeout">Timeout can not be empty and is a positive number</string>
<string name="error_notorrentfile">The search result does not link to a .torrent file</string>
<string name="error_noproductforcode">Can\'t find torrent link or product information for this barcode</string>
<string name="error_no_url_enclosure">The RSS feed item didn\'t provide an URL enclosure or link tag pointing to the .torrent file</string>
<string name="error_no_link">The RSS feed item does not provide a link to browse to</string>
<string name="error_norssfeed">URL is not a (valid) RSS feed</string>
<string name="error_media_not_available">SD card not available to read/write</string>
<string name="error_no_valid_settings_file">File does not seem to contain %1$s settings</string>
<string name="error_file_not_found">The settings file could not be found</string>
<string name="error_cant_write_settings_file">Can\'t write to the settings file</string>
<string name="error_notanumber">Please enter a positive number for both speeds</string>
<string name="error_notalabel">Please enter a valid label or pick from the list</string>
<string name="error_stillloadingdetails">Please wait until the torrent details have been loaded</string>
<string name="error_noftpapp">No app found that can download %1$s</string>
<string name="update_app_newversion">New Transdroid version available</string>
<string name="update_search_newversion">New Transdroid search module available</string>
<string name="update_updateto">You can now update to %1$s</string>
<string name="update_app_newversion">New Transdroid version available</string>
<string name="update_search_newversion">New Transdroid search module available</string>
<string name="update_updateto">You can now update to %1$s</string>
<string name="system_developer" translatable="false">\u00A9 Eric Kok, 2312 development</string>
<string name="system_license" translatable="false">Published under GNU General Public License v3</string>
<string name="system_librarieslabel">Some code/libraries are used in the project:</string>
<string name="system_libraries" translatable="false">AndroidAnnotations\n \u00A0 http://androidannotations.org/\n \u00A0 Pierre-Yves Ricau (eBusinessInformations) et al. \n \u00A0 Apache License, Version 2.0\nMaterial Dialogs\n \u00A0 https://github.com/afollestad/material-dialogs\n \u00A0 Aidan Follestad et al. \n \u00A0 MIT License\nSnackbar\n \u00A0 https://github.com/nispok/snackbar\n \u00A0 William Mora et al. \n \u00A0 MIT License\nFloatingActionButton\n \u00A0 https://github.com/futuresimple/android-floating-action-button\n \u00A0 Jerzy Chałupski et al. \n \u00A0 Apache License, Version 2.0\nBase16Encoder\n \u00A0 http://openjpa.apache.org/\n \u00A0 Marc Prud\'hommeaux \n \u00A0 Apache OpenJPA\n MultipartEntity \n \u00A0 Apache Software Foundation \n \u00A0 Apache License, Version 2.0\nRssParser (learning-android)\n \u00A0 http://github.com/digitalspaghetti/learning-android\n \u00A0 Tane Piper \n \u00A0 Public Domain\nBase64\n \u00A0 http://iharder.net/base64\n \u00A0 Robert Harder \n \u00A0 Public Domain\naXMLRPC\n \u00A0 https://github.com/timroes/aXMLRPC\n \u00A0 Tim Roes \n \u00A0 MIT License\nandroid-ColorPickerPreference\n \u00A0 https://github.com/attenzione/android-ColorPickerPreference\n \u00A0 Daniel Nilsson and Sergey Margaritov \n \u00A0 Apache License, Version 2.0\nFunnel icon\n \u00A0 http://thenounproject.com/noun/funnel/#icon-No5608\n \u00A0 Naomi Atkinson from The Noun Project\n \u00A0 Creative Commons Attribution 3.0</string>
<string name="system_description">Manage your torrents from your Android device</string>
<string name="system_developer" translatable="false">\u00A9 Eric Kok, 2312 development</string>
<string name="system_license" translatable="false">Published under GNU General Public License v3</string>
<string name="system_librarieslabel">Some code/libraries are used in the project:</string>
<string name="system_libraries" translatable="false">AndroidAnnotations\n \u00A0 http://androidannotations.org/\n \u00A0 Pierre-Yves Ricau (eBusinessInformations) et al. \n \u00A0 Apache License, Version 2.0\nMaterial Dialogs\n \u00A0 https://github.com/afollestad/material-dialogs\n \u00A0 Aidan Follestad et al. \n \u00A0 MIT License\nSnackbar\n \u00A0 https://github.com/nispok/snackbar\n \u00A0 William Mora et al. \n \u00A0 MIT License\nFloatingActionButton\n \u00A0 https://github.com/futuresimple/android-floating-action-button\n \u00A0 Jerzy Chałupski et al. \n \u00A0 Apache License, Version 2.0\nBase16Encoder\n \u00A0 http://openjpa.apache.org/\n \u00A0 Marc Prud\'hommeaux \n \u00A0 Apache OpenJPA\n MultipartEntity \n \u00A0 Apache Software Foundation \n \u00A0 Apache License, Version 2.0\nRssParser (learning-android)\n \u00A0 http://github.com/digitalspaghetti/learning-android\n \u00A0 Tane Piper \n \u00A0 Public Domain\nBase64\n \u00A0 http://iharder.net/base64\n \u00A0 Robert Harder \n \u00A0 Public Domain\naXMLRPC\n \u00A0 https://github.com/timroes/aXMLRPC\n \u00A0 Tim Roes \n \u00A0 MIT License\nandroid-ColorPickerPreference\n \u00A0 https://github.com/attenzione/android-ColorPickerPreference\n \u00A0 Daniel Nilsson and Sergey Margaritov \n \u00A0 Apache License, Version 2.0\nFunnel icon\n \u00A0 http://thenounproject.com/noun/funnel/#icon-No5608\n \u00A0 Naomi Atkinson from The Noun Project\n \u00A0 Creative Commons Attribution 3.0</string>
<string name="system_description">Manage your torrents from your Android device</string>
</resources>

8
app/src/main/res/values/styles.xml

@ -16,14 +16,10 @@ @@ -16,14 +16,10 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="TransdroidTheme" parent="Theme.Transdroid.Light">
<item name="drawer_background">@color/background_light</item>
<item name="activatable_background">@drawable/activatable_background</item>
<style name="TransdroidTheme" parent="Theme.Transdroid.Auto">
</style>
<style name="TransdroidTheme.Dark" parent="Theme.Transdroid.Dark">
<item name="drawer_background">@color/background_dark</item>
<item name="activatable_background">@drawable/activatable_background</item>
<style name="TransdroidTheme.Dark" parent="Theme.Transdroid.Auto">
</style>
<!-- No theme background to let the user's wall paper shine through -->

15
app/src/main/res/values/styles_transdroid_light.xml → app/src/main/res/values/styles_transdroid.xml

@ -19,18 +19,21 @@ @@ -19,18 +19,21 @@
<resources>
<style name="Theme.Transdroid.Light" parent="Theme.AppCompat.Light.NoActionBar">
<style name="Theme.Transdroid.Auto" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="drawer_background">@color/transdroid_background</item>
<item name="activatable_background">@drawable/activatable_background</item>
<item name="colorPrimary">@color/green</item>
<item name="colorPrimaryDark">@color/green_dark</item>
<item name="colorControlHighlight">@color/green_light</item>
<item name="windowActionModeOverlay">true</item>
<item name="actionModeBackground">@color/grey</item>
<item name="android:textViewStyle">@style/DefaultTextView</item>
<item name="android:windowBackground">@color/background_light</item>
<item name="loading_progress">@drawable/loading_progress_light</item>
<item name="text_bright">@color/text_bright_light</item>
<item name="text_actionbar">@color/text_actionbar_dark</item>
<item name="text_actionbar_secondary">@color/text_actionbar_light</item>
<item name="android:windowBackground">@color/transdroid_background</item>
<item name="loading_progress">@drawable/loading_progress</item>
<item name="text_bright">@color/transdroid_text_bright</item>
<item name="text_actionbar">@color/transdroid_text_actionbar</item>
<item name="text_actionbar_secondary">@color/transdroid_text_actionbar</item>
</style>
</resources>

4
app/src/main/res/xml/listwidget_info.xml

@ -17,8 +17,8 @@ @@ -17,8 +17,8 @@
-->
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:configure="org.transdroid.core.widget.ListWidgetConfigActivity_"
android:initialKeyguardLayout="@layout/widget_torrents_light"
android:initialLayout="@layout/widget_torrents_light"
android:initialKeyguardLayout="@layout/widget_torrents"
android:initialLayout="@layout/widget_torrents"
android:minHeight="110dip"
android:minResizeHeight="40dip"
android:minResizeWidth="110dp"

8
app/src/main/res/xml/pref_system.xml

@ -31,8 +31,16 @@ @@ -31,8 +31,16 @@
android:entryValues="@array/pref_autorefresh_intervalvalues"
android:defaultValue="0" />
<CheckBoxPreference
android:key="system_autodarktheme"
android:title="@string/pref_autodarktheme"
android:summary="@string/pref_autodarktheme_info"
android:disableDependentsState="true"
android:defaultValue="true" />
<CheckBoxPreference
android:key="system_usedarktheme"
android:dependency="system_autodarktheme"
android:title="@string/pref_usedarktheme"
android:summary="@string/pref_usedarktheme_info"
android:defaultValue="false" />

Loading…
Cancel
Save