Merge "Fix handling of bad image previews." am: 9e388035c9 am: 737107bb76
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1455516 Change-Id: I202699d551709473b18621ee7cb0af2731dfb704
This commit is contained in:
@@ -951,7 +951,7 @@ public class ChooserActivity extends ResolverActivity implements
|
||||
updateStickyContentPreview();
|
||||
if (shouldShowStickyContentPreview()
|
||||
|| mChooserMultiProfilePagerAdapter
|
||||
.getCurrentRootAdapter().getContentPreviewRowCount() != 0) {
|
||||
.getCurrentRootAdapter().getSystemRowCount() != 0) {
|
||||
logActionShareWithPreview();
|
||||
}
|
||||
return postRebuildListInternal(rebuildCompleted);
|
||||
@@ -1316,13 +1316,14 @@ public class ChooserActivity extends ResolverActivity implements
|
||||
ViewGroup parent) {
|
||||
ViewGroup contentPreviewLayout = (ViewGroup) layoutInflater.inflate(
|
||||
R.layout.chooser_grid_preview_image, parent, false);
|
||||
ViewGroup imagePreview = contentPreviewLayout.findViewById(R.id.content_preview_image_area);
|
||||
|
||||
final ViewGroup actionRow =
|
||||
(ViewGroup) contentPreviewLayout.findViewById(R.id.chooser_action_row);
|
||||
//TODO: addActionButton(actionRow, createCopyButton());
|
||||
addActionButton(actionRow, createNearbyButton(targetIntent));
|
||||
|
||||
mPreviewCoord = new ContentPreviewCoordinator(contentPreviewLayout, true);
|
||||
mPreviewCoord = new ContentPreviewCoordinator(contentPreviewLayout, false);
|
||||
|
||||
String action = targetIntent.getAction();
|
||||
if (Intent.ACTION_SEND.equals(action)) {
|
||||
@@ -1342,7 +1343,7 @@ public class ChooserActivity extends ResolverActivity implements
|
||||
if (imageUris.size() == 0) {
|
||||
Log.i(TAG, "Attempted to display image preview area with zero"
|
||||
+ " available images detected in EXTRA_STREAM list");
|
||||
contentPreviewLayout.setVisibility(View.GONE);
|
||||
imagePreview.setVisibility(View.GONE);
|
||||
return contentPreviewLayout;
|
||||
}
|
||||
|
||||
@@ -2680,7 +2681,7 @@ public class ChooserActivity extends ResolverActivity implements
|
||||
final int bottomInset = mSystemWindowInsets != null
|
||||
? mSystemWindowInsets.bottom : 0;
|
||||
int offset = bottomInset;
|
||||
int rowsToShow = gridAdapter.getContentPreviewRowCount()
|
||||
int rowsToShow = gridAdapter.getSystemRowCount()
|
||||
+ gridAdapter.getProfileRowCount()
|
||||
+ gridAdapter.getServiceTargetRowCount()
|
||||
+ gridAdapter.getCallerAndRankedTargetRowCount();
|
||||
@@ -3273,7 +3274,7 @@ public class ChooserActivity extends ResolverActivity implements
|
||||
|
||||
public int getRowCount() {
|
||||
return (int) (
|
||||
getContentPreviewRowCount()
|
||||
getSystemRowCount()
|
||||
+ getProfileRowCount()
|
||||
+ getServiceTargetRowCount()
|
||||
+ getCallerAndRankedTargetRowCount()
|
||||
@@ -3289,7 +3290,7 @@ public class ChooserActivity extends ResolverActivity implements
|
||||
* content preview. Not to be confused with the sticky content preview which is above the
|
||||
* personal and work tabs.
|
||||
*/
|
||||
public int getContentPreviewRowCount() {
|
||||
public int getSystemRowCount() {
|
||||
// For the tabbed case we show the sticky content preview above the tabs,
|
||||
// please refer to shouldShowStickyContentPreview
|
||||
if (shouldShowTabs()) {
|
||||
@@ -3299,8 +3300,7 @@ public class ChooserActivity extends ResolverActivity implements
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (mHideContentPreview || mChooserListAdapter == null
|
||||
|| mChooserListAdapter.getCount() == 0) {
|
||||
if (mChooserListAdapter == null || mChooserListAdapter.getCount() == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -3342,7 +3342,7 @@ public class ChooserActivity extends ResolverActivity implements
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return (int) (
|
||||
getContentPreviewRowCount()
|
||||
getSystemRowCount()
|
||||
+ getProfileRowCount()
|
||||
+ getServiceTargetRowCount()
|
||||
+ getCallerAndRankedTargetRowCount()
|
||||
@@ -3397,7 +3397,7 @@ public class ChooserActivity extends ResolverActivity implements
|
||||
public int getItemViewType(int position) {
|
||||
int count;
|
||||
|
||||
int countSum = (count = getContentPreviewRowCount());
|
||||
int countSum = (count = getSystemRowCount());
|
||||
if (count > 0 && position < countSum) return VIEW_TYPE_CONTENT_PREVIEW;
|
||||
|
||||
countSum += (count = getProfileRowCount());
|
||||
@@ -3621,7 +3621,7 @@ public class ChooserActivity extends ResolverActivity implements
|
||||
}
|
||||
|
||||
int getListPosition(int position) {
|
||||
position -= getContentPreviewRowCount() + getProfileRowCount();
|
||||
position -= getSystemRowCount() + getProfileRowCount();
|
||||
|
||||
final int serviceCount = mChooserListAdapter.getServiceTargetCount();
|
||||
final int serviceRows = (int) Math.ceil((float) serviceCount
|
||||
|
||||
Reference in New Issue
Block a user