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