/*
* This file provided by Facebook is for non-commercial testing and evaluation
* purposes only. Facebook reserves all rights not expressly granted.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.facebook.samples.scrollperf.util;
import android.app.Activity;
import android.view.View;
/**
* Utility class to get View references using type inference
*/
public final class UI {
/**
* This method returns the reference of the View with the given Id in the layout of the
* Activity passed as parameter
*
* @param act The Activity that is using the layout with the given View
* @param viewId The id of the View we want to get a reference
* @return The View with the given id and type
*/
public static <T extends View> T findViewById(Activity act, int viewId) {
View containerView = act.getWindow().getDecorView();
return findViewById(containerView, viewId);
}
/**
* This method returns the reference of the View with the given Id in the view passed
* as parameter
*
* @param containerView The container View
* @param viewId The id of the View we want to get a reference
* @return The View with the given id and type
*/
@SuppressWarnings("unchecked")
public static <T extends View> T findViewById(View containerView, int viewId) {
View foundView = containerView.findViewById(viewId);
return (T) foundView;
}
}