convert kotlin to java code below from previous classpackage comalamkanakweekviewimport androidcontentBroadcastReceiverimport androidcontentContextimport androidcontentIntentimport androidcontentInten
package com.alamkanak.weekview;
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import java.util.Calendar;
/**a broadcast receiver that tells you when the time has changed (minute, date, configuration of time/date...), based on: https://stackoverflow.com/a/48782963/878126 */ public abstract class TimeChangedBroadcastReceiver extends BroadcastReceiver { private Calendar curCal = Calendar.getInstance();
public abstract void onTimeChanged();
@SuppressWarnings("MemberVisibilityCanBePrivate")
public void register(Context context, Calendar cal) {
curCal = cal;
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_TIME_CHANGED);
filter.addAction(Intent.ACTION_DATE_CHANGED);
filter.addAction(Intent.ACTION_TIME_TICK);
filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
context.registerReceiver(this, filter);
Calendar newDate = Calendar.getInstance();
if (!WeekViewUtil.isSameDayAndHourAndMinute(newDate, curCal)) {
curCal = newDate;
onTimeChanged();
}
}
@Override
public void onReceive(Context context, Intent intent) {
Calendar newTime = Calendar.getInstance();
if (!WeekViewUtil.isSameDayAndHourAndMinute(newTime, curCal)) {
curCal = newTime;
onTimeChanged();
}
}
}
原文地址: https://www.cveoy.top/t/topic/jdYn 著作权归作者所有。请勿转载和采集!