From 83d086008bbfb507c3101debc366cafe770dd45a Mon Sep 17 00:00:00 2001 From: scanunicco Date: Mon, 14 Nov 2022 22:19:45 -0500 Subject: [PATCH 1/2] Add Clock --- .idea/compiler.xml | 6 +++++ .idea/gradle.xml | 6 ++--- .idea/jarRepositories.xml | 15 ++++++++++++ .idea/misc.xml | 4 ++-- .idea/modules.xml | 9 -------- .idea/runConfigurations.xml | 12 ---------- .../michael/slideshow/ImageActivity.java | 23 +++++++++++++++++++ app/src/main/res/layout/activity_image.xml | 16 +++++++++++++ app/src/main/res/values/colors.xml | 2 ++ 9 files changed, 67 insertions(+), 26 deletions(-) create mode 100644 .idea/compiler.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/runConfigurations.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 7d4017a..f1e179c 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -1,20 +1,20 @@ + diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index a5f05cd..086029f 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -21,5 +21,20 @@ \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 43dd18d..ef61796 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,9 +1,9 @@ - + - + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 55aa465..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 7f68460..0000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/java/link/standen/michael/slideshow/ImageActivity.java b/app/src/main/java/link/standen/michael/slideshow/ImageActivity.java index f3f893c..2588dd8 100644 --- a/app/src/main/java/link/standen/michael/slideshow/ImageActivity.java +++ b/app/src/main/java/link/standen/michael/slideshow/ImageActivity.java @@ -28,7 +28,9 @@ import java.io.File; import java.util.Arrays; +import java.util.Calendar; import java.util.Collections; +import java.util.Date; import link.standen.michael.slideshow.listener.OnSwipeTouchListener; import link.standen.michael.slideshow.model.FileItem; @@ -76,6 +78,7 @@ public class ImageActivity extends BaseActivity implements ImageStrategy.ImageSt private static final int LONG_LOAD_WARNING_DELAY = 5000; private View snackbarPlayingView; private View snackbarStoppedView; + private View clockText; private boolean isLoading = false; private Snackbar loadingSnackbar = null; private final Handler loadingHandler = new Handler(); @@ -129,6 +132,21 @@ public void run() { } }; + private static final int CLOCK_REFRESH_INT = 1000; + private final Handler clockHandler = new Handler(); + private final Runnable clockRunnable = new Runnable() { + public void run() { + clockHandler.postDelayed(clockRunnable, CLOCK_REFRESH_INT); + Date currentTime = Calendar.getInstance().getTime(); + TextView t = (TextView) clockText; + int hours = currentTime.getHours(); + int minutes = currentTime.getMinutes(); + String ampm = hours > 12 ? "PM" : "AM"; + String clockString = (hours > 12 ? hours - 12 : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + " " + ampm; + t.setText(clockString); + } + }; + /** * Some older devices needs a small delay between UI widget updates * and a change of the status and navigation bar. @@ -194,6 +212,7 @@ protected void onCreate(Bundle savedInstanceState) { } mVisible = true; + clockText = findViewById(R.id.clockText); mControlsView = findViewById(R.id.fullscreen_content_controls); mContentView = findViewById(R.id.fullscreen_content); mDetailsView = findViewById(R.id.image_details1); // Visible during slideshow play @@ -337,6 +356,8 @@ public void onClick(View v) { // Show the first image loadImage(imagePosition, false); + //Start clock + clockHandler.postDelayed(clockRunnable, CLOCK_REFRESH_INT); } /** @@ -767,6 +788,7 @@ private void hide() { actionBar.hide(); } mControlsView.setVisibility(View.GONE); + clockText.setVisibility(View.VISIBLE); mVisible = false; // Schedule a runnable to remove the status and navigation bar after a delay @@ -782,6 +804,7 @@ private void show() { mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); mDetailsView.setVisibility(View.GONE); + clockText.setVisibility(View.INVISIBLE); mVisible = true; // Schedule a runnable to display UI elements after a delay diff --git a/app/src/main/res/layout/activity_image.xml b/app/src/main/res/layout/activity_image.xml index 71a8555..1909fe4 100644 --- a/app/src/main/res/layout/activity_image.xml +++ b/app/src/main/res/layout/activity_image.xml @@ -14,6 +14,21 @@ android:contentDescription="@string/image_description"/> + + + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 9062209..98c284f 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -6,6 +6,8 @@ #E040FB #212121 #757575 + #FFFFFF + #88000000 #FFFFFF #BDBDBD From 8ef6815ded4d3cbd91e26ce0970069d3e19f5c46 Mon Sep 17 00:00:00 2001 From: scanunicco Date: Wed, 16 Nov 2022 15:34:17 -0500 Subject: [PATCH 2/2] Fix clock, add setting Fixes some issues with the clock, add a setting to control whether the clock is displayed. --- .idea/modules.xml | 12 ++++++++++++ .../michael/slideshow/ImageActivity.java | 17 ++++++++++++----- app/src/main/res/layout/activity_image.xml | 1 - app/src/main/res/values/strings.xml | 4 ++++ app/src/main/res/xml/preferences.xml | 6 ++++++ 5 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 .idea/modules.xml diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..c7767cd --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/link/standen/michael/slideshow/ImageActivity.java b/app/src/main/java/link/standen/michael/slideshow/ImageActivity.java index 2588dd8..6d20c11 100644 --- a/app/src/main/java/link/standen/michael/slideshow/ImageActivity.java +++ b/app/src/main/java/link/standen/michael/slideshow/ImageActivity.java @@ -27,6 +27,7 @@ import android.widget.Toast; import java.io.File; +import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Calendar; import java.util.Collections; @@ -69,6 +70,7 @@ public class ImageActivity extends BaseActivity implements ImageStrategy.ImageSt private static boolean SKIP_LONG_LOAD; private static boolean PRELOAD_IMAGES; private static boolean DELETE_WARNING; + private static boolean SHOW_CLOCK; private static final int LOCATION_DETAIL_MAX_LENGTH = 35; @@ -137,12 +139,13 @@ public void run() { private final Runnable clockRunnable = new Runnable() { public void run() { clockHandler.postDelayed(clockRunnable, CLOCK_REFRESH_INT); + SimpleDateFormat clockFormat = new SimpleDateFormat("hh:mm aa"); Date currentTime = Calendar.getInstance().getTime(); TextView t = (TextView) clockText; - int hours = currentTime.getHours(); - int minutes = currentTime.getMinutes(); - String ampm = hours > 12 ? "PM" : "AM"; - String clockString = (hours > 12 ? hours - 12 : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + " " + ampm; + String clockString = clockFormat.format(currentTime); + if(clockString.substring(0,1).equals("0")){ + clockString = clockString.substring(1); + } t.setText(clockString); } }; @@ -476,6 +479,8 @@ private void loadPreferences(){ Log.d(TAG, String.format("PRELOAD_IMAGES: %b", PRELOAD_IMAGES)); DELETE_WARNING = preferences.getBoolean("delete_warning", true); Log.d(TAG, String.format("DELETE_WARNING: %b", DELETE_WARNING)); + SHOW_CLOCK = preferences.getBoolean("show_clock", true); + Log.d(TAG, String.format("SHOW_CLOCK: %b", SHOW_CLOCK)); // List prefs int action_on_complete = Arrays.asList(getResources().getStringArray(R.array.pref_list_values_action_on_complete)).indexOf( preferences.getString("action_on_complete", getResources().getString(R.string.pref_default_value_action_on_complete))); @@ -788,7 +793,9 @@ private void hide() { actionBar.hide(); } mControlsView.setVisibility(View.GONE); - clockText.setVisibility(View.VISIBLE); + if(SHOW_CLOCK) { + clockText.setVisibility(View.VISIBLE); + } mVisible = false; // Schedule a runnable to remove the status and navigation bar after a delay diff --git a/app/src/main/res/layout/activity_image.xml b/app/src/main/res/layout/activity_image.xml index 1909fe4..e41e79f 100644 --- a/app/src/main/res/layout/activity_image.xml +++ b/app/src/main/res/layout/activity_image.xml @@ -24,7 +24,6 @@ android:shadowDx="5" android:shadowDy="5" android:shadowRadius="5" - android:text=" 12:00 AM" android:textColor="@color/clock_text" android:textSize="80sp" android:visibility="invisible" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a071bd5..a44938b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -196,4 +196,8 @@ Display a warning pop up before deleting an image. Disable at your own risk. + + Show clock + Display a clock over the slideshow. + diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index cf93c99..22da884 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -125,4 +125,10 @@ android:summary="@string/pref_description_delete_warning" android:title="@string/pref_title_delete_warning"/> + +