Remove dead code KeyboardLayoutPickerFragment.

Bug: 32642706
Test: compiles
Change-Id: I02b7abed470a813bff13fe9d71fcf870a47de6b3
This commit is contained in:
Fan Zhang
2016-11-04 14:12:15 -07:00
parent d732cc9db8
commit aceee52a8b
5 changed files with 50 additions and 212 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2012 The Android Open Source Project
* Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,32 +16,43 @@
package com.android.settings.inputmethod;
import android.content.Context;
import android.annotation.Nullable;
import android.app.Activity;
import android.hardware.input.InputDeviceIdentifier;
import android.hardware.input.InputManager;
import android.hardware.input.InputManager.InputDeviceListener;
import android.hardware.input.KeyboardLayout;
import android.os.Bundle;
import android.support.v7.preference.CheckBoxPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import android.view.InputDevice;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodSubtype;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.internal.util.Preconditions;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.inputmethod.PhysicalKeyboardFragment.KeyboardInfoPreference;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class KeyboardLayoutPickerFragment extends SettingsPreferenceFragment
public final class KeyboardLayoutPickerFragment extends SettingsPreferenceFragment
implements InputDeviceListener {
private InputDeviceIdentifier mInputDeviceIdentifier;
private int mInputDeviceId = -1;
private InputManager mIm;
private InputMethodInfo mImi;
@Nullable
private InputMethodSubtype mSubtype;
private KeyboardLayout[] mKeyboardLayouts;
private HashMap<CheckBoxPreference, KeyboardLayout> mPreferenceMap =
new HashMap<CheckBoxPreference, KeyboardLayout>();
private Map<Preference, KeyboardLayout> mPreferenceMap = new HashMap<>();
// TODO: Make these constants public API for b/25752827
/**
* Intent extra: The input device descriptor of the keyboard whose keyboard
@@ -49,6 +60,16 @@ public class KeyboardLayoutPickerFragment extends SettingsPreferenceFragment
*/
public static final String EXTRA_INPUT_DEVICE_IDENTIFIER = "input_device_identifier";
/**
* Intent extra: The associated {@link InputMethodInfo}.
*/
public static final String EXTRA_INPUT_METHOD_INFO = "input_method_info";
/**
* Intent extra: The associated {@link InputMethodSubtype}.
*/
public static final String EXTRA_INPUT_METHOD_SUBTYPE = "input_method_subtype";
@Override
public int getMetricsCategory() {
return MetricsEvent.INPUTMETHOD_KEYBOARD;
@@ -57,14 +78,18 @@ public class KeyboardLayoutPickerFragment extends SettingsPreferenceFragment
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Activity activity = Preconditions.checkNotNull(getActivity());
mInputDeviceIdentifier = getActivity().getIntent().getParcelableExtra(
mInputDeviceIdentifier = activity.getIntent().getParcelableExtra(
EXTRA_INPUT_DEVICE_IDENTIFIER);
if (mInputDeviceIdentifier == null) {
getActivity().finish();
mImi = activity.getIntent().getParcelableExtra(EXTRA_INPUT_METHOD_INFO);
mSubtype = activity.getIntent().getParcelableExtra(EXTRA_INPUT_METHOD_SUBTYPE);
if (mInputDeviceIdentifier == null || mImi == null) {
activity.finish();
}
mIm = (InputManager)getSystemService(Context.INPUT_SERVICE);
mIm = activity.getSystemService(InputManager.class);
mKeyboardLayouts = mIm.getKeyboardLayoutsForInputDevice(mInputDeviceIdentifier);
Arrays.sort(mKeyboardLayouts);
setPreferenceScreen(createPreferenceHierarchy());
@@ -83,8 +108,6 @@ public class KeyboardLayoutPickerFragment extends SettingsPreferenceFragment
return;
}
mInputDeviceId = inputDevice.getId();
updateCheckedState();
}
@Override
@@ -97,34 +120,21 @@ public class KeyboardLayoutPickerFragment extends SettingsPreferenceFragment
@Override
public boolean onPreferenceTreeClick(Preference preference) {
if (preference instanceof CheckBoxPreference) {
CheckBoxPreference checkboxPref = (CheckBoxPreference)preference;
KeyboardLayout layout = mPreferenceMap.get(checkboxPref);
if (layout != null) {
boolean checked = checkboxPref.isChecked();
if (checked) {
mIm.addKeyboardLayoutForInputDevice(mInputDeviceIdentifier,
layout.getDescriptor());
} else {
mIm.removeKeyboardLayoutForInputDevice(mInputDeviceIdentifier,
layout.getDescriptor());
}
return true;
}
KeyboardLayout layout = mPreferenceMap.get(preference);
if (layout != null) {
mIm.setKeyboardLayoutForInputDevice(mInputDeviceIdentifier, mImi, mSubtype,
layout.getDescriptor());
getActivity().finish();
return true;
}
return super.onPreferenceTreeClick(preference);
}
@Override
public void onInputDeviceAdded(int deviceId) {
}
public void onInputDeviceAdded(int deviceId) {}
@Override
public void onInputDeviceChanged(int deviceId) {
if (mInputDeviceId >= 0 && deviceId == mInputDeviceId) {
updateCheckedState();
}
}
public void onInputDeviceChanged(int deviceId) {}
@Override
public void onInputDeviceRemoved(int deviceId) {
@@ -135,26 +145,16 @@ public class KeyboardLayoutPickerFragment extends SettingsPreferenceFragment
private PreferenceScreen createPreferenceHierarchy() {
PreferenceScreen root = getPreferenceManager().createPreferenceScreen(getActivity());
Context context = getActivity();
for (KeyboardLayout layout : mKeyboardLayouts) {
CheckBoxPreference pref = new CheckBoxPreference(getPrefContext());
Preference pref = new Preference(getPrefContext());
pref.setTitle(layout.getLabel());
pref.setSummary(layout.getCollection());
root.addPreference(pref);
mPreferenceMap.put(pref, layout);
}
root.setTitle(KeyboardInfoPreference.getDisplayName(getContext(), mImi, mSubtype));
return root;
}
private void updateCheckedState() {
String[] enabledKeyboardLayouts = mIm.getEnabledKeyboardLayoutsForInputDevice(
mInputDeviceIdentifier);
Arrays.sort(enabledKeyboardLayouts);
for (Map.Entry<CheckBoxPreference, KeyboardLayout> entry : mPreferenceMap.entrySet()) {
entry.getKey().setChecked(Arrays.binarySearch(enabledKeyboardLayouts,
entry.getValue().getDescriptor()) >= 0);
}
}
}