package com.lemenzo.clock.bedtime;
import android.Manifest;import android.content.*;import android.content.pm.PackageManager;import android.database.Cursor;import android.provider.CalendarContract;import java.util.*;
public final class UpcomingEventsRepository {public static final class Event {public final String title;public final long start;Event(String title,long start){this.title=title;this.start=start;}}private UpcomingEventsRepository(){}public static List<Event> next(Context c,long windowMs){ArrayList<Event> out=new ArrayList<>();if(c.checkSelfPermission(Manifest.permission.READ_CALENDAR)!=PackageManager.PERMISSION_GRANTED)return out;long begin=System.currentTimeMillis(),end=begin+windowMs;android.net.Uri.Builder b=CalendarContract.Instances.CONTENT_URI.buildUpon();ContentUris.appendId(b,begin);ContentUris.appendId(b,end);String[] proj={CalendarContract.Instances.TITLE,CalendarContract.Instances.BEGIN};try(Cursor cur=c.getContentResolver().query(b.build(),proj,null,null,CalendarContract.Instances.BEGIN+" ASC")){if(cur!=null)while(cur.moveToNext()&&out.size()<5)out.add(new Event(Objects.toString(cur.getString(0),""),cur.getLong(1)));}catch(Exception ignored){}return out;}}
