diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/EditExerciseSetActivity.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/EditExerciseSetActivity.java
index bdfc2ed..d14842d 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/EditExerciseSetActivity.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/EditExerciseSetActivity.java
@@ -104,10 +104,12 @@ public class EditExerciseSetActivity extends AppCompatActivity implements androi
exerciseSetNameText.setText(exerciseSetName);
exerciseSetNameText.addTextChangedListener(new TextWatcher() {
@Override
- public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+ }
@Override
- public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+ }
@Override
public void afterTextChanged(Editable editable) {
diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/ExerciseActivity.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/ExerciseActivity.java
index 420a85e..7f00c69 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/ExerciseActivity.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/ExerciseActivity.java
@@ -214,6 +214,9 @@ public class ExerciseActivity extends AppCompatActivity implements android.suppo
startService(timerServiceIntent);
}
+ if(breakTimer != null) breakTimer.cancel();
+ if(exerciseTimer != null) exerciseTimer.cancel();
+
super.finish();
if(isActivityVisible) {
diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/TimerActivity.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/TimerActivity.java
index 8b04097..4b8eb4b 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/TimerActivity.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/TimerActivity.java
@@ -69,6 +69,9 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap
private Spinner exerciseSetSpinner;
private ExerciseSetSpinnerAdapter exerciseSetAdapter;
+
+ private boolean isActivityVisible = false;
+
// animation
private int mShortAnimationDuration;
private boolean currentStatusIsPickerVisible = false;
@@ -103,6 +106,10 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap
boolean isRunning = intent.getBooleanExtra("isRunning", false);
boolean isPaused = intent.getBooleanExtra("isPaused", false);
+ //if(intent.getBooleanExtra("done" ,false)) {
+ // TODO: show a dialog here to start the exercise?
+ //}
+
//Log.d(TAG, millisUntilDone + "/" + initialDuration + " (" + (isRunning ? "Running" : "") + (isPaused ? "Paused" : "") + (!isRunning && !isPaused ? "Stopped" : "") + ")");
updateUI(isRunning, isPaused, initialDuration, millisUntilDone);
@@ -134,6 +141,8 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap
protected void onPause() {
super.onPause();
+ isActivityVisible = false;
+
unregisterReceiver(timerReceiver);
}
@@ -141,6 +150,8 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap
protected void onResume() {
super.onResume();
+ isActivityVisible = true;
+
registerReceiver(timerReceiver, new IntentFilter(TimerService.TIMER_BROADCAST));
if(mTimerService != null && !mTimerService.isRunning()) {
diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationPreferenceChangedReceiver.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationCancelReceiver.java
similarity index 56%
rename from app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationPreferenceChangedReceiver.java
rename to app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationCancelReceiver.java
index 20d019d..969e4b5 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationPreferenceChangedReceiver.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationCancelReceiver.java
@@ -19,27 +19,12 @@ import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefMa
* created 02.11.2017
*/
-public class NotificationPreferenceChangedReceiver extends BroadcastReceiver {
+public class NotificationCancelReceiver extends BroadcastReceiver {
- public static final String ACTION_PREF_CHANGE = "org.secuso.privacyfriendlybreakreminder.ACTION_PREF_CHANGE";
- public static final String EXTRA_DISABLE_CONTINUOUS = "EXTRA_DISABLE_CONTINUOUS";
+ public static final String ACTION_NOTIFICATION_CANCELED = "org.secuso.privacyfriendlybreakreminder.ACTION_NOTIFICATION_CANCELED";
@Override
public void onReceive(Context context, Intent intent) {
- if (intent == null) return;
-
- Bundle bundle = intent.getExtras();
-
- if (bundle == null) return;
-
- SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
-
- for (String key : intent.getExtras().keySet()) {
- if (EXTRA_DISABLE_CONTINUOUS.equals(key)) {
- pref.edit().putBoolean(PREF_EXERCISE_CONTINUOUS, false).apply();
- }
- }
-
NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
if (manager != null) {
manager.cancel(TimerService.NOTIFICATION_ID);
diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationDeletedReceiver.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationDeletedReceiver.java
index b59e7ac..d909f85 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationDeletedReceiver.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationDeletedReceiver.java
@@ -22,6 +22,9 @@ public class NotificationDeletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
+
+ //boolean disableContinuous = intent.getBooleanExtra(EXTRA_DISABLE_CONTINUOUS, false);
+
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
if(pref.getBoolean(PREF_EXERCISE_CONTINUOUS, false)) {
diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/TimerService.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/TimerService.java
index 67aa302..bf20608 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/TimerService.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/TimerService.java
@@ -10,12 +10,8 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.os.Binder;
-import android.os.Bundle;
import android.os.CountDownTimer;
-import android.os.Handler;
-import android.os.HandlerThread;
import android.os.IBinder;
-import android.os.Looper;
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.support.v4.app.NotificationCompat;
@@ -24,8 +20,8 @@ import android.support.v4.content.ContextCompat;
import org.secuso.privacyfriendlybreakreminder.R;
import org.secuso.privacyfriendlybreakreminder.activities.ExerciseActivity;
import org.secuso.privacyfriendlybreakreminder.activities.TimerActivity;
+import org.secuso.privacyfriendlybreakreminder.receivers.NotificationCancelReceiver;
import org.secuso.privacyfriendlybreakreminder.receivers.NotificationDeletedReceiver;
-import org.secuso.privacyfriendlybreakreminder.receivers.NotificationPreferenceChangedReceiver;
import java.util.Locale;
@@ -34,9 +30,8 @@ import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PREF_EXERCISE_CONTINUOUS;
import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.WORK_TIME;
+import static org.secuso.privacyfriendlybreakreminder.receivers.NotificationCancelReceiver.ACTION_NOTIFICATION_CANCELED;
import static org.secuso.privacyfriendlybreakreminder.receivers.NotificationDeletedReceiver.ACTION_NOTIFICATION_DELETED;
-import static org.secuso.privacyfriendlybreakreminder.receivers.NotificationPreferenceChangedReceiver.ACTION_PREF_CHANGE;
-import static org.secuso.privacyfriendlybreakreminder.receivers.NotificationPreferenceChangedReceiver.EXTRA_DISABLE_CONTINUOUS;
/**
* The main timer service. It handles the work timer and sends updates to the notification and the {@link TimerActivity}.
@@ -96,7 +91,7 @@ public class TimerService extends Service {
}
};
private BroadcastReceiver notificationDeletedReceiver = new NotificationDeletedReceiver();
- private BroadcastReceiver notificationPreferenceChangedReceiver = new NotificationPreferenceChangedReceiver();
+ private BroadcastReceiver notificationPreferenceChangedReceiver = new NotificationCancelReceiver();
private void onTimerDone() {
@@ -127,9 +122,7 @@ public class TimerService extends Service {
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
if(pref.getBoolean(PREF_EXERCISE_CONTINUOUS, false)) {
- Intent prefIntent = new Intent(ACTION_PREF_CHANGE);
- prefIntent.putExtra(EXTRA_DISABLE_CONTINUOUS, false);
- builder.addAction(0, getString(R.string.dismiss_and_dont_repeat), PendingIntent.getBroadcast(getApplicationContext(), 0, prefIntent, FLAG_UPDATE_CURRENT));
+ builder.addAction(0, getString(R.string.dismiss_and_dont_repeat), PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(ACTION_NOTIFICATION_CANCELED), FLAG_UPDATE_CURRENT));
}
builder.addAction(R.drawable.ic_replay_black_48dp, getString(R.string.snooze), snoozeExercise);
@@ -144,7 +137,7 @@ public class TimerService extends Service {
registerReceiver(timerReceiver, new IntentFilter(TIMER_BROADCAST));
registerReceiver(notificationDeletedReceiver, new IntentFilter(ACTION_NOTIFICATION_DELETED));
- registerReceiver(notificationPreferenceChangedReceiver, new IntentFilter(ACTION_PREF_CHANGE));
+ registerReceiver(notificationPreferenceChangedReceiver, new IntentFilter(ACTION_NOTIFICATION_CANCELED));
}
@Override
diff --git a/app/src/main/res/drawable/button_section.xml b/app/src/main/res/drawable/button_section.xml
index ab7da09..8ace8f7 100644
--- a/app/src/main/res/drawable/button_section.xml
+++ b/app/src/main/res/drawable/button_section.xml
@@ -5,6 +5,11 @@
+
-
@@ -12,6 +17,11 @@
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_edit_exercise_set.xml b/app/src/main/res/layout/activity_edit_exercise_set.xml
index 16bc613..01754da 100644
--- a/app/src/main/res/layout/activity_edit_exercise_set.xml
+++ b/app/src/main/res/layout/activity_edit_exercise_set.xml
@@ -1,66 +1,65 @@
-
+ android:fitsSystemWindows="true">
+
+
+ android:theme="@style/AppTheme.AppBarOverlay">
-
+ app:popupTheme="@style/AppTheme.PopupOverlay"/>
+ android:maxLines="1"
+ android:textColor="@color/white"
+ android:textColorHint="@color/white"/>
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
@@ -70,16 +69,11 @@
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="8dp"
- android:layout_marginLeft="8dp"
- android:layout_marginRight="8dp"
- android:layout_marginTop="8dp"
+ android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- android:layout_marginStart="8dp"
- android:layout_marginEnd="8dp" />
+ app:layout_constraintTop_toTopOf="parent" />
@@ -87,14 +81,16 @@
android:id="@+id/add_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
android:layout_marginBottom="16dp"
android:layout_marginRight="16dp"
android:clickable="true"
+ android:focusable="true"
android:onClick="onClick"
app:fabSize="normal"
app:layout_anchor="@id/constraintLayout2"
app:layout_anchorGravity="bottom|end"
app:srcCompat="@drawable/ic_edit_white_24dp" />
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_manage_exercise_set.xml b/app/src/main/res/layout/activity_manage_exercise_set.xml
index 9ff1a30..95343d5 100644
--- a/app/src/main/res/layout/activity_manage_exercise_set.xml
+++ b/app/src/main/res/layout/activity_manage_exercise_set.xml
@@ -36,6 +36,8 @@
android:id="@+id/no_exercise_sets_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:gravity="center"
+ android:textAlignment="center"
android:text="@string/no_exercise_sets"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
diff --git a/app/src/main/res/layout/layout_section_filter_button.xml b/app/src/main/res/layout/layout_section_filter_button.xml
index a633e19..1b9cb4f 100644
--- a/app/src/main/res/layout/layout_section_filter_button.xml
+++ b/app/src/main/res/layout/layout_section_filter_button.xml
@@ -7,21 +7,20 @@
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintRight_toRightOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
\ No newline at end of file
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 9ce919f..4056463 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -82,8 +82,8 @@
Zeit auswählen
Zeitpläne
Übungseinstellungen
- Fortlaufende Intervalle
- Starte das nächste Arbeitsinterval automatisch
+ Fortlaufende Arbeitsintervalle
+ Starte das nächste Arbeitsintervall automatisch
Tage auswählen
Nur an bestimmten Tagen auslösen
Keine Tage ausgewählt
@@ -134,7 +134,7 @@
Später
Pause starten
Okay
- Nächste
+ Weiter
Überspringen
Hilfe
Speichern
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b478f2a..2b0ba13 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -71,8 +71,8 @@
Schedule time
Schedule Times
Exercise Settings
- Continuous exercises
- Start the next timer automatically
+ Continuous work intervals
+ Start the next work timer automatically
Choose days
Only trigger on certain days
No days selected.