~lsgadmins/+junk/lsgapp-trunk

« back to all changes in this revision

Viewing changes to src/com/lsg/app/TimeTable.java

  • Committer: maximilian
  • Date: 2012-05-10 19:03:45 UTC
  • Revision ID: maximilian-20120510190345-xjp6t5sohqzwnnhl
*seperated again
*new front page navigation
*now using AsyncTask for update

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
package com.lsg.app;
2
2
 
 
3
import java.io.UnsupportedEncodingException;
 
4
import java.net.URLEncoder;
 
5
import java.util.Calendar;
 
6
 
 
7
import org.json.JSONArray;
 
8
import org.json.JSONException;
 
9
import org.json.JSONObject;
 
10
 
 
11
import com.lsg.app.Events.EventUpdateTask;
 
12
import com.lsg.app.VPlan.VPlanUpdater;
 
13
 
3
14
import android.app.Activity;
 
15
import android.app.AlertDialog;
 
16
import android.app.ProgressDialog;
 
17
import android.content.ContentValues;
 
18
import android.content.Context;
 
19
import android.content.DialogInterface;
4
20
import android.content.Intent;
 
21
import android.content.SharedPreferences;
 
22
import android.database.Cursor;
 
23
import android.database.sqlite.SQLiteDatabase;
 
24
import android.database.sqlite.SQLiteStatement;
 
25
import android.os.AsyncTask;
5
26
import android.os.Bundle;
 
27
import android.os.Handler;
 
28
import android.os.Parcelable;
 
29
import android.preference.PreferenceManager;
 
30
import android.support.v4.view.PagerAdapter;
6
31
import android.support.v4.view.ViewPager;
 
32
import android.util.Log;
 
33
import android.view.LayoutInflater;
 
34
import android.view.Menu;
 
35
import android.view.MenuInflater;
7
36
import android.view.MenuItem;
 
37
import android.view.View;
 
38
import android.view.ViewGroup;
 
39
import android.widget.AdapterView;
 
40
import android.widget.AdapterView.OnItemClickListener;
 
41
import android.widget.CursorAdapter;
 
42
import android.widget.LinearLayout;
 
43
import android.widget.ListView;
 
44
import android.widget.TextView;
 
45
import android.widget.Toast;
8
46
 
9
47
public class TimeTable extends Activity {
 
48
        public static class TimetableAdapter extends CursorAdapter {
 
49
                private SQLiteDatabase myDB;
 
50
                class TimetableItem {
 
51
                        public LinearLayout lay;
 
52
                        public TextView timetable_day;
 
53
                        public TextView timetable_hour;
 
54
                        public TextView timetable_subject;
 
55
                        public TextView timetable_teacher;
 
56
                        public TextView timetable_room;
 
57
                }
 
58
                public TimetableAdapter(Context context, Cursor c) {
 
59
                        super(context, c, false);
 
60
                        myDB = context.openOrCreateDatabase(Functions.DB_NAME, Context.MODE_PRIVATE, null);
 
61
                        }
 
62
                @Override
 
63
                public View newView(Context context, Cursor cursor, ViewGroup parent) {
 
64
                        LayoutInflater inflater =  (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
65
                                View rowView = inflater.inflate(R.layout.timetable_item, null, true);
 
66
                                TimetableItem holder     = new TimetableItem();
 
67
                                holder.lay               = (LinearLayout) rowView.findViewById(R.id.timetable_lay);
 
68
                                holder.timetable_day     = (TextView) rowView.findViewById(R.id.timetable_day);
 
69
                                holder.timetable_hour    = (TextView) rowView.findViewById(R.id.timetable_hour);
 
70
                                holder.timetable_subject = (TextView) rowView.findViewById(R.id.timetable_subject);
 
71
                                holder.timetable_teacher = (TextView) rowView.findViewById(R.id.timetable_teacher);
 
72
                                holder.timetable_room    = (TextView) rowView.findViewById(R.id.timetable_room);
 
73
                                if(Functions.getSDK() < 11)
 
74
                                        holder.timetable_hour.setBackgroundResource(R.layout.divider_gradient);
 
75
                                rowView.setTag(holder);
 
76
                                return rowView;
 
77
                                }
 
78
                
 
79
                @Override
 
80
                public void bindView(View view, Context context, Cursor cursor) {
 
81
                        TimetableItem holder = (TimetableItem) view.getTag();
 
82
                        int position = cursor.getPosition();
 
83
                        if(position == 0) {
 
84
                                holder.timetable_day.setVisibility(View.VISIBLE);
 
85
                                holder.timetable_day.setText(context.getResources().getStringArray(R.array.days)[cursor.getInt(cursor.getColumnIndex(Functions.DB_DAY))]);
 
86
                        }
 
87
                        else
 
88
                                holder.timetable_day.setVisibility(View.GONE);
 
89
                        int hour = cursor.getInt(cursor.getColumnIndex(Functions.DB_HOUR)) + 1;
 
90
                        String when = Integer.valueOf(hour).toString();
 
91
                        int i = 1;
 
92
                        int length = cursor.getInt(cursor.getColumnIndex(Functions.DB_LENGTH));
 
93
                        while(i < length) {
 
94
                                when += ", " + Integer.valueOf(hour + i).toString();
 
95
                                i++;
 
96
                        }
 
97
                        String rawfach = cursor.getString(cursor.getColumnIndex(Functions.DB_RAW_FACH));
 
98
                        String lehrer = cursor.getString(cursor.getColumnIndex(Functions.DB_LEHRER));
 
99
                        Cursor c = myDB.query(Functions.DB_VPLAN_TABLE, new String[] {}, Functions.DB_STUNDE + "=? AND " + Functions.DB_RAW_FACH + "=? AND " + Functions.DB_LEHRER + "=?",
 
100
                                        new String[] {Integer.valueOf(hour).toString(), rawfach, lehrer}, null, null, null);
 
101
                        if(c.getCount() > 0)
 
102
                                holder.lay.setBackgroundResource(R.layout.background_info);
 
103
                        else
 
104
                                holder.lay.setBackgroundResource(R.layout.background);
 
105
                        
 
106
                        holder.timetable_hour.setText(when + ". " + context.getString(R.string.hour));
 
107
                        holder.timetable_subject.setText(cursor.getString(cursor.getColumnIndex(Functions.DB_FACH)));
 
108
                        holder.timetable_teacher.setText(cursor.getString(cursor.getColumnIndex(Functions.DB_LEHRER)));
 
109
                        holder.timetable_room.setText(context.getString(R.string.room) + " " + cursor.getString(cursor.getColumnIndex(Functions.DB_RAUM)));
 
110
                        }
 
111
                public void close() {
 
112
                        myDB.close();
 
113
                }
 
114
        }
 
115
 
 
116
        public class TimeTableViewPagerAdapter extends PagerAdapter {
 
117
                private String[] exclude_subjects = new String[4];
 
118
                private final SQLiteDatabase myDB;
 
119
                public Cursor timetable_monday;
 
120
                public Cursor timetable_tuesday;
 
121
                public Cursor timetable_wednesday;
 
122
                public Cursor timetable_thursday;
 
123
                public Cursor timetable_friday;
 
124
                private TimetableAdapter timetableadap_monday;
 
125
                private TimetableAdapter timetableadap_tuesday;
 
126
                private TimetableAdapter timetableadap_wednesday;
 
127
                private TimetableAdapter timetableadap_thursday;
 
128
                private TimetableAdapter timetableadap_friday;
 
129
                private final Context context;
 
130
                private final SharedPreferences prefs;
 
131
                
 
132
                public TimeTableViewPagerAdapter(TimeTable act) {
 
133
                        prefs = PreferenceManager.getDefaultSharedPreferences(act);
 
134
                        exclude_subjects[1] = (prefs.getString(Functions.GENDER, "").equals("m")) ? "Sw" : "Sm";
 
135
                        if(prefs.getString(Functions.RELIGION, "").equals(Functions.KATHOLISCH)) {
 
136
                                exclude_subjects[2] = Functions.EVANGELISCH;
 
137
                                exclude_subjects[3] = Functions.ETHIK;
 
138
                        } else if(prefs.getString(Functions.RELIGION, "").equals(Functions.EVANGELISCH)) {
 
139
                                exclude_subjects[2] = Functions.KATHOLISCH;
 
140
                                exclude_subjects[3] = Functions.ETHIK;
 
141
                        } else {
 
142
                                exclude_subjects[2] = Functions.KATHOLISCH;
 
143
                                exclude_subjects[3] = Functions.EVANGELISCH;
 
144
                        }
 
145
                        context = (Context) act;
 
146
                        
 
147
                        myDB = context.openOrCreateDatabase(Functions.DB_NAME, Context.MODE_PRIVATE, null);
 
148
                        timetableadap_monday    = new TimetableAdapter(context, timetable_monday);
 
149
                        timetableadap_tuesday   = new TimetableAdapter(context, timetable_tuesday);
 
150
                        timetableadap_wednesday = new TimetableAdapter(context, timetable_wednesday);
 
151
                        timetableadap_thursday  = new TimetableAdapter(context, timetable_thursday);
 
152
                        timetableadap_friday    = new TimetableAdapter(context, timetable_friday);
 
153
 
 
154
                        SQLiteStatement num_rows = myDB.compileStatement("SELECT COUNT(*) FROM " + Functions.DB_TIME_TABLE);
 
155
                        long count = num_rows.simpleQueryForLong();
 
156
                        if(count == 0)
 
157
                                act.updateTimeTable();
 
158
                        num_rows.close();
 
159
                        updateCursor();
 
160
                        }
 
161
                @Override
 
162
                public int getCount() {
 
163
                        return 5;
 
164
                        }
 
165
                @Override
 
166
                public Object instantiateItem(View pager, int position) {
 
167
                        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
168
                        LinearLayout lay = (LinearLayout) inflater.inflate(R.layout.list, null);
 
169
                        ListView lv = (ListView) lay.findViewById(android.R.id.list);
 
170
                        switch(position) {
 
171
                        case 0:
 
172
                                lv.setAdapter(timetableadap_monday);
 
173
                                break;
 
174
                        case 1:
 
175
                                lv.setAdapter(timetableadap_tuesday);
 
176
                                break;
 
177
                        case 2:
 
178
                                lv.setAdapter(timetableadap_wednesday);
 
179
                                break;
 
180
                        case 3:
 
181
                                lv.setAdapter(timetableadap_thursday);
 
182
                                break;
 
183
                        case 4:
 
184
                                lv.setAdapter(timetableadap_friday);
 
185
                                break;
 
186
                                default:
 
187
                                        lv.setAdapter(timetableadap_monday);
 
188
                                        break;
 
189
                        }
 
190
                        lv.setOnItemClickListener(new OnItemClickListener() {
 
191
                                @Override
 
192
                                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
 
193
                                        Cursor c = myDB.query(Functions.DB_TIME_TABLE, new String[] {Functions.DB_RAW_FACH, Functions.DB_HOUR, Functions.DB_LEHRER},
 
194
                                                        Functions.DB_ROWID + "=?", new String[] {new Long(id).toString()}, null, null, null);
 
195
                                        c.moveToFirst();
 
196
                                        String hour = Integer.valueOf(c.getInt(c.getColumnIndex(Functions.DB_HOUR)) + 1).toString();
 
197
                                        Cursor d = myDB.query(Functions.DB_VPLAN_TABLE, new String[] {Functions.DB_KLASSE, Functions.DB_STUNDE, Functions.DB_VERTRETUNGSTEXT, 
 
198
                                                        Functions.DB_LEHRER, Functions.DB_FACH, Functions.DB_ART}, Functions.DB_RAW_FACH + "=? AND " + Functions.DB_STUNDE + "=? AND "
 
199
                                        + Functions.DB_LEHRER + "=?",
 
200
                                        new String[] {c.getString(c.getColumnIndex(Functions.DB_RAW_FACH)), hour, c.getString(c.getColumnIndex(Functions.DB_LEHRER))}, null, null, null);
 
201
                                        d.moveToFirst();
 
202
                                        if(d.getCount() > 0) {
 
203
                                                String vtext = (!(d.getString(d.getColumnIndex(Functions.DB_VERTRETUNGSTEXT))).equals("null")) ? d.getString(
 
204
                                                                d.getColumnIndex(Functions.DB_VERTRETUNGSTEXT)) + "\n" : "";
 
205
                                                AlertDialog.Builder builder = new AlertDialog.Builder(context);
 
206
                                                builder.setTitle(d.getString(d.getColumnIndex(Functions.DB_KLASSE)))
 
207
                                                .setMessage(d.getString(d.getColumnIndex(Functions.DB_FACH)) + " / " + d.getString(d.getColumnIndex(Functions.DB_STUNDE)) + ". "
 
208
                                                + context.getString(R.string.hour)+ "\n" + vtext + d.getString(d.getColumnIndex(Functions.DB_ART)) + " " +context.getString(R.string.at)
 
209
                                                + " " + d.getString(d.getColumnIndex(Functions.DB_LEHRER)))
 
210
                                                .setCancelable(true)
 
211
                                                .setNeutralButton(context.getString(R.string.ok), new DialogInterface.OnClickListener() {
 
212
                                                        public void onClick(DialogInterface dialog, int id) {
 
213
                                                                dialog.cancel();
 
214
                                                                }
 
215
                                                        });
 
216
                                                AlertDialog alert = builder.create();
 
217
                                                alert.show();
 
218
                                                }
 
219
                                        }
 
220
                                });
 
221
                        ((ViewPager)pager).addView(lay, 0);
 
222
                        return lay;
 
223
                        }
 
224
                public void updateCursor() {
 
225
                        exclude_subjects[0] = "0";
 
226
                        timetable_monday = myDB.query(Functions.DB_TIME_TABLE, new String[] {Functions.DB_ROWID, Functions.DB_LEHRER, Functions.DB_FACH, Functions.DB_RAUM, Functions.DB_LENGTH,
 
227
                                        Functions.DB_HOUR, Functions.DB_DAY, Functions.DB_RAW_FACH}, Functions.DB_DAY + "=? AND  " + Functions.DB_RAW_FACH + " != ? AND " + Functions.DB_RAW_FACH
 
228
                                        + " != ? AND " +  Functions.DB_RAW_FACH + " != ?", exclude_subjects, null, null, null);
 
229
                        timetableadap_monday.changeCursor(timetable_monday);
 
230
                        
 
231
 
 
232
                        exclude_subjects[0] = "1";
 
233
                        timetable_tuesday = myDB.query(Functions.DB_TIME_TABLE, new String[] {Functions.DB_ROWID, Functions.DB_LEHRER, Functions.DB_FACH, Functions.DB_RAUM, Functions.DB_LENGTH,
 
234
                                        Functions.DB_HOUR, Functions.DB_DAY, Functions.DB_RAW_FACH}, Functions.DB_DAY + "=? AND  " + Functions.DB_RAW_FACH + " != ? AND " + Functions.DB_RAW_FACH
 
235
                                        + " != ? AND " +  Functions.DB_RAW_FACH + " != ?", exclude_subjects, null, null, null);
 
236
                        timetableadap_tuesday.changeCursor(timetable_tuesday);
 
237
                        
 
238
                        exclude_subjects[0] = "2";
 
239
                        timetable_wednesday = myDB.query(Functions.DB_TIME_TABLE, new String[] {Functions.DB_ROWID, Functions.DB_LEHRER, Functions.DB_FACH, Functions.DB_RAUM, Functions.DB_LENGTH,
 
240
                                        Functions.DB_HOUR, Functions.DB_DAY, Functions.DB_RAW_FACH}, Functions.DB_DAY + "=? AND  " + Functions.DB_RAW_FACH + " != ? AND " + Functions.DB_RAW_FACH
 
241
                                        + " != ? AND " +  Functions.DB_RAW_FACH + " != ?", exclude_subjects, null, null, null);
 
242
                        timetableadap_wednesday.changeCursor(timetable_wednesday);
 
243
                        
 
244
                        exclude_subjects[0] = "3";
 
245
                        timetable_thursday = myDB.query(Functions.DB_TIME_TABLE, new String[] {Functions.DB_ROWID, Functions.DB_LEHRER, Functions.DB_FACH, Functions.DB_RAUM, Functions.DB_LENGTH,
 
246
                                        Functions.DB_HOUR, Functions.DB_DAY, Functions.DB_RAW_FACH}, Functions.DB_DAY + "=? AND  " + Functions.DB_RAW_FACH + " != ? AND " + Functions.DB_RAW_FACH
 
247
                                        + " != ? AND " +  Functions.DB_RAW_FACH + " != ?", exclude_subjects, null, null, null);
 
248
                        timetableadap_thursday.changeCursor(timetable_thursday);
 
249
                        
 
250
                        exclude_subjects[0] = "4";
 
251
                        timetable_friday = myDB.query(Functions.DB_TIME_TABLE, new String[] {Functions.DB_ROWID, Functions.DB_LEHRER, Functions.DB_FACH, Functions.DB_RAUM, Functions.DB_LENGTH,
 
252
                                        Functions.DB_HOUR, Functions.DB_DAY, Functions.DB_RAW_FACH}, Functions.DB_DAY + "=? AND  " + Functions.DB_RAW_FACH + " != ? AND " + Functions.DB_RAW_FACH
 
253
                                        + " != ? AND " +  Functions.DB_RAW_FACH + " != ?", exclude_subjects, null, null, null);
 
254
                        timetableadap_friday.changeCursor(timetable_friday);
 
255
                }
 
256
                public void closeCursorsDB() {
 
257
                        timetable_monday.close();
 
258
                        timetable_tuesday.close();
 
259
                        timetable_wednesday.close();
 
260
                        timetable_thursday.close();
 
261
                        timetable_friday.close();
 
262
                        myDB.close();
 
263
                }
 
264
                @Override
 
265
                public void destroyItem( View pager, int position, Object view ) {
 
266
                        ((ViewPager)pager).removeView((View) view);
 
267
                        }
 
268
                
 
269
                @Override
 
270
                public boolean isViewFromObject( View view, Object object ) {
 
271
                        return view.equals( object );
 
272
                        }
 
273
                
 
274
                @Override
 
275
                public void finishUpdate( View view ) {}
 
276
                
 
277
                @Override
 
278
                public void restoreState( Parcelable p, ClassLoader c ) {}
 
279
                
 
280
                @Override
 
281
                public Parcelable saveState() {
 
282
                        return null;
 
283
                        }
 
284
                @Override
 
285
                public void startUpdate( View view ) {}
 
286
        }
 
287
        
 
288
        public static class TimeTableUpdater {
 
289
                private Context context;
 
290
                TimeTableUpdater(Context c) {
 
291
                        context = c;
 
292
                }
 
293
                public String[] update() {
 
294
                        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
 
295
                        String add = "";
 
296
                        try {
 
297
                                add = "&" + URLEncoder.encode("date", "UTF-8") + "=" + URLEncoder.encode(prefs.getString("timetable_date", ""), "UTF-8")
 
298
                                                + "&" + URLEncoder.encode("time", "UTF-8") + "=" + URLEncoder.encode(prefs.getString("timetable_time", ""), "UTF-8")
 
299
                                                + "&" + URLEncoder.encode("class", "UTF-8") + "=" + URLEncoder.encode(prefs.getString(Functions.FULL_CLASS, ""), "UTF-8");
 
300
                                } catch(UnsupportedEncodingException e) { Log.d("encoding", e.getMessage()); }
 
301
                        String get = Functions.getData(Functions.TIMETABLE_URL, context, true, add);
 
302
                        if(!get.equals("networkerror") && !get.equals("loginerror") && !get.equals("noact")) {
 
303
                                try {
 
304
                                        JSONArray jArray = new JSONArray(get);
 
305
                                        JSONObject jObject_           = jArray.getJSONObject(0);
 
306
                                        String date                   = jObject_.getString("date");
 
307
                                        String time                   = jObject_.getString("time");
 
308
                                        String one                    = jObject_.getString("one");
 
309
                                        String two                    = jObject_.getString("two");
 
310
                                        String klasse                 = jObject_.getString("klasse");
 
311
                                        SharedPreferences.Editor edit = prefs.edit();
 
312
                                        edit.putString("timetable_date", date);
 
313
                                        edit.putString("timetable_time", time);
 
314
                                        edit.putString("timetable_one", one);
 
315
                                        edit.putString("timetable_two", two);
 
316
                                        edit.putString("timetable_klasse", klasse);
 
317
                                        edit.commit();
 
318
                                        int i = 1;
 
319
                                        SQLiteDatabase myDB = context.openOrCreateDatabase(Functions.DB_NAME, Context.MODE_PRIVATE, null);
 
320
                                        myDB.delete(Functions.DB_TIME_TABLE, null, null); //clear vertretungen
 
321
                                        while(i < jArray.length()) {
 
322
                                                JSONObject jObject = jArray.getJSONObject(i);
 
323
                                                ContentValues values = new ContentValues();
 
324
                                                values.put(Functions.DB_LEHRER,   jObject.getString("teacher"));
 
325
                                                values.put(Functions.DB_FACH,     jObject.getString("subject"));
 
326
                                                values.put(Functions.DB_RAW_FACH, jObject.getString("rawsubject"));
 
327
                                                values.put(Functions.DB_RAUM,     jObject.getString("room"));
 
328
                                                values.put(Functions.DB_LENGTH,   jObject.getInt   ("length"));
 
329
                                                values.put(Functions.DB_DAY,      jObject.getInt   ("day"));
 
330
                                                values.put(Functions.DB_HOUR,     jObject.getInt   ("hour"));
 
331
                                                myDB.insert(Functions.DB_TIME_TABLE, null, values);
 
332
                                                i++;
 
333
                                                }
 
334
                                        myDB.close();
 
335
                                        } catch(JSONException e) {
 
336
                                                Log.d("json", e.getMessage());
 
337
                                                return new String[] {"json", context.getString(R.string.jsonerror)};
 
338
                                                }
 
339
                                }
 
340
                        else if(get.equals("networkerror")){
 
341
                                return new String[] {"networkerror", context.getString(R.string.networkerror)};
 
342
                                }
 
343
                        else if(get.equals("loginerror"))
 
344
                                return new String[] {"loginerror", context.getString(R.string.loginerror)};
 
345
                        return new String[] {"success", ""};
 
346
                        }
 
347
                }
 
348
 
 
349
        public class TimeTableUpdateTask extends AsyncTask<Void, Void, String[]> {
 
350
                protected void onPreExecute() {
 
351
                        super.onPreExecute();
 
352
                        loading = ProgressDialog.show(TimeTable.this, "", getString(R.string.loading_timetable));
 
353
                }
 
354
                @Override
 
355
                protected String[] doInBackground(Void... params) {
 
356
                        TimeTableUpdater upd = new TimeTableUpdater(TimeTable.this);
 
357
                        return upd.update();
 
358
                }
 
359
                protected void onPostExecute(String[] res) {
 
360
                        loading.cancel();
 
361
                        if(!res[0].equals("success"))
 
362
                                Toast.makeText(TimeTable.this, res[1], Toast.LENGTH_LONG).show();
 
363
                        if(res[0].equals("loginerror")) {
 
364
                                Intent intent;
 
365
                                if(Functions.getSDK() >= 11)
 
366
                                        intent = new Intent(TimeTable.this, SettingsAdvanced.class);
 
367
                                else
 
368
                                        intent = new Intent(TimeTable.this, Settings.class);
 
369
                                intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
 
370
                                TimeTable.this.startActivity(intent);
 
371
                        }
 
372
                        viewpageradap.updateCursor();
 
373
                }
 
374
        }
 
375
        private ProgressDialog loading;
10
376
        private TimeTableViewPagerAdapter viewpageradap;
11
377
        private ViewPager pager;
12
378
        @Override
17
383
                viewpageradap = new TimeTableViewPagerAdapter(this);
18
384
            pager = (ViewPager)findViewById(R.id.viewpager);
19
385
            pager.setAdapter(viewpageradap);
 
386
            
 
387
            //get current day
 
388
            Calendar cal = Calendar.getInstance();
 
389
                int day;
 
390
                switch(cal.get(Calendar.DAY_OF_WEEK)) {
 
391
                case Calendar.MONDAY:
 
392
                        day = 0;
 
393
                        break;
 
394
                case Calendar.TUESDAY:
 
395
                        day = 1;
 
396
                        break;
 
397
                case Calendar.WEDNESDAY:
 
398
                        day = 2;
 
399
                        break;
 
400
                case Calendar.THURSDAY:
 
401
                        day = 3;
 
402
                        break;
 
403
                case Calendar.FRIDAY:
 
404
                        day = 4;
 
405
                        break;
 
406
                        default:
 
407
                                day = 0;
 
408
                                break;
 
409
                }
 
410
                
 
411
            pager.setCurrentItem(day, true);
 
412
        }
 
413
        public boolean onCreateOptionsMenu(Menu menu) {
 
414
                MenuInflater inflater = getMenuInflater();
 
415
            inflater.inflate(R.menu.timetable, menu);
 
416
            return true;
20
417
        }
21
418
        @Override
22
419
        public boolean onOptionsItemSelected(MenuItem item) {
23
420
            // Handle item selection
24
421
            switch (item.getItemId()) {
 
422
            case R.id.refresh:
 
423
                updateTimeTable();
 
424
                return true;
25
425
        case android.R.id.home:
26
426
            // app icon in action bar clicked; go home
27
427
            Intent intent = new Intent(this, lsgapp.class);
28
428
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
29
429
            startActivity(intent);
 
430
            finish();
30
431
            return true;
31
432
            default:
32
433
                return super.onOptionsItemSelected(item);
33
434
            }
34
435
        }
 
436
        public void updateTimeTable() {
 
437
                TimeTableUpdateTask upd = new TimeTableUpdateTask();
 
438
                upd.execute();
 
439
        }
 
440
        @Override
 
441
        public void onDestroy() {
 
442
                super.onDestroy();
 
443
                viewpageradap.closeCursorsDB();
 
444
        }
35
445
}