Cleanup and Javadoc.

This commit is contained in:
Christopher Beckmann 2017-10-26 14:10:32 +02:00
commit 8f993b749d
14 changed files with 69 additions and 177 deletions

View file

@ -9,8 +9,13 @@ import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import org.secuso.privacyfriendlybreakreminder.BuildConfig;
import org.secuso.privacyfriendlybreakreminder.R;
/**
* @author Christopher Beckmann
* @version 2.0
*/
public class AboutActivity extends AppCompatActivity {
Handler mHandler;
@ -40,6 +45,8 @@ public class AboutActivity extends AppCompatActivity {
TextView authors = (TextView) findViewById(R.id.textFieldAuthorNames);
authors.setText(getString(R.string.about_author_contributors, getString(R.string.about_author_names)));
((TextView)findViewById(R.id.textFieldVersionName)).setText(BuildConfig.VERSION_NAME);
}
private void setupActionBar() {

View file

@ -34,6 +34,12 @@ import java.util.List;
import static org.secuso.privacyfriendlybreakreminder.activities.adapter.ExerciseAdapter.ID_COMPARATOR;
/**
* This activity lets you choose exercises. The result is then sent back to {@link EditExerciseSetActivity}
* @author Christopher Beckmann
* @version 2.0
* @see EditExerciseSetActivity
*/
public class ChooseExerciseActivity extends AppCompatActivity {
private static final String TAG = ChooseExerciseActivity.class.getSimpleName();

View file

@ -38,6 +38,12 @@ import java.util.List;
import static org.secuso.privacyfriendlybreakreminder.activities.adapter.ExerciseAdapter.ID_COMPARATOR;
/**
* This activity lets you edit the name of an exercise set. To edit what exercises are in that set, {@link ChooseExerciseActivity} is called.
* @author Christopher Beckmann
* @version 2.0
* @see ChooseExerciseActivity
*/
public class EditExerciseSetActivity extends AppCompatActivity implements android.support.v4.app.LoaderManager.LoaderCallbacks<ExerciseSet> {

View file

@ -40,6 +40,11 @@ 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.
* @author Christopher Beckmann
* @version 2.0
*/
public class ExerciseActivity extends AppCompatActivity implements android.support.v4.app.LoaderManager.LoaderCallbacks<ExerciseSet>{
private static final String TAG = ExerciseActivity.class.getSimpleName();

View file

@ -9,7 +9,10 @@ import android.view.MenuItem;
import org.secuso.privacyfriendlybreakreminder.R;
import org.secuso.privacyfriendlybreakreminder.activities.helper.BaseActivity;
/**
* @author Christopher Beckmann
* @version 2.0
*/
public class HelpActivity extends BaseActivity {
@Override

View file

@ -45,6 +45,14 @@ import java.util.List;
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
/**
* This is the overview activity that shows a list of all the exercise sets.
* This activity lets you create new, start editing or delete multiple exercise sets.
* Exercise set editing is handled by calling {@link EditExerciseSetActivity}.
* @author Christopher Beckmann
* @version 2.0
* @see EditExerciseSetActivity
*/
public class ManageExerciseSetsActivity extends BaseActivity implements android.support.v4.app.LoaderManager.LoaderCallbacks<List<ExerciseSet>> {
private static final String TAG = ManageExerciseSetsActivity.class.getSimpleName();

View file

@ -21,6 +21,10 @@ import android.view.MenuItem;
import org.secuso.privacyfriendlybreakreminder.activities.helper.BaseActivity;
import org.secuso.privacyfriendlybreakreminder.R;
/**
* @author Christopher Beckmann
* @version 2.0
*/
public class SettingsActivity extends BaseActivity {
@Override

View file

@ -8,9 +8,11 @@ import org.secuso.privacyfriendlybreakreminder.activities.tutorial.PrefManager;
import org.secuso.privacyfriendlybreakreminder.activities.tutorial.TutorialActivity;
/**
* Created by yonjuni on 22.10.16.
* @author yonjuni
* @version 1.0
* @since 22.10.16
* created 22.10.16
*/
public class SplashActivity extends AppCompatActivity {
@Override

View file

@ -45,6 +45,13 @@ 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;
/**
* 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.
* When a time is chosen and the "play" buttin is pressed. It displays a big Countdown. The timing itself is handled by the {@link TimerService}.
* @author Christopher Beckmann
* @version 2.0
* @see TimerService
*/
public class TimerActivity extends BaseActivity implements android.support.v4.app.LoaderManager.LoaderCallbacks<List<ExerciseSet>> {
private static final String TAG = TimerActivity.class.getSimpleName();
@ -66,18 +73,6 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap
private int mShortAnimationDuration;
private boolean currentStatusIsPickerVisible = false;
// private static final String[] SECONDS_MINUTES = new String[60];
// private static final String[] HOURS = new String[24];
//
// static {
// for(int i = 0; i < SECONDS_MINUTES.length; ++i) {
// SECONDS_MINUTES[i] = String.format(Locale.US, "%02d", i);
// }
// for(int i = 0; i < HOURS.length; ++i) {
// HOURS[i] = String.format(Locale.US, "%02d", i);
// }
// }
// Service
private TimerService mTimerService = null;
@ -108,7 +103,7 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap
boolean isRunning = intent.getBooleanExtra("isRunning", false);
boolean isPaused = intent.getBooleanExtra("isPaused", false);
Log.d(TAG, millisUntilDone + "/" + initialDuration + " (" + (isRunning ? "Running" : "") + (isPaused ? "Paused" : "") + (!isRunning && !isPaused ? "Stopped" : "") + ")");
//Log.d(TAG, millisUntilDone + "/" + initialDuration + " (" + (isRunning ? "Running" : "") + (isPaused ? "Paused" : "") + (!isRunning && !isPaused ? "Stopped" : "") + ")");
updateUI(isRunning, isPaused, initialDuration, millisUntilDone);
}
@ -214,42 +209,12 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap
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.setDisplayedValues(SECONDS_MINUTES);
// secondsPicker.setMinValue(0);
// secondsPicker.setMaxValue(SECONDS_MINUTES.length - 1);
// secondsPicker.setValue(pref.getInt(PrefManager.PREF_PICKER_SECONDS, 0));
// secondsBreakPicker.setDisplayedValues(SECONDS_MINUTES);
// secondsBreakPicker.setMinValue(0);
// secondsBreakPicker.setMaxValue(SECONDS_MINUTES.length - 1);
// secondsBreakPicker.setValue(pref.getInt(PrefManager.PREF_BREAK_PICKER_SECONDS, 0));
//
// minutesPicker.setDisplayedValues(SECONDS_MINUTES);
// minutesPicker.setMinValue(0);
// minutesPicker.setMaxValue(SECONDS_MINUTES.length - 1);
// minutesPicker.setValue(pref.getInt(PrefManager.PREF_PICKER_MINUTES, 30));
// minutesBreakPicker.setDisplayedValues(SECONDS_MINUTES);
// minutesBreakPicker.setMinValue(0);
// minutesBreakPicker.setMaxValue(SECONDS_MINUTES.length - 1);
// minutesBreakPicker.setValue(pref.getInt(PrefManager.PREF_BREAK_PICKER_MINUTES, 0));
//
// hoursPicker.setDisplayedValues(HOURS);
// hoursPicker.setMinValue(0);
// hoursPicker.setMaxValue(HOURS.length - 1);
// hoursPicker.setValue(pref.getInt(PrefManager.PREF_PICKER_HOURS, 1));
//setDividerColor(secondsPicker, R.color.transparent);
//setDividerColor(minutesPicker, R.color.transparent);
//setDividerColor(hoursPicker, R.color.transparent);
//setDividerColor(secondsBreakPicker, R.color.transparent);
//setDividerColor(minutesBreakPicker, R.color.transparent);
}
private void setPickerAttributes(NumberPicker np) {
np.setTextColorResource(R.color.middlegrey);
np.setSelectedTextColorResource(R.color.colorAccent);
np.setDividerColorResource(R.color.transparent);
//np.setDividerDistance(25);
np.setSelectedTextSize(R.dimen.picker_selected_text_size);
np.setTextSize(R.dimen.picker_text_size);
np.setFormatter(NumberPicker.getTwoDigitFormatter());
@ -267,13 +232,6 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap
String time = String.format(Locale.US, "%02d:%02d:%02d", hours, minutes, seconds);
timerText.setText(time);
//progressBar.setMax(1000);
//ObjectAnimator animation = ObjectAnimator.ofInt(progressBar, "progress", 0, 1000 * percentFinished); // see this max value coming back here, we animale towards that value
//animation.setDuration(5000); //in milliseconds
//animation.setInterpolator(new LinearInterpolator());
//animation.start();
}
@ -429,22 +387,6 @@ public class TimerActivity extends BaseActivity implements android.support.v4.ap
}
}
// private void setDividerColor(NumberPicker picker, @ColorRes int color) {
// java.lang.reflect.Field[] pickerFields = NumberPicker.class.getDeclaredFields();
// for (java.lang.reflect.Field pf : pickerFields) {
// if (pf.getName().equals("mSelectionDivider")) {
// pf.setAccessible(true);
// try {
// ColorDrawable colorDrawable = new ColorDrawable(ContextCompat.getColor(this, color));
// pf.set(picker, colorDrawable);
// } catch (IllegalArgumentException | Resources.NotFoundException | IllegalAccessException e) {
// Log.e(TAG, e.getMessage(), e);
// }
// break;
// }
// }
// }
@Override
public Loader<List<ExerciseSet>> onCreateLoader(int id, final Bundle args) {
return new AsyncTaskLoader<List<ExerciseSet>>(this) {

View file

@ -29,9 +29,11 @@ import java.util.LinkedList;
import java.util.List;
/**
* Created by Christopher Beckmann on 06.09.2017.
* @author Christopher Beckmann
* @version 2.0
* @since 06.09.2017
* created 06.09.2017
*/
public class ExerciseAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context mContext;

View file

@ -1,94 +0,0 @@
package org.secuso.privacyfriendlybreakreminder.activities.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import org.secuso.privacyfriendlybreakreminder.R;
import org.secuso.privacyfriendlybreakreminder.database.data.Exercise;
import org.secuso.privacyfriendlybreakreminder.database.data.ExerciseSet;
/**
* This adapter provides the {@link Exercise}s of one {@link ExerciseSet}.
* Use {@link ExerciseSetAdapter#add(Exercise)} and {@link ExerciseSetAdapter#remove(Exercise)} to manage the {@link Exercise}s.
* @author Christopher Beckmann
* @see android.support.v7.widget.RecyclerView.Adapter
*/
public class ExerciseSetAdapter extends RecyclerView.Adapter<ViewHolder> {
private ExerciseSet set;
private Context mContext;
public ExerciseSetAdapter(Context context, ExerciseSet set) {
this.mContext = context;
this.set = set;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.dialog_exercise, parent, false);
return new ExerciseViewHolder(itemView);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
if(set == null) return;
final Exercise exercise = set.get(position);
ExerciseViewHolder vh = (ExerciseViewHolder) holder;
vh.image.setImageResource(exercise.getImageResIds(mContext)[0]);
vh.executionText.setText(exercise.getExecution());
vh.descriptionText.setText(exercise.getDescription());
vh.section.setText(exercise.getSection(mContext));
}
@Override
public int getItemCount() {
if(set != null)
return set.size();
else
return 0;
}
public void updateData(ExerciseSet set) {
this.set = set;
notifyDataSetChanged();
}
public void add(Exercise e) {
if(set.add(e)) notifyItemInserted(set.size()-1);
}
public void remove(Exercise e) {
int index = set.indexOf(e);
if(set.remove(e)) notifyItemRemoved(index);
}
public ExerciseSet getExerciseSet() {
return set;
}
public class ExerciseViewHolder extends ViewHolder {
ImageView image;
TextView executionText;
TextView descriptionText;
TextView section;
public ExerciseViewHolder(View itemView) {
super(itemView);
image = (ImageView) itemView.findViewById(R.id.exercise_image);
executionText = (TextView) itemView.findViewById(R.id.execution);
descriptionText = (TextView) itemView.findViewById(R.id.description);
section = (TextView) itemView.findViewById(R.id.section);
}
}
}

View file

@ -24,9 +24,11 @@ import java.util.List;
/**
* Created by Christopher Beckmann on 04.09.2017.
* @author Christopher Beckmann
* @version 2.0
* @since 04.09.2017
* created 04.09.2017
*/
public class ExerciseSetListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
List<ExerciseSet> data = new LinkedList<ExerciseSet>();

View file

@ -21,9 +21,11 @@ import org.secuso.privacyfriendlybreakreminder.database.data.ExerciseSet;
import java.util.List;
/**
* Created by Christopher Beckmann on 05.09.2017.
* @author Christopher Beckmann
* @version 2.0
* @since 05.09.2017
* created 05.09.2017
*/
public class ExerciseSetSpinnerAdapter extends ArrayAdapter<ExerciseSet> {
private int resource;
@ -85,11 +87,6 @@ public class ExerciseSetSpinnerAdapter extends ArrayAdapter<ExerciseSet> {
} else {
noExercisesText.setVisibility(View.GONE);
}
//LayoutInflater inflater = (LayoutInflater) getContext().getSystemService( Context.LAYOUT_INFLATER_SERVICE);
//View row = inflater.inflate(resource, parent, false);
// ImageView image = (ImageView) row.findViewById(R.id.browserIcon);
// TextView label= (TextView) row.findViewById(R.id.browserName);
return row;
}

View file

@ -28,10 +28,12 @@ import org.secuso.privacyfriendlybreakreminder.activities.tutorial.TutorialActiv
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
/**
* @author Chris
* @version 20161225
*
* This class is a parent class of all activities that can be accessed from the
* Navigation Drawer (example see MainActivity.java)
* Navigation Drawer
*
* @author Christopher Beckmann
* @version 20161225
*/
public abstract class BaseActivity extends AppCompatActivity implements OnNavigationItemSelectedListener {