1525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong/*
2525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong * Copyright (C) 2012 The Android Open Source Project
3525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong *
4525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong * Licensed under the Apache License, Version 2.0 (the "License");
5525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong * you may not use this file except in compliance with the License.
6525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong * You may obtain a copy of the License at
7525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong *
8525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong *      http://www.apache.org/licenses/LICENSE-2.0
9525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong *
10525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong * Unless required by applicable law or agreed to in writing, software
11525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong * distributed under the License is distributed on an "AS IS" BASIS,
12525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong * See the License for the specific language governing permissions and
14525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong * limitations under the License.
15525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong */
16525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
17525667ff4b93a577298085fe45660a2d15b0bd06Angus Kongpackage com.android.camera.ui;
18525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
19525667ff4b93a577298085fe45660a2d15b0bd06Angus Kongimport android.view.View;
20525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
21525667ff4b93a577298085fe45660a2d15b0bd06Angus Kongpublic class LayoutChangeHelper implements LayoutChangeNotifier {
22525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    private LayoutChangeNotifier.Listener mListener;
23525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    private boolean mFirstTimeLayout;
24525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    private View mView;
25525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
26525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    public LayoutChangeHelper(View v) {
27525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        mView = v;
28525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        mFirstTimeLayout = true;
29525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    }
30525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
31dac1bb32531f7f4d49622bd38c82dde9333c38acAhbong Chang    @Override
32525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    public void setOnLayoutChangeListener(LayoutChangeNotifier.Listener listener) {
33525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        mListener = listener;
34525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    }
35525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
36525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    public void onLayout(boolean changed, int l, int t, int r, int b) {
37525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        if (mListener == null) return;
38525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        if (mFirstTimeLayout || changed) {
39525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong            mFirstTimeLayout = false;
40525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong            mListener.onLayoutChange(mView, l, t, r, b);
41525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        }
42525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    }
43525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong}
44