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));
}