parent
718f0ec419
commit
3aaf275e24
18 changed files with 202 additions and 136 deletions
Binary file not shown.
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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<String>(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<Integer> 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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<String>(Arrays.asList("Mo","Di","Mi","Do","Fr","Sa","So")))
|
||||
.apply();
|
||||
|
||||
return isFirstTimeLaunch;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@
|
|||
app:np_min="0"/>
|
||||
|
||||
<!-- <NumberPicker
|
||||
android:id="@+id/seconds_break_picker"
|
||||
android:id="@+id/seconds_break_picker2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="120dp"
|
||||
android:theme="@style/AppTheme.NumberPicker"
|
||||
|
|
|
|||
|
|
@ -139,4 +139,12 @@
|
|||
<string name="no">Nein</string>
|
||||
<string name="keep_editing">bearbeiten</string>
|
||||
<string name="discard">verwerfen</string>
|
||||
|
||||
<!-- default sets -->
|
||||
<string name="set_default_1">Nacken-Kopf-Beschwerden</string>
|
||||
<string name="set_default_2">Schulter-Arm-Beschwerden</string>
|
||||
<string name="set_default_3">Rückenbeschwerden</string>
|
||||
<string name="set_default_4">Hüftbeschwerden</string>
|
||||
<string name="set_default_5">Kniebeschwerden</string>
|
||||
|
||||
</resources>
|
||||
|
|
@ -134,4 +134,12 @@
|
|||
<string name="about_graphics_names" translatable="false">Tatjana Albrandt</string>
|
||||
|
||||
|
||||
<!-- default set names -->
|
||||
<string name="set_default_1">Neck-Head</string>
|
||||
<string name="set_default_2">Shoulder and Arms</string>
|
||||
<string name="set_default_3">Back</string>
|
||||
<string name="set_default_4">Hips</string>
|
||||
<string name="set_default_5">Knee</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
android:title="@string/pref_keep_screen_on_during_exercise" />
|
||||
|
||||
<EditTextPreference
|
||||
android:defaultValue="30"
|
||||
android:defaultValue="20"
|
||||
android:inputType="number"
|
||||
android:numeric="integer"
|
||||
android:maxLength="2"
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ buildscript {
|
|||
}
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.0.0'
|
||||
classpath 'com.android.tools.build:gradle:3.0.1'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue