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.content.Context;
20525667ff4b93a577298085fe45660a2d15b0bd06Angus Kongimport android.util.AttributeSet;
21525667ff4b93a577298085fe45660a2d15b0bd06Angus Kongimport android.view.View;
22525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
23525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong/*
24525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong * Customized view to support onLayoutChange() at or before API 10.
25525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong */
26525667ff4b93a577298085fe45660a2d15b0bd06Angus Kongpublic class LayoutNotifyView extends View implements LayoutChangeNotifier {
27525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    private LayoutChangeHelper mLayoutChangeHelper = new LayoutChangeHelper(this);
28525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
29525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    public LayoutNotifyView(Context context) {
30525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        super(context);
31525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    }
32525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
33525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    public LayoutNotifyView(Context context, AttributeSet attrs) {
34525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        super(context, attrs);
35525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    }
36525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
37525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    @Override
38525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    public void setOnLayoutChangeListener(
39525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong            LayoutChangeNotifier.Listener listener) {
40525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        mLayoutChangeHelper.setOnLayoutChangeListener(listener);
41525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    }
42525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong
43525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    @Override
44525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    protected void onLayout(boolean changed, int l, int t, int r, int b) {
45525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        super.onLayout(changed, l, t, r, b);
46525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong        mLayoutChangeHelper.onLayout(changed, l, t, r, b);
47525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong    }
48525667ff4b93a577298085fe45660a2d15b0bd06Angus Kong}
49