blob: f58ad4f2678657495468b02b95eb84d08f8a4279 [file] [log] [blame]
alision9f7a6ec2013-05-24 16:26:26 -04001package com.savoirfairelinux.sflphone.adapters;
2
alision58356b72013-06-03 17:13:36 -04003import java.util.ArrayList;
4
alision9f7a6ec2013-05-24 16:26:26 -04005import android.app.Fragment;
6import android.app.FragmentManager;
7import android.content.Context;
8import android.os.Bundle;
Alexandre Lision1a9e3b12013-09-16 11:06:07 -04009import android.os.RemoteException;
alision9f7a6ec2013-05-24 16:26:26 -040010import android.support.v13.app.FragmentStatePagerAdapter;
11import android.util.Log;
12
13import com.savoirfairelinux.sflphone.R;
alision55c36cb2013-06-14 14:57:38 -040014import com.savoirfairelinux.sflphone.fragments.HomeFragment;
alision9f7a6ec2013-05-24 16:26:26 -040015import com.savoirfairelinux.sflphone.fragments.DialingFragment;
16import com.savoirfairelinux.sflphone.fragments.HistoryFragment;
17
18public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
19
20 private static final String TAG = SectionsPagerAdapter.class.getSimpleName();
21 Context mContext;
alision3c5c2a92013-05-30 09:50:47 -040022 final private int[] icon_res_id = { R.drawable.ic_tab_call, R.drawable.ic_tab_call, R.drawable.ic_tab_history };
alision58356b72013-06-03 17:13:36 -040023 ArrayList<Fragment> fragments;
alision9f7a6ec2013-05-24 16:26:26 -040024
25 public SectionsPagerAdapter(Context c, FragmentManager fm) {
26 super(fm);
27 mContext = c;
alision58356b72013-06-03 17:13:36 -040028 fragments = new ArrayList<Fragment>();
29 fragments.add(new DialingFragment());
alision55c36cb2013-06-14 14:57:38 -040030 fragments.add(new HomeFragment());
alision58356b72013-06-03 17:13:36 -040031 fragments.add(new HistoryFragment());
alision9f7a6ec2013-05-24 16:26:26 -040032 }
33
34 @Override
35 public Fragment getItem(int i) {
alision9f7a6ec2013-05-24 16:26:26 -040036
alision58356b72013-06-03 17:13:36 -040037 return fragments.get(i);
alision9f7a6ec2013-05-24 16:26:26 -040038 }
39
alision9f7a6ec2013-05-24 16:26:26 -040040 public String getClassName(int i) {
41 String name;
42
43 switch (i) {
44 case 0:
45 name = DialingFragment.class.getName();
46 break;
47 case 1:
alision55c36cb2013-06-14 14:57:38 -040048 name = HomeFragment.class.getName();
alision9f7a6ec2013-05-24 16:26:26 -040049 break;
50 case 2:
51 name = HistoryFragment.class.getName();
52 break;
53
54 default:
55 Log.e(TAG, "getClassName: unknown fragment position " + i);
56 return null;
57 }
58
59 // Log.w(TAG, "getClassName: name=" + name);
60 return name;
61 }
62
63 @Override
64 public int getCount() {
65 return 3;
66 }
alision3c5c2a92013-05-30 09:50:47 -040067
68 public int getIconOf(int pos){
69 return icon_res_id[pos];
70 }
alision9f7a6ec2013-05-24 16:26:26 -040071
72 @Override
73 public CharSequence getPageTitle(int position) {
74 switch (position) {
75 case 0:
76 return mContext.getString(R.string.title_section0).toUpperCase();
77 case 1:
78 return mContext.getString(R.string.title_section1).toUpperCase();
79 case 2:
80 return mContext.getString(R.string.title_section2).toUpperCase();
81 default:
82 Log.e(TAG, "getPageTitle: unknown tab position " + position);
83 break;
84 }
85 return null;
86 }
Alexandre Lision1a9e3b12013-09-16 11:06:07 -040087
88 public void updateHome() {
89 try {
90 ((HomeFragment) fragments.get(1)).updateLists();
91 } catch (RemoteException e) {
92 e.printStackTrace();
93 } catch (Exception e1){
94 e1.printStackTrace();
95 }
96 }
alision9f7a6ec2013-05-24 16:26:26 -040097}