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