diff --git a/app/build.gradle b/app/build.gradle
index f6e9017..505da39 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,15 +1,15 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 25
+ compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "org.secuso.privacyfriendlybreakreminder"
minSdkVersion 21
- targetSdkVersion 25
- versionCode 2
- versionName "2.0"
+ targetSdkVersion 26
+ versionCode 3
+ versionName "2.1"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
@@ -32,13 +32,12 @@ repositories {
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
- compile 'com.android.support:appcompat-v7:25.4.0'
- //compile 'com.android.support:preference-v7:25.4.0'
- compile 'com.android.support:design:25.4.0'
+ compile 'com.android.support:appcompat-v7:26.1.0'
+ compile 'com.android.support:design:26.1.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
- compile 'com.android.support:support-v4:25.4.0'
+ compile 'com.android.support:support-v4:26.1.0'
compile 'com.android.support:support-annotations:27.0.0'
- compile 'com.android.support:cardview-v7:25.4.0'
+ compile 'com.android.support:cardview-v7:26.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.nex3z:flow-layout:1.0.0'
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f788ff..c0b6d54 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -111,6 +111,20 @@
android:enabled="true"
android:exported="false" />
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
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 bd5c481..6e06b22 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/ExerciseActivity.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/ExerciseActivity.java
@@ -18,6 +18,7 @@ import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -38,7 +39,6 @@ import org.secuso.privacyfriendlybreakreminder.exercises.ExerciseLocale;
import java.util.Locale;
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
-import static android.support.design.R.id.center_vertical;
/**
* This activity handles showing the exercises and the exercise timer.
@@ -106,7 +106,7 @@ public class ExerciseActivity extends AppCompatActivity implements android.suppo
exerciseSetId = pref.getLong(PrefManager.DEFAULT_EXERCISE_SET, 0L);
pauseDuration = pref.getLong(PrefManager.PAUSE_TIME, 5 * 60 * 1000);
repeatStatus = pref.getBoolean(PrefManager.REPEAT_STATUS, false);
- continuousStatus = pref.getBoolean(PrefManager.CONTINUOUS_STATUS, false);
+ continuousStatus = pref.getBoolean(PrefManager.REPEAT_EXERCISES, false);
try {
exerciseTime = Long.parseLong(pref.getString(PrefManager.EXERCISE_DURATION, "30")) * 1000;
} catch(NumberFormatException e) {
@@ -175,7 +175,7 @@ public class ExerciseActivity extends AppCompatActivity implements android.suppo
breakTimerText = (TextView) MenuItemCompat.getActionView(timerItem);
breakTimerText.setTextColor(Color.WHITE);
breakTimerText.setTextSize(20);
- breakTimerText.setGravity(center_vertical);
+ breakTimerText.setGravity(Gravity.CENTER_HORIZONTAL);
breakTimerText.setPadding(16, 0, 16, 0);
//breakTimerText.set(10, 0, 10, 0);
@@ -552,7 +552,7 @@ public class ExerciseActivity extends AppCompatActivity implements android.suppo
private void handleContinuousClicked() {
continuousStatus = !continuousStatus;
- pref.edit().putBoolean(PrefManager.CONTINUOUS_STATUS, continuousStatus).apply();
+ pref.edit().putBoolean(PrefManager.REPEAT_EXERCISES, continuousStatus).apply();
setContinuousButtonStatus(continuousStatus);
}
diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/SettingsActivity.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/SettingsActivity.java
index 85fd5cf..ea1edf2 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/SettingsActivity.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/SettingsActivity.java
@@ -10,6 +10,7 @@ import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.preference.ListPreference;
+import android.preference.MultiSelectListPreference;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
@@ -18,7 +19,11 @@ import android.view.MenuItem;
import org.secuso.privacyfriendlybreakreminder.R;
import org.secuso.privacyfriendlybreakreminder.activities.helper.AppCompatPreferenceActivity;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
/**
* @author Christopher Beckmann
@@ -26,8 +31,6 @@ import java.util.List;
*/
public class SettingsActivity extends AppCompatPreferenceActivity {
- // Helper
- private Handler mHandler;
protected SharedPreferences mSharedPreferences;
@Override
@@ -35,7 +38,6 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
super.onCreate(savedInstanceState);
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
- mHandler = new Handler();
overridePendingTransition(0, 0);
}
@@ -94,6 +96,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
String stringValue = value.toString();
if (preference instanceof ListPreference) {
+
// For list preferences, look up the correct display value in
// the preference's 'entries' list.
ListPreference listPreference = (ListPreference) preference;
@@ -104,6 +107,42 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
index >= 0
? listPreference.getEntries()[index]
: null);
+ } if(preference instanceof MultiSelectListPreference) {
+ MultiSelectListPreference mslPreference = (MultiSelectListPreference) preference;
+
+ if(stringValue.length() >= 2) {
+ stringValue = stringValue.substring(1, stringValue.length() - 1);
+ }
+
+ String[] setValues = stringValue.split(",");
+
+ if(setValues.length == 7) {
+ mslPreference.setSummary(preference.getContext().getString(R.string.pref_schedule_exercise_days_allselectedsummary));
+ return true;
+ }
+
+ StringBuilder sb = new StringBuilder();
+ for(int i = 0; i < mslPreference.getEntries().length; i++) {
+ String preferenceEntryString = mslPreference.getEntryValues()[i].toString();
+
+ for(String chosenValue : setValues) {
+ if (chosenValue.trim().equals(preferenceEntryString)) {
+ sb.append(mslPreference.getEntries()[i]);
+ sb.append(", ");
+ break;
+ }
+ }
+ }
+
+ if(sb.length() > 0) {
+ sb.setLength(sb.length() - 2);
+ }
+
+ if(sb.length() == 0) {
+ sb.append(preference.getContext().getString(R.string.pref_schedule_exercise_days_defaultsummary));
+ }
+
+ mslPreference.setSummary(sb.toString());
} else {
// For all other preferences, set the summary to the value's
@@ -129,10 +168,15 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
// Trigger the listener immediately with the preference's
// current value.
- sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
- PreferenceManager
- .getDefaultSharedPreferences(preference.getContext())
- .getString(preference.getKey(), ""));
+ if(preference instanceof MultiSelectListPreference) {
+ sBindPreferenceSummaryToValueListener.onPreferenceChange(preference, PreferenceManager
+ .getDefaultSharedPreferences(preference.getContext())
+ .getStringSet(preference.getKey(), new HashSet()));
+ } else {
+ sBindPreferenceSummaryToValueListener.onPreferenceChange(preference, PreferenceManager
+ .getDefaultSharedPreferences(preference.getContext())
+ .getString(preference.getKey(), ""));
+ }
}
protected int getNavigationDrawerID() {
@@ -161,6 +205,8 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_scheduler);
setHasOptionsMenu(true);
+
+ bindPreferenceSummaryToValue(findPreference("pref_schedule_exercise_days"));
}
}
}
\ No newline at end of file
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 d6df563..8b04097 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/TimerActivity.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/TimerActivity.java
@@ -278,7 +278,8 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
pref.edit().putInt(PrefManager.PREF_PICKER_SECONDS, secondsPicker.getValue())
.putInt(PrefManager.PREF_PICKER_MINUTES, minutesPicker.getValue())
- .putInt(PrefManager.PREF_PICKER_HOURS, hoursPicker.getValue()).apply();
+ .putInt(PrefManager.PREF_PICKER_HOURS, hoursPicker.getValue())
+ .putLong(PrefManager.WORK_TIME, getCurrentSetDuration()).apply();
}
private long getCurrentSetDuration() {
diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/helper/ExpandableListAdapter.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/helper/ExpandableListAdapter.java
index f4012ef..36e16f6 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/helper/ExpandableListAdapter.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/helper/ExpandableListAdapter.java
@@ -49,9 +49,9 @@ public class ExpandableListAdapter extends BaseExpandableListAdapter {
final String expandedListText = (String) getChild(listPosition, expandedListPosition);
if (convertView == null) {
LayoutInflater layoutInflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- convertView = layoutInflater.inflate(R.layout.help_list_item, parent);
+ convertView = layoutInflater.inflate(R.layout.help_list_item, parent, false);
}
- TextView expandedListTextView = (TextView) convertView.findViewById(R.id.expandedListItem);
+ TextView expandedListTextView = convertView.findViewById(R.id.expandedListItem);
expandedListTextView.setText(expandedListText);
return convertView;
}
diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/PrefManager.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/PrefManager.java
index 34f298a..2fb07e9 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/PrefManager.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/PrefManager.java
@@ -4,6 +4,9 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
+import java.util.Arrays;
+import java.util.HashSet;
+
/**
* Class structure taken from tutorial at http://www.androidhive.info/2016/05/android-build-intro-slider-app/
*/
@@ -19,9 +22,12 @@ public class PrefManager {
public static final String DEFAULT_EXERCISE_SET = "DEFAULT_EXERCISE_SET";
public static final String PAUSE_TIME = "PAUSE TIME";
public static final String REPEAT_STATUS = "REPEAT_STATUS";
- public static final String CONTINUOUS_STATUS = "CONTINUOUS_STATUS";
+ public static final String REPEAT_EXERCISES = "REPEAT_EXERCISES";
public static final String EXERCISE_DURATION = "pref_exercise_time";
public static final String KEEP_SCREEN_ON_DURING_EXERCISE = "pref_keep_screen_on_during_exercise";
+ public static final String PREF_SCHEDULE_EXERCISE_DAYS = "pref_schedule_exercise_days";
+ public static final String PREF_EXERCISE_CONTINUOUS = "pref_exercise_continuous";
+ public static final String WORK_TIME = "WORK_TIME";
private SharedPreferences pref;
@@ -42,16 +48,19 @@ public class PrefManager {
if(isFirstTimeLaunch)
pref.edit()
.putLong(DEFAULT_EXERCISE_SET, 0L)
- .putLong(PAUSE_TIME, 5 * 60 * 1000)
+ .putLong(PAUSE_TIME, 5 * 60 * 1000) // 5 minutes
.putBoolean(REPEAT_STATUS, false)
- .putBoolean(CONTINUOUS_STATUS, false)
+ .putBoolean(REPEAT_EXERCISES, false)
.putInt(PREF_BREAK_PICKER_SECONDS, 0)
.putInt(PREF_BREAK_PICKER_MINUTES, 5)
.putInt(PREF_PICKER_SECONDS, 0)
.putInt(PREF_PICKER_MINUTES, 0)
.putInt(PREF_PICKER_HOURS, 1)
+ .putLong(WORK_TIME, 1000L * 60L * 60L) // 1 hour
.putString(EXERCISE_DURATION, "30")
.putBoolean(KEEP_SCREEN_ON_DURING_EXERCISE, true)
+ .putBoolean(PREF_EXERCISE_CONTINUOUS, false)
+ .putStringSet(PREF_SCHEDULE_EXERCISE_DAYS, new HashSet(Arrays.asList("Mo","Di","Mi","Do","Fr","Sa","So")))
.apply();
return isFirstTimeLaunch;
diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/NotificationDeletedReceiver.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/NotificationDeletedReceiver.java
index e264683..9bc7629 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/NotificationDeletedReceiver.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/NotificationDeletedReceiver.java
@@ -1,10 +1,19 @@
package org.secuso.privacyfriendlybreakreminder.service;
import android.content.BroadcastReceiver;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.ServiceConnection;
+import android.content.SharedPreferences;
+import android.os.IBinder;
+import android.preference.PreferenceManager;
import android.util.Log;
+import org.secuso.privacyfriendlybreakreminder.activities.TimerActivity;
+
+import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PREF_EXERCISE_CONTINUOUS;
+
/**
* @author Christopher Beckmann
* @version 2.0
@@ -18,8 +27,12 @@ public class NotificationDeletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
- // TODO: Notification was swiped away.
- Log.d(TAG, "Notification swiped away");
+ SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
+ if(pref.getBoolean(PREF_EXERCISE_CONTINUOUS, false)) {
+ Intent serviceIntent = new Intent(context, TimerService.class);
+ serviceIntent.setAction(TimerService.ACTION_START_TIMER);
+ context.startService(serviceIntent);
+ }
}
}
diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/PreferenceChangeReceiver.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/PreferenceChangeReceiver.java
new file mode 100644
index 0000000..7ddf294
--- /dev/null
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/PreferenceChangeReceiver.java
@@ -0,0 +1,63 @@
+package org.secuso.privacyfriendlybreakreminder.service;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.util.Log;
+
+import java.util.Map;
+import java.util.Set;
+
+import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PREF_EXERCISE_CONTINUOUS;
+
+/**
+ * @author Christopher Beckmann
+ * @version 1.0
+ * @since 02.11.2017
+ * created 02.11.2017
+ */
+
+public class PreferenceChangeReceiver extends BroadcastReceiver {
+
+ private static final String TAG = PreferenceManager.class.getSimpleName();
+
+ public static final String ACTION_PREF_CHANGE = "org.secuso.privacyfriendlybreakreminder.ACTION_PREF_CHANGE";
+ public static final String EXTRA_DISABLE_CONTINUOUS = "EXTRA_DISABLE_CONTINUOUS";
+
+ @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);
+// Map prefMap = pref.getAll();
+
+ for(String key : intent.getExtras().keySet()) {
+
+ if(EXTRA_DISABLE_CONTINUOUS.equals(key)) {
+ pref.edit().putBoolean(PREF_EXERCISE_CONTINUOUS, false).apply();
+ }
+
+// if(prefMap.containsKey(key)) {
+//
+// Object bundleValue = bundle.get(key);
+//
+// if(prefMap.get(key).getClass().isInstance(bundleValue)) {
+// if(bundleValue instanceof String) {
+// pref.edit().putString(key, (String)bundleValue).apply();
+// } else if(bundleValue instanceof Boolean) {
+// pref.edit().putBoolean(key, (Boolean)bundleValue).apply();
+// }
+// }
+// }
+ }
+
+ }
+}
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 419b674..b691a2f 100644
--- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/TimerService.java
+++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/TimerService.java
@@ -8,16 +8,19 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.SharedPreferences;
import android.os.Binder;
import android.os.CountDownTimer;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Parcel;
import android.os.RemoteException;
+import android.preference.PreferenceManager;
import android.provider.Settings;
import android.support.annotation.Nullable;
+import android.support.v4.app.NotificationCompat;
import android.support.v4.content.ContextCompat;
-import android.support.v7.app.NotificationCompat;
+import android.util.Log;
import org.secuso.privacyfriendlybreakreminder.R;
import org.secuso.privacyfriendlybreakreminder.activities.ExerciseActivity;
@@ -30,6 +33,10 @@ import java.util.Timer;
import static android.app.PendingIntent.FLAG_CANCEL_CURRENT;
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.service.PreferenceChangeReceiver.ACTION_PREF_CHANGE;
+import static org.secuso.privacyfriendlybreakreminder.service.PreferenceChangeReceiver.EXTRA_DISABLE_CONTINUOUS;
/**
* The main timer service. It handles the work timer and sends updates to the notification and the {@link TimerActivity}.
@@ -44,6 +51,14 @@ public class TimerService extends Service {
public static final String NOTIFICATION_BROADCAST = TAG + ".NOTIFICATION_BROADCAST";
public static final String TIMER_BROADCAST = TAG + ".TIMER_BROADCAST";
+ public static final String ACTION_START_TIMER = TAG + "ACTION_START_TIMER";
+ public static final String ACTION_PAUSE_TIMER = TAG + "ACTION_PAUSE_TIMER";
+ public static final String ACTION_RESUME_TIMER = TAG + "ACTION_RESUME_TIMER";
+ public static final String ACTION_STOP_TIMER = TAG + "ACTION_STOP_TIMER";
+ public static final String ACTION_SNOOZE_TIMER = TAG + "ACTION_SNOOZE_TIMER";
+
+ public static final String NOTIFICATION_DELETED_ACTION = "org.secuso.privacyfriendlybreakreminder.NotificationDeleted";
+
private static final int UPDATE_INTERVAL = 100;
private static final int NOTIFICATION_ID = 31337;
@@ -77,10 +92,9 @@ public class TimerService extends Service {
// limit the notification updates
int remainingSeconds = intent.getIntExtra("countdown_seconds", 0);
- if(remainingSeconds != lastTime) {
+ if(remainingSeconds != lastTime || isPaused()) {
lastTime = remainingSeconds;
updateNotification();
-
}
}
};
@@ -90,10 +104,12 @@ public class TimerService extends Service {
// send a notification with sound and vibration
stopForeground(false);
+ PendingIntent startExercises = PendingIntent.getActivity(this, 0, new Intent(this, ExerciseActivity.class), FLAG_CANCEL_CURRENT);
+
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle(getString(R.string.app_name))
.setContentText(getString(R.string.take_a_break_now))
- .setContentIntent(PendingIntent.getActivity(this, 0, new Intent(this, ExerciseActivity.class), FLAG_CANCEL_CURRENT))
+ .setContentIntent(startExercises)
.setColor(ContextCompat.getColor(this, R.color.colorAccent))
.setPriority(NotificationCompat.PRIORITY_MAX)
.setWhen(0)
@@ -104,7 +120,18 @@ public class TimerService extends Service {
.setVibrate(new long[] { 0, 1000, 1000, 1000, 1000, 1000, 1000 })
.setSound(Settings.System.DEFAULT_NOTIFICATION_URI)
.setOnlyAlertOnce(false)
- .setDeleteIntent(PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(this, NotificationDeletedReceiver.class), 0));
+ .setDeleteIntent(PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFICATION_DELETED_ACTION), 0));
+
+ 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, 0));
+ }
+
+
+ builder.addAction(R.drawable.ic_play_arrow_black, getString(R.string.start), startExercises);
+
notificationManager.notify(NOTIFICATION_ID, builder.build());
}
@@ -230,11 +257,38 @@ public class TimerService extends Service {
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
+ if (intent != null) {
+
+ String action = intent.getAction();
+
+ if (ACTION_START_TIMER.equals(action)) handleRestartTimer();
+ else if (ACTION_PAUSE_TIMER.equals(action)) pauseTimer();
+ else if (ACTION_RESUME_TIMER.equals(action)) resumeTimer();
+ else if (ACTION_STOP_TIMER.equals(action)) stopAndResetTimer();
+ else if (ACTION_SNOOZE_TIMER.equals(action)) handleSnoozeTimer();
+ }
+
notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
return START_STICKY;
}
+ private void handleSnoozeTimer() {
+ SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
+
+ long snoozeTime = (long)((float)pref.getLong(WORK_TIME, 1000 * 60 * 60) / 60f * 5f);
+
+ startTimer(snoozeTime);
+ }
+
+ private void handleRestartTimer() {
+ SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
+
+ if(pref.getBoolean(PREF_EXERCISE_CONTINUOUS, false)) {
+ long duration = pref.getLong(WORK_TIME, 1000 * 60 * 60);
+ startTimer(duration);
+ }
+ }
private Notification buildNotification() {
@@ -250,17 +304,29 @@ public class TimerService extends Service {
String time = String.format(Locale.US, "%02d:%02d:%02d", hours, minutes, seconds);
builder.setContentText(time);
-
+ builder.setColor(ContextCompat.getColor(this, R.color.colorAccent));
+ builder.setPriority(NotificationCompat.PRIORITY_DEFAULT);
+ builder.setWhen(0);
+ builder.setProgress((int) initialDuration, (int) (initialDuration - remainingDuration), false);
+ builder.setSmallIcon(R.mipmap.ic_launcher);
+ builder.setOngoing(isRunning() || isPaused());
Intent intent = new Intent(this, TimerActivity.class);
intent.addFlags(FLAG_ACTIVITY_CLEAR_TOP);
-
builder.setContentIntent(PendingIntent.getActivity(this, 0, intent, FLAG_UPDATE_CURRENT));
- builder.setColor(ContextCompat.getColor(this, R.color.colorAccent));
- builder.setPriority(NotificationCompat.PRIORITY_HIGH);
- builder.setWhen(0);
- builder.setSmallIcon(R.mipmap.ic_launcher);
- builder.setOngoing(isRunning() || isPaused());
+
+ Intent stopIntent = new Intent(this, TimerService.class);
+ stopIntent.setAction(ACTION_STOP_TIMER);
+ builder.addAction(R.drawable.ic_replay_black_48dp, getString(R.string.stop), PendingIntent.getService(this, 0, stopIntent, FLAG_UPDATE_CURRENT));
+
+ Intent pauseIntent = new Intent(this, TimerService.class);
+ if(!isPaused()) {
+ pauseIntent.setAction(ACTION_PAUSE_TIMER);
+ builder.addAction(R.drawable.ic_pause_black_48dp, getString(R.string.pause), PendingIntent.getService(this, 0, pauseIntent, FLAG_UPDATE_CURRENT));
+ } else {
+ pauseIntent.setAction(ACTION_RESUME_TIMER);
+ builder.addAction(R.drawable.ic_play_arrow_black, getString(R.string.resume), PendingIntent.getService(this, 0, pauseIntent, FLAG_UPDATE_CURRENT));
+ }
return builder.build();
}
@@ -268,7 +334,6 @@ public class TimerService extends Service {
private void updateNotification() {
if(isRunning() || isPaused()) {
startForeground(NOTIFICATION_ID, buildNotification());
- notificationManager.notify(NOTIFICATION_ID, buildNotification());
} else {
stopForeground(true);
}
diff --git a/app/src/main/res/drawable/BreakReminder_0.png b/app/src/main/res/drawable/BreakReminder_0.png
index 5372254..f54422a 100644
Binary files a/app/src/main/res/drawable/BreakReminder_0.png and b/app/src/main/res/drawable/BreakReminder_0.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_1.png b/app/src/main/res/drawable/BreakReminder_1.png
index ddb1eb1..eb961b1 100644
Binary files a/app/src/main/res/drawable/BreakReminder_1.png and b/app/src/main/res/drawable/BreakReminder_1.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_10.png b/app/src/main/res/drawable/BreakReminder_10.png
index 920bf5e..b5c4f2a 100644
Binary files a/app/src/main/res/drawable/BreakReminder_10.png and b/app/src/main/res/drawable/BreakReminder_10.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_11.png b/app/src/main/res/drawable/BreakReminder_11.png
index e9bcdf3..6cf0f83 100644
Binary files a/app/src/main/res/drawable/BreakReminder_11.png and b/app/src/main/res/drawable/BreakReminder_11.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_12.png b/app/src/main/res/drawable/BreakReminder_12.png
index a65f8f9..b858daa 100644
Binary files a/app/src/main/res/drawable/BreakReminder_12.png and b/app/src/main/res/drawable/BreakReminder_12.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_13.png b/app/src/main/res/drawable/BreakReminder_13.png
index 8eb061b..fad8834 100644
Binary files a/app/src/main/res/drawable/BreakReminder_13.png and b/app/src/main/res/drawable/BreakReminder_13.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_14.png b/app/src/main/res/drawable/BreakReminder_14.png
index 9cf62e5..93c623e 100644
Binary files a/app/src/main/res/drawable/BreakReminder_14.png and b/app/src/main/res/drawable/BreakReminder_14.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_15.png b/app/src/main/res/drawable/BreakReminder_15.png
index 9989210..0db85cd 100644
Binary files a/app/src/main/res/drawable/BreakReminder_15.png and b/app/src/main/res/drawable/BreakReminder_15.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_16.png b/app/src/main/res/drawable/BreakReminder_16.png
index ff6230d..70541f9 100644
Binary files a/app/src/main/res/drawable/BreakReminder_16.png and b/app/src/main/res/drawable/BreakReminder_16.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_17.png b/app/src/main/res/drawable/BreakReminder_17.png
index c8a967f..73eed99 100644
Binary files a/app/src/main/res/drawable/BreakReminder_17.png and b/app/src/main/res/drawable/BreakReminder_17.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_18.png b/app/src/main/res/drawable/BreakReminder_18.png
index da15256..55161c5 100644
Binary files a/app/src/main/res/drawable/BreakReminder_18.png and b/app/src/main/res/drawable/BreakReminder_18.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_19.png b/app/src/main/res/drawable/BreakReminder_19.png
index 6b3eda4..cbe188d 100644
Binary files a/app/src/main/res/drawable/BreakReminder_19.png and b/app/src/main/res/drawable/BreakReminder_19.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_2.png b/app/src/main/res/drawable/BreakReminder_2.png
index 818a3a8..a85f30f 100644
Binary files a/app/src/main/res/drawable/BreakReminder_2.png and b/app/src/main/res/drawable/BreakReminder_2.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_20.png b/app/src/main/res/drawable/BreakReminder_20.png
index eac440a..b94fed5 100644
Binary files a/app/src/main/res/drawable/BreakReminder_20.png and b/app/src/main/res/drawable/BreakReminder_20.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_21.png b/app/src/main/res/drawable/BreakReminder_21.png
index c721382..8712a6b 100644
Binary files a/app/src/main/res/drawable/BreakReminder_21.png and b/app/src/main/res/drawable/BreakReminder_21.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_22.png b/app/src/main/res/drawable/BreakReminder_22.png
index 9f90742..5930f2a 100644
Binary files a/app/src/main/res/drawable/BreakReminder_22.png and b/app/src/main/res/drawable/BreakReminder_22.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_23.png b/app/src/main/res/drawable/BreakReminder_23.png
index 352c299..14e4676 100644
Binary files a/app/src/main/res/drawable/BreakReminder_23.png and b/app/src/main/res/drawable/BreakReminder_23.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_24.png b/app/src/main/res/drawable/BreakReminder_24.png
index 53f23ca..ca38983 100644
Binary files a/app/src/main/res/drawable/BreakReminder_24.png and b/app/src/main/res/drawable/BreakReminder_24.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_25.png b/app/src/main/res/drawable/BreakReminder_25.png
index 4a7aaf9..3688808 100644
Binary files a/app/src/main/res/drawable/BreakReminder_25.png and b/app/src/main/res/drawable/BreakReminder_25.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_26.png b/app/src/main/res/drawable/BreakReminder_26.png
index 9b2ec10..7933a4d 100644
Binary files a/app/src/main/res/drawable/BreakReminder_26.png and b/app/src/main/res/drawable/BreakReminder_26.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_27.png b/app/src/main/res/drawable/BreakReminder_27.png
index c554872..0169467 100644
Binary files a/app/src/main/res/drawable/BreakReminder_27.png and b/app/src/main/res/drawable/BreakReminder_27.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_28.png b/app/src/main/res/drawable/BreakReminder_28.png
index 513dfbb..c4b801b 100644
Binary files a/app/src/main/res/drawable/BreakReminder_28.png and b/app/src/main/res/drawable/BreakReminder_28.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_29.png b/app/src/main/res/drawable/BreakReminder_29.png
index 696b178..8883b5e 100644
Binary files a/app/src/main/res/drawable/BreakReminder_29.png and b/app/src/main/res/drawable/BreakReminder_29.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_3.png b/app/src/main/res/drawable/BreakReminder_3.png
index 0342c24..b08b4c7 100644
Binary files a/app/src/main/res/drawable/BreakReminder_3.png and b/app/src/main/res/drawable/BreakReminder_3.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_30.png b/app/src/main/res/drawable/BreakReminder_30.png
index 874cfd2..7992104 100644
Binary files a/app/src/main/res/drawable/BreakReminder_30.png and b/app/src/main/res/drawable/BreakReminder_30.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_31.png b/app/src/main/res/drawable/BreakReminder_31.png
index f6a646a..be9bc0a 100644
Binary files a/app/src/main/res/drawable/BreakReminder_31.png and b/app/src/main/res/drawable/BreakReminder_31.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_32.png b/app/src/main/res/drawable/BreakReminder_32.png
index d1d75c9..9865633 100644
Binary files a/app/src/main/res/drawable/BreakReminder_32.png and b/app/src/main/res/drawable/BreakReminder_32.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_33.png b/app/src/main/res/drawable/BreakReminder_33.png
index 95d2276..6d272ea 100644
Binary files a/app/src/main/res/drawable/BreakReminder_33.png and b/app/src/main/res/drawable/BreakReminder_33.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_34.png b/app/src/main/res/drawable/BreakReminder_34.png
index e68479c..1f88da5 100644
Binary files a/app/src/main/res/drawable/BreakReminder_34.png and b/app/src/main/res/drawable/BreakReminder_34.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_35.png b/app/src/main/res/drawable/BreakReminder_35.png
index 6003458..cf39a64 100644
Binary files a/app/src/main/res/drawable/BreakReminder_35.png and b/app/src/main/res/drawable/BreakReminder_35.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_36.png b/app/src/main/res/drawable/BreakReminder_36.png
index 9672288..15450b7 100644
Binary files a/app/src/main/res/drawable/BreakReminder_36.png and b/app/src/main/res/drawable/BreakReminder_36.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_37.png b/app/src/main/res/drawable/BreakReminder_37.png
index 8d14550..0f90a2a 100644
Binary files a/app/src/main/res/drawable/BreakReminder_37.png and b/app/src/main/res/drawable/BreakReminder_37.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_38.png b/app/src/main/res/drawable/BreakReminder_38.png
index 94b6558..65c56bb 100644
Binary files a/app/src/main/res/drawable/BreakReminder_38.png and b/app/src/main/res/drawable/BreakReminder_38.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_39.png b/app/src/main/res/drawable/BreakReminder_39.png
index 8792547..8fd1c31 100644
Binary files a/app/src/main/res/drawable/BreakReminder_39.png and b/app/src/main/res/drawable/BreakReminder_39.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_4.png b/app/src/main/res/drawable/BreakReminder_4.png
index dbb3534..30d062a 100644
Binary files a/app/src/main/res/drawable/BreakReminder_4.png and b/app/src/main/res/drawable/BreakReminder_4.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_40.png b/app/src/main/res/drawable/BreakReminder_40.png
index 2c83022..6fb2d10 100644
Binary files a/app/src/main/res/drawable/BreakReminder_40.png and b/app/src/main/res/drawable/BreakReminder_40.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_41.png b/app/src/main/res/drawable/BreakReminder_41.png
index 134b2ee..0d1ac0f 100644
Binary files a/app/src/main/res/drawable/BreakReminder_41.png and b/app/src/main/res/drawable/BreakReminder_41.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_42.png b/app/src/main/res/drawable/BreakReminder_42.png
index 4ad226c..b3fe9e8 100644
Binary files a/app/src/main/res/drawable/BreakReminder_42.png and b/app/src/main/res/drawable/BreakReminder_42.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_43.png b/app/src/main/res/drawable/BreakReminder_43.png
index 9f454ae..9dd8ecf 100644
Binary files a/app/src/main/res/drawable/BreakReminder_43.png and b/app/src/main/res/drawable/BreakReminder_43.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_44.png b/app/src/main/res/drawable/BreakReminder_44.png
index 0252636..8ee29de 100644
Binary files a/app/src/main/res/drawable/BreakReminder_44.png and b/app/src/main/res/drawable/BreakReminder_44.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_45.png b/app/src/main/res/drawable/BreakReminder_45.png
index 1edceb5..690d8b5 100644
Binary files a/app/src/main/res/drawable/BreakReminder_45.png and b/app/src/main/res/drawable/BreakReminder_45.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_46.png b/app/src/main/res/drawable/BreakReminder_46.png
index 8cac1dc..e6a3242 100644
Binary files a/app/src/main/res/drawable/BreakReminder_46.png and b/app/src/main/res/drawable/BreakReminder_46.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_47.png b/app/src/main/res/drawable/BreakReminder_47.png
index d59f8e0..91be5b4 100644
Binary files a/app/src/main/res/drawable/BreakReminder_47.png and b/app/src/main/res/drawable/BreakReminder_47.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_48.png b/app/src/main/res/drawable/BreakReminder_48.png
index a3508b5..ed558aa 100644
Binary files a/app/src/main/res/drawable/BreakReminder_48.png and b/app/src/main/res/drawable/BreakReminder_48.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_49.png b/app/src/main/res/drawable/BreakReminder_49.png
index 5249249..68c4ce6 100644
Binary files a/app/src/main/res/drawable/BreakReminder_49.png and b/app/src/main/res/drawable/BreakReminder_49.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_5.png b/app/src/main/res/drawable/BreakReminder_5.png
index 6a20180..8403316 100644
Binary files a/app/src/main/res/drawable/BreakReminder_5.png and b/app/src/main/res/drawable/BreakReminder_5.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_50.png b/app/src/main/res/drawable/BreakReminder_50.png
index cce18e5..b818102 100644
Binary files a/app/src/main/res/drawable/BreakReminder_50.png and b/app/src/main/res/drawable/BreakReminder_50.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_51.png b/app/src/main/res/drawable/BreakReminder_51.png
index 0ee2b31..89f72bc 100644
Binary files a/app/src/main/res/drawable/BreakReminder_51.png and b/app/src/main/res/drawable/BreakReminder_51.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_52.png b/app/src/main/res/drawable/BreakReminder_52.png
index 746bfe9..0f8e3c6 100644
Binary files a/app/src/main/res/drawable/BreakReminder_52.png and b/app/src/main/res/drawable/BreakReminder_52.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_53.png b/app/src/main/res/drawable/BreakReminder_53.png
index 24eacab..67f4215 100644
Binary files a/app/src/main/res/drawable/BreakReminder_53.png and b/app/src/main/res/drawable/BreakReminder_53.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_54.png b/app/src/main/res/drawable/BreakReminder_54.png
index b093da5..e22321e 100644
Binary files a/app/src/main/res/drawable/BreakReminder_54.png and b/app/src/main/res/drawable/BreakReminder_54.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_55.png b/app/src/main/res/drawable/BreakReminder_55.png
index fe92adc..db3fd57 100644
Binary files a/app/src/main/res/drawable/BreakReminder_55.png and b/app/src/main/res/drawable/BreakReminder_55.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_56.png b/app/src/main/res/drawable/BreakReminder_56.png
index f1774d6..8ecd38b 100644
Binary files a/app/src/main/res/drawable/BreakReminder_56.png and b/app/src/main/res/drawable/BreakReminder_56.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_6.png b/app/src/main/res/drawable/BreakReminder_6.png
index 9b08452..d738c87 100644
Binary files a/app/src/main/res/drawable/BreakReminder_6.png and b/app/src/main/res/drawable/BreakReminder_6.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_7.png b/app/src/main/res/drawable/BreakReminder_7.png
index a7bb9db..9d3bc0a 100644
Binary files a/app/src/main/res/drawable/BreakReminder_7.png and b/app/src/main/res/drawable/BreakReminder_7.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_8.png b/app/src/main/res/drawable/BreakReminder_8.png
index 89234ef..658d328 100644
Binary files a/app/src/main/res/drawable/BreakReminder_8.png and b/app/src/main/res/drawable/BreakReminder_8.png differ
diff --git a/app/src/main/res/drawable/BreakReminder_9.png b/app/src/main/res/drawable/BreakReminder_9.png
index 8401d0e..608eac5 100644
Binary files a/app/src/main/res/drawable/BreakReminder_9.png and b/app/src/main/res/drawable/BreakReminder_9.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_app.png b/app/src/main/res/mipmap-hdpi/ic_app.png
index 318f94d..106eb26 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_app.png and b/app/src/main/res/mipmap-hdpi/ic_app.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
index b4435a3..1059fe5 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_splash.png b/app/src/main/res/mipmap-hdpi/ic_splash.png
index 318f94d..90e1e1e 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_splash.png and b/app/src/main/res/mipmap-hdpi/ic_splash.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_app.png b/app/src/main/res/mipmap-mdpi/ic_app.png
index 73626a4..943dd96 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_app.png and b/app/src/main/res/mipmap-mdpi/ic_app.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 743d40f..02ec742 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_splash.png b/app/src/main/res/mipmap-mdpi/ic_splash.png
index 73626a4..4aadc99 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_splash.png and b/app/src/main/res/mipmap-mdpi/ic_splash.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_app.png b/app/src/main/res/mipmap-xhdpi/ic_app.png
index 5c866fc..3364786 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_app.png and b/app/src/main/res/mipmap-xhdpi/ic_app.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 2908cd6..bb292ff 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_splash.png b/app/src/main/res/mipmap-xhdpi/ic_splash.png
index 5c866fc..ea93f95 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_splash.png and b/app/src/main/res/mipmap-xhdpi/ic_splash.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_app.png b/app/src/main/res/mipmap-xxhdpi/ic_app.png
index fe40929..4a4fe5d 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_app.png and b/app/src/main/res/mipmap-xxhdpi/ic_app.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index a25d533..a0db396 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_splash.png b/app/src/main/res/mipmap-xxhdpi/ic_splash.png
deleted file mode 100644
index fe40929..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_splash.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_app.png b/app/src/main/res/mipmap-xxxhdpi/ic_app.png
index 465165a..668ac90 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_app.png and b/app/src/main/res/mipmap-xxxhdpi/ic_app.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 7d6eb37..6eb7426 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_splash.png b/app/src/main/res/mipmap-xxxhdpi/ic_splash.png
deleted file mode 100644
index 465165a..0000000
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_splash.png and /dev/null differ
diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml
index dbbdd40..8cd2155 100644
--- a/app/src/main/res/values-v21/styles.xml
+++ b/app/src/main/res/values-v21/styles.xml
@@ -1,9 +1,35 @@
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
new file mode 100644
index 0000000..9fa28ab
--- /dev/null
+++ b/app/src/main/res/values/arrays.xml
@@ -0,0 +1,21 @@
+
+
+
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
+ - Sunday
+
+
+ - Mo
+ - Di
+ - Mi
+ - Do
+ - Fr
+ - Sa
+ - So
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ad44ee6..6ca69ac 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -156,10 +156,10 @@
%02d
Exercise time (in Seconds)
Keep screen on during exercise
- exercise settings
+ Exercise Settings
schedule an exercise
- enable exercise schedule
- Schedule Time
+ Enable exercise schedule
+ Schedule time
What is Privacy Friendly Break Reminder?
Privacy Friendly Break Reminder is an app, that reminds you to take breaks during your work sessions. It allows you to select exercises, that are then shown during your break time.
Which permissions does the app require?
@@ -231,8 +231,17 @@
System sync settings
New message notifications
- Continuous Exercises
+ Continuous exercises
Start the next timer automatically
+ Choose days
+ Only trigger on certain days
+ No days selected.
+ every day
+ Pause
+ Resume
+ Stop
+ Start
+ Dismiss and don\'t start again
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 663299e..9648c27 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -6,6 +6,24 @@
- @color/colorPrimary
- @color/colorPrimaryDark
- @color/colorAccent
+
+ - @style/AppTheme.AlertDialog
+
+
+
+
+
+
+