blob: 6542ea24e49c0ca495b0c9c6bd431b6dacc04615 [file] [log] [blame]
Alexandre Lision064e1e02013-10-01 16:18:42 -04001package org.sflphone.adapters;
alision9f7a6ec2013-05-24 16:26:26 -04002
alision58356b72013-06-03 17:13:36 -04003import java.util.ArrayList;
Alexandre Lision6e8931e2013-09-19 16:49:34 -04004import java.util.Locale;
alision58356b72013-06-03 17:13:36 -04005
Alexandre Lision064e1e02013-10-01 16:18:42 -04006import org.sflphone.fragments.DialingFragment;
7import org.sflphone.fragments.HistoryFragment;
8import org.sflphone.fragments.HomeFragment;
9
alision9f7a6ec2013-05-24 16:26:26 -040010import android.app.Fragment;
11import android.app.FragmentManager;
12import android.content.Context;
Alexandre Lision1a9e3b12013-09-16 11:06:07 -040013import android.os.RemoteException;
alision9f7a6ec2013-05-24 16:26:26 -040014import android.support.v13.app.FragmentStatePagerAdapter;
15import android.util.Log;
16
Alexandre Lision064e1e02013-10-01 16:18:42 -040017import org.sflphone.R;
alision9f7a6ec2013-05-24 16:26:26 -040018
19public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
20
21 private static final String TAG = SectionsPagerAdapter.class.getSimpleName();
22 Context mContext;
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
alision9f7a6ec2013-05-24 16:26:26 -040068 @Override
69 public CharSequence getPageTitle(int position) {
70 switch (position) {
71 case 0:
Alexandre Lision6e8931e2013-09-19 16:49:34 -040072 return mContext.getString(R.string.title_section0).toUpperCase(Locale.getDefault());
alision9f7a6ec2013-05-24 16:26:26 -040073 case 1:
Alexandre Lision6e8931e2013-09-19 16:49:34 -040074 return mContext.getString(R.string.title_section1).toUpperCase(Locale.getDefault());
alision9f7a6ec2013-05-24 16:26:26 -040075 case 2:
Alexandre Lision6e8931e2013-09-19 16:49:34 -040076 return mContext.getString(R.string.title_section2).toUpperCase(Locale.getDefault());
alision9f7a6ec2013-05-24 16:26:26 -040077 default:
78 Log.e(TAG, "getPageTitle: unknown tab position " + position);
79 break;
80 }
81 return null;
82 }
Alexandre Lision1a9e3b12013-09-16 11:06:07 -040083
84 public void updateHome() {
85 try {
86 ((HomeFragment) fragments.get(1)).updateLists();
87 } catch (RemoteException e) {
88 e.printStackTrace();
89 } catch (Exception e1){
90 e1.printStackTrace();
91 }
92 }
alision9f7a6ec2013-05-24 16:26:26 -040093}