diff --git a/res/layout/mouse_keys_image_item.xml b/res/layout/mouse_keys_image_item.xml index 36b999201f3..52ee31a9e15 100644 --- a/res/layout/mouse_keys_image_item.xml +++ b/res/layout/mouse_keys_image_item.xml @@ -15,12 +15,25 @@ limitations under the License. --> - + + + + + + \ No newline at end of file diff --git a/src/com/android/settings/inputmethod/MouseKeysImageListAdapter.java b/src/com/android/settings/inputmethod/MouseKeysImageListAdapter.java index 9aab3a4fa64..d3a97b6423c 100644 --- a/src/com/android/settings/inputmethod/MouseKeysImageListAdapter.java +++ b/src/com/android/settings/inputmethod/MouseKeysImageListAdapter.java @@ -22,6 +22,7 @@ import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; @@ -124,18 +125,19 @@ public class MouseKeysImageListAdapter extends public static class MouseKeyImageViewHolder extends RecyclerView.ViewHolder { private final TextView mTextView; + private final ImageView mImageView; private final Context mContext; public MouseKeyImageViewHolder(View itemView, Context context) { super(itemView); - mTextView = (TextView) itemView; + mTextView = itemView.findViewById(R.id.layout_description); + mImageView = itemView.findViewById(R.id.image); mContext = context; } void bindView(int drawableRes, String summary) { mTextView.setText(summary); - mTextView.setCompoundDrawablesWithIntrinsicBounds(null, - mContext.getDrawable(drawableRes), null, null); + mImageView.setImageDrawable(mContext.getDrawable(drawableRes)); } } } diff --git a/src/com/android/settings/inputmethod/MouseKeysMainPageFragment.java b/src/com/android/settings/inputmethod/MouseKeysMainPageFragment.java index 1f6035f03ec..12604bd4b27 100644 --- a/src/com/android/settings/inputmethod/MouseKeysMainPageFragment.java +++ b/src/com/android/settings/inputmethod/MouseKeysMainPageFragment.java @@ -20,6 +20,7 @@ import static com.android.settings.inputmethod.PhysicalKeyboardFragment.getHardK import android.app.settings.SettingsEnums; import android.content.Context; +import android.content.res.Configuration; import android.hardware.input.InputManager; import android.os.Bundle; import android.view.InputDevice; @@ -32,6 +33,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.android.internal.util.Preconditions; import com.android.settings.R; +import com.android.settings.activityembedding.ActivityEmbeddingUtils; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.keyboard.Flags; import com.android.settings.search.BaseSearchIndexProvider; @@ -125,7 +127,11 @@ public class MouseKeysMainPageFragment extends DashboardFragment private void configureImagesPreference() { final RecyclerView recyclerView = mMouseKeyImagesPreference.findViewById( R.id.mouse_keys_image_recycler_list); - recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2)); + boolean isPortrait = getResources().getConfiguration().orientation + == Configuration.ORIENTATION_PORTRAIT; + boolean isTwoPaneState = ActivityEmbeddingUtils.isAlreadyEmbedded(this.getActivity()); + int column = isPortrait && !isTwoPaneState ? 1 : 2; + recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), column)); recyclerView.setAdapter(new MouseKeysImageListAdapter(getActivity(), mCurrentInputDevice)); }