Fix issue with UTC scheduling

This commit is contained in:
stom79 2019-01-20 19:07:24 +01:00
parent 6a3d153ec1
commit cce8e7a5cf
2 changed files with 10 additions and 2 deletions

View File

@ -96,6 +96,7 @@ import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Locale;
import java.util.TimeZone;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -1246,7 +1247,7 @@ public class TootActivity extends BaseActivity implements OnPostActionInterface,
hour,
minute);
final long[] time = {calendar.getTimeInMillis()};
final String date = Helper.dateToString(new Date(calendar.getTimeInMillis()));
if( (time[0] - new Date().getTime()) < 60000 ){
Toasty.warning(getApplicationContext(), getString(R.string.toot_scheduled_date), Toast.LENGTH_LONG).show();
}else {
@ -1267,6 +1268,9 @@ public class TootActivity extends BaseActivity implements OnPostActionInterface,
builderSingle.setPositiveButton(R.string.server_schedule, new DialogInterface.OnClickListener() {
@Override
public void onClick(final DialogInterface dialog, int which) {
int offset = TimeZone.getDefault().getRawOffset();
calendar.add(Calendar.MILLISECOND, -offset);
final String date = Helper.dateToString(new Date(calendar.getTimeInMillis()));
serverSchedule(date);
}
});

View File

@ -44,6 +44,7 @@ import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.TimeZone;
import es.dmoral.toasty.Toasty;
import fr.gouv.etalab.mastodon.R;
@ -360,7 +361,10 @@ public class ScheduledTootsListAdapter extends BaseAdapter implements OnPostActi
} catch (Exception ignored) {
}
}else{
storedStatus.getStatus().setScheduled_at(Helper.dateToString(calendar.getTime()));
int offset = TimeZone.getDefault().getRawOffset();
calendar.add(Calendar.MILLISECOND, -offset);
final String date = Helper.dateToString(new Date(calendar.getTimeInMillis()));
storedStatus.getStatus().setScheduled_at(date);
new PostActionAsyncTask(context, API.StatusAction.UPDATESERVERSCHEDULE, storedStatus, ScheduledTootsListAdapter.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
Toasty.success(context, context.getString(R.string.boost_scheduled), Toast.LENGTH_LONG).show();
}