diff options
| author | 2019-02-12 15:21:36 -0500 | |
|---|---|---|
| committer | 2019-02-14 08:40:58 -0500 | |
| commit | 18bbd821fa78747d494ebb8c676321ffaf4863c5 (patch) | |
| tree | 770d336edc843d01005645259b7da607b8a76c5d | |
| parent | bc40490aeb6a80ff1a178f0f6bab55aa43dc1d61 (diff) | |
Sharesheet - landscape mode
Need to limit the width of the content preview area
to a maximum, especially for landscape mode
Bug: 120419296
Test: Visual inspection of landscape/portrait
Change-Id: Ia1d6dc00ca4e0bcb0d06b0d30c24be25b20528e8
| -rw-r--r-- | core/java/com/android/internal/app/ChooserActivity.java | 22 | ||||
| -rw-r--r-- | core/res/res/layout/chooser_grid.xml | 11 | ||||
| -rw-r--r-- | core/res/res/values-land/dimens.xml | 2 | ||||
| -rw-r--r-- | core/res/res/values/dimens.xml | 1 | ||||
| -rw-r--r-- | core/res/res/values/symbols.xml | 1 |
5 files changed, 32 insertions, 5 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index 8ebcef5133b6..e3de63cf21d3 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -46,6 +46,7 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; import android.content.pm.ShortcutInfo; import android.content.pm.ShortcutManager; +import android.content.res.Configuration; import android.database.Cursor; import android.database.DataSetObserver; import android.graphics.Bitmap; @@ -486,6 +487,27 @@ public class ChooserActivity extends ResolverActivity { } } + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + + int width = -1; + if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { + width = getResources().getDimensionPixelSize(R.dimen.chooser_preview_width); + } + + updateLayoutWidth(R.id.content_preview_text_layout, width); + updateLayoutWidth(R.id.content_preview_title_layout, width); + updateLayoutWidth(R.id.content_preview_file_layout, width); + } + + private void updateLayoutWidth(int layoutResourceId, int width) { + View view = findViewById(layoutResourceId); + LayoutParams params = view.getLayoutParams(); + params.width = width; + view.setLayoutParams(params); + } + private void displayContentPreview(@ContentPreviewType int previewType, Intent targetIntent) { switch (previewType) { case CONTENT_PREVIEW_TEXT: diff --git a/core/res/res/layout/chooser_grid.xml b/core/res/res/layout/chooser_grid.xml index 3683bfd02e87..10798ad51792 100644 --- a/core/res/res/layout/chooser_grid.xml +++ b/core/res/res/layout/chooser_grid.xml @@ -20,12 +20,10 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:maxWidth="@dimen/resolver_max_width" android:maxCollapsedHeight="288dp" android:maxCollapsedHeightSmall="56dp" android:id="@id/contentPanel"> - <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" @@ -153,8 +151,9 @@ android:background="?attr/colorBackgroundFloating"> <LinearLayout - android:layout_width="match_parent" + android:layout_width="@dimen/chooser_preview_width" android:layout_height="wrap_content" + android:layout_gravity="center" android:orientation="horizontal" android:paddingLeft="@dimen/chooser_edge_margin_normal" android:paddingRight="@dimen/chooser_edge_margin_normal" @@ -182,8 +181,9 @@ <!-- Required sub-layout so we can get the nice rounded corners--> <!-- around this section --> <LinearLayout - android:layout_width="match_parent" + android:layout_width="@dimen/chooser_preview_width" android:layout_height="wrap_content" + android:layout_gravity="center" android:orientation="horizontal" android:layout_marginLeft="@dimen/chooser_edge_margin_thin" android:layout_marginRight="@dimen/chooser_edge_margin_thin" @@ -224,8 +224,9 @@ android:background="?attr/colorBackgroundFloating"> <LinearLayout - android:layout_width="match_parent" + android:layout_width="@dimen/chooser_preview_width" android:layout_height="wrap_content" + android:layout_gravity="center" android:orientation="horizontal" android:paddingLeft="@dimen/chooser_edge_margin_normal" android:paddingRight="@dimen/chooser_edge_margin_normal" diff --git a/core/res/res/values-land/dimens.xml b/core/res/res/values-land/dimens.xml index 351bd818b09a..9e87a47219f3 100644 --- a/core/res/res/values-land/dimens.xml +++ b/core/res/res/values-land/dimens.xml @@ -76,4 +76,6 @@ <!-- Floating toolbar dimensions --> <dimen name="floating_toolbar_preferred_width">544dp</dimen> + <dimen name="chooser_preview_width">480dp</dimen> + </resources> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 9f86f8416fb9..39cbd269c75a 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -721,4 +721,5 @@ <dimen name="chooser_edge_margin_thin">16dp</dimen> <dimen name="chooser_edge_margin_normal">24dp</dimen> <dimen name="chooser_preview_image_font_size">20sp</dimen> + <dimen name="chooser_preview_width">-1px</dimen> </resources> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index a1bafbf8de69..4f49051925b5 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2755,6 +2755,7 @@ <java-symbol type="dimen" name="chooser_edge_margin_thin" /> <java-symbol type="dimen" name="chooser_edge_margin_normal" /> <java-symbol type="dimen" name="chooser_preview_image_font_size"/> + <java-symbol type="dimen" name="chooser_preview_width" /> <java-symbol type="layout" name="chooser_grid" /> <java-symbol type="layout" name="resolve_grid_item" /> <java-symbol type="id" name="day_picker_view_pager" /> |