Removes repeat layout. Format date now works correctly
[unical.git] / src / ro / ieval / unical / Utils.java
CommitLineData
402e19d8
MG
1package ro.ieval.unical;
2
6f48b087 3import java.util.GregorianCalendar;
dfc674f6
MG
4import java.util.Locale;
5
6f48b087
PT
6import android.app.AlarmManager;
7import android.app.PendingIntent;
57ca4051 8import android.content.ContentValues;
6f48b087
PT
9import android.content.Context;
10import android.content.Intent;
e48e7f05 11import android.database.Cursor;
57ca4051
MG
12import android.database.SQLException;
13import android.database.sqlite.SQLiteDatabase;
402e19d8
MG
14import android.view.View;
15import android.view.ViewGroup;
16
17final class Utils {
dfc674f6
MG
18 private Utils(){ /* do nothing */ }
19
361c6a28 20 public static void setEnabledRecursively(final View view, final boolean enabled){
402e19d8
MG
21 view.setEnabled(enabled);
22 if(view instanceof ViewGroup){
23 final ViewGroup group=(ViewGroup) view;
24 for(int i=0;i<group.getChildCount();i++)
25 setEnabledRecursively(group.getChildAt(i), enabled);
26 }
27 }
dfc674f6
MG
28
29 public static String formatDate(final int year, final int month, final int day){
0a4f300e 30 return String.format(Locale.ENGLISH, "%4d-%02d-%02d", year, month+1, day);
dfc674f6 31 }
57ca4051
MG
32
33 public static void addAlarm(final Application application, final long time, final long eventId) throws SQLException{
34 final SQLiteDatabase db = application.alarmOpenHelper.getWritableDatabase();
35 final ContentValues values = new ContentValues(2);
36 values.put(AlarmOpenHelper.TIME, time);
37 values.put(AlarmOpenHelper.EVENT, eventId);
38 db.insertOrThrow(AlarmOpenHelper.TABLE, null, values);
39 setAlarm(application, time, eventId);
40 }
41
42 public static void deleteAlarm(final Application application, final long time) throws SQLException{
43 final SQLiteDatabase db = application.alarmOpenHelper.getWritableDatabase();
e48e7f05 44 db.delete(AlarmOpenHelper.TABLE, AlarmOpenHelper.TIME + " = " + time, new String[0]);
57ca4051
MG
45 unsetAlarm(application, time);
46 }
47
539deec9 48 public static Long[] getAlarmsByEvent(final Application application, final long eventId) throws SQLException{
e48e7f05 49 final SQLiteDatabase db = application.alarmOpenHelper.getWritableDatabase();
539deec9 50 db.delete(AlarmOpenHelper.TABLE, AlarmOpenHelper.TIME + " < " + System.currentTimeMillis(), new String[0]);
e48e7f05
MG
51 final Cursor cursor = db.query(AlarmOpenHelper.TABLE, new String[]{AlarmOpenHelper.TIME}, AlarmOpenHelper.EVENT + " = " + eventId, new String[0], null, null, null);
52 if(cursor.moveToFirst()){
539deec9 53 final Long[] ret = new Long[cursor.getCount()];
e48e7f05 54 for(int i=0;i<ret.length;i++){
539deec9 55 ret[i]=cursor.getLong(0);
e48e7f05
MG
56 cursor.moveToNext();
57 }
58 return ret;
59 }
539deec9 60 return new Long[0];
e48e7f05
MG
61 }
62
57ca4051
MG
63 public static void setAlarm(final Context context, final long time, final long eventId){
64 final Intent intent = new Intent(context, AlarmReceiverActivity.class);
65 intent.setAction(Long.toString(time));
66 intent.putExtra(AlarmReceiverActivity.EXTRA_EVENT, eventId);
67 final AlarmManager man = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
68 man.set(AlarmManager.RTC_WAKEUP, time, PendingIntent.getActivity(context, 0, intent, 0));
69 }
70
71 public static void unsetAlarm(final Context context, final long time){
72 final Intent intent = new Intent(context, AlarmReceiverActivity.class);
73 intent.setAction(Long.toString(time));
74 final AlarmManager man = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
75 man.cancel(PendingIntent.getActivity(context, 0, intent, 0));
6f48b087 76 }
402e19d8 77}
This page took 0.017866 seconds and 4 git commands to generate.