1815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson/*
2815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson * Copyright (C) 2012 The Android Open Source Project
3815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson *
4815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson * Licensed under the Apache License, Version 2.0 (the "License");
5815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson * you may not use this file except in compliance with the License.
6815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson * You may obtain a copy of the License at
7815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson *
8815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson *      http://www.apache.org/licenses/LICENSE-2.0
9815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson *
10815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson * Unless required by applicable law or agreed to in writing, software
11815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson * distributed under the License is distributed on an "AS IS" BASIS,
12815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson * See the License for the specific language governing permissions and
14815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson * limitations under the License.
15815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson */
16815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson
17815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelsonpackage com.android.deskclock;
18815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson
195e469aa155baea98f09d5d5e657aa2315a76679drachelzhangimport android.app.Activity;
20815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelsonimport android.app.Fragment;
215520461495a8c4fb468aa94d7b18a3fc25d54739rachelzhangimport android.os.Bundle;
22ac7857ffb8c1a100e8a696eb93c027d53a4f48f1Alan Viveretteimport android.view.View;
235520461495a8c4fb468aa94d7b18a3fc25d54739rachelzhangimport android.widget.ImageButton;
24441b2d0abd03e1bc479b90af9c500f100aeabed8Fan Zhangimport android.widget.ImageView;
25815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson
26815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelsonpublic class DeskClockFragment extends Fragment {
27815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson
28441b2d0abd03e1bc479b90af9c500f100aeabed8Fan Zhang    protected ImageView mFab;
295e469aa155baea98f09d5d5e657aa2315a76679drachelzhang    protected ImageButton mLeftButton;
305e469aa155baea98f09d5d5e657aa2315a76679drachelzhang    protected ImageButton mRightButton;
315e469aa155baea98f09d5d5e657aa2315a76679drachelzhang
3264056d415395e8a275910646b4010f55afddec55Isaac Katzenelson    public void onPageChanged(int page) {
3364056d415395e8a275910646b4010f55afddec55Isaac Katzenelson        // Do nothing here , only in derived classes
34815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson    }
35ac7857ffb8c1a100e8a696eb93c027d53a4f48f1Alan Viverette
36d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang    public void onFabClick(View view){
375520461495a8c4fb468aa94d7b18a3fc25d54739rachelzhang        // Do nothing here , only in derived classes
385520461495a8c4fb468aa94d7b18a3fc25d54739rachelzhang    }
395520461495a8c4fb468aa94d7b18a3fc25d54739rachelzhang
405e469aa155baea98f09d5d5e657aa2315a76679drachelzhang    @Override
415e469aa155baea98f09d5d5e657aa2315a76679drachelzhang    public void onActivityCreated(Bundle savedInstanceState) {
425e469aa155baea98f09d5d5e657aa2315a76679drachelzhang        super.onActivityCreated(savedInstanceState);
43856483e7e18d5f042a338f7b3d472e28a386c4adJames Lemieux        final Activity activity = getActivity();
44856483e7e18d5f042a338f7b3d472e28a386c4adJames Lemieux        if (activity instanceof DeskClock) {
45856483e7e18d5f042a338f7b3d472e28a386c4adJames Lemieux            final DeskClock deskClockActivity = (DeskClock) activity;
46856483e7e18d5f042a338f7b3d472e28a386c4adJames Lemieux            mFab = deskClockActivity.getFab();
47856483e7e18d5f042a338f7b3d472e28a386c4adJames Lemieux            mLeftButton = deskClockActivity.getLeftButton();
48856483e7e18d5f042a338f7b3d472e28a386c4adJames Lemieux            mRightButton = deskClockActivity.getRightButton();
49856483e7e18d5f042a338f7b3d472e28a386c4adJames Lemieux        }
505e469aa155baea98f09d5d5e657aa2315a76679drachelzhang    }
515e469aa155baea98f09d5d5e657aa2315a76679drachelzhang
525e469aa155baea98f09d5d5e657aa2315a76679drachelzhang    public void setFabAppearance() {
535520461495a8c4fb468aa94d7b18a3fc25d54739rachelzhang        // Do nothing here , only in derived classes
545520461495a8c4fb468aa94d7b18a3fc25d54739rachelzhang    }
555520461495a8c4fb468aa94d7b18a3fc25d54739rachelzhang
565e469aa155baea98f09d5d5e657aa2315a76679drachelzhang    public void setLeftRightButtonAppearance() {
57d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang        // Do nothing here , only in derived classes
58d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang    }
59d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang
60d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang    public void onLeftButtonClick(View view) {
61d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang        // Do nothing here , only in derived classes
62d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang    }
63d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang
64d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang    public void onRightButtonClick(View view) {
65d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang        // Do nothing here , only in derived classes
66d50ff479c37e33de776c339bc93df308f4ac7ab0rachelzhang    }
6734142b1d0f2445bbd606bb490dfef6c078c630eaJames Lemieux
6834142b1d0f2445bbd606bb490dfef6c078c630eaJames Lemieux    protected final DeskClock getDeskClock() {
6934142b1d0f2445bbd606bb490dfef6c078c630eaJames Lemieux        return (DeskClock) getActivity();
7034142b1d0f2445bbd606bb490dfef6c078c630eaJames Lemieux    }
7134142b1d0f2445bbd606bb490dfef6c078c630eaJames Lemieux
7234142b1d0f2445bbd606bb490dfef6c078c630eaJames Lemieux    protected final int getSelectedTab() {
7334142b1d0f2445bbd606bb490dfef6c078c630eaJames Lemieux        final DeskClock deskClock = getDeskClock();
7434142b1d0f2445bbd606bb490dfef6c078c630eaJames Lemieux        return deskClock == null ? -1 : deskClock.getSelectedTab();
7534142b1d0f2445bbd606bb490dfef6c078c630eaJames Lemieux    }
76815e2f7431c590086d5bd4eee5d7bf08108c77ebIsaac Katzenelson}
77