Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstefan-niedermann <info@niedermann.it>2020-02-24 11:44:26 +0300
committerstefan-niedermann <info@niedermann.it>2020-02-24 11:44:26 +0300
commit04226f8c7def219259af0877f99a5ed8d75d9cc4 (patch)
treed85c84f47ce37658c9c7ad9a5a597cf5edc1620f
parent0335db5177b64535dbfecba31f98117662c68033 (diff)
Display "disabled" instead of `1970-01-01` when background sync is disabled
-rw-r--r--app/build.gradle2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java56
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/LinkUtil.java4
-rw-r--r--app/src/main/res/values/strings.xml1
-rw-r--r--fastlane/metadata/android/en-US/changelogs/20.txt1
5 files changed, 41 insertions, 23 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 7c1115511..9a53d6679 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -35,7 +35,7 @@ android {
dependencies {
// Single-Sign-On
- implementation 'com.github.nextcloud:Android-SingleSignOn:0.5.0-rc2'
+ implementation 'com.github.nextcloud:Android-SingleSignOn:0.5.0-rc4'
// --------------------
// --- UI-Libraries ---
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java
index ffa22cf95..5411e6b22 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java
@@ -17,8 +17,6 @@ import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
-import java.util.Objects;
-
import butterknife.BindString;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -33,6 +31,8 @@ import it.niedermann.nextcloud.deck.util.LinkUtil;
public class AboutFragmentCreditsTab extends Fragment {
+ private static final int BACKGROUND_SYNC_NEVER_EXECUTED = -1;
+
@BindView(R.id.about_version)
TextView aboutVersion;
@BindView(R.id.about_server_app_version)
@@ -46,35 +46,46 @@ public class AboutFragmentCreditsTab extends Fragment {
@BindString(R.string.shared_preference_last_background_sync)
String sharedPreferencesLastBackgroundSync;
+ @BindString(R.string.pref_key_background_sync)
+ String sharedPreferencesBackgroundSync;
+ @BindString(R.string.pref_value_background_sync_off)
+ String backgroundSyncOffValue;
@BindString(R.string.you_are_currently_offline)
String offlineText;
- @BindString(R.string.strong_start)
- String strongStart;
- @BindString(R.string.strong_end)
- String strongEnd;
+ @BindString(R.string.simple_disabled)
+ String disabledText;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_about_credits_tab, container, false);
ButterKnife.bind(this, v);
- LinkUtil.setHtml(aboutVersion, getString(R.string.about_version, getVersionStrongTag(BuildConfig.VERSION_NAME)));
- SyncManager syncManager = new SyncManager(Objects.requireNonNull(getActivity()));
+
+ // VERSIONS
+
+ LinkUtil.setHtml(aboutVersion, getString(R.string.about_version, strong("v" + BuildConfig.VERSION_NAME)));
+ SyncManager syncManager = new SyncManager(requireActivity());
try {
syncManager.getServerVersion(new IResponseCallback<Capabilities>(null) {
@Override
public void onResponse(Capabilities response) {
- Objects.requireNonNull(getActivity()).runOnUiThread(() -> LinkUtil.setHtml(aboutServerAppVersion, getVersionStrongTag(response.getDeckVersion().toString())));
+ requireActivity().runOnUiThread(() -> LinkUtil.setHtml(aboutServerAppVersion, strong("v" + response.getDeckVersion().toString())));
}
});
} catch (OfflineException e) {
- Spannable offlineTextSpannable = new SpannableString(offlineText);
- offlineTextSpannable.setSpan(new StyleSpan(Typeface.ITALIC), 0, offlineTextSpannable.length(), 0);
- offlineTextSpannable.setSpan(new ForegroundColorSpan(ContextCompat.getColor(Objects.requireNonNull(getContext()), R.color.fg_secondary)), 0, offlineTextSpannable.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- aboutServerAppVersion.setText(offlineTextSpannable);
+ aboutServerAppVersion.setText(disabled(offlineText));
}
- SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(Objects.requireNonNull(getContext()).getApplicationContext());
- long lastBackgroundSync = sharedPreferences.getLong(sharedPreferencesLastBackgroundSync, 0);
- LinkUtil.setHtml(lastBackgroundSyncExecutionTime, getLastBackgroundSyncStrongTag(lastBackgroundSync));
+
+ SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext().getApplicationContext());
+ String settingsBackgroundSync = sharedPreferences.getString(sharedPreferencesBackgroundSync, backgroundSyncOffValue);
+ long lastBackgroundSync = sharedPreferences.getLong(sharedPreferencesLastBackgroundSync, BACKGROUND_SYNC_NEVER_EXECUTED);
+
+ // BACKGROUND SYNC
+
+ lastBackgroundSyncExecutionTime.setText(
+ lastBackgroundSync == BACKGROUND_SYNC_NEVER_EXECUTED || settingsBackgroundSync.equals(backgroundSyncOffValue)
+ ? disabled(disabledText)
+ : strong(DateUtil.getRelativeDateTimeString(getContext(), lastBackgroundSync))
+ );
LinkUtil.setHtml(aboutMaintainer, LinkUtil.concatenateResources(v.getResources(),
R.string.anchor_start, R.string.url_maintainer, R.string.anchor_middle, R.string.about_maintainer, R.string.anchor_end));
LinkUtil.setHtml(aboutTranslators,
@@ -84,11 +95,16 @@ public class AboutFragmentCreditsTab extends Fragment {
return v;
}
- private String getVersionStrongTag(String version) {
- return strongStart + "v" + version + strongEnd;
+ private SpannableString strong(CharSequence text) {
+ SpannableString span = new SpannableString(text);
+ span.setSpan(new StyleSpan(Typeface.BOLD), 0, span.length(), 0);
+ return span;
}
- private String getLastBackgroundSyncStrongTag(long lastBackgroundSync) {
- return strongStart + DateUtil.getRelativeDateTimeString(getContext(), lastBackgroundSync) + strongEnd;
+ private SpannableString disabled(CharSequence text) {
+ SpannableString span = new SpannableString(text);
+ span.setSpan(new StyleSpan(Typeface.ITALIC), 0, span.length(), 0);
+ span.setSpan(new ForegroundColorSpan(ContextCompat.getColor(requireContext(), R.color.fg_secondary)), 0, span.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ return span;
}
} \ No newline at end of file
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/LinkUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/LinkUtil.java
index 8c4b495d8..8f5b6b12b 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/LinkUtil.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/LinkUtil.java
@@ -35,10 +35,10 @@ public final class LinkUtil {
* @param view The {@link TextView} which should be filled.
* @param stringIds The string resource containing HTML tags (escaped by <code>&lt;</code>)
*/
- public static void setHtml(TextView view, String... stringIds) {
+ public static void setHtml(TextView view, CharSequence... stringIds) {
StringBuilder sb = new StringBuilder();
- for (String arg : stringIds) {
+ for (CharSequence arg : stringIds) {
sb.append(arg);
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index df3c4ca7e..9a9740962 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -154,4 +154,5 @@
<string name="hours_6">6 Hours</string>
<string name="action_card_move">Move card</string>
<string name="action_card_move_title">Move %1$s</string>
+ <string name="simple_disabled">disabled</string>
</resources>
diff --git a/fastlane/metadata/android/en-US/changelogs/20.txt b/fastlane/metadata/android/en-US/changelogs/20.txt
index e69de29bb..135dadf49 100644
--- a/fastlane/metadata/android/en-US/changelogs/20.txt
+++ b/fastlane/metadata/android/en-US/changelogs/20.txt
@@ -0,0 +1 @@
+- Display "disabled" instead of `1970-01-01` when background sync is disabled \ No newline at end of file