Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3cc3fccc authored by Daniel Huang's avatar Daniel Huang Committed by Automerger Merge Worker
Browse files

Merge "Set preference visible to false when there is no keyboard." into...

Merge "Set preference visible to false when there is no keyboard." into udc-dev am: 7f9eba94 am: c1f32370

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21572781



Change-Id: I9b9ab79bb7ce587115211a00b6737f7ba3115342
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 2af1e1ce c1f32370
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -308,6 +308,12 @@ public class KeyboardLayoutDialogFragment extends InstrumentedDialogFragment
        public Keyboards loadInBackground() {
            Keyboards keyboards = new Keyboards();
            InputManager im = (InputManager)getContext().getSystemService(Context.INPUT_SERVICE);
            if (mInputDeviceIdentifier == null || NewKeyboardSettingsUtils.getInputDevice(
                    im, mInputDeviceIdentifier) == null) {
                keyboards.keyboardLayouts.add(null); // default layout
                keyboards.current = 0;
                return keyboards;
            }
            String[] keyboardLayoutDescriptors = im.getEnabledKeyboardLayoutsForInputDevice(
                    mInputDeviceIdentifier);
            for (String keyboardLayoutDescriptor : keyboardLayoutDescriptors) {
+7 −9
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.content.Context;
import android.hardware.input.InputDeviceIdentifier;
import android.hardware.input.InputManager;
import android.hardware.input.KeyboardLayout;
import android.view.InputDevice;

import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
@@ -37,7 +36,6 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;


public class KeyboardLayoutPickerController extends BasePreferenceController implements
        InputManager.InputDeviceListener, LifecycleObserver, OnStart, OnStop {

@@ -68,15 +66,12 @@ public class KeyboardLayoutPickerController extends BasePreferenceController imp
    @Override
    public void onStart() {
        mIm.registerInputDeviceListener(this, null);

        final InputDevice inputDevice =
                mIm.getInputDeviceByDescriptor(mInputDeviceIdentifier.getDescriptor());
        if (inputDevice == null) {
            mParent.getActivity().finish();
        if (mInputDeviceIdentifier == null
                || NewKeyboardSettingsUtils.getInputDevice(mIm, mInputDeviceIdentifier) == null) {
            return;
        }
        mInputDeviceId = inputDevice.getId();

        mInputDeviceId =
                NewKeyboardSettingsUtils.getInputDevice(mIm, mInputDeviceIdentifier).getId();
        updateCheckedState();
    }

@@ -150,6 +145,9 @@ public class KeyboardLayoutPickerController extends BasePreferenceController imp
    }

    private void createPreferenceHierarchy() {
        if (mKeyboardLayouts == null) {
            return;
        }
        for (KeyboardLayout layout : mKeyboardLayouts) {
            final SwitchPreference pref = new SwitchPreference(mScreen.getContext());
            pref.setTitle(layout.getLabel());
+4 −4
Original line number Diff line number Diff line
@@ -19,11 +19,11 @@ package com.android.settings.inputmethod;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.hardware.input.InputDeviceIdentifier;
import android.hardware.input.InputManager;

import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;


public class KeyboardLayoutPickerFragment extends DashboardFragment {

    private static final String TAG = "KeyboardLayoutPicker";
@@ -45,10 +45,10 @@ public class KeyboardLayoutPickerFragment extends DashboardFragment {

        final InputDeviceIdentifier inputDeviceIdentifier = getActivity().getIntent().
                getParcelableExtra(EXTRA_INPUT_DEVICE_IDENTIFIER);
        if (inputDeviceIdentifier == null) {
            getActivity().finish();
        final InputManager im = context.getSystemService(InputManager.class);
        if (NewKeyboardSettingsUtils.getInputDevice(im, inputDeviceIdentifier) == null) {
            return;
        }

        use(KeyboardLayoutPickerController.class).initialize(this /*parent*/,
                inputDeviceIdentifier);
    }
+5 −2
Original line number Diff line number Diff line
@@ -68,6 +68,9 @@ public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment
    }

    private void updateCheckedState() {
        if (NewKeyboardSettingsUtils.getInputDevice(mIm, mInputDeviceIdentifier) == null) {
            return;
        }
        PreferenceScreen preferenceScreen = getPreferenceScreen();
        preferenceScreen.removeAll();
        List<InputMethodInfo> infoList = mImm.getEnabledInputMethodListAsUser(mUserId);
@@ -174,8 +177,8 @@ public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment
    public void onStart() {
        super.onStart();
        mIm.registerInputDeviceListener(this, null);
        final InputDevice inputDevice =
                mIm.getInputDeviceByDescriptor(mInputDeviceIdentifier.getDescriptor());
        InputDevice inputDevice =
                NewKeyboardSettingsUtils.getInputDevice(mIm, mInputDeviceIdentifier);
        if (inputDevice == null) {
            getActivity().finish();
            return;
+7 −7
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.inputmethod;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.hardware.input.InputDeviceIdentifier;
import android.hardware.input.InputManager;
import android.os.Bundle;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodSubtype;
@@ -33,25 +34,24 @@ public class NewKeyboardLayoutPickerContent extends DashboardFragment {
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);

        InputManager inputManager = getContext().getSystemService(InputManager.class);
        Bundle arguments = getArguments();
        final String title = arguments.getString(NewKeyboardSettingsUtils.EXTRA_TITLE);
        final String layout = arguments.getString(NewKeyboardSettingsUtils.EXTRA_KEYBOARD_LAYOUT);
        final int userId = arguments.getInt(NewKeyboardSettingsUtils.EXTRA_USER_ID);
        final InputDeviceIdentifier inputDeviceIdentifier =
        final InputDeviceIdentifier identifier =
                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER);
        final InputMethodInfo inputMethodInfo =
                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_INFO);
        final InputMethodSubtype inputMethodSubtype =
                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_SUBTYPE);


        if (inputDeviceIdentifier == null) {
            getActivity().finish();
        if (identifier == null
                || NewKeyboardSettingsUtils.getInputDevice(inputManager, identifier) == null) {
            return;
        }
        getActivity().setTitle(title);
        use(NewKeyboardLayoutPickerController.class).initialize(this /*parent*/, userId,
                inputDeviceIdentifier, inputMethodInfo, inputMethodSubtype, layout);
                identifier, inputMethodInfo, inputMethodSubtype, layout);
    }

    @Override
Loading