OSDN Git Service

ちょっとだけ、preferenceの準備。
[gokigen/FujiCam.git] / app / src / main / java / net / osdn / gokigen / cameratest / pages / SectionsPagerAdapter.java
1 package net.osdn.gokigen.cameratest.pages;
2
3 import android.content.Context;
4
5 import net.osdn.gokigen.cameratest.IApplicationControl;
6 import net.osdn.gokigen.cameratest.camtest.CamTest;
7 import net.osdn.gokigen.cameratest.fuji.preference.FujiPreferenceFragment;
8 import net.osdn.gokigen.cameratest.logcat.LogCatFragment;
9
10 import androidx.annotation.NonNull;
11 import androidx.fragment.app.Fragment;
12 import androidx.fragment.app.FragmentManager;
13 import androidx.fragment.app.FragmentPagerAdapter;
14
15 /**
16  * A {@link FragmentPagerAdapter} that returns a fragment corresponding to
17  * one of the sections/tabs/pages.
18  */
19 public class SectionsPagerAdapter extends FragmentPagerAdapter
20 {
21     private final Context context;
22     private final CamTest testTarget;
23     private final IApplicationControl appControl;
24     private LogCatFragment logCatFragment = null;
25     private FujiPreferenceFragment preferenceFragment = null;
26     private TestViewFragment testViewFragment = null;
27     public SectionsPagerAdapter(@NonNull Context context, FragmentManager fm, CamTest testTarget, IApplicationControl control)
28     {
29         super(fm);
30         this.context = context;
31         this.testTarget = testTarget;
32         this.appControl = control;
33     }
34
35     @Override
36     public @NonNull Fragment getItem(int position)
37     {
38         if (position == 2)
39         {
40             if (logCatFragment == null)
41             {
42                 logCatFragment = LogCatFragment.newInstance();
43             }
44             return (logCatFragment);
45         }
46         else if (position == 1)
47         {
48             if (preferenceFragment == null)
49             {
50                 preferenceFragment = FujiPreferenceFragment.newInstance(context, appControl);
51             }
52             return (preferenceFragment);
53         }
54         if (testViewFragment == null)
55         {
56             testViewFragment = TestViewFragment.newInstance((position + 1), testTarget);
57         }
58         return (testViewFragment);
59     }
60
61     @Override
62     public int getCount()
63     {
64         return 3;
65     }
66 }