Bug fix #20,25

This commit is contained in:
Sergej A 2016-09-04 16:04:59 +02:00
commit aeaa9300d2
6 changed files with 86 additions and 71 deletions

View file

@ -53,7 +53,7 @@ public class BreakActivity extends AppCompatActivity implements View.OnClickList
currentExercise = 0;
currentExerciseSection = 0;
sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
int mins = sharedPrefs.getInt("break_value", 5);
int mins = sharedPrefs.getInt("break_value", 5) + 1;
String bufferZeroMinute = "";
if (mins < 10)
@ -103,8 +103,15 @@ public class BreakActivity extends AppCompatActivity implements View.OnClickList
}
@Override
protected void onPause() {
super.onPause();
ct.cancel();
ad.cancel();
}
public void onClick(View v) {
int mins = sharedPrefs.getInt("break_value", 10);
int mins = sharedPrefs.getInt("break_value", 10) + 1;
String bufferZeroMinute = "";
String bufferZeroSecond = "";
int time = mins * 60 * 1000;
@ -235,16 +242,16 @@ public class BreakActivity extends AppCompatActivity implements View.OnClickList
SharedPreferences.Editor editor = sharedPrefs.edit();
if(exercises.length <= usedSectionsString.split("\\.").length) {
if (exercises.length <= usedSectionsString.split("\\.").length) {
usedSectionsString = "";
}
//Selection of the Section
boolean notFoundYet = true;
while(notFoundYet){
while (notFoundYet) {
currentExerciseSection = random.nextInt(exercises.length);
if(!usedSectionsString.contains(exercises[currentExerciseSection])){
if (!usedSectionsString.contains(exercises[currentExerciseSection])) {
List<Exercise> list = dbHandler.getExercisesFromSection(exercises[currentExerciseSection]);
allAvailableExercises.add(list);
usedSectionsString += exercises[currentExerciseSection] + ".";
@ -260,8 +267,8 @@ public class BreakActivity extends AppCompatActivity implements View.OnClickList
Collections.shuffle(allAvailableExercises.get(currentExerciseSection));
String allExe = "";
for (int i = 0; i< allAvailableExercises.get(currentExerciseSection).size();i++)
allExe += allAvailableExercises.get(currentExerciseSection).get(i).getImageID()+ " ";
for (int i = 0; i < allAvailableExercises.get(currentExerciseSection).size(); i++)
allExe += allAvailableExercises.get(currentExerciseSection).get(i).getImageID() + " ";
System.out.println("Random list for section election: " + allExe);
@ -292,7 +299,7 @@ public class BreakActivity extends AppCompatActivity implements View.OnClickList
image1 = imageID;
exerciseSide = false;
int imageResID = getResources().getIdentifier("exercise_"+image1, "drawable", getPackageName());
int imageResID = getResources().getIdentifier("exercise_" + image1, "drawable", getPackageName());
image.setImageResource(imageResID);
} else {
// There are 2 sides for an exercise
@ -303,7 +310,7 @@ public class BreakActivity extends AppCompatActivity implements View.OnClickList
System.out.println("Id of first image: " + image1 + " , id of second: " + image2);
//image ID from Resource
int imageResID = getResources().getIdentifier("exercise_"+image1, "drawable", getPackageName());
int imageResID = getResources().getIdentifier("exercise_" + image1, "drawable", getPackageName());
image.setImageResource(imageResID);
}
@ -331,7 +338,7 @@ public class BreakActivity extends AppCompatActivity implements View.OnClickList
side_repetition.setText(R.string.exercise_break);
//If exercise contains 2 images, set ImageView to the second image
if (exerciseSide) {
int imageResID = getResources().getIdentifier("exercise_"+image2, "drawable", getPackageName());
int imageResID = getResources().getIdentifier("exercise_" + image2, "drawable", getPackageName());
image.setImageResource(imageResID);
}
break;
@ -406,20 +413,20 @@ public class BreakActivity extends AppCompatActivity implements View.OnClickList
//String ringPref = sharedPrefs.getString("notifications_new_message_ringtone", "");
//if (!ringPref.equals("")) {
//Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), Uri.parse(ringPref));
//r.play();
//Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), Uri.parse(ringPref));
//r.play();
//}
//Vibration
//boolean vibrateChecked = sharedPrefs.getBoolean("notifications_new_message_vibrate", false);
//if (vibrateChecked) {
// Get instance of Vibrator from current Context
//Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Get instance of Vibrator from current Context
//Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
//if (v != null) {
// Vibrate for 1500 milliseconds
//v.vibrate(1500);
//}
//if (v != null) {
// Vibrate for 1500 milliseconds
//v.vibrate(1500);
//}
//}
//Remove lag to keep screen on when the break ends

View file

@ -36,6 +36,7 @@ import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;
import java.util.Locale;
@ -74,18 +75,18 @@ public class BreakReminder extends AppCompatActivity
WelcomeDialog welcomeDialog = new WelcomeDialog();
welcomeDialog.show(getFragmentManager(), "WelcomeDialog");
} else if(!sharedPrefs.getString("current_language", "en").equals(Locale.getDefault().getLanguage())){
} else if (!sharedPrefs.getString("current_language", "en").equals(Locale.getDefault().getLanguage())) {
//FIXME could be nice to translate the body parts hear... but it would be a complex function
editor.putString("current_language", Locale.getDefault().getLanguage());
String[] profiles = allProfiles.split(";");
allProfiles = "";
for(int j = 0; j < profiles.length; j++) {
for (int j = 0; j < profiles.length; j++) {
String[] profile = profiles[j].split(",");
profile[4] = "-1";
profiles[j] = "";
for(int i = 0; i<profile.length; i++){
profiles[j] += profile[i]+",";
for (int i = 0; i < profile.length; i++) {
profiles[j] += profile[i] + ",";
}
allProfiles += profiles[j] + ";";
}
@ -104,7 +105,7 @@ public class BreakReminder extends AppCompatActivity
else
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
int mins = sharedPrefs.getInt("work_value", 5);
int mins = sharedPrefs.getInt("work_value", 5) + 1;
String bufferZeroMinute = "";
if (mins < 10)
@ -140,6 +141,7 @@ public class BreakReminder extends AppCompatActivity
if (profileSelected.equals(getResources().getText(R.string.new_profile).toString())) {
createNewProfile();
} else {
System.out.println("######################");
updatePreference(profileSelected);
}
}
@ -183,8 +185,8 @@ public class BreakReminder extends AppCompatActivity
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString("current_profile", "" + i);
editor.putString("name_text", profileName);
editor.putInt("work_value", interval);
editor.putInt("break_value", break_time);
editor.putInt("work_value", interval - 1);
editor.putInt("break_value", break_time - 1);
editor.putBoolean("cont_value", cont);
editor.putString("exercise_value", exercises);
editor.apply();
@ -255,7 +257,7 @@ public class BreakReminder extends AppCompatActivity
}
@Override
public void onDestroy(){
public void onDestroy() {
super.onDestroy();
NotificationManager nManager = ((NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE));
nManager.cancelAll();
@ -305,7 +307,7 @@ public class BreakReminder extends AppCompatActivity
// Handle the profile action
Intent intent = new Intent(this, SettingsActivity.class);
this.startActivity(intent);
//} else if (id == R.id.nav_statistics) {
//} else if (id == R.id.nav_statistics) {
// Show statistics
//Intent intent = new Intent(this, StatisticsActivity.class);
//this.startActivity(intent);
@ -476,7 +478,7 @@ public class BreakReminder extends AppCompatActivity
}
startBreak();
String workTime = "" + sharedPrefs.getInt("work_value", 0);
String workTime = "" + sharedPrefs.getInt("work_value", 0) + 1;
if (workTime.length() == 1)
workTime = "0" + workTime;
@ -522,7 +524,7 @@ public class BreakReminder extends AppCompatActivity
this.startActivity(intent);
}
public static class WelcomeDialog extends DialogFragment{
public static class WelcomeDialog extends DialogFragment {
@Override
public void onAttach(Activity activity) {

View file

@ -47,7 +47,7 @@ public class ProfileActivity extends AppCompatActivity implements View.OnClickLi
interval_seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
interval_text.setText(progress + " " + getResources().getText(R.string.settings_unit));
interval_text.setText((progress + 1) + " " + getResources().getText(R.string.settings_unit));
}
@Override
@ -62,7 +62,7 @@ public class ProfileActivity extends AppCompatActivity implements View.OnClickLi
break_seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
break_text.setText(progress + " " + getResources().getText(R.string.settings_unit));
break_text.setText((progress + 1) + " " + getResources().getText(R.string.settings_unit));
}
@Override

View file

@ -3,6 +3,7 @@ package orgprivacy_friendly_apps.secuso.privacyfriendlybreakreminder;
/**
* Created by badri_000 on 29.05.2016.
*/
import android.app.AlertDialog;
import android.content.Context;
import android.os.Bundle;
@ -17,14 +18,13 @@ import android.widget.SeekBar;
import android.widget.TextView;
public class SeekBarPreference extends DialogPreference implements SeekBar.OnSeekBarChangeListener, OnClickListener
{
public class SeekBarPreference extends DialogPreference implements SeekBar.OnSeekBarChangeListener, OnClickListener {
// ------------------------------------------------------------------------------------------
// Private attributes :
private static final String androidns="http://schemas.android.com/apk/res/android";
private static final String androidns = "http://schemas.android.com/apk/res/android";
private SeekBar mSeekBar;
private TextView mSplashText,mValueText;
private TextView mSplashText, mValueText;
private Context mContext;
private String mDialogMessage, mSuffix;
@ -32,41 +32,40 @@ public class SeekBarPreference extends DialogPreference implements SeekBar.OnSee
// ------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------
// Constructor :
public SeekBarPreference(Context context, AttributeSet attrs) {
super(context,attrs);
super(context, attrs);
mContext = context;
// Get string value for dialogMessage :
int mDialogMessageId = attrs.getAttributeResourceValue(androidns, "dialogMessage", 0);
if(mDialogMessageId == 0) mDialogMessage = attrs.getAttributeValue(androidns, "dialogMessage");
if (mDialogMessageId == 0)
mDialogMessage = attrs.getAttributeValue(androidns, "dialogMessage");
else mDialogMessage = mContext.getString(mDialogMessageId);
// Get string value for suffix (text attribute in xml file) :
int mSuffixId = attrs.getAttributeResourceValue(androidns, "text", 0);
if(mSuffixId == 0) mSuffix = attrs.getAttributeValue(androidns, "text");
if (mSuffixId == 0) mSuffix = attrs.getAttributeValue(androidns, "text");
else mSuffix = mContext.getString(mSuffixId);
// Get default and max seekbar values :
mDefault = attrs.getAttributeIntValue(androidns, "defaultValue", 0);
mDefault = attrs.getAttributeIntValue(androidns, "defaultValue", 1);
mMax = attrs.getAttributeIntValue(androidns, "max", 100);
}
// ------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------
// DialogPreference methods :
@Override
protected View onCreateDialogView() {
System.out.println("Created Dialog!!!!");
LinearLayout.LayoutParams params;
LinearLayout layout = new LinearLayout(mContext);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setPadding(6,6,6,6);
layout.setPadding(6, 6, 6, 6);
mSplashText = new TextView(mContext);
mSplashText.setPadding(30, 10, 30, 10);
@ -103,43 +102,51 @@ public class SeekBarPreference extends DialogPreference implements SeekBar.OnSee
}
@Override
protected void onSetInitialValue(boolean restore, Object defaultValue)
{
protected void onSetInitialValue(boolean restore, Object defaultValue) {
super.onSetInitialValue(restore, defaultValue);
if (restore)
mValue = shouldPersist() ? getPersistedInt(mDefault) : 1;
else
mValue = (Integer)defaultValue;
mValue = (Integer) defaultValue;
}
// ------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------
// OnSeekBarChangeListener methods :
@Override
public void onProgressChanged(SeekBar seek, int value, boolean fromTouch)
{
String t = String.valueOf(value);
public void onProgressChanged(SeekBar seek, int value, boolean fromTouch) {
System.out.println("Value: " + value);
String t = String.valueOf(value + 1);
mValueText.setText(mSuffix == null ? t : t.concat(" " + mSuffix));
}
@Override
public void onStartTrackingTouch(SeekBar seek) {}
@Override
public void onStopTrackingTouch(SeekBar seek) {}
public void onStartTrackingTouch(SeekBar seek) {
}
public void setMax(int max) { mMax = max; }
public int getMax() { return mMax; }
@Override
public void onStopTrackingTouch(SeekBar seek) {
}
public void setMax(int max) {
mMax = max;
}
public int getMax() {
return mMax;
}
public void setProgress(int progress) {
mValue = progress;
if (mSeekBar != null)
mSeekBar.setProgress(progress);
}
public int getProgress() { return mValue; }
// ------------------------------------------------------------------------------------------
public int getProgress() {
return mValue;
}
// ------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------
@ -159,6 +166,7 @@ public class SeekBarPreference extends DialogPreference implements SeekBar.OnSee
if (shouldPersist()) {
System.out.println("Progress: " + mSeekBar.getProgress());
mValue = mSeekBar.getProgress();
persistInt(mSeekBar.getProgress());
callChangeListener(Integer.valueOf(mSeekBar.getProgress()));

View file

@ -1,3 +1,4 @@
package orgprivacy_friendly_apps.secuso.privacyfriendlybreakreminder;
@ -140,7 +141,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
public boolean onMenuItemSelected(int featureId, MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
if(isXLargeTablet(this)) {
if (isXLargeTablet(this)) {
finish();
return true;
}
@ -198,6 +199,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
System.out.println("Created!!!!");
bundle = savedInstanceState;
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_general);
@ -217,10 +219,10 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
currentProfile = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getString("name_text", "");
// Set seekbar summary :
int radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("work_value", 50);
int radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("work_value", 50) + 1;
_seekBarWork.setSummary(this.getString(R.string.settings_summary).replace("$1", "" + radius));
radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("break_value", 10);
radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("break_value", 10) + 1;
_seekBarBreak.setSummary(this.getString(R.string.settings_summary).replace("$1", "" + radius));
@ -244,7 +246,6 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals("current_profile")) {
ListPreference listPref = (ListPreference) findPreference("current_profile");
int i = Integer.parseInt(listPref.getValue());
@ -258,8 +259,8 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
// Deactivate the onPrefListener in SettingsActivity
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
editor.putString("name_text", allProfile[i].split(",")[0]);
editor.putInt("work_value", Integer.parseInt(allProfile[i].split(",")[1]));
editor.putInt("break_value", Integer.parseInt(allProfile[i].split(",")[2]));
editor.putInt("work_value", Integer.parseInt(allProfile[i].split(",")[1]) - 1);
editor.putInt("break_value", Integer.parseInt(allProfile[i].split(",")[2]) - 1);
editor.putBoolean("cont_value", Boolean.parseBoolean(allProfile[i].split(",")[3]));
editor.putString("exercise_value", allProfile[i].split(",")[4]);
editor.apply();
@ -271,21 +272,18 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
return;
}
// Set seekbar summary :
int radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("work_value", 50);
int radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("work_value", 50) + 1;
_seekBarWork.setSummary(this.getString(R.string.settings_summary).replace("$1", "" + radius));
radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("break_value", 10);
radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("break_value", 10) + 1;
_seekBarBreak.setSummary(this.getString(R.string.settings_summary).replace("$1", "" + radius));
//FIXME Update the preferences of the selected profile
if (!key.equals("profiles")) {
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
updateProfilesPreference();
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
}
@ -299,8 +297,8 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
}
private void updateProfilesPreference() {
int work_radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("work_value", 50);
int break_radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("break_value", 10);
int work_radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("work_value", 50) + 1;
int break_radius = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getInt("break_value", 10) + 1;
String newProfileName = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getString("name_text", "");
String allProfiles = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getString("profiles", "");
boolean cont = PreferenceManager.getDefaultSharedPreferences(this.getActivity()).getBoolean("cont_value", false);

View file

@ -54,7 +54,7 @@
<string name="help_settings_screen_title">Экран настроек</string>
<string name="new_profile_break">Перерыв</string>
<string name="new_profile_doubleName">Введите другое имя, профиль с таким же именем уже существует!</string>
<string name="new_profile_continuously">Беспрерывно</string>
<string name="new_profile_continuously">Начать паузу автоматически</string>
<string name="new_profile_select">Выбрать</string>
<string name="pref_current_exercises">Выберите упражнения</string>
<string name="pref_current_profile">Выберите профиль</string>
@ -96,7 +96,7 @@
<item>Настройки - Обзор</item>
<item>Настройки - Профиль настройки</item>
<item>Настройки - Уведомления</item>
<item>Новый профидь экран</item>
<item>Новый профиль экран</item>
<item>Перерыв экран</item>
<item>Дисклеймер</item>
</string-array>