Skip to content

Most visited

Recently visited

navigation
Flashlight / src / com.example.android.wearable.flashlight /

MainActivity.java

1
/*
2
 * Copyright (C) 2014 The Android Open Source Project
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 *      http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16
 
17
package com.example.android.wearable.flashlight;
18
 
19
import android.app.Activity;
20
import android.app.Fragment;
21
import android.app.FragmentManager;
22
import android.os.Bundle;
23
import android.support.v13.app.FragmentPagerAdapter;
24
import android.support.v4.view.ViewPager;
25
import android.support.v4.view.ViewPager.OnPageChangeListener;
26
import android.view.LayoutInflater;
27
import android.view.View;
28
import android.view.ViewGroup;
29
 
30
import java.util.ArrayList;
31
 
32
/**
33
 * Let there be light.
34
 */
35
public class MainActivity extends Activity {
36
 
37
    private ViewPager mViewPager;
38
 
39
    @Override
40
    protected void onCreate(Bundle savedInstanceState) {
41
        super.onCreate(savedInstanceState);
42
 
43
        setContentView(R.layout.main);
44
        mViewPager = (ViewPager) findViewById(R.id.pager);
45
        final LightFragmentAdapter adapter = new LightFragmentAdapter(getFragmentManager());
46
        adapter.addFragment(new WhiteLightFragment());
47
        final PartyLightFragment partyFragment = new PartyLightFragment();
48
        adapter.addFragment(partyFragment);
49
        mViewPager.setAdapter(adapter);
50
        mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
51
 
52
            @Override
53
            public void onPageSelected(int position) {
54
                if (position == 1) {
55
                    partyFragment.startCycling();
56
                } else {
57
                    partyFragment.stopCycling();
58
                }
59
            }
60
 
61
            @Override
62
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
63
            }
64
 
65
            @Override
66
            public void onPageScrollStateChanged(int state) {
67
            }
68
        });
69
    }
70
 
71
    static class LightFragmentAdapter extends FragmentPagerAdapter {
72
        private ArrayList<Fragment> mFragments;
73
 
74
        public LightFragmentAdapter(FragmentManager fm) {
75
            super(fm);
76
            mFragments = new ArrayList<Fragment>();
77
        }
78
 
79
        @Override
80
        public Fragment getItem(int position) {
81
            return mFragments.get(position);
82
        }
83
 
84
        @Override
85
        public int getCount() {
86
            return mFragments.size();
87
        }
88
 
89
        public void addFragment(Fragment fragment) {
90
            mFragments.add(fragment);
91
            // Update the pager when adding a fragment.
92
            notifyDataSetChanged();
93
        }
94
    }
95
 
96
    public static class WhiteLightFragment extends Fragment {
97
 
98
        @Override
99
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
100
                Bundle savedInstanceState) {
101
            return inflater.inflate(R.layout.white_light, container, false);
102
        }
103
    }
104
 
105
    public static class PartyLightFragment extends Fragment {
106
 
107
        private PartyLightView mView;
108
 
109
        @Override
110
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
111
                Bundle savedInstanceState) {
112
            mView = (PartyLightView) inflater.inflate(R.layout.party_light, container, false);
113
            return mView;
114
        }
115
 
116
        public void startCycling() {
117
            mView.startCycling();
118
        }
119
 
120
        public void stopCycling() {
121
            mView.stopCycling();
122
        }
123
 
124
    }
125
}
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.