diff --git a/app/src/main/assets/databases/exercises.sqlite b/app/src/main/assets/databases/exercises.sqlite index bc0011c..659bb6d 100644 Binary files a/app/src/main/assets/databases/exercises.sqlite and b/app/src/main/assets/databases/exercises.sqlite differ 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 7f00c69..b288950 100644 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/ExerciseActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/ExerciseActivity.java @@ -30,7 +30,7 @@ import android.widget.ProgressBar; import android.widget.TextView; import org.secuso.privacyfriendlybreakreminder.R; -import org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager; +import org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager; import org.secuso.privacyfriendlybreakreminder.database.SQLiteHelper; import org.secuso.privacyfriendlybreakreminder.database.data.Exercise; import org.secuso.privacyfriendlybreakreminder.database.data.ExerciseSet; @@ -113,16 +113,16 @@ public class ExerciseActivity extends AppCompatActivity implements android.suppo startService(stopTimer); pref = PreferenceManager.getDefaultSharedPreferences(this); - 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.REPEAT_EXERCISES, false); + exerciseSetId = pref.getLong(FirstLaunchManager.DEFAULT_EXERCISE_SET, 0L); + pauseDuration = pref.getLong(FirstLaunchManager.PAUSE_TIME, 5 * 60 * 1000); + repeatStatus = pref.getBoolean(FirstLaunchManager.REPEAT_STATUS, false); + continuousStatus = pref.getBoolean(FirstLaunchManager.REPEAT_EXERCISES, false); try { - exerciseTime = Long.parseLong(pref.getString(PrefManager.EXERCISE_DURATION, "30")) * 1000; + exerciseTime = Long.parseLong(pref.getString(FirstLaunchManager.EXERCISE_DURATION, "30")) * 1000; } catch (NumberFormatException e) { exerciseTime = 30L * 1000; } - keepScreenOn = pref.getBoolean(PrefManager.KEEP_SCREEN_ON_DURING_EXERCISE, true); + keepScreenOn = pref.getBoolean(FirstLaunchManager.KEEP_SCREEN_ON_DURING_EXERCISE, true); initResources(); @@ -208,7 +208,7 @@ public class ExerciseActivity extends AppCompatActivity implements android.suppo // start the next timer if continuous is activated SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this); - if(pref.getBoolean(PrefManager.PREF_EXERCISE_CONTINUOUS, false)) { + if(pref.getBoolean(FirstLaunchManager.PREF_EXERCISE_CONTINUOUS, false)) { Intent timerServiceIntent = new Intent(this.getApplicationContext(), TimerService.class); timerServiceIntent.setAction(TimerService.ACTION_START_TIMER); startService(timerServiceIntent); @@ -562,7 +562,7 @@ public class ExerciseActivity extends AppCompatActivity implements android.suppo private void handleRepeatClicked() { repeatStatus = !repeatStatus; - pref.edit().putBoolean(PrefManager.REPEAT_STATUS, repeatStatus).apply(); + pref.edit().putBoolean(FirstLaunchManager.REPEAT_STATUS, repeatStatus).apply(); setRepeatButtonStatus(repeatStatus); } @@ -577,7 +577,7 @@ public class ExerciseActivity extends AppCompatActivity implements android.suppo private void handleContinuousClicked() { continuousStatus = !continuousStatus; - pref.edit().putBoolean(PrefManager.REPEAT_EXERCISES, continuousStatus).apply(); + pref.edit().putBoolean(FirstLaunchManager.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 0250661..c415827 100644 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/SettingsActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/SettingsActivity.java @@ -18,14 +18,11 @@ import android.view.MenuItem; import org.secuso.privacyfriendlybreakreminder.R; import org.secuso.privacyfriendlybreakreminder.activities.helper.AppCompatPreferenceActivity; -import org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager; import org.secuso.privacyfriendlybreakreminder.receivers.TimerSchedulerReceiver; import java.util.HashSet; import java.util.List; -import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PREF_SCHEDULE_EXERCISE_ENABLED; - /** * @author Christopher Beckmann * @version 2.0 diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/SplashActivity.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/SplashActivity.java index 4e0decf..8dfa309 100644 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/SplashActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/SplashActivity.java @@ -4,7 +4,7 @@ import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; -import org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager; +import org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager; import org.secuso.privacyfriendlybreakreminder.activities.tutorial.TutorialActivity; /** @@ -21,9 +21,10 @@ public class SplashActivity extends AppCompatActivity { Intent mainIntent = null; - PrefManager firstStartPref = new PrefManager(this); + FirstLaunchManager firstStartPref = new FirstLaunchManager(this); if(firstStartPref.isFirstTimeLaunch()) { + firstStartPref.initFirstTimeLaunch(); mainIntent = new Intent(this, TutorialActivity.class); } else { mainIntent = new Intent(this, TimerActivity.class); 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 4b8eb4b..096b094 100644 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/TimerActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/TimerActivity.java @@ -9,16 +9,11 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; import android.content.SharedPreferences; -import android.content.res.Resources; -import android.graphics.drawable.ColorDrawable; import android.os.IBinder; import android.preference.PreferenceManager; -import android.support.annotation.ColorRes; import android.support.v4.content.AsyncTaskLoader; -import android.support.v4.content.ContextCompat; import android.support.v4.content.Loader; import android.os.Bundle; -import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.ImageButton; @@ -27,7 +22,7 @@ import android.widget.ProgressBar; import android.widget.Spinner; import android.widget.TextView; -import org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager; +import org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager; import org.secuso.privacyfriendlybreakreminder.exercises.ExerciseLocale; import org.secuso.privacyfriendlybreakreminder.R; import org.secuso.privacyfriendlybreakreminder.activities.adapter.ExerciseSetSpinnerAdapter; @@ -42,8 +37,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Locale; -import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.DEFAULT_EXERCISE_SET; -import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PAUSE_TIME; +import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager.DEFAULT_EXERCISE_SET; +import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager.PAUSE_TIME; /** * This is the main break reminder activity. It lets you choose exercise and work times, as well as the exercises you want to perform during the break. @@ -215,11 +210,11 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap setPickerAttributes(secondsBreakPicker); setPickerAttributes(minutesBreakPicker); - secondsPicker.setValue(pref.getInt(PrefManager.PREF_PICKER_SECONDS, 0)); - minutesPicker.setValue(pref.getInt(PrefManager.PREF_PICKER_MINUTES, 30)); - hoursPicker.setValue(pref.getInt(PrefManager.PREF_PICKER_HOURS, 1)); - secondsBreakPicker.setValue(pref.getInt(PrefManager.PREF_BREAK_PICKER_SECONDS, 0)); - minutesBreakPicker.setValue(pref.getInt(PrefManager.PREF_BREAK_PICKER_MINUTES, 5)); + secondsPicker.setValue(pref.getInt(FirstLaunchManager.PREF_PICKER_SECONDS, 0)); + minutesPicker.setValue(pref.getInt(FirstLaunchManager.PREF_PICKER_MINUTES, 30)); + hoursPicker.setValue(pref.getInt(FirstLaunchManager.PREF_PICKER_HOURS, 1)); + secondsBreakPicker.setValue(pref.getInt(FirstLaunchManager.PREF_BREAK_PICKER_SECONDS, 0)); + minutesBreakPicker.setValue(pref.getInt(FirstLaunchManager.PREF_BREAK_PICKER_MINUTES, 5)); } private void setPickerAttributes(NumberPicker np) { @@ -278,8 +273,8 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this); pref.edit() - .putInt(PrefManager.PREF_BREAK_PICKER_SECONDS, secondsBreakPicker.getValue()) - .putInt(PrefManager.PREF_BREAK_PICKER_MINUTES, minutesBreakPicker.getValue()) + .putInt(FirstLaunchManager.PREF_BREAK_PICKER_SECONDS, secondsBreakPicker.getValue()) + .putInt(FirstLaunchManager.PREF_BREAK_PICKER_MINUTES, minutesBreakPicker.getValue()) .putLong(PAUSE_TIME, getCurrentSetBreakTime()).apply(); } } @@ -287,10 +282,10 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap private void saveCurrentSetDuration() { 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()) - .putLong(PrefManager.WORK_TIME, getCurrentSetDuration()).apply(); + pref.edit().putInt(FirstLaunchManager.PREF_PICKER_SECONDS, secondsPicker.getValue()) + .putInt(FirstLaunchManager.PREF_PICKER_MINUTES, minutesPicker.getValue()) + .putInt(FirstLaunchManager.PREF_PICKER_HOURS, hoursPicker.getValue()) + .putLong(FirstLaunchManager.WORK_TIME, getCurrentSetDuration()).apply(); } private long getCurrentSetDuration() { diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/FirstLaunchManager.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/FirstLaunchManager.java new file mode 100644 index 0000000..8ec641e --- /dev/null +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/FirstLaunchManager.java @@ -0,0 +1,144 @@ +package org.secuso.privacyfriendlybreakreminder.activities.tutorial; + +import android.content.Context; +import android.content.SharedPreferences; +import android.database.Cursor; +import android.preference.PreferenceManager; + +import org.secuso.privacyfriendlybreakreminder.R; +import org.secuso.privacyfriendlybreakreminder.database.SQLiteHelper; +import org.secuso.privacyfriendlybreakreminder.database.columns.ExerciseSetColumns; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; + +/** + * Class structure taken from tutorial at http://www.androidhive.info/2016/05/android-build-intro-slider-app/ + */ +public class FirstLaunchManager { + private static final String TAG = FirstLaunchManager.class.getSimpleName(); + + public static final String PREF_PICKER_SECONDS = TAG + ".PREF_PICKER_SECONDS"; + public static final String PREF_PICKER_MINUTES = TAG + ".PREF_PICKER_MINUTES"; + public static final String PREF_PICKER_HOURS = TAG + ".PREF_PICKER_HOURS"; + public static final String PREF_BREAK_PICKER_SECONDS = TAG + ".PREF_BREAK_PICKER_SECONDS"; + public static final String PREF_BREAK_PICKER_MINUTES = TAG + ".PREF_BREAK_PICKER_MINUTES"; + + 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 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_ENABLED = "pref_schedule_exercise"; + public static final String PREF_SCHEDULE_EXERCISE_DAYS_ENABLED = "pref_schedule_exercise_daystrigger"; + public static final String PREF_SCHEDULE_EXERCISE_DAYS = "pref_schedule_exercise_days"; + public static final String PREF_SCHEDULE_EXERCISE_TIME = "pref_schedule_exercise_time"; + public static final String PREF_EXERCISE_CONTINUOUS = "pref_exercise_continuous"; + public static final String WORK_TIME = "WORK_TIME"; + + private final SQLiteHelper dbHandler; + private Context context; + private SharedPreferences pref; + + private static final String IS_FIRST_TIME_LAUNCH = "IsFirstTimeLaunch"; + + public FirstLaunchManager(Context context) { + this.context = context; + pref = PreferenceManager.getDefaultSharedPreferences(context); + dbHandler = new SQLiteHelper(context); + } + + public void setFirstTimeLaunch(boolean isFirstTime) { + pref.edit().putBoolean(IS_FIRST_TIME_LAUNCH, isFirstTime).apply(); + } + + public boolean isFirstTimeLaunch() { + return pref.getBoolean(IS_FIRST_TIME_LAUNCH, true); + } + + public void initFirstTimeLaunch() { + if(pref.getBoolean(IS_FIRST_TIME_LAUNCH, true)) { + pref.edit() + .putLong(DEFAULT_EXERCISE_SET, 0L) + .putLong(PAUSE_TIME, 5 * 60 * 1000) // 5 minutes + .putBoolean(REPEAT_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, "20") + .putBoolean(PREF_SCHEDULE_EXERCISE_DAYS_ENABLED, false) + .putBoolean(PREF_SCHEDULE_EXERCISE_ENABLED, false) + .putLong(PREF_SCHEDULE_EXERCISE_TIME, 32400000L) + .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(); + + loadInitialExerciseSets(); + } + } + + private void loadInitialExerciseSets() { + + Cursor setCursor = dbHandler.getExerciseSetsCursor(); + + if(setCursor != null && setCursor.getCount() > 0) { + List setList = new ArrayList<>(); + + while(setCursor.moveToNext()) { + setList.add(setCursor.getInt(setCursor.getColumnIndex(ExerciseSetColumns._ID))); + } + + setCursor.close(); + + for(Integer id : setList) { + dbHandler.clearExercisesFromSet(id); + dbHandler.deleteExerciseSet(id); + } + } + + long id1 = dbHandler.addExerciseSet(context.getString(R.string.set_default_1)); + long id2 = dbHandler.addExerciseSet(context.getString(R.string.set_default_2)); + long id3 = dbHandler.addExerciseSet(context.getString(R.string.set_default_3)); + long id4 = dbHandler.addExerciseSet(context.getString(R.string.set_default_4)); + long id5 = dbHandler.addExerciseSet(context.getString(R.string.set_default_5)); + + dbHandler.addExerciseToExerciseSet((int) id1, 1); + dbHandler.addExerciseToExerciseSet((int) id1, 2); + dbHandler.addExerciseToExerciseSet((int) id1, 3); + dbHandler.addExerciseToExerciseSet((int) id1, 4); + dbHandler.addExerciseToExerciseSet((int) id1, 5); + + dbHandler.addExerciseToExerciseSet((int) id2, 6); + dbHandler.addExerciseToExerciseSet((int) id2, 7); + dbHandler.addExerciseToExerciseSet((int) id2, 11); + dbHandler.addExerciseToExerciseSet((int) id2, 13); + dbHandler.addExerciseToExerciseSet((int) id2, 17); + + dbHandler.addExerciseToExerciseSet((int) id3, 16); + dbHandler.addExerciseToExerciseSet((int) id3, 20); + dbHandler.addExerciseToExerciseSet((int) id3, 25); + dbHandler.addExerciseToExerciseSet((int) id3, 26); + dbHandler.addExerciseToExerciseSet((int) id3, 34); + + dbHandler.addExerciseToExerciseSet((int) id4, 27); + dbHandler.addExerciseToExerciseSet((int) id4, 31); + dbHandler.addExerciseToExerciseSet((int) id4, 33); + dbHandler.addExerciseToExerciseSet((int) id4, 35); + dbHandler.addExerciseToExerciseSet((int) id4, 36); + + dbHandler.addExerciseToExerciseSet((int) id5, 27); + dbHandler.addExerciseToExerciseSet((int) id5, 28); + dbHandler.addExerciseToExerciseSet((int) id5, 29); + dbHandler.addExerciseToExerciseSet((int) id5, 36); + dbHandler.addExerciseToExerciseSet((int) id5, 39); + } + +} 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 deleted file mode 100644 index 9439152..0000000 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/PrefManager.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.secuso.privacyfriendlybreakreminder.activities.tutorial; - -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/ - */ -public class PrefManager { - private static final String TAG = PrefManager.class.getSimpleName(); - - public static final String PREF_PICKER_SECONDS = TAG + ".PREF_PICKER_SECONDS"; - public static final String PREF_PICKER_MINUTES = TAG + ".PREF_PICKER_MINUTES"; - public static final String PREF_PICKER_HOURS = TAG + ".PREF_PICKER_HOURS"; - public static final String PREF_BREAK_PICKER_SECONDS = TAG + ".PREF_BREAK_PICKER_SECONDS"; - public static final String PREF_BREAK_PICKER_MINUTES = TAG + ".PREF_BREAK_PICKER_MINUTES"; - - 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 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_ENABLED = "pref_schedule_exercise"; - public static final String PREF_SCHEDULE_EXERCISE_DAYS_ENABLED = "pref_schedule_exercise_daystrigger"; - public static final String PREF_SCHEDULE_EXERCISE_DAYS = "pref_schedule_exercise_days"; - public static final String PREF_SCHEDULE_EXERCISE_TIME = "pref_schedule_exercise_time"; - public static final String PREF_EXERCISE_CONTINUOUS = "pref_exercise_continuous"; - public static final String WORK_TIME = "WORK_TIME"; - - - private SharedPreferences pref; - - private static final String IS_FIRST_TIME_LAUNCH = "IsFirstTimeLaunch"; - - public PrefManager(Context context) { - pref = PreferenceManager.getDefaultSharedPreferences(context); - } - - public void setFirstTimeLaunch(boolean isFirstTime) { - pref.edit().putBoolean(IS_FIRST_TIME_LAUNCH, isFirstTime).apply(); - } - - public boolean isFirstTimeLaunch() { - boolean isFirstTimeLaunch = pref.getBoolean(IS_FIRST_TIME_LAUNCH, true); - - if(isFirstTimeLaunch) - pref.edit() - .putLong(DEFAULT_EXERCISE_SET, 0L) - .putLong(PAUSE_TIME, 5 * 60 * 1000) // 5 minutes - .putBoolean(REPEAT_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(PREF_SCHEDULE_EXERCISE_DAYS_ENABLED, false) - .putBoolean(PREF_SCHEDULE_EXERCISE_ENABLED, false) - .putLong(PREF_SCHEDULE_EXERCISE_TIME, 32400000L) - .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/activities/tutorial/TutorialActivity.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/TutorialActivity.java index ebcd3e6..25e57bd 100644 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/TutorialActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/activities/tutorial/TutorialActivity.java @@ -21,7 +21,6 @@ import android.widget.TextView; import org.secuso.privacyfriendlybreakreminder.R; import org.secuso.privacyfriendlybreakreminder.activities.ManageExerciseSetsActivity; -import org.secuso.privacyfriendlybreakreminder.activities.TimerActivity; /** * Class structure taken from tutorial at http://www.androidhive.info/2016/05/android-build-intro-slider-app/ @@ -46,7 +45,7 @@ public class TutorialActivity extends AppCompatActivity { private LinearLayout dotsLayout; private TextView[] dots; private Button btnSkip, btnNext; - private PrefManager prefManager; + private FirstLaunchManager firstLaunchManager; private static final String TAG = TutorialActivity.class.getSimpleName(); public static final String ACTION_SHOW_ANYWAYS = TAG + ".ACTION_SHOW_ANYWAYS"; @@ -56,7 +55,7 @@ public class TutorialActivity extends AppCompatActivity { super.onCreate(savedInstanceState); // Checking for first time launch - before calling setContentView() - prefManager = new PrefManager(this); + firstLaunchManager = new FirstLaunchManager(this); Intent i = getIntent(); // Making notification bar transparent @@ -133,10 +132,10 @@ public class TutorialActivity extends AppCompatActivity { private void launchHomeScreen() { - if(prefManager.isFirstTimeLaunch()) { + if(firstLaunchManager.isFirstTimeLaunch()) { Intent intent = new Intent(TutorialActivity.this, ManageExerciseSetsActivity.class); //intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - prefManager.setFirstTimeLaunch(false); + firstLaunchManager.setFirstTimeLaunch(false); startActivity(intent); } diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/database/SQLiteHelper.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/database/SQLiteHelper.java index 967281f..6e480d0 100644 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/database/SQLiteHelper.java +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/database/SQLiteHelper.java @@ -5,9 +5,7 @@ import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteOpenHelper; import android.support.annotation.NonNull; -import android.util.Log; import com.readystatesoftware.sqliteasset.SQLiteAssetHelper; @@ -17,10 +15,6 @@ import org.secuso.privacyfriendlybreakreminder.database.columns.ExerciseColumns; import org.secuso.privacyfriendlybreakreminder.database.columns.ExerciseLocalColumns; import org.secuso.privacyfriendlybreakreminder.database.data.ExerciseSet; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationCancelReceiver.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationCancelReceiver.java index 969e4b5..753d735 100644 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationCancelReceiver.java +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationCancelReceiver.java @@ -4,14 +4,9 @@ import android.app.NotificationManager; 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 org.secuso.privacyfriendlybreakreminder.service.TimerService; -import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PREF_EXERCISE_CONTINUOUS; - /** * @author Christopher Beckmann * @version 2.0 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 d909f85..beae57e 100644 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationDeletedReceiver.java +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/NotificationDeletedReceiver.java @@ -8,7 +8,7 @@ import android.preference.PreferenceManager; import org.secuso.privacyfriendlybreakreminder.service.TimerService; -import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PREF_EXERCISE_CONTINUOUS; +import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager.PREF_EXERCISE_CONTINUOUS; /** * @author Christopher Beckmann diff --git a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/TimerSchedulerReceiver.java b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/TimerSchedulerReceiver.java index 6562597..59560f9 100644 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/TimerSchedulerReceiver.java +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/receivers/TimerSchedulerReceiver.java @@ -20,11 +20,11 @@ import java.util.Calendar; import java.util.HashSet; import java.util.Set; -import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PREF_SCHEDULE_EXERCISE_DAYS; -import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PREF_SCHEDULE_EXERCISE_DAYS_ENABLED; -import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PREF_SCHEDULE_EXERCISE_ENABLED; -import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.PREF_SCHEDULE_EXERCISE_TIME; -import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager.WORK_TIME; +import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager.PREF_SCHEDULE_EXERCISE_DAYS; +import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager.PREF_SCHEDULE_EXERCISE_DAYS_ENABLED; +import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager.PREF_SCHEDULE_EXERCISE_ENABLED; +import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager.PREF_SCHEDULE_EXERCISE_TIME; +import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager.WORK_TIME; /** * @author Christopher Beckmann 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 3f92d42..d0dfe03 100644 --- a/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/TimerService.java +++ b/app/src/main/java/org/secuso/privacyfriendlybreakreminder/service/TimerService.java @@ -28,8 +28,8 @@ import java.util.Locale; 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.activities.tutorial.FirstLaunchManager.PREF_EXERCISE_CONTINUOUS; +import static org.secuso.privacyfriendlybreakreminder.activities.tutorial.FirstLaunchManager.WORK_TIME; import static org.secuso.privacyfriendlybreakreminder.receivers.NotificationCancelReceiver.ACTION_NOTIFICATION_CANCELED; import static org.secuso.privacyfriendlybreakreminder.receivers.NotificationDeletedReceiver.ACTION_NOTIFICATION_DELETED; diff --git a/app/src/main/res/layout/activity_timer.xml b/app/src/main/res/layout/activity_timer.xml index 7c60d89..73c1293 100644 --- a/app/src/main/res/layout/activity_timer.xml +++ b/app/src/main/res/layout/activity_timer.xml @@ -243,7 +243,7 @@ app:np_min="0"/> + Nacken-Kopf-Beschwerden + Schulter-Arm-Beschwerden + Rückenbeschwerden + Hüftbeschwerden + Kniebeschwerden + \ 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 41fa48c..b09cc87 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -134,4 +134,12 @@ Tatjana Albrandt + + Neck-Head + Shoulder and Arms + Back + Hips + Knee + + diff --git a/app/src/main/res/xml/pref_exercise.xml b/app/src/main/res/xml/pref_exercise.xml index e0a4d3c..fc94ede 100644 --- a/app/src/main/res/xml/pref_exercise.xml +++ b/app/src/main/res/xml/pref_exercise.xml @@ -8,7 +8,7 @@ android:title="@string/pref_keep_screen_on_during_exercise" />