You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
ListView: copy from AOSP
copied from tag android-6.0.1_r81
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,5 @@
|
||||
package android.widget;
|
||||
|
||||
public interface Filterable {}
|
||||
public interface Filterable {
|
||||
public Filter getFilter();
|
||||
}
|
||||
|
||||
@@ -228,4 +228,40 @@ public class HeaderViewListAdapter implements ListAdapter, Filterable {
|
||||
public ListAdapter getWrappedAdapter() {
|
||||
return mAdapter;
|
||||
}
|
||||
|
||||
public Filter getFilter() {
|
||||
if (mAdapter instanceof Filterable) {
|
||||
return ((Filterable) mAdapter).getFilter();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isEnabled(int position) {
|
||||
// Header (negative positions will throw an IndexOutOfBoundsException)
|
||||
int numHeaders = getHeadersCount();
|
||||
if (position < numHeaders) {
|
||||
return mHeaderViewInfos.get(position).isSelectable;
|
||||
}
|
||||
|
||||
// Adapter
|
||||
final int adjPosition = position - numHeaders;
|
||||
int adapterCount = 0;
|
||||
if (mAdapter != null) {
|
||||
adapterCount = mAdapter.getCount();
|
||||
if (adjPosition < adapterCount) {
|
||||
return mAdapter.isEnabled(adjPosition);
|
||||
}
|
||||
}
|
||||
|
||||
// Footer (off-limits positions will throw an IndexOutOfBoundsException)
|
||||
return mFooterViewInfos.get(adjPosition - adapterCount).isSelectable;
|
||||
}
|
||||
|
||||
public boolean areAllItemsEnabled() {
|
||||
if (mAdapter != null) {
|
||||
return mAreAllFixedViewsSelectable && mAdapter.areAllItemsEnabled();
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
package android.widget;
|
||||
|
||||
public interface ListAdapter extends Adapter {
|
||||
|
||||
public boolean isEnabled(int position);
|
||||
|
||||
public boolean areAllItemsEnabled();
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -58,6 +58,7 @@ public class PopupWindow {
|
||||
|
||||
public void setContentView(View view) {
|
||||
contentView = view;
|
||||
contentView.attachToWindowInternal();
|
||||
native_setContentView(popover, view.widget);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user