Fixed #1
This commit is contained in:
parent
367d64e1d3
commit
d76e835aac
6 changed files with 25 additions and 34 deletions
|
@ -4,16 +4,15 @@
|
|||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="testRunner" value="GRADLE" />
|
||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="gradleJvm" value="jbr-17" />
|
||||
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveExternalAnnotations" value="false" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
|
@ -10,8 +10,8 @@ android {
|
|||
applicationId = "eu.mirkodi.swatchbeatclock"
|
||||
minSdk = 24
|
||||
targetSdk = 34
|
||||
versionCode = 11
|
||||
versionName = "v1.2.2"
|
||||
versionCode = 12
|
||||
versionName = "v1.2.3"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
|
|
@ -74,15 +74,8 @@ public class ConverterFragment extends Fragment {
|
|||
timePicker.setOnTimeChangedListener((timePicker, i, i1) -> {
|
||||
if (convertSideChooser.getCheckedRadioButtonId() == R.id.normal_chosen) {
|
||||
int convertedHour = convertToGMTPlus1(timePicker.getHour());
|
||||
converted.setText(
|
||||
df.format(
|
||||
InternetTime.timeToBeat(
|
||||
convertedHour,
|
||||
timePicker.getMinute(),
|
||||
0 /* seconds */, 0 /* millis */
|
||||
)
|
||||
)
|
||||
);
|
||||
//Log.d("DEBUG", "Converted hour: " + convertedHour);
|
||||
converted.setText(df.format(InternetTime.timeToBeat(convertedHour, timePicker.getMinute(), 0 /* seconds */, 0 /* millis */)));
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -106,22 +99,21 @@ public class ConverterFragment extends Fragment {
|
|||
try {
|
||||
normalTime = InternetTime.beatToTime(text);
|
||||
} catch (ParseException e) {
|
||||
Log.e(LOGTITLE, "Got ParseException on "+text);
|
||||
Log.e(LOGTITLE, "Got ParseException on " + text);
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
|
||||
if (normalTime != null) {
|
||||
// display the result
|
||||
timePicker.setHour(
|
||||
sanitiseHour(
|
||||
convertToSystemTZ(normalTime[0])
|
||||
)
|
||||
timePicker.setHour(sanitiseHour(convertToSystemTZ(normalTime[0]))
|
||||
/* convert normalTime[0] (hour) to InternetTime.TIMEZONE */);
|
||||
|
||||
Log.d(LOGTITLE, ""+timePicker.getHour());
|
||||
//Log.d("DEBUG", "Converted written beats hour: "+convertToSystemTZ(normalTime[0]));
|
||||
//Log.d("DEBUG", "Converted, sanitised written beats hour: "+sanitiseHour(convertToSystemTZ(normalTime[0])));
|
||||
//Log.d("DEBUG", "Timepicker hour: "+timePicker.getHour());
|
||||
|
||||
if (normalTime.length > 1)
|
||||
timePicker.setMinute(normalTime[1]);
|
||||
if (normalTime.length > 1) timePicker.setMinute(normalTime[1]);
|
||||
} else {
|
||||
Log.w(LOGTITLE, "normalTime is null");
|
||||
}
|
||||
|
@ -136,10 +128,12 @@ public class ConverterFragment extends Fragment {
|
|||
}
|
||||
|
||||
private int convertToGMTPlus1(int hour) {
|
||||
//Log.d("DEBUG", "convertToGMTPlus1 - hour: " + hour);
|
||||
return hour - getDifference(false);
|
||||
}
|
||||
|
||||
private int convertToSystemTZ(int hour) {
|
||||
//Log.d("DEBUG", "convertToSystemTZ - hour: " + hour);
|
||||
return hour + getDifference(false);
|
||||
}
|
||||
|
||||
|
@ -152,8 +146,7 @@ public class ConverterFragment extends Fragment {
|
|||
|
||||
private int getDifference(boolean update) {
|
||||
// if differenceBetweenSystemTZAndInternetTimeTZ is uninitialised, or an update was requested
|
||||
if (differenceBetweenSystemTZAndInternetTimeTZ ==
|
||||
UNINITIALISED_DIFFERENCE_BETWEEN_SYSTEMTZ_AND_INTERNETTIMETZ || update) {
|
||||
if (differenceBetweenSystemTZAndInternetTimeTZ == UNINITIALISED_DIFFERENCE_BETWEEN_SYSTEMTZ_AND_INTERNETTIMETZ || update) {
|
||||
// initialise it:
|
||||
saveDifference(true);
|
||||
}
|
||||
|
@ -168,6 +161,7 @@ public class ConverterFragment extends Fragment {
|
|||
int hourInternetTimeTZ = TimeUtils.getCurrentHour(InternetTime.TIMEZONE);
|
||||
// 3. calculate the difference
|
||||
differenceBetweenSystemTZAndInternetTimeTZ = hourSystemTZ - hourInternetTimeTZ;
|
||||
//Log.d("DEBUG", "Difference: " + differenceBetweenSystemTZAndInternetTimeTZ);
|
||||
}
|
||||
|
||||
// we should make sure that we're using the correct, updated system TimeZone
|
||||
|
|
|
@ -17,8 +17,8 @@ public class InternetTime {
|
|||
public static final TimeZone TIMEZONE = TimeZone.getTimeZone(TIMEZONEID);
|
||||
|
||||
private static final float MILLIS_IN_A_SECOND = 1000f,
|
||||
SECONDS_IN_A_MINUTE = 60f,
|
||||
MINUTES_IN_AN_HOUR = 60f;
|
||||
SECONDS_IN_A_MINUTE = 60f,
|
||||
MINUTES_IN_AN_HOUR = 60f;
|
||||
|
||||
|
||||
private final double initial; // set when obj is created
|
||||
|
@ -89,7 +89,7 @@ public class InternetTime {
|
|||
|
||||
// @return: [0]: hour; [1]: minute; [2]: seconds; [3]: millis
|
||||
public static int[] beatToTime(double beats) {
|
||||
return doubleHoursToTime(beatToDoubleHours(beats));
|
||||
return doubleHoursToTime(beatToDoubleHours(sanitiseBeats(beats)));
|
||||
}
|
||||
|
||||
public static double getCurrentTimeBeats() {
|
||||
|
|
|
@ -6,10 +6,7 @@ import java.util.Map;
|
|||
import java.util.TimeZone;
|
||||
|
||||
public class TimeUtils {
|
||||
public static final int HOUR_GET_CODE = 0,
|
||||
MINUTE_GET_CODE = 1,
|
||||
SECOND_GET_CODE = 2,
|
||||
MILLISECOND_GET_CODE = 3;
|
||||
public static final int HOUR_GET_CODE = 0, MINUTE_GET_CODE = 1, SECOND_GET_CODE = 2, MILLISECOND_GET_CODE = 3;
|
||||
|
||||
private static final Map<TimeZone, Calendar> TZToC = new HashMap<>();
|
||||
|
||||
|
@ -79,8 +76,9 @@ public class TimeUtils {
|
|||
}
|
||||
}
|
||||
|
||||
// returns min < n < max ((n % max) + min)
|
||||
// min < n < max
|
||||
// shift a value and keep it inside a range
|
||||
public static double sanitise(double n, double min, double max) {
|
||||
return (n % max) + min;
|
||||
return (n - min + max) % max + min;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue