ViewStructure.java revision e860891b1a7d4c1b581f294fa5831999caac6506
149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn/* 249b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * Copyright (C) 2015 The Android Open Source Project 349b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * 449b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License"); 549b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * you may not use this file except in compliance with the License. 649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * You may obtain a copy of the License at 749b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * 849b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * http://www.apache.org/licenses/LICENSE-2.0 949b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * 1049b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * Unless required by applicable law or agreed to in writing, software 1149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS, 1249b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1349b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * See the License for the specific language governing permissions and 1449b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * limitations under the License. 1549b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn */ 1649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 1749b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackbornpackage android.view; 1849b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 1949b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackbornimport android.graphics.Rect; 2049b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackbornimport android.os.Bundle; 2149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 2249b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn/** 2349b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * Container for storing additional per-view data generated by {@link View#onProvideStructure 2449b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn * View.onProvideStructure}. 2549b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn */ 2649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackbornpublic abstract class ViewStructure { 2702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 2802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the identifier for this view. 2902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * 3002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param id The view's identifier, as per {@link View#getId View.getId()}. 3102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param packageName The package name of the view's identifier, or null if there is none. 3202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param typeName The type name of the view's identifier, or null if there is none. 3302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param entryName The entry name of the view's identifier, or null if there is none. 3402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 3549b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setId(int id, String packageName, String typeName, String entryName); 3649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 3702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 3802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the basic dimensions of this view. 3902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * 4002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param left The view's left position, in pixels relative to its parent's left edge. 4102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param top The view's top position, in pixels relative to its parent's top edge. 4202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param scrollX How much the view's x coordinate space has been scrolled, in pixels. 4302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param scrollY How much the view's y coordinate space has been scrolled, in pixels. 4402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param width The view's visible width, in pixels. This is the width visible on screen, 4502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * not the total data width of a scrollable view. 4602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param height The view's visible height, in pixels. This is the height visible on 4702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * screen, not the total data height of a scrollable view. 4802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 4949b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setDimens(int left, int top, int scrollX, int scrollY, int width, 5049b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn int height); 5149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 5202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 5302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the visibility state of this view, as per 5402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * {@link View#getVisibility View.getVisibility()}. 5502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 5649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setVisibility(int visibility); 5749b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 5849b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn /** @hide */ 5949b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setAssistBlocked(boolean state); 6049b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 6102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 6202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the enabled state of this view, as per {@link View#isEnabled View.isEnabled()}. 6302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 6449b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setEnabled(boolean state); 6549b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 6602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 6702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the clickable state of this view, as per {@link View#isClickable View.isClickable()}. 6802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 6949b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setClickable(boolean state); 7049b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 7102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 7202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the long clickable state of this view, as per 7302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * {@link View#isLongClickable View.isLongClickable()}. 7402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 7549b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setLongClickable(boolean state); 7649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 7702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 78e860891b1a7d4c1b581f294fa5831999caac6506Mady Mellor * Set the context clickable state of this view, as per 79e860891b1a7d4c1b581f294fa5831999caac6506Mady Mellor * {@link View#isContextClickable View.isContextClickable()}. 8002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 81e860891b1a7d4c1b581f294fa5831999caac6506Mady Mellor public abstract void setContextClickable(boolean state); 8249b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 8302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 8402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the focusable state of this view, as per {@link View#isFocusable View.isFocusable()}. 8502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 8649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setFocusable(boolean state); 8749b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 8802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 8902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the focused state of this view, as per {@link View#isFocused View.isFocused()}. 9002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 9149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setFocused(boolean state); 9249b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 9302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 9402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the accessibility focused state of this view, as per 9502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * {@link View#isAccessibilityFocused View.isAccessibilityFocused()}. 9602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 9749b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setAccessibilityFocused(boolean state); 9849b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 9902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 10002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the checkable state of this view, such as whether it implements the 10102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * {@link android.widget.Checkable} interface. 10202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 10349b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setCheckable(boolean state); 10449b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 10502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 10602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the checked state of this view, such as 10702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * {@link android.widget.Checkable#isChecked Checkable.isChecked()}. 10802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 10949b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setChecked(boolean state); 11049b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 11102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 11202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the selected state of this view, as per {@link View#isSelected View.isSelected()}. 11302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 11449b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setSelected(boolean state); 11549b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 11602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 11702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the activated state of this view, as per {@link View#isActivated View.isActivated()}. 11802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 11949b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setActivated(boolean state); 12049b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 12102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 12202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the class name of the view, as per 12302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * {@link View#getAccessibilityClassName View.getAccessibilityClassName()}. 12402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 12549b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setClassName(String className); 12649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 12702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 12802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the content description of the view, as per 12902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * {@link View#getContentDescription View.getContentDescription()}. 13002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 13149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setContentDescription(CharSequence contentDescription); 13249b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 13302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 13402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the text that is associated with this view. There is no selection 13502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * associated with the text. The text may have style spans to supply additional 13602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * display and semantic information. 13702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 13849b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setText(CharSequence text); 13902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn 14002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 14102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Like {@link #setText(CharSequence)} but with an active selection 14202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * extending from <var>selectionStart</var> through <var>selectionEnd</var>. 14302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 14449b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setText(CharSequence text, int selectionStart, int selectionEnd); 14502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn 14602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 14702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Explicitly set default global style information for text that was previously set with 14802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * {@link #setText}. 14902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * 15002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param size The size, in pixels, of the text. 15102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param fgColor The foreground color, packed as 0xAARRGGBB. 15202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param bgColor The background color, packed as 0xAARRGGBB. 15302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @param style Style flags, as defined by {@link android.app.AssistStructure.ViewNode}. 15402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 1555cfaae4aae744574f0fcc0876cdc5473bc1a344dJames Cook public abstract void setTextStyle(float size, int fgColor, int bgColor, int style); 15602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn 15702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 15802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set optional hint text associated with this view; this is for example the text that is 15902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * shown by an EditText when it is empty to indicate to the user the kind of text to input. 16002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 16149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setHint(CharSequence hint); 16249b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 16302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 16402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Retrieve the last {@link #setText(CharSequence)}. 16502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 16649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract CharSequence getText(); 16702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn 16802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 16902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Retrieve the last selection start set by {@link #setText(CharSequence, int, int)}. 17002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 17149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract int getTextSelectionStart(); 17202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn 17302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 17402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Retrieve the last selection end set by {@link #setText(CharSequence, int, int)}. 17502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 17649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract int getTextSelectionEnd(); 17702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn 17802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 17902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Retrieve the last hint set by {@link #setHint}. 18002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 18149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract CharSequence getHint(); 18249b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 18302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 18402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Get extra data associated with this view structure; the returned Bundle is mutable, 18502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * allowing you to view and modify its contents. Keys placed in the Bundle should use 18602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * an appropriate namespace prefix (such as com.google.MY_KEY) to avoid conflicts. 18702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 18849b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract Bundle getExtras(); 18902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn 19002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 19102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Returns true if {@link #getExtras} has been used to create extra content. 19202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 19349b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract boolean hasExtras(); 19449b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 19502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 19602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Set the number of children of this view, which defines the range of indices you can 19702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * use with {@link #newChild} and {@link #asyncNewChild}. Calling this method again 19802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * resets all of the child state of the view, removing any children that had previously 19902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * been added. 20002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 20149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void setChildCount(int num); 20202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn 20302beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 20402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Return the child count as set by {@link #setChildCount}. 20502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 20649b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract int getChildCount(); 20702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn 20802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 20902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Create a new child {@link ViewStructure} in this view, putting into the list of 21002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * children at <var>index</var>. 21102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @return Returns an fresh {@link ViewStructure} ready to be filled in. 21202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 21349b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract ViewAssistStructure newChild(int index); 21449b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 21502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 21602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Like {@link #newChild}, but allows the caller to asynchronously populate the returned 21702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * child. It can transfer the returned {@link ViewStructure} to another thread for it 21802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * to build its content (and children etc). Once done, some thread must call 21902beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * {@link #asyncCommit} to tell the containing {@link ViewStructure} that the async 22002beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * population is done. 22102beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * @return Returns an fresh {@link ViewStructure} ready to be filled in. 22202beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 22349b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract ViewAssistStructure asyncNewChild(int index); 22402beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn 22502beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn /** 22602beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * Call when done populating a {@link ViewStructure} returned by 22702beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn * {@link #asyncNewChild}. 22802beb41c97a44a3333b1e9eca9033e91282d887dDianne Hackborn */ 22949b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract void asyncCommit(); 23049b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn 23149b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn /** @hide */ 23249b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn public abstract Rect getTempRect(); 23349b043f37d7231b1544cb72e1bfb616e5a00688dDianne Hackborn} 234