diff --git a/app/src/main/java/org/transdroid/core/app/settings/ApplicationSettings.java b/app/src/main/java/org/transdroid/core/app/settings/ApplicationSettings.java index 77e9b35c..4508d8cf 100644 --- a/app/src/main/java/org/transdroid/core/app/settings/ApplicationSettings.java +++ b/app/src/main/java/org/transdroid/core/app/settings/ApplicationSettings.java @@ -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 { 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(); } diff --git a/app/src/main/java/org/transdroid/core/app/settings/SettingsUtils.java b/app/src/main/java/org/transdroid/core/app/settings/SettingsUtils.java new file mode 100644 index 00000000..79989549 --- /dev/null +++ b/app/src/main/java/org/transdroid/core/app/settings/SettingsUtils.java @@ -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); + } +} diff --git a/app/src/main/java/org/transdroid/core/app/settings/SystemSettings.java b/app/src/main/java/org/transdroid/core/app/settings/SystemSettings.java index f0cd1e42..a651a2b8 100644 --- a/app/src/main/java/org/transdroid/core/app/settings/SystemSettings.java +++ b/app/src/main/java/org/transdroid/core/app/settings/SystemSettings.java @@ -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 { 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); } /** diff --git a/app/src/main/java/org/transdroid/core/gui/DetailsActivity.java b/app/src/main/java/org/transdroid/core/gui/DetailsActivity.java index c67d1f13..2ec7ee0e 100644 --- a/app/src/main/java/org/transdroid/core/gui/DetailsActivity.java +++ b/app/src/main/java/org/transdroid/core/gui/DetailsActivity.java @@ -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 @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); } diff --git a/app/src/main/java/org/transdroid/core/gui/DetailsFragment.java b/app/src/main/java/org/transdroid/core/gui/DetailsFragment.java index 3039ae71..d701d54e 100644 --- a/app/src/main/java/org/transdroid/core/gui/DetailsFragment.java +++ b/app/src/main/java/org/transdroid/core/gui/DetailsFragment.java @@ -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(); diff --git a/app/src/main/java/org/transdroid/core/gui/TorrentsActivity.java b/app/src/main/java/org/transdroid/core/gui/TorrentsActivity.java index a0d259e2..05696451 100644 --- a/app/src/main/java/org/transdroid/core/gui/TorrentsActivity.java +++ b/app/src/main/java/org/transdroid/core/gui/TorrentsActivity.java @@ -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 @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); diff --git a/app/src/main/java/org/transdroid/core/gui/navigation/SetLabelDialog.java b/app/src/main/java/org/transdroid/core/gui/navigation/SetLabelDialog.java index 17dd2e57..5384474b 100644 --- a/app/src/main/java/org/transdroid/core/gui/navigation/SetLabelDialog.java +++ b/app/src/main/java/org/transdroid/core/gui/navigation/SetLabelDialog.java @@ -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 { 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 diff --git a/app/src/main/java/org/transdroid/core/gui/navigation/SetStorageLocationDialog.java b/app/src/main/java/org/transdroid/core/gui/navigation/SetStorageLocationDialog.java index 183aaaec..9ecdfabc 100644 --- a/app/src/main/java/org/transdroid/core/gui/navigation/SetStorageLocationDialog.java +++ b/app/src/main/java/org/transdroid/core/gui/navigation/SetStorageLocationDialog.java @@ -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 { 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 { diff --git a/app/src/main/java/org/transdroid/core/gui/navigation/SetTrackersDialog.java b/app/src/main/java/org/transdroid/core/gui/navigation/SetTrackersDialog.java index 12158400..78e1a0c9 100644 --- a/app/src/main/java/org/transdroid/core/gui/navigation/SetTrackersDialog.java +++ b/app/src/main/java/org/transdroid/core/gui/navigation/SetTrackersDialog.java @@ -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 { 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 { diff --git a/app/src/main/java/org/transdroid/core/gui/navigation/SetTransferRatesDialog.java b/app/src/main/java/org/transdroid/core/gui/navigation/SetTransferRatesDialog.java index d50a8df7..5f5b2228 100644 --- a/app/src/main/java/org/transdroid/core/gui/navigation/SetTransferRatesDialog.java +++ b/app/src/main/java/org/transdroid/core/gui/navigation/SetTransferRatesDialog.java @@ -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 { 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); diff --git a/app/src/main/java/org/transdroid/core/gui/remoterss/RemoteRssActivity.java b/app/src/main/java/org/transdroid/core/gui/remoterss/RemoteRssActivity.java index 56445861..7b390c15 100644 --- a/app/src/main/java/org/transdroid/core/gui/remoterss/RemoteRssActivity.java +++ b/app/src/main/java/org/transdroid/core/gui/remoterss/RemoteRssActivity.java @@ -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 @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); } diff --git a/app/src/main/java/org/transdroid/core/gui/rss/RssfeedsActivity.java b/app/src/main/java/org/transdroid/core/gui/rss/RssfeedsActivity.java index 88b180c7..c3b81a08 100644 --- a/app/src/main/java/org/transdroid/core/gui/rss/RssfeedsActivity.java +++ b/app/src/main/java/org/transdroid/core/gui/rss/RssfeedsActivity.java @@ -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 { @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); } diff --git a/app/src/main/java/org/transdroid/core/gui/rss/RssitemsActivity.java b/app/src/main/java/org/transdroid/core/gui/rss/RssitemsActivity.java index 742687fb..c0440c39 100644 --- a/app/src/main/java/org/transdroid/core/gui/rss/RssitemsActivity.java +++ b/app/src/main/java/org/transdroid/core/gui/rss/RssitemsActivity.java @@ -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 { @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); } diff --git a/app/src/main/java/org/transdroid/core/gui/search/SearchActivity.java b/app/src/main/java/org/transdroid/core/gui/search/SearchActivity.java index 937eb329..d7f85bf4 100644 --- a/app/src/main/java/org/transdroid/core/gui/search/SearchActivity.java +++ b/app/src/main/java/org/transdroid/core/gui/search/SearchActivity.java @@ -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 { @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); } diff --git a/app/src/main/java/org/transdroid/core/gui/search/SearchResultsFragment.java b/app/src/main/java/org/transdroid/core/gui/search/SearchResultsFragment.java index 6fa7fd4f..696d43b0 100644 --- a/app/src/main/java/org/transdroid/core/gui/search/SearchResultsFragment.java +++ b/app/src/main/java/org/transdroid/core/gui/search/SearchResultsFragment.java @@ -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 diff --git a/app/src/main/java/org/transdroid/core/widget/ListWidgetConfig.java b/app/src/main/java/org/transdroid/core/widget/ListWidgetConfig.java index 316f302a..1824a0f6 100644 --- a/app/src/main/java/org/transdroid/core/widget/ListWidgetConfig.java +++ b/app/src/main/java/org/transdroid/core/widget/ListWidgetConfig.java @@ -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() { @@ -61,9 +59,5 @@ public class ListWidgetConfig { public boolean shouldShowStatusView() { return showStatusView; } - - public boolean shouldUseDarkTheme() { - return useDarkTheme; - } } diff --git a/app/src/main/java/org/transdroid/core/widget/ListWidgetConfigActivity.java b/app/src/main/java/org/transdroid/core/widget/ListWidgetConfigActivity.java index d55f73b1..73f806bb 100644 --- a/app/src/main/java/org/transdroid/core/widget/ListWidgetConfigActivity.java +++ b/app/src/main/java/org/transdroid/core/widget/ListWidgetConfigActivity.java @@ -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 { 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 diff --git a/app/src/main/java/org/transdroid/core/widget/ListWidgetPreviewAdapter.java b/app/src/main/java/org/transdroid/core/widget/ListWidgetPreviewAdapter.java index 6a4f98bd..5c941b0c 100644 --- a/app/src/main/java/org/transdroid/core/widget/ListWidgetPreviewAdapter.java +++ b/app/src/main/java/org/transdroid/core/widget/ListWidgetPreviewAdapter.java @@ -42,7 +42,7 @@ public class ListWidgetPreviewAdapter extends ArrayAdapter { * @param torrents The already-retrieved, non-null list of torrents to show */ public ListWidgetPreviewAdapter(Context context, int foo, List 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 { // 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); diff --git a/app/src/main/java/org/transdroid/core/widget/ListWidgetProvider.java b/app/src/main/java/org/transdroid/core/widget/ListWidgetProvider.java index e660e056..2ef2b471 100644 --- a/app/src/main/java/org/transdroid/core/widget/ListWidgetProvider.java +++ b/app/src/main/java/org/transdroid/core/widget/ListWidgetProvider.java @@ -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); diff --git a/app/src/main/java/org/transdroid/core/widget/ListWidgetViewsService.java b/app/src/main/java/org/transdroid/core/widget/ListWidgetViewsService.java index 97b0c0f9..8ba33e9e 100644 --- a/app/src/main/java/org/transdroid/core/widget/ListWidgetViewsService.java +++ b/app/src/main/java/org/transdroid/core/widget/ListWidgetViewsService.java @@ -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 { 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); diff --git a/app/src/main/res/drawable/details_list_background_dark.xml b/app/src/main/res/drawable-night/details_list_background.xml similarity index 84% rename from app/src/main/res/drawable/details_list_background_dark.xml rename to app/src/main/res/drawable-night/details_list_background.xml index bbf1fe2f..c4b2c037 100644 --- a/app/src/main/res/drawable/details_list_background_dark.xml +++ b/app/src/main/res/drawable-night/details_list_background.xml @@ -16,6 +16,6 @@ along with Transdroid. If not, see . --> - - + + diff --git a/app/src/main/res/drawable/loading_progress_dark.xml b/app/src/main/res/drawable-night/loading_progress.xml similarity index 100% rename from app/src/main/res/drawable/loading_progress_dark.xml rename to app/src/main/res/drawable-night/loading_progress.xml diff --git a/app/src/main/res/drawable/details_list_background_light.xml b/app/src/main/res/drawable/details_list_background.xml similarity index 84% rename from app/src/main/res/drawable/details_list_background_light.xml rename to app/src/main/res/drawable/details_list_background.xml index a925c811..c4b2c037 100644 --- a/app/src/main/res/drawable/details_list_background_light.xml +++ b/app/src/main/res/drawable/details_list_background.xml @@ -16,6 +16,6 @@ along with Transdroid. If not, see . --> - - + + diff --git a/app/src/main/res/drawable/loading_progress_light.xml b/app/src/main/res/drawable/loading_progress.xml similarity index 100% rename from app/src/main/res/drawable/loading_progress_light.xml rename to app/src/main/res/drawable/loading_progress.xml diff --git a/app/src/main/res/layout/activity_widgetconfig.xml b/app/src/main/res/layout/activity_widgetconfig.xml index e39276ae..487bb8fd 100644 --- a/app/src/main/res/layout/activity_widgetconfig.xml +++ b/app/src/main/res/layout/activity_widgetconfig.xml @@ -28,13 +28,13 @@ android:background="@null" android:padding="@dimen/widget_preview_padding" > - + @@ -99,14 +99,6 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/margin_half" android:text="@string/widget_showstatusview" /> - - diff --git a/app/src/main/res/layout/list_item_widget_dark.xml b/app/src/main/res/layout/list_item_widget.xml similarity index 94% rename from app/src/main/res/layout/list_item_widget_dark.xml rename to app/src/main/res/layout/list_item_widget.xml index 5671da12..fdc2f34e 100644 --- a/app/src/main/res/layout/list_item_widget_dark.xml +++ b/app/src/main/res/layout/list_item_widget.xml @@ -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 @@ 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 @@ 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" /> diff --git a/app/src/main/res/layout/list_item_widget_light.xml b/app/src/main/res/layout/list_item_widget_light.xml deleted file mode 100644 index 9a81fda7..00000000 --- a/app/src/main/res/layout/list_item_widget_light.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/widget_torrents_light.xml b/app/src/main/res/layout/widget_torrents.xml similarity index 93% rename from app/src/main/res/layout/widget_torrents_light.xml rename to app/src/main/res/layout/widget_torrents.xml index 68b2db32..98f3b315 100644 --- a/app/src/main/res/layout/widget_torrents_light.xml +++ b/app/src/main/res/layout/widget_torrents.xml @@ -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"> @@ -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 @@ 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" /> @@ -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" /> @@ -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" diff --git a/app/src/main/res/layout/widget_torrents_dark.xml b/app/src/main/res/layout/widget_torrents_dark.xml deleted file mode 100644 index f00ca72f..00000000 --- a/app/src/main/res/layout/widget_torrents_dark.xml +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 7c9ea7c5..f1d2a758 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -126,7 +126,6 @@ Нови торенти за %1$s Зареждане… Отвори Transdroid - Тъмна тема за интерфейса (няма преглед) Сървъри Добавяне на нов сървър Стандартен сървър diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index ff441005..b62b5bc6 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -171,7 +171,6 @@ SEŘADIT VÝSLEDKY Obrátit seřazení Stav serveru místo jeho názvu - Použít tmavé téma (není náhled) HOTOVO Servery Přidat nový server diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 8eeb6f60..4185e540 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -187,7 +187,6 @@ SORTERINGS RÆKKEFØLGE Omvendt sorterings rækkefølge Server status i stedet for titel - Brug mørkt tema (ingen preview) FÆRDIG Servere Tilføj ny server diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 670455bf..f166f91c 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -203,7 +203,6 @@ SORTIERREIHENFOLGE Umgekehrte Sortierreihenfolge Serverstatus anstelle des Titels - Dunkles Thema benutzen (keine Vorschau) FERTIG Server Neuen Server hinzufügen diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 03bd65a4..7f1c7b2e 100755 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -156,7 +156,6 @@ CRITERIO DE ORDENACIÓN Invertir criterio de ordenación Estado del servidor en lugar del título - Usar tema oscuro (sin vista previa) HECHO Servidores Añadir nuevo servidor diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 04b269a9..b15d1d97 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -195,7 +195,6 @@ مرتب کردن بر اساس سفارش معکوس مرتب کردن بر اساس سفارش وضعیت کارگزار به‌جای عنوان - استفاده از تم تیره (بدون پیش نمایش) تمام سرورها اضافه کردن سرور جدید diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 65fb31aa..9d204877 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -187,7 +187,6 @@ ORDRE DE TRI Ordre de tri inversé Statut du serveur plutôt que le titre - Utilisez thème sombre (pas d\'aperçu) FINI Serveurs Ajouter un nouveau serveur diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 1fd8e8e9..006ae620 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -160,7 +160,6 @@ טוען... ממוין לפי הפוך את הרשימה - השתמש בעיצוב כהה סיים שרתים הוסף שרת חדש diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 7ebcb833..26d86490 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -203,7 +203,6 @@ RENDEZÉSI SORREND Fordított sorrend Kiszolgáló állapota a címe helyett - Sötét téma használata (nincs előnézet) KÉSZ Szerverek Új szerver hozzáadása diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 5bc11c6b..18f2c7c9 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -203,7 +203,6 @@ TIPO ORDINAMENTO Inverti ordinamento Stato del server anzichè il titolo - Utilizza tema scuro (nessuna anteprima) FINE Server Aggiungi nuovo server diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index aa6b127f..d7d66429 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -195,7 +195,6 @@ ソート順 ソート順を逆にする タイトルにサーバーステータスを表示 - ダーク・テーマを使用 (プレビューなし) 完了 サーバー 新しいサーバーを追加 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index eb20bf49..60ff8f78 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -195,7 +195,6 @@ 정렬 순서 역순 정렬 제목 대신 서버 상태 표시 - 어두운 테마 사용 (미리보기 없음) 완료 서버 새 서버 추가 diff --git a/app/src/main/res/values/colors_transdroid_dark.xml b/app/src/main/res/values-night/colors_transdroid.xml similarity index 76% rename from app/src/main/res/values/colors_transdroid_dark.xml rename to app/src/main/res/values-night/colors_transdroid.xml index 30ee0f48..5b16d3c3 100644 --- a/app/src/main/res/values/colors_transdroid_dark.xml +++ b/app/src/main/res/values-night/colors_transdroid.xml @@ -18,9 +18,8 @@ --> - #CCaada62 - #303030 - #000 - #fff - #fff + #CCaada62 + #303030 + #2e2e2e + #fff diff --git a/app/src/main/res/values/styles_transdroid_dark.xml b/app/src/main/res/values-night/styles_transdroid.xml similarity index 63% rename from app/src/main/res/values/styles_transdroid_dark.xml rename to app/src/main/res/values-night/styles_transdroid.xml index 5cda3e43..18f295bb 100644 --- a/app/src/main/res/values/styles_transdroid_dark.xml +++ b/app/src/main/res/values-night/styles_transdroid.xml @@ -18,17 +18,20 @@ - \ No newline at end of file diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 814eca18..520c5e47 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -199,7 +199,6 @@ SORTEERVOLGORDE Omgekeerde sorteervolgorde Serverstatus i.p.v. titel - Gebruik donker kleurenschema (geen preview) KLAAR Servers Nieuwe server toevoegen diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index b7118468..a7dc7171 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -171,7 +171,6 @@ SORTOWANIE Odwrócony porządek sortowania Status serwera zamiast tytułu - Użyj ciemnego motywu (brak podglądu) GOTOWE Serwery Dodaj nowy serwer diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 3208b21d..6e42e331 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -203,7 +203,6 @@ Ordem de classificação Ordem Invertida Estado do servidor ao invés do título - Usar tema escuro (sem visualização) Concluído Servidores Adicionar novo servidor diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 8a5d6a02..715d911f 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -203,7 +203,6 @@ CRITÉRIO DE ORDENAÇÃO Inverter critério de ordenação Estado do servidor em vez de título - Usar o tema escuro (sem antevisão) FEITO Servidores Adicionar novo servidor diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 1cc49da8..f65789dd 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -220,7 +220,6 @@ ПОРЯДОК СОРТИРОВКИ Обратный порядок сортировки Статистика сервера вместо названия - Использовать темную тему (без предпросмотра) ГОТОВО Серверы Добавить новый сервер diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index f96c7ed4..f48f7028 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -219,7 +219,6 @@ VRSTNI RED Obratni vrstni red Status strežnika namesto naziva - Uporabi temno temo (ni predogleda) OPRAVLJENO Strežniki Dodaj nov strežnik diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 39ca5b95..f8f2621a 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -203,7 +203,6 @@ SÖKORDNING Omvänd sökordning Serverstatus iställer för titel - Använd mörkt tema (ingen förhandsvisning) FÄRDIG Servrar Lägg til ny server diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 498ad746..34c9cf87 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -202,7 +202,6 @@ SIRALAMA DÜZENİ Ters sıralama düzeni Başlık yerine sunucu durumu - Karanlık temayı kullanın (önizleme yok) BİTTİ Sunucular Yeni sunucu ekle diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml index ba03bc9d..d8fcf78a 100644 --- a/app/src/main/res/values-v21/styles.xml +++ b/app/src/main/res/values-v21/styles.xml @@ -16,16 +16,6 @@ --> - - - - - diff --git a/app/src/main/res/values/styles_transdroid_light.xml b/app/src/main/res/values/styles_transdroid.xml similarity index 65% rename from app/src/main/res/values/styles_transdroid_light.xml rename to app/src/main/res/values/styles_transdroid.xml index 68902f36..874faae5 100644 --- a/app/src/main/res/values/styles_transdroid_light.xml +++ b/app/src/main/res/values/styles_transdroid.xml @@ -19,18 +19,21 @@ - \ No newline at end of file diff --git a/app/src/main/res/xml/listwidget_info.xml b/app/src/main/res/xml/listwidget_info.xml index a6a6e086..ee685400 100644 --- a/app/src/main/res/xml/listwidget_info.xml +++ b/app/src/main/res/xml/listwidget_info.xml @@ -17,8 +17,8 @@ --> - + + +